manim学习笔记(三)

3D动画:
上一个专栏中我们已经实现了一个倾斜的球面的生成(Example 5),这次我们给这个球面设置一个动画。
Example 1
首先我们给这个球面添加一个轴心(生成球面的轴心),整体代码如下
运行结果如图

Example 2
此时能够明显看出遮挡关系是错误的。因此为了实现正确的遮挡,我们应该分段生成这个轴心,相应部分的代码修改如下
运行结果如图

Example 3
接下来我们给这两个几何体设置动画,相应部分的代码修改如下
其中self.play的参数结构为(动画类1(几何体1),动画类2(几何体2),...,动画类m(几何体n),axis=转动平面的法向量[x,y,z],angle=转动角(弧度制),run_time=动画执行时间(s)),同一个self.play中的动画同时执行,需要先后执行的动画应按执行顺序写在不同的self.play中。
上面代码的执行结果如图

相机(camera)的转动:
Example 4
我在源代码中没有找到能够渐进改变相机视角的属性,因此选择了相对比较暴力的转动方式,代码如下
运行结果如图所示


下一期将会展示在动画中添加随动参数值的方法
P.S. 最近收到了不少求助的私信,大部分的私信我尽量做出了答复。本人才疏学浅,接触manim的时间也不过半个月,也没有办法系统性地对这个模块进行讲解,因此这个系列也只用了学习笔记的形式来写。而且私信中不少问题也是我没见过的,只能靠之前的一些经验判断问题来源,因此我也不确定我的答复是否帮助了那些同学,如果我的方法没有起到效果我也只能说一声抱歉。不过我还是比较希望私信询问的同学可以直接将问题留言给我而不要只是开篇抒情(doge)