当前位置: 首页 > news >正文

Python篮球王子

系列文章

序号直达链接
爱心系列
1Python制作一个无法拒绝的表白界面
2Python满屏飘字表白代码
3Python无限弹窗满屏表白代码
4Python李峋同款可写字版跳动的爱心
5Python流星雨代码
6Python漂浮爱心代码
7Python爱心光波代码
8Python普通的玫瑰花代码
9Python炫酷的玫瑰花代码
10Python多彩的玫瑰花代码
11Python爱心泡泡
12Python爱心射线
节日系列
1Python动漫风烟花秀代码
2Python新年烟花秀代码
3Python圣诞礼物代码
4Python画圣诞树代码
5Python可爱版圣诞树丨绿色
6Python可爱版圣诞树丨粉色
7Python大雪纷飞代码
8Python生日蛋糕代码
9Python五彩气球代码
10Python国庆祝福代码
11Python万圣礼物代码
12Python愚人节礼物代码
13Python浪漫星空代码
14Python樱花树代码
动漫系列
1Python名侦探柯南
2Python喜羊羊
3Python懒羊羊
4Python沸羊羊
5Python小灰灰
6Python小香香
7Python灰太狼
8Python海绵宝宝
9Python哆啦A梦
10Python凯蒂猫
11Python猫和老鼠
12Python草莓熊
13Python迷你皮卡丘
14Python高级皮卡丘
15Python豪华皮卡丘
16Python史迪仔
17Python小熊猫
18Python蜘蛛侠
19Python可爱版蜡笔小新
20Python萌萌的蜡笔小新
21Python罗小黑
22Python猪猪侠
炫酷系列
1  Python张万森下雪了
2Python一闪一闪亮晶晶
3Python黑客帝国代码雨
4Python七彩花朵
5Python模拟3D星空
6Python金榜题名
7Python满天星

目录

系列文章

写在前面

完整代码

代码分析

写在后面


写在前面

Python绘制篮球王子的完整代码。

完整代码

import turtle
from turtle import *
from math import *
turtle.setup(1.0, 1.0)
turtle.Turtle().screen.delay(0)     # 如需慢慢画,删除本行即可
turtle.title('篮球王子')def ty_c(x,y,sita,a,b,p,q,c):fillcolor(c)si=2*pi/100penup()goto(x+a*cos(sita),y+a*sin(sita))pendown()t=0for i in range(201):if i*si+sita<=p:penup()goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))pendown()elif p<=i*si+sita<=q+2*pi/100:if t==0:begin_fill()t=1goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))end_fill()
#高级椭圆方程
def ty(x,y,sita,a,b,p,q):si=2*pi/100penup()goto(x+a*cos(sita),y+a*sin(sita))pendown()for i in range(201):if i*si+sita<p:penup()goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))pendown()elif p<=i*si+sita<=q+2*pi/100:goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))
speed(0)
hideturtle()
#篮球
pensize(10)
pencolor('black')
ty_c(350,-267,0,161,161,0,2*pi,'#ff9900')
ty(350,-267+161+50,0,161,161,7*pi/6+pi/12,11*pi/6-pi/12)
ty(350,-267-161-50,0,161,161,pi/6+pi/12,5*pi/6-pi/12)
ty(350,-267+161+330,0,500,500,8.5*pi/6,9.5*pi/6)
#脸
pensize(20)
ty_c(0,0,0,657/2,576/2,0,2*pi,'#ffcc00')
#眼睛
pensize(22)
ty_c(55,52,0,106,104,0,2*pi,'white')
ty_c(-165,60,0,101,99,0,2*pi,'white')
pensize(20)
ty_c(4,79,0,14,14,0,2*pi,'black')
ty_c(-201,80,0,14,14,0,2*pi,'black')
#嘴巴
pensize(12)
ty_c(-66,-76,0,102,62,0,2*pi,'#ff6600')
penup()
goto(-155,-50)
pendown()
goto(-134,-64)
goto(-115,-74)
goto(-90,-82)
goto(-67,-86)
goto(-47,-85)
goto(-25,-82)
goto(0,-77)
goto(15,-66)
goto(25,-55)
#腮红
pensize(1)
pencolor('red')
ty_c(-256,-90,15*pi/180,49,66,0,2*pi+15*pi/180,'red')
ty_c(201,-105,0,73,75,0,2*pi,'red')
#领口
color('black','black')
pensize(10)
penup()
goto(-275,-227)
pendown()
begin_fill()
goto(-241,-209)
goto(-189,-233)
goto(-166,-260)
goto(-127,-272)
goto(-88,-252)
goto(-49,-233)
goto(-19,-227)
goto(51,-237)
goto(108,-242)
goto(168,-242)
goto(210,-233)
goto(250,-206)
goto(252,-254)
goto(216,-269)
goto(-13,-353)
goto(-65,-362)
goto(-109,-356)
goto(-178,-317)
goto(-214,-296)
goto(-246,-266)
goto(-272,-245)
goto(-275,-227)
end_fill()
#衣服
penup()
goto(-244,-287)
pendown()
begin_fill()
goto(-269,-314)
goto(-310,-405)
goto(-304,-410)
goto(-21,-416)
goto(317,-410)
goto(331,-398)
goto(323,-381)
goto(319,-356)
goto(315,-320)
goto(275,-266)
goto(263,-257)
pensize(15)
pencolor('#c0c0c0')goto(252,-254)
goto(216,-269)
goto(-13,-353)
pensize(13)
goto(-65,-362)
goto(-109,-356)
pensize(10)
goto(-178,-317)
goto(-214,-296)
goto(-246,-284)
end_fill()
#肩带
penup()
goto(-206,-310)
pendown()
pensize(30)
goto(-183,-363)
goto(-180,-384)
goto(-184,-414)penup()
goto(229,-285)
pendown()
goto(203,-360)
pensize(34)
goto(190,-415)penup()
goto(-115,-360)
pendown()
pensize(8)
goto(-96,-411)
goto(-75,-413)
goto(18,-371)
goto(69,-341)
goto(105,-325)
pensize(12)
goto(177,-297)
#中分
pencolor('#808080')
pensize(1)
penup()
goto(67,393)
pendown()
fillcolor('#808080')
begin_fill()
goto(43,+419)
goto(13,+431)
goto(-96,+426)
goto(-156,+402)
goto(-239,+336)
goto(-277,+300)
goto(-307,+263)
goto(-372,+153)
goto(-383,+101)
goto(-373,+57)
goto(-339,+38)
goto(-298,+40)
goto(-278,+61)
goto(-236,+74)
goto(-176,+103)
goto(-163,+128)
goto(-135,+224)
goto(-95,+265)
goto(-64,+271)
goto(-30,+253)
goto(22,+269)
goto(61,268)
goto(75,202)
goto(93,132)
goto(108,71)
goto(136,31)
goto(171,4)
goto(236,-10)
goto(277,-10)
goto(323,-25)
goto(363,-61)
goto(404,-35)
goto(423,14)
goto(453,71)
goto(457,120)
goto(441,170)
goto(398,227)
goto(331,285)
goto(283,323)
goto(232,360)
goto(168,396)
goto(122,416)
goto(87,406)
goto(67,393)
end_fill()
pencolor('black')
pensize(4)
goto(-30,+253)
done()

代码分析

这段代码使用Python的turtle模块来绘制一个卡通风格的人物图像。turtle是一个简单的绘图库,允许用户通过编程控制一个“turtle”(海龟)在屏幕上移动并绘制图形。

 1. 导入与设置

  • 导入了turtle模块,并从turtle模块中导入所有内容以便简化调用。
  • 设置了画布大小为全屏,并关闭了绘制延迟,使得图形绘制得更快。
  • 设置窗口标题为'篮球王子'。 

 2. 定义函数

  • ty_c 和 ty 函数用于绘制椭圆或部分椭圆,并且ty_c可以填充颜色。它们都接受多个参数,如中心点坐标、旋转角度、长轴和短轴长度、开始和结束的角度等。
  • 这些函数使用了参数化的椭圆方程来计算椭圆上的点,并根据指定的角度范围决定是否绘制这些点。

3. 绘制篮球

  • 使用ty_c函数绘制了一个橙色的篮球,并使用ty函数绘制了篮球上的线条。

4. 绘制脸部特征

  • 使用ty_c函数绘制了一个黄色的脸部轮廓。
  • 绘制了白色的眼睛,并在眼睛内添加了黑色的眼珠。
  • 绘制了橙色的嘴巴,并通过一系列的goto命令绘制了嘴巴的具体形状。
  • 添加了红色的腮红。

