当前位置: 首页 > 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模块的进阶教程示例。

写在后面

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

http://www.lryc.cn/news/474562.html

相关文章:

  • 分享一些在部署k8s集群时遇到的问题
  • 【Canal 中间件】Canal使用原理与基本组件概述
  • 《Baichuan-Omni》论文精读:第1个7B全模态模型 | 能够同时处理文本、图像、视频和音频输入
  • YOLOv6-4.0部分代码阅读笔记-common.py
  • 移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (4) - 平台适配
  • Java 多线程(八)—— 锁策略,synchronized 的优化,JVM 与编译器的锁优化,ReentrantLock,CAS
  • 【项目分享】法拉利中控台模拟 html+css+js
  • Rust 力扣 - 2461. 长度为 K 子数组中的最大和
  • stm32103c8t6 pwm驱动舵机(SG90)
  • Python For循环
  • C++入门——“C++11-右值引用和移动语义”
  • timm使用笔记
  • android浏览器源码 可输入地址或关键词搜索 android studio 2024 可开发可改地址
  • 贪心算法入门(一)
  • C# ref和out 有什么区别,分别用在那种场景
  • TikTok直播专线:提升直播效果和体验
  • 由浅入深逐步理解spring boot中如何实现websocket
  • 1-petalinux 问题记录-根文件系统分区问题
  • 微信小程序的上拉刷新与下拉刷新
  • 【大语言模型】ACL2024论文-05 GenTranslate: 大型语言模型是生成性多语种语音和机器翻译器
  • KPRCB结构之ReadySummary和DispatcherReadyListHead
  • 批处理之for语句从入门到精通--呕血整理
  • pycharm小游戏贪吃蛇及pygame模块学习()
  • redis实战--黑马商城 记录
  • 机器人技术革新:人工智能的强力驱动
  • 漫途焊机安全生产监管方案,提升安全生产管理水平!
  • 动态规划之两个数组的 dp(上)
  • DC-9靶机通关
  • 前端注释都应该怎么写?
  • 深入解析缓存模式下的数据一致性问题