大家好,小编来为大家解答以下问题,用python的turtle画炫酷的图,python中用turtle画一个圆形,今天让我们一起来看看吧!
Source code download: 本文相关源码
现在许多网站追求一种简洁动态的设计,在页面上使用Python实时画出一道弧度是一种展现简洁美的方式,如果能用Python实时画弧度和圆那该多好啊?
接下来直接进入正题,我们如何实现这样的功能呢?
在这里我们用的是python里面的turtle库,我们通过不断地变化角度绘画直线从而实现一个圆。源代码如下:
import turtle
import math
bob = turtle.Turtle()
#创造一个turtle object名为bob
def arc(t,r,angle):
arc_length = 2 *math.pi * r *angle /360
#求出弧长
n = 50
#要绘画直线的的次数
#n的数值越大越好看,但运行时间会增加
step_length = arc_length/n
#每一次画线的长度
step_angle = angle/n
#每一次画线所变化的角度
for i in range(n):
t.fd(step_length)
#向前画直线
t.lt(step_angle)
#转角度
turtle.mainloop()
#保留图形
arc(bob,80,150)
#调用函数实现实时绘制
#bob是名称,80是大小,150是弧度,360即圆
如:
前者是150度 后者是360度,显然在n=50的情况下画得很粗糙
现在看看n=(int) arc_length
现在是不是平滑一点了? 但是时间也花得更长了用python画雪人。
你可以尽量试试,试出一种更好的算法,我这里推荐的是n=(int)arc_length/2+10
难并不难在实时画弧度或者圆,FLASH也能实现这样的功能,问题是怎样实现与用户交互的功能?强大的python将是很好的选择。
本文由 Python 实用宝典 作者:Python实用宝典 发表,其版权均为 Python 实用宝典 所有,文章内容系作者个人观点,不代表 Python 实用宝典 对观点赞同或支持。如需转载,请注明文章来源。