目录: 1、动画效果展示
2、实现原理
3、制作步骤
4、更多创意创意
背景python在当前编程界的受欢迎程度,就像互联网上的字节跳动一样备受关注。 我相信看了报道的朋友大部分都已经入门python了。 因为网上有很多python入门的视频教程。 编程把创造性变成现实吧。
今天我们来分享一下python高级项目——python实现动态条形图吧。 尽量用简单朴素的表达来介绍这部动画的制作过程。 当然目标不是让你记住代码,而是了解整个制作过程,了解项目实现动画的思想。
动画效果展示:一般的python可以使用turtle库(简单易用的几何库)实现笔迹动画,几乎没有什么难度。
笔迹动画效果
稍微改良一下的话,也可以画星星
本文使用了一个简单的真库来实现由多幅图像组成的动画。 它也是动画和视频的制作原理。
目标动画效果
实现原理:通过关闭真库画笔轨迹显示,快速绘制一幅图像,并以一定的时间间隔显示多幅图像生成动画。 看着我们要实现的动画效果的目标,我们可能会觉得有点复杂,措手不及。 此时,我们分解任务,逐步实现效果。 首先画长方形,然后画多个长方形(例如16个)。 这样就可以得到静态条形图。 绘制多个这样随机高度的条形图,只需显示一会儿就可以制作动画。
恭喜你看到这里。 如果能理解我们的实现原理,就完成了任务。
如果大家都很闲无聊的话,可以想自己实现我们目标的动画效果。 只是30行代码的功夫。 在这里,我将按照我们实现原理的分解步骤,向您展示制作的详细内容。
创建步骤: 0,首先导入库,turtle (绘图),random (生成随机颜色和高度值)
import turtle as t #将导入到turtle库,绰号为timport random as r1,并且必须创建用于绘制矩形的自定义函数rect ( )。 4个参数分别是长方形的高度、颜色、x、y坐标值。
defrect(h,c,x,y ):t.goto(x ) x,t.fillcolor(c ) c ) #填充颜色t.begin_fill ) for I in ranan
2、画16个长方形,首先生成16种随机的颜色并容纳在目录c中,形成静态条形图。
c=[]forIinrange(16(#设置16中的随机颜色c.append ) ( ( r.random ),r.random ( ) )、t.speed(11 ) )
绘制3,6666张静态条形图的图案,注意停留时间的技巧。
forjinrange(6666 ) 6666次x=-180t.tracer ) false ) forIinrange ) 16 ):h=r.randint ( 20,220 ) rect(h ) h, c ) )的0 ) x=x20t.tracer(true )打开轨迹时绘制速度变慢的t.circle(1)1)绘制半径为1像素的圆,t.tracer(false )用于停留一段时间
importturtleastimportrandomasrdefrect ( h,c,x,y ):t.goto(x ) x、 y ) t.fillcolor(c ) t.begin_fill ) ) for i in range(2)2) t.fd(h ) 20 ) t.lt ) 90 ) t.fd(h ) h ) t。 0 ) x=x20t.tracer(true ) t.circle(1)1) t.tracer ( false ) t.clear ) )键1,用于理解整个目标动画的键是完整的编码通过绘制笔迹显示和小圆来争取各图的停留时间,可以调节我们动画的速度。 最后收到了清除画面的t.clear ( )。
t.tracer(true ) t.circle(1)1) t.tracer ( false ) t.clear ) )更有创意的想法1、可以在上面的代码中添加自己的想法。 例如,可以创建围绕周围的动态条形图。
2、turtle不仅能绘制图形,还能显示图像,实现键盘和鼠标的交互。
3、如果将上面代码中倒数第三句的t.circle(1(1)改为t.circle ) 1,3 ),则条形图将在其他维中工作。
旋转的动态条形图
可以帮我换成3D效果的柱状图吗? 这取决于有想法的各位。 正文到此结束。 不管有什么建议和问题都欢迎交流。