【Manim】空间与变换笔记
【Manim】空间与变换笔记
所有常量都可以在constants.py中找到
屏幕空间
屏幕中心为原点(0,0,0),遵循右手坐标系,向右为x轴正方向,向上为y轴正方向,向前为z轴负方向,旋转时正方向为顺时针方向。
相关常量
名称 | 描述 |
---|---|
FRAME_HEIGHT | 屏幕高度,默认为8 |
FRAME_WIDTH | 屏幕宽度,默认为ASPECT_RATIO * FRAME_HEIGHT |
ASPECT_RATIO | 屏幕宽高比,默认为16 / 9 |
FRAME_Y_RADIUS | 屏幕高度的一半 |
FRAME_X_RADIUS | 屏幕宽度的一半 |
向量(np.ndarray)
创建方式
1 |
|
相关常量
名称 | 对应坐标 | 描述 |
---|---|---|
RIGHT | (1,0,0) | |
UP | (0,1,0) | |
LEFT | (-1,0,0) | |
DOWN | (0,-1,0) | |
UR | (1,1,0) | |
UL | (-1,1,0) | |
DR | (1,-1,0) | |
DL | (-1,-1,0) | |
TOP | (0,FRAME_Y_RADIUS,0) | 屏幕最上方 |
BOTTOM | (0,-FRAME_Y_RADIUS,0) | 屏幕最下方 |
RIGHT_SIDE | (FRAME_X_RADIUS,0,0) | 屏幕最右方 |
LEFT_SIDE | (-FRAME_X_RADIUS,0,0) | 屏幕最左方 |
OUT | (0,0,1) | |
IN | (0,0,-1) |
变换函数
以下都是Mobject对象的成员函数。
函数名 | 作用 |
---|---|
shift | 移动物体 |
move_to | 移动物体到指定位置 |
scale | 缩放物体 |
rotate | 旋转物体 |
flip | 翻转物体 |
stretch | 拉伸物体 |
to_corner | 移动物体到屏幕角落 |
to_edge | 移动物体到屏幕边缘 |
align_to | 对齐物体 |
next_to | 排列物体 |
set_height | 设置物体高度 |
set_width | 设置物体宽度 |
可选参数
以下为部分举例,因为内容过多,不同函数参数也有不同,所有不方便记。但相关内容我也没在文档里找到,不过我发现在源码里可以找到。每个类可用的参数,都作为字典写在了类结构里,翻翻几个基类的源文件就知道了。
参数名 | 作用 |
---|---|
aligned_edge | 设置物体相对于目标点的对齐方式 |
coor_mask | 限制物体在部分轴上不运动 |
about_edge | 设置相对于边沿的运动 |
about_point | 设置相对于点位的运动 |
buff | 设置相对于默认变换结果的空间空隙 |
submobject_to_align | 使用子物体进行对齐 |
index_of_submobject_to_align | 对齐到目标的子物体 |
动画效果
需要配合scene.play使用,下方为举例。
1 |
|
【Manim】空间与变换笔记
https://bdffzi-blog.pages.dev/posts/3454987331.html