ThreeDCamera¶
ThreeDCamera
是一个3D相机类,只通过给3D物体施加 rotation_matrix
来
将3D物体转为2D,因此,manim的3D效果不是很好,很多问题不宜解决(例如穿模)。
在 ThreeDScene
和
SpecialThreeDScene
中被默认使用。
ThreeDCamera¶
-
class
manimlib.camera.three_d_camera.
ThreeDCamera
(*args, **kwargs)¶ 使用球坐标系,
phi,theta
和球坐标系中意义相同。distance
表示画面扭曲程度,不表示相机距离。gamma
表示相机转角。frame_center
表示相机的中心,为一个ndarray
。should_apply_shading
是一个bool值,为True时根据光源位置设置光泽。light_source_start_point
为一个ndarray
表示光源位置-
add_fixed_in_frame_mobjects
(*mobjects)¶ 将
mobjects
固定在屏幕上(2D)
-
add_fixed_orientation_mobjects
(*mobjects, use_static_center_func=False, center_func=None)¶ 将
mobjects
固定在相机中(3D)
-
capture_mobjects
(mobjects, **kwargs)¶ 捕获
mobjects
中的所有物体
-
generate_rotation_matrix
()¶ 根据角度获取旋转矩阵,将3D映射到2D
-
get_mobjects_to_display
(*args, **kwargs)¶ 获取所有要显示的物体
-
get_value_trackers
()¶ 获取存储phi,theta,distance,gamma的ValueTracker
-
modified_rgbas
(vmobject, rgbas)¶ 给
vmobject
的颜色数组rgbas
加入光照处理
-
project_points
(points)¶ 使用
rotation_matrix
处理所有物体的点
-
remove_fixed_in_frame_mobjects
(*mobjects)¶ 将固定在屏幕上的
mobjects
移除固定
-
remove_fixed_orientation_mobjects
(*mobjects)¶ 将固定在相机中的
mobjects
移除固定
-
transform_points_pre_display
(mobject, points)¶ 调用
project_points
处理mobject
-