【Manim学习笔记】Transform函数是如何自动生成过渡动画的?

编程入门 行业动态 更新时间:2024-10-27 22:21:16

【Manim学习笔记】Transform函数是如何<a href=https://www.elefans.com/category/jswz/34/1766270.html style=自动生成过渡动画的?"/>

【Manim学习笔记】Transform函数是如何自动生成过渡动画的?

写在前面

emm我只是平平无奇的大学牲。在我学习Manim的过程中,发现CSDN很少有人讲Manim的内容,没有前人的经验,自己学起来举步维艰…因此写下这个【manim学习笔记】系列博客,希望能帮助各位想做数学动画的同志们免受折磨。
我的笔记全都是基于Manim官方英文文档 的补充,主要讲解那些没被讲到的细节,和晦涩难懂的地方,所以在看我的笔记前请先把官方文档里相关的部分先看一遍哦。有其它问题或思路的同学也欢迎在评论区提问或补充,我会持续补充更新。大家一起共创千秋伟业↖(≧▽≦) ↗

相关文档:transforming-mobjects-into-other-mobjects


发现问题

如果有学过视频剪辑、动画制作的小伙伴,应该都知道一个物体的动画是怎么做出来的,最基本的操作无非平移、伸缩、旋转。可是在Transform(A,B)这段动画生成的时候,我们根本没对我们的物体进行任何的操作,那这段动画是怎么生成的呢?
本人自己通过实验得出了一套猜想,并且经过检验还没有发现错误,所以在这里跟大家分享一下。

先看一个实验

这是实验代码:

class test(Scene):def construct(self):# 放置两个方形,一个在右边,一个在左上方square1= Square(2).shift(RIGHT)square2= Square(2).shift(LEFT).shift(UP)# 第一次实验时不加这行代码,第二次实验时加上square1.points= np.roll(square1.points,int(len(square1.points)/4),axis=0)# -----------------------------------------self.add(square1)self.play(Transform(square1,square2))self.wait(1)

这是实验结果:
第一次实验(不加那一行代码):

为什么会出现这种情况?
请看我下面这张示意图:(箭头代表着端点的平移轨迹)

要是看得懂的同学就可以关掉这篇文章了,看不懂的同学,且听我娓娓道来~

XXX.points是什么意思?

那么程序是怎么知道哪个端点对应哪个端点的呢?

更多推荐

【Manim学习笔记】Transform函数是如何自动生成过渡动画的?

本文发布于:2024-03-09 08:43:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724502.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自动生成   函数   学习笔记   动画   Manim

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!