介绍
利用python怎么实现一个画画功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
一、绘图原理
我们通过控制初始位置为(0,0)的海龟进行移动,根据一组函数指令的控制,在平面坐标系中移动,从而在它爬行的路径上绘制了图形。
二,开始绘图
龟是python自带的库,我们直接进口导入即可
import 龟
设置绘图区域属性
<强>绘图区域背景色的设置强>
turtle.bgcolor(& # 39;蓝# 39;)
选择想要的颜色即可
<强>绘图区域大小设置强>
turtle.setup(宽度=200,高度=100)
参数:
宽度,高度:,
输入宽和高为整数时,表示像素;
为小数时,表示占据电脑屏幕的比例。
画笔绘制图形
让我们先简单的画一条直线
turtle.forward (100)
向前()是海龟的内置函数,表示从原点向前进多少距离。我们还可以控制画笔的角度让他转弯。与之对应的是落后的(),后退多少距离
turtle.backward (100) turtle.left (60) turtle.forward (100)
这里的左()就表示画笔的转弯方向和角度了,相应的权利则为向右转。
如图我们后退了100的距离然后向左偏转60°又前进了100年距离。其他常用参数请参考下面的表格
<强>画笔运动函数强>
函数描述turtle.forward(距离)向当前画笔方向移动距离像素长turtle.backward(距离)向当前画笔相反方向移动距离像素长度turtle.right(学位)顺时针移动度°turtle.left(学位)逆时针移动度°turtle.pendown()移动时绘制图形,缺省时也为绘制turtle.goto (x, y)将画笔移动到坐标为x, y的位置turtle.penup()移动时不绘制图形,提起笔,用于另起一个地方绘制时用turtle.speed(速度)画笔绘制的速度范围[0,10]整数turtle.circle()画圆,半径为正(负),表示圆心在画笔的左边(右)边画圆<强>画笔参数强>
命令说明turtle.pensize(宽度)绘制图形时的宽度turtle.pencolor()画笔颜色turtle.fillcolor (colorstring)绘制图形的填充颜色龟。颜色(color1 color2)同时设置pencolor=color1 fillcolor=color2turtle.filling()返回当前是否在填充状态turtle.begin_fill()准备开始填充图形turtle.end_fill()填充完成;turtle.hideturtle()隐藏箭头显示,turtle.showturtle()与hideturtle()函数对应<强>全局控制命令强>
命令说明turtle.clear()清空龟窗口,但是海龟的位置和状态不会改变turtle.reset()清空窗口,重置龟状态为起始状态turtle.undo()撤销上一个海龟动作turtle.isvisible()返回当前龟是否可见邮票()复制当前图形turtle.write (s[字体=(“font-name" font_size,“font_type")])写文本,年代为文本内容,字体是字体的参数,里面分别为字体名称,大小和类型;字体为可选项,字体的参数也是可选项三,为循环语句
如果我们要画一个正方形按照上边的方法代码为
import 海龟 turtle.forward (100) turtle.left (90) turtle.forward (100) turtle.left (90) turtle.forward (100) turtle.left (90) turtle.forward (100) turtle.left (90)
一个简单的四边形就要如此重复,绘制更复杂的图形还这样做的话就显得不科学了,这时候我们就要用的到循环了。使用的循环的语句优化过的代码为
totalTimes=4,,,,,,,,,,,,,,,,,,,,,,, for times 拷贝范围(totalTimes): ,,,turtle.forward (100) ,,,turtle.left (90)
四、简单示例
绘制五角星
import 海龟 t=turtle.Pen(), #获得画笔 t.hideturtle(), #隐藏箭头 t.begin_fill(), #填充图形 for x 拷贝范围(1,,6): ,,,t.forward (100) ,,,t.left(216), #在这里先向右直行,然后左转216°(左下,正五角星度数180/5=36°) t.end_fill(), #填充完成