利用python怎么实现一个画画功能

  介绍

利用python怎么实现一个画画功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、绘图原理

我们通过控制初始位置为(0,0)的海龟进行移动,根据一组函数指令的控制,在平面坐标系中移动,从而在它爬行的路径上绘制了图形。

二,开始绘图

龟是python自带的库,我们直接进口导入即可

import 龟

设置绘图区域属性

<强>绘图区域背景色的设置

turtle.bgcolor(& # 39;蓝# 39;)

利用python怎么实现一个画画功能

选择想要的颜色即可

<强>绘图区域大小设置

turtle.setup(宽度=200,高度=100)

参数:

宽度,高度:,

输入宽和高为整数时,表示像素;

为小数时,表示占据电脑屏幕的比例。

画笔绘制图形

让我们先简单的画一条直线

turtle.forward (100)

利用python怎么实现一个画画功能

向前()是海龟的内置函数,表示从原点向前进多少距离。我们还可以控制画笔的角度让他转弯。与之对应的是落后的(),后退多少距离

turtle.backward (100)   turtle.left (60)   turtle.forward (100)

这里的左()就表示画笔的转弯方向和角度了,相应的权利则为向右转。

利用python怎么实现一个画画功能

如图我们后退了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)

利用python怎么实现一个画画功能

四、简单示例

绘制五角星

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(), #填充完成

利用python怎么实现一个画画功能

利用python怎么实现一个画画功能