600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 「Python海龟画图」利用海龟画笔绘制六芒星阵

「Python海龟画图」利用海龟画笔绘制六芒星阵

时间:2019-09-10 00:16:55

相关推荐

「Python海龟画图」利用海龟画笔绘制六芒星阵

利用海龟笔绘制1/3圆弧

功能要求

利用海龟笔绘制一个半径为100的,1/3圆弧,并隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色。

实例代码

import turtle'''设置画笔和画笔的初始状态'''turtle.hideturtle() # 隐藏海龟笔头turtle.bgcolor("lavender") # 设置画布的背景颜色turtle.width(3) # 设置画笔的宽度turtle.color("Purple") # 设置画笔的颜色'''绘制半径为100的,1/3圆弧'''turtle.circle(100, 120)turtle.done() # 暂停程序,停止画笔绘制

运行结果

代码分析

turtle.hideturtle():隐藏海龟笔头。

turtle.bgcolor("lavender"):设置画布的背景颜色,括号中的“lavender”为Python预设的颜色值。

turtle.width(3):设置画笔的宽度,即控制画笔的粗细。括号中的数字为画笔的宽度,数字越大画笔越粗。

turtle.color("Purple"):设置画笔的颜色

turtle.circle(100, 120):绘制半径为100的角度为120°的圆弧,其中120°为1/3的弧度。

知识说明

turtle.circle(radius, extent=None, steps=None):绘制一个radius指定半径的圆。圆心相对于海龟笔开始位置的坐标为(-radius, radius),如果radius为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向;extent为一个夹角,用来决定绘制圆的一部分,extent参数可以不指定,如未指定extent则绘制整个圆,即360°的圆弧,如果extent指定值小于360,则不是完整圆,则以当前画笔位置为一个端点绘制圆弧,如果extent指定值大于360则绘制了一整个圆,但画笔停下的位置不同也就是说画笔的方向不同。圆实际是以其内切正多边形来近似表示的,其边的数量由steps指定。如果未指定边数则会自动确定。此方法也可用来绘制正多边形。

利用海龟笔绘制内切正三角形

功能要求

利用海龟笔绘制一个半径为100的内切正三角形,并隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色;同时设置内切正三角形的填充颜色。

实例代码

import turtle'''设置画笔和画笔的初始状态'''turtle.hideturtle() # 隐藏海龟笔头turtle.bgcolor("lavender") # 设置画布的背景颜色turtle.width(3) # 设置画笔的宽度turtle.color("Purple") # 设置画笔的颜色'''绘制半径为100的内切正三角形'''turtle.color("Purple") # 设置画笔的颜色turtle.fillcolor("orange") # 设置填充的颜色turtle.begin_fill() # 设置开始填充点turtle.circle(100, steps = 3) # 绘制内切正三角形turtle.end_fill() # 设置填充的结束点turtle.done() # 暂停程序,停止画笔绘制

运行结果

代码分析

turtle.fillcolor("orange"):设置填充的颜色

turtle.begin_fill()

turtle.circle(100, steps = 3)

turtle.end_fill():设置颜色填充区域,turtle.begin_fill()设置了填充区域的起点,turtle.circle(100, steps = 3)设置了填充的范围,turtle.end_fill(),设置填充的结束点。

注意:在设置填充区域时需要设置填充的开始位置即turtle.begin_fill()和填充的结束位置即turtle.end_fill()

turtle.circle(100, steps = 3):绘制内切正三角形,由于在调用turtle.circle()函数时没有指定第2个参数而直接指定了第三个参数,需要使用关键字参数的方式指定第三个参数,即“参数名 = 参数值”的方式。

利用海龟笔绘制六芒星阵

功能要求

利用海龟笔绘制一个基于半径为100的六芒星阵,并设置画笔的速度,隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色;同时设置内切正三角形的填充颜色。

实例代码

import turtle'''设置画笔和画笔的初始状态'''turtle.speed(0) # 设置海龟笔的速度turtle.hideturtle() # 隐藏海龟笔头turtle.bgcolor("lavender") # 设置画布的背景颜色turtle.width(3) # 设置画笔的宽度turtle.color("Purple") # 设置画笔的颜色'''设置画笔的起始位置'''turtle.penup()turtle.goto(0, -100)turtle.pendown()'''绘制基于半径为100的六芒星阵'''turtle.color("Purple") # 设置画笔的颜色turtle.fillcolor("orange") # 设置填充的颜色turtle.begin_fill() # 设置开始填充点turtle.circle(100, steps = 3) # 绘制第一个内切正三角形turtle.circle(100) # 绘制六芒星阵的外圆形# 移动画笔并修改画笔的角度,为第二个内切正三角形做准备turtle.penup()turtle.goto(0, 100)turtle.left(180) # 画笔角度旋转180度turtle.pendown()turtle.circle(100, steps=3) # 绘制第二个内切正三角形turtle.end_fill() # 设置填充的结束点turtle.done() # 暂停程序,停止画笔绘制

代码改进

将绘制六芒星阵的外圆形和移动画笔位置和角度一次完成。

实例代码

import turtle'''设置画笔和画笔的初始状态'''turtle.speed(0) # 设置海龟笔的速度turtle.hideturtle() # 隐藏海龟笔头turtle.bgcolor("lavender") # 设置画布的背景颜色turtle.width(3) # 设置画笔的宽度turtle.color("Purple") # 设置画笔的颜色'''设置画笔的起始位置'''turtle.penup()turtle.goto(0, -100)turtle.pendown()'''绘制基于半径为100的六芒星阵'''turtle.color("Purple") # 设置画笔的颜色turtle.fillcolor("orange") # 设置填充的颜色turtle.begin_fill() # 设置开始填充点turtle.circle(100, steps = 3) # 绘制第一个内切正三角形turtle.circle(100, 540) # 绘制一个半径为100,角度为540度的圆turtle.circle(100, steps=3) # 绘制第二个内切正三角形turtle.end_fill() # 设置填充的结束点turtle.done() # 暂停程序,停止画笔绘制

代码分析

turtle.circle(100, 540):绘制一个半径为100,角度为540度的圆,即画满了一个整圆后,在多画了半个圆,画笔的起点从圆的最下方到圆的最上方,画笔的方向从向右转向的向左。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。