5. 绘制衣物

  • 使用begin_fillend_fill来绘制衣服的区域,包括领口和衣服主体。
  • 通过改变pencolorpensize属性来改变线条的颜色和宽度。

6. 细节

  • 使用了penup()pendown()来控制是否绘制路径。
  • 为了增加细节,还绘制了一些装饰性的元素,比如肩带和头发的中分线。

7. 完成绘制

  • 最后使用done()来显示绘制结果。 

这个程序展示了如何利用turtle的特性来创建复杂的图形,同时也展示了如何通过循环和条件语句来控制图形的绘制过程。整个代码逻辑清晰,层次分明,适合用来作为turtle模块的进阶教程示例。

写在后面

我是一只有趣的兔子,感谢你的喜欢。

相关文章:

Python篮球王子

系列文章 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…...

分享一些在部署k8s集群时遇到的问题

目录 一、k8s拉取镜像失败&#xff0c;多半是docker镜像源失效了&#xff0c;需要经常更新 1.编辑该配置文件&#xff1a; 2.重启服务器&#xff1a; 二、kubectl get nodes时出现&#xff1a;The connection to the server localhost:8080 was refused - did you specify t…...

【Canal 中间件】Canal使用原理与基本组件概述

文章目录 一、canal 概述1.2 什么是 canal2.3 canal 的所有组件 二、canal 工作原理2.1 MySQL 主备复制原理2.2 canal 工作原理 三、canal.server 组件3.1 canal.server 的架构3.2 instance 模块组成部分 四、canal.client 组件4.1 类设计4.2 server/clinet 交互协议4.3 使用案…...

《Baichuan-Omni》论文精读:第1个7B全模态模型 | 能够同时处理文本、图像、视频和音频输入

技术报告Baichuan-Omni Technical ReportGitHub仓库地址 文章目录 论文摘要1. 引言简介2. 训练2.1. 高质量的多模态数据2.2. 多模态对齐预训练2.2.1. 图像-语言分支2.2.2. 视频语音分支2.2.3. 音频语言分支2.2.4. 图像-视频-音频全方位对齐 2.3. 多模态微调监督 3. 实验3.1. 语…...

YOLOv6-4.0部分代码阅读笔记-common.py

common.py yolov6\layers\common.py 目录 common.py 1.所需的库和模块 2.class SiLU(nn.Module): 3.class ConvModule(nn.Module): 4.class ConvBNReLU(nn.Module): 5.class ConvBNSiLU(nn.Module): 6.class ConvBN(nn.Module): 7.class ConvBNHS(nn.Module): …...

移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (4) - 平台适配

在移植 AWTK 到 HarmonyOS NEXT 系统之前&#xff0c;我们需要先完成平台适配&#xff0c;比如文件、多线程&#xff08;线程和同步&#xff09;、时间、动态库和资源管理。 1. 文件 HarmonyOS NEXT 支持标准的 POSIX 文件操作接口&#xff0c;我们可以直接使用下面的代码&am…...

Java 多线程(八)—— 锁策略,synchronized 的优化,JVM 与编译器的锁优化,ReentrantLock,CAS

前言 本文为 Java 面试小八股&#xff0c;一句话&#xff0c;理解性记忆&#xff0c;不能理解就死背吧。 锁策略 悲观锁与乐观锁 悲观锁和乐观锁是锁的特性&#xff0c;并不是特指某个具体的锁。 我们知道在多线程中&#xff0c;锁是会被竞争的&#xff0c;悲观锁就是指锁…...

【项目分享】法拉利中控台模拟 html+css+js

引入&#xff1a; 制作一个模拟法拉利中控台的网页是一个有趣且富有挑战性的项目。为了简化这个任务&#xff0c;我们可以使用一些HTML、CSS和JavaScript来实现一个基本的界面。以下是一个简单的示例&#xff0c;展示了如何创建一个基本的法拉利中控台模拟网页。 效果展示&…...

Rust 力扣 - 2461. 长度为 K 子数组中的最大和

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们遍历长度为k的窗口&#xff0c;用一个哈希表记录窗口内的所有元素&#xff08;用来对窗口内元素去重&#xff09;&#xff0c;我们取哈希表中元素数量等于k的窗口总和的最大值 题解代码 use std::collecti…...

