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

如何在manimce的LinearTransformationScene中初始拉远镜头或缩放平面

解决方案1:直接调整摄像机帧大小(最简便)

manimCE的LinearTransformationScene实际默认继承了MovingCameraScene,你之前调用set_width失效是因为用了旧版3b1b manim的属性名self.camera_frame,CE版本对应的属性是self.camera.frame,且需要放在construct方法最开头,所有场景元素初始化之前执行,完全不会产生缩放动画,初始状态就是拉远后的效果:

from manim import *

class LinearTransformTest(LinearTransformationScene):
    def construct(self):
        # 数值越大显示范围越大,设置为20时y轴±10范围内的内容都可以正常显示
        self.camera.frame.set_width(20)
        # 后续正常写你的线性变换逻辑即可
        vec = self.add_vector([0, 7], color=YELLOW)
        # 其余代码...
解决方案2:自定义坐标平面传入场景

如果需要同时调整平面的刻度、网格密度、坐标轴样式,直接预先构造符合你需求的NumberPlane,在初始化场景时传入替换默认平面,不会出现两套坐标轴的问题:

from manim import *

class LinearTransformTest(LinearTransformationScene):
    def __init__(self, **kwargs):
        # 自定义符合需求的坐标平面
        custom_plane = NumberPlane(
            x_range=(-10, 10, 1),
            y_range=(-10, 10, 1),
            axis_config={"include_numbers": True}
        )
        # 传入foreground_plane参数替换默认平面,其他场景参数也可以在这里设置
        super().__init__(
            foreground_plane=custom_plane,
            show_basis_vectors=True,
            **kwargs
        )
    
    def construct(self):
        # 后续正常写你的线性变换逻辑即可
        vec = self.add_vector([0, 7], color=YELLOW)
        # 其余代码...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:45:03