版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.2turtle库基础turtle绘图基础turtle绘图与程序设计的流程控制turtle绘图与函数模块化turtle绘图与动画效果turtle库turtle库是Python语言中绘制图像的标准库想象一个小海龟根据一组指令在平面坐标系中移动,从而在它爬行的路径上绘制出了图像画笔初始位于坐标点(0,0)朝向右侧xy0/36090/-270180/-180270/-90turtle绘图步骤importturtle结束绘图导入turtle库后获得一只默认的画笔turtle.done()绘图结束,画面停留turtle.bye()
绘图结束,画面消失turtle.exitonclick()
绘图结束,单击关闭利用画笔绘图turtle.函数(),使用默认画笔绘图画笔控制函数函数缩写说明setheading(angle)seth设置当前朝向为angle角度pendown()pd或down移动时绘制图形,为画笔默认状态penup()pu或up提起画笔移动,不绘制图形,用于另起一个地方绘制pensize(width)—设置画笔的粗细为width(单位为像素),与width()函数功能相同speed(n)—设置画笔的动画速度。n为1,最慢;10最快。若n设置为0,则不显示动画,直接跳到目标位置showturtle()—显示画笔图标(箭头)hideturtle()—隐藏画笔图标(箭头)画笔绘制状态和运动相关函数命令缩写说明home()—设置当前画笔位置为原点,朝向东goto(x,y)—将画笔移动到坐标为(x,y)的位置forward(distance)fd向当前画笔方向移动distance长度,单位为像素backward(distance)bd向当前画笔相反方向移动distance长度,单位为像素right(angle)rt顺时针移动degree角度left(angle)lt逆时针移动degree角度circle(r,angle)—画圆,半径为正(负),表示圆心在画笔的左边(右边)颜色相关函数命令说明pencolor(color)设置画笔的颜色fillcolor(color)设置填充颜色color(color1,color2)同时设置画笔颜色和填充颜色,color1为画笔颜色,color2为填充颜色begin_fill()设置封闭图形的填充起始位置end_fill()设置封闭图形的填充结束位置bgcolor()设置画布背景颜色实验目标
通过体验turtle绘图过程,建立程序的概念掌握如何通过函数封装重复逻辑,并理解如何通过参数化实现函数的灵活变化
通过将随机函数、图形绘制和延时技术结合,实现动态的视觉效果【例5-1】绘制如图5-6所示的颜色渐变的螺旋线
螺旋形状的形成:前进+旋转前进步长:步长逐渐增加旋转:固定角度颜色渐变:调整RGB三通道红色:从255递减绿色:固定255,营造对比蓝色:从0开始递增importturtle
#设置画布screen=turtle.Screen()screen.bgcolor("black")
#设置背景色为黑色
pen=turtle.Turtle()#创建Turtle对象pen.shape("turtle")
#设置画笔形状为海龟pen.speed(0)
#不显示动画
#设置颜色模式为RGB模式turtle.colormode(255)
#绘制颜色变化的螺旋线foriinrange(360):
#绘制360次
#计算颜色值,随着i的增大,红色减小,蓝色增大
red=int(255-(i/360)*255)
#红色从255减小到0
blue=int((i/360)*255)
#蓝色从0增大到255
#设置当前颜色
pen.pencolor(red,0,blue)
#设置画笔颜色,绿色固定为0
#绘制螺旋
pen.forward(i*3/2)
#每次的前进步长逐渐增大
pen.left(59)
#每次左转59度
turtle.done()#结束绘图实验任务绘制正三角形。边长为150像素,蓝色。绘制实心正五边形。输入颜色字符串,用循环结构绘制一个实心的正五边形,并总结绘制正多边形的规律。绘制实心长方形。长为200像素、宽为100像素。绘制五角星。绘制三色树叶。绘制彩虹圆。【例5-2】绘制5个正方形。各正方形的边长依次递增各正方形并排排列邻正方形之间保持固定间距【例5-2】绘制5个正方形。模块化思想分解问题:绘制正方形、绘制5个正方形提高重用性:绘制正方形提高可维护性:用参数传递变化的数据defdraw_square(size):for_inrange(4):
turtle.forward(size)
#绘制一条边
turtle.left(90)
#旋转90度defdraw_multiple_squares(initial_size,gap):
foriinrange(5):
#计算每个正方形的边长(递增40像素)side_length=initial_size+i*40
draw_square(side_length)
turtle.penup()
turtle.forward(side_length+gap)
turtle.pendown()
第一个正方形的边长正方形之间的间距实验任务编写一个draw_polygon函数,使用turtle库绘制一个正多边形。该函数至少包含边数和边长两个参数。编写一个draw_concentric_circles函数,使用turtle库绘制多个同心圆。该函数至少包含初始圆半径、半径递增量、同心圆数量3个参数。编写一个程序,使用turtle库绘制多个旋转的三角形。期中,绘制三角形编写函数实现。【例5-3】利用turtle库模拟星空效果,其中包含星星的随机生成和闪烁效果。设置一个黑色背景的画布,模拟夜空,使得星星更加醒目。随机选择星星的颜色。随机设置星星的位置和大小。利用延时功能模拟星星的闪烁效果。通过无限循环(whileTrue)实现持续的闪烁效果。【例5-3】利用turtle库模拟星空效果,其中包含星星的随机生成和闪烁效果。
动画效果:通过time.sleep(0.5)控制闪烁的间隔时间,产生类似星星在夜空中闪烁的效果模块化设计绘制星星随机绘制星星defdraw_star(size):
for_inrange(5):
pen.forward(size)
pen.right(144)
defrandom_star():
#随机选择星星的颜色colors=["white","yellow","lightblue","lightgreen","pink"]
pen.color(random.choice(colors))
#随机选择星星的大小和位置
size=random.randint(20,100)
#随机星星大小
x=random.randint(-300,300)
#随机横坐标
y=random.randint(-300,300)
#随机纵坐标
#移动到随机位置
pen.penup()
pen.goto(x,y)
pen.pendown()
#绘制星星
draw_star(size)#模拟星星闪烁的效果whileTrue:
#清除之前的星星
pen.clear()
#随机绘制20颗星星
for_inrange
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地下室防水工程施工组织设计技术标
- 员工沟通协作能力提升培训
- 仓储货物出入库管理规范
- 员工差旅报销内控管理制度
- 生态修复监测年度报告
- 安宁疗护人才培养路径设计
- 2026物流园区数字孪生技术应用与运维优化报告
- GBT 47735-2026 蜂蜜质量通则标准立项发展报告
- 矿山作业安全工作手册
- 城镇绿化养护精细化管控方案
- 2026年江苏省徐州市中考英语真题(含答案)
- 浙江省G12名校协作体2026-2027学年高三上学期开学考试生物+答案
- 《电机与电气控制技术》课件-1-4 继电器的认识与检测
- 2026第三季度广西一键游数智文旅产业集团有限公司社会招聘12人笔试题库带答案
- 防汛安全专项措施培训课件
- 第二单元.5 将相和 课件 2026-2027学年统编版小学语文 五年级上册
- 小学英语全套语法专项练习题(人教PEP全学段含解析)
- 2026年秋季六年级(劳动)上册教学计划
- 2026年新教材译林版九年级上册英语:全册单词+短语详解(知识清单)
- 2026秋西师大版小学数学五年级(新教材)上册教学计划附教学进度表
- 2026年中考物理(天津卷)真题详细解读及评析
评论
0/150
提交评论