stm32103c8t6 pwm驱动舵机(SG90)

本方法采用通用定时器&#xff08;TIM2、TIM3、TIM4、TIM5&#xff09;实现 代码&#xff1a; PWM.h #ifndef __PWM_H // 防止头文件重复包含 #define __PWM_H#include "stm32f10x.h" // 包含STM32F10x系列的设备头文件// 函数声明 void TIM2_PWM_In…...

Python For循环

Python 的 for 循环是自动化重复任务的强大工具&#xff0c;可以使代码更高效、更易于管理。本教程将解释 for 循环的工作原理&#xff0c;探讨不同的应用场景&#xff0c;并提供大量实用示例。无论你是初学者还是希望提升技能的开发者&#xff0c;这些示例都将帮助你更好地在 …...

C++入门——“C++11-右值引用和移动语义”

C11相比于C98增加以许多新特性&#xff0c;让C语言更加灵活好用&#xff0c;但是貌似也增加了许多学习的难度&#xff0c;现在先看第一部分。 一、右值引用和移动语义 1.右值引用和左值引用 在C中&#xff0c;值可以大致分为右值和左值&#xff0c;左值大概是哪些已经被定义的变…...

timm使用笔记

timm&#xff08;Timm is a model repository for PyTorch&#xff09;是一个 PyTorch 原生实现的计算机视觉模型库。它提供了预训练模型和各种网络组件&#xff0c;可以用于各种计算机视觉任务&#xff0c;例如图像分类、物体检测、语义分割等等。timm&#xff08;库提供了预训…...

android浏览器源码 可输入地址或关键词搜索 android studio 2024 可开发可改地址

Android 浏览器是一种运行在Android操作系统上的应用程序&#xff0c;主要用于访问和查看互联网内容。以下是关于Android浏览器的详细介绍&#xff1a; 1. 基本功能 Android浏览器提供了用户浏览网页的基本功能&#xff0c;如&#xff1a; 网页加载&#xff1a;支持加载静态…...

贪心算法入门(一)

1.什么是贪心算法&#xff1f; 贪心算法是一种解决问题的策略&#xff0c;它将复杂的问题分解为若干个步骤&#xff0c;并在每一步都选择当前最优的解决方案&#xff0c;最终希望能得到全局最优解。这种策略的核心在于“最优”二字&#xff0c;意味着我们追求的是以最少的时间和…...

C# ref和out 有什么区别,分别用在那种场景

在C#中&#xff0c;ref和out都是用于按引用传递参数的关键字&#xff0c;但它们有一些细微的差别和使用场景。 ref 关键字 ref 关键字用于按引用传递参数。这意味着当你将一个变量作为参数传递给一个方法时&#xff0c;你不是传递变量的值&#xff0c;而是传递变量的引用。因…...

TikTok直播专线:提升直播效果和体验

作为当今全球最受欢迎的社交媒体平台之一&#xff0c;TikTok为商家提供了无限的商机和市场。然而&#xff0c;商家在使用TikTok时也面临着许多挑战&#xff0c;如网络延迟、直播中断以及账号被封等问题。TikTok直播专线旨在为商家提供高速稳定的网络连接&#xff0c;助力他们在…...

由浅入深逐步理解spring boot中如何实现websocket

实现websocket的方式 1.springboot中有两种方式实现websocket&#xff0c;一种是基于原生的基于注解的websocket&#xff0c;另一种是基于spring封装后的WebSocketHandler 基于原生注解实现websocket 1&#xff09;先引入websocket的starter坐标 <dependency><grou…...

1-petalinux 问题记录-根文件系统分区问题

在MPSOC上使用SD第二分区配置根文件系统的时候&#xff0c;需要选择对应的bootargs&#xff0c;但是板子上有emmc和sd两个区域&#xff0c;至于配置哪一种mmcblk0就出现了问题&#xff0c;从vivado中的BlockDesign和MLK XCZU2CG原理图来看的话&#xff0c;我使用的SD卡应该属于…...

微信小程序的上拉刷新与下拉刷新

效果图如下&#xff1a; 上拉刷新 与 下拉刷新 代码如下&#xff1a; joked.wxml <scroll-view class"scroll" scroll-y refresher-enabled refresher-default-style"white" bindrefresherrefresh"onRefresh" refresher-triggered&qu…...

