You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Manim的ThreeDScene中不移动相机旋转3D立方体绕Y轴?

解决Manim中立方体绕自身Y轴旋转(不移动相机)的问题

你当前代码里的Rotate动画默认是绕全局坐标系原点旋转,而非立方体自身中心,所以达不到预期的绕自身Y轴旋转效果。不用移动相机,有两种简单可行的实现方式:

方法1:使用animate.rotate(推荐)

animate方法默认以物体自身中心为旋转基准,直接指定旋转轴和角度即可:

class Intro(ThreeDScene):
    def construct(self):
        config.background_color = rgb_to_color(hex_to_rgb("#141414"))
        sq = Square().shift(LEFT)
        cu = Cube().shift(RIGHT)

        VGroup(sq, cu).arrange(RIGHT, buff=2)

        self.play(Write(sq), Write(cu), run_time=2)
        self.wait(1)
        # 绕自身Y轴(对应Manim的UP方向)旋转π弧度
        self.play(cu.animate.rotate(PI, axis=UP), rate_func=linear)
        self.wait(2)

方法2:显式指定旋转中心

如果坚持使用Rotate类,需要通过about_point参数指定立方体的中心作为旋转基准点:

# 替换原旋转代码行
self.play(Rotate(cu, angle=PI, axis=UP, about_point=cu.get_center()), rate_func=linear)

补充说明

  • Manim的3D坐标系中,UP对应Y轴正方向,立方体自身的Y轴与全局Y轴方向一致,因此直接用UP作为旋转轴即可。
  • 若要绕其他局部轴旋转,可替换为RIGHT(X轴)或OUT(Z轴)。

内容的提问来源于stack exchange,提问作者GoodErnest64

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 11:25:08