说明
以下内容初版来自于链接: https://cai-hust.github.io/,感谢博主细致的整理,视频配置参数还请参考链接。
这里对目录内容进行提取,以形成一个大致的框架然后编写和收集基础用例并后续上传 github。同时也会增加综合性例子加入其中,每个程序文件需要在开头注释说明文件内容,较难的步骤。
另外,latex 是必须的公式传播媒介,也是数学公式可视化必备的工具,至少需要掌握常见数学公式的表达,推导,变换,相关内容也会更新到同个仓库。
近来发现网络上关于 manim 的公开资料越来越丰富,大量的优质内容也被热心的传播者搬运到了 B 站等地方,这使得学习变得容易许多。
显示动画
1.play
2.add()
3.remove()
4.wait()
位置操作函数
1.to_edge() 和 to_corner()
2.move_to()
3.next_to()
4.shift()
5.rotate()
6.flip()
基础图形
文字类
1.TextObject
2.TexObject
二维图形类
1.Dot
2.Circle
3.Annulus
4.Rectangle
5.Square
6.Ellipse
7.Arc
8.Line
三维图形类
1.Sphere
2.Cube
3.Prism
4.Parametric Suface
5.parametric Function
群组类(VGroup)
场景类
二维场景 (GraphScene)
1.setup_axes()
2.get_graph()
3.coords_to_point()
4.point_to_coords()
5.get_graph_label()
6.get_vertical_line_to_graph()
7.get_vertical_lines_to_graph()
8.改变坐标标签的颜色
9.二维场景的相机 z 轴没有长度
三维场景 (ThreeDScene)
1.set_camera_orientation()
2.move_camera()
3.等等
坐标轴类
二维坐标系(Axes)
三维坐标系(ThreeDAxes)
数字坐标系(NumberPlane)
复数坐标系(ComplexPlane)
附录
常数
1.颜色:
见constants.py中COLOR_MAP中的列表
2.方向:
ORIGIN = np.array((0., 0., 0.))
UP = np.array((0., 1., 0.))
DOWN = np.array((0., -1., 0.))
RIGHT = np.array((1., 0., 0.))
LEFT = np.array((-1., 0., 0.))
IN = np.array((0., 0., -1.))
OUT = np.array((0., 0., 1.))
X_AXIS = np.array((1., 0., 0.))
Y_AXIS = np.array((0., 1., 0.))
Z_AXIS = np.array((0., 0., 1.))
# Useful abbreviations for diagonals
UL = UP + LEFT
UR = UP + RIGHT
DL = DOWN + LEFT
DR = DOWN + RIGHT
TOP = FRAME_Y_RADIUS * UP
BOTTOM = FRAME_Y_RADIUS * DOWN
LEFT_SIDE = FRAME_X_RADIUS * LEFT
RIGHT_SIDE = FRAME_X_RADIUS * RIGHT
3.角度
PI = np.pi
TAU = 2 * PI
DEGREES = TAU / 360
4.距离
SMALL_BUFF = 0.1
MED_SMALL_BUFF = 0.25
MED_LARGE_BUFF = 0.5
LARGE_BUFF = 1
DEFAULT_MOBJECT_TO_EDGE_BUFFER = MED_LARGE_BUFF
DEFAULT_MOBJECT_TO_MOBJECT_BUFFER = MED_SMALL_BUFF
Latex部分
1.windows 安装 texlive,接下来初始学习了解参考以下文章:
http://liuchengxu.org/blog-cn/posts/quick-latex/
2.找到自己熟悉的公式编译方式,可以使用 vscode + latex-workshop 的方案
3.练习积累各种公式。
更新
通过一段时间的使用,大致掌握了manim 简单数学动画代码的基本编写,但过程中也发现了许多新的问题,一个是对基础数学知识掌握不到位,一个是制作动画不够精致。接下来的一个长期计划是持续对manim 源代码和相关资料进行分析和学习。
TODO:
manim 源码分析计划。
积累制作素材,学习背后的数学知识(傅里叶变换,矩阵坐标变换,3D曲面方程等等)
网友评论