香橙派Armbian系统下,用apt一键安装OpenCV的完整流程(含GPG报错解决)

香橙派Armbian系统下OpenCV-Python极简安装指南&#xff1a;绕过源码编译的终极方案 在单板计算机领域&#xff0c;香橙派凭借其出色的性价比逐渐崭露头角。当开发者尝试在这类ARM架构设备上构建计算机视觉应用时&#xff0c;OpenCV往往是不可或缺的核心工具。然而&#xff0c;…...

别再只盯着数据了!用Arduino+GP2Y1014AU传感器,手把手教你做个能“看见”空气的PM2.5监测仪

用Arduino打造智能PM2.5监测仪&#xff1a;从硬件连接到可视化交互 在空气质量日益受到关注的今天&#xff0c;拥有一个实时监测PM2.5浓度的设备不仅能提升生活品质&#xff0c;还能为健康保驾护航。不同于市面上千篇一律的商用监测仪&#xff0c;自己动手打造一个兼具实用性和…...

m4s-converter:释放B站缓存价值的格式转换利器

m4s-converter&#xff1a;释放B站缓存价值的格式转换利器 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 价值对比&#xff1a;格式转换前后的效…...

Flutter鸿蒙开发环境:从零到一,手把手解决环境配置与编译难题

1. 环境准备&#xff1a;搭建Flutter鸿蒙开发的基石 第一次接触Flutter鸿蒙开发时&#xff0c;环境配置就像盖房子的地基&#xff0c;看似简单却最容易踩坑。我在Windows系统上反复折腾了三天才搞定所有环境&#xff0c;这里把血泪经验总结成保姆级教程。首先需要明确的是&…...

BeanUtils vs MapStruct:Java对象拷贝工具选型指南(附性能对比测试)

BeanUtils vs MapStruct&#xff1a;Java对象拷贝工具深度评测与选型指南 在Java开发中&#xff0c;对象属性拷贝是几乎每个项目都会遇到的常见需求。从简单的DTO转换到复杂的领域模型映射&#xff0c;选择高效、稳定的拷贝工具直接影响代码质量和系统性能。本文将深入对比Apac…...

Phi-4-mini-reasoning部署教程:多模型共存时GPU显存隔离配置技巧

Phi-4-mini-reasoning部署教程&#xff1a;多模型共存时GPU显存隔离配置技巧 1. 模型介绍 Phi-4-mini-reasoning是微软推出的3.8B参数轻量级开源模型&#xff0c;专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个模型主打"小参数、强推理、长上下文、低延迟&quo…...

ThinkPHP6(TP6)控制器404问题排查与Nginx伪静态配置指南

1. 为什么你的TP6控制器总是404&#xff1f; 最近帮朋友排查一个ThinkPHP6项目&#xff0c;明明控制器写得没问题&#xff0c;路由也配置了&#xff0c;但一访问就蹦出个404页面。这种问题在新手部署TP6时特别常见&#xff0c;尤其是用Nginx服务器的环境。我自己第一次用TP6时也…...

信号处理中的数字滤波器设计策略指南:从理论到实际应用

信号处理中的数字滤波器设计策略指南&#xff1a;从理论到实际应用 【免费下载链接】gnuradio GNU Radio – the Free and Open Software Radio Ecosystem 项目地址: https://gitcode.com/gh_mirrors/gn/gnuradio 在现代通信系统和信号处理应用中&#xff0c;数字滤波器…...

Stillcolor:彻底解决macOS时间抖动,为Apple Silicon用户带来无闪烁视觉体验

Stillcolor&#xff1a;彻底解决macOS时间抖动&#xff0c;为Apple Silicon用户带来无闪烁视觉体验 【免费下载链接】Stillcolor Disable temporal dithering on your Mac with this lightweight menu bar app. Designed for Apple silicon Macs. 项目地址: https://gitcode.…...

网络爬虫主流思路及反爬破解技术应用(新手速成)

‌网络爬虫的主流思路‌是模拟浏览器行为自动化抓取网页数据&#xff0c;而‌反爬破解技术‌则通过代理IP、请求伪装、动态渲染处理等方式绕过网站防护机制&#xff0c;实现稳定高效的数据采集 。一、主流爬虫技术思路 1.‌请求模拟与数据提取‌ 使用 requests 或 urllib 构建H…...