温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用python制作动画的案例

发布时间:2020-11-09 11:09:18 来源:亿速云 阅读:308 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关使用python制作动画的案例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

Python真的是无穷的好用,涉及内容非常广泛,比如接下来给大家介绍的制作动画,就可以利用python实现,感兴趣的小伙伴一起来看下吧~

制作步骤:

在一开始导入我们的库,turtle (绘制几何图形),random (产生随机颜色和高度值)

import turtle as t #导入turtle库,并该起了个外号为t
import random as r

编写一个画长方形的自定义函数,rect()。4个参数分别是长方形的高,颜色,x,y坐标值。

def rect(h, c, x,y):
    t.goto(x, y)        #画笔移到特定位置
    t.fillcolor(c)       #设置填充颜色
    t.begin_fill()
    for i in range(2):  #画长方形
        t.fd(20)
        t.lt(90)
        t.fd(h)
        t.lt(90)
t.end_fill()

使用python制作动画的案例

绘制16个长方形,先要产生16种随机颜色存放到列表c中,形成静态条形图。

c = []
for i in range(16):  #设置16中随机颜色
    c.append((r.random(),r.random(),r.random()))
    
t.speed(11)         #绘图的速度设置为11
x = -180
t.tracer(False)     #关闭轨迹快速绘图
for i in range(16):     
h = r.randint(20,220)
rect(h, c[i], x, 0)
x = x + 20        #下一个长方形x坐标值

使用python制作动画的案例

绘制6666幅静态条形图图案,并且注意停留时间的技巧。

for j in range(6666): #绘制6666次
    x = -180
    t.tracer(False)
    for i in range(16):
        h = r.randint(20,220)
        rect(h, c[i], x, 0)
        x = x + 20
    t.tracer(True)   #打开轨迹让绘制速度变慢
    t.circle(1)         #画一个半径为1像素的圆,为了停留一段时间
    t.tracer(False)
t.clear()

最后,呈现完整代码:

import turtle as t
import random as r
 
def rect(h, c, x, y):
    t.goto(x, y)
    t.fillcolor(c)
    t.begin_fill()
    for i in range(2):
        t.fd(20)
        t.lt(90)
        t.fd(h)
        t.lt(90)
    t.end_fill()
 
c = []
for i in range(16):
    c.append((r.random(),r.random(),r.random()))
    
t.speed(11)
for j in range(6666):
    x = -180
    t.tracer(False)
    for i in range(16):
        h = r.randint(20,220)
        rect(h, c[i], x, 0)
        x = x + 20
    t.tracer(True)
    t.circle(1)
    t.tracer(False)
    t.clear()

总结:

理解整个目标动画的关键在完整代码的最后4句。通过笔迹显示和画一个小圆为每幅图争取停留时间,可以调节我们动画的快慢。最后接到要清屏t.clear()。

   t.tracer(True)
    t.circle(1)
    t.tracer(False)
t.clear()

感谢各位的阅读!关于使用python制作动画的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI