animCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升

发布时间:2026/6/30 2:18:51

animCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升 核心亮点与代码示例1. MathTex 双大括号解析修复在之前的版本中MathTex在处理 LaTeX 原生的双大括号}}时可能会错误地触发分割逻辑导致公式渲染失败或显示异常。v0.20.1 修复了这一问题现在你可以更放心地在公式中使用集合或嵌套括号。示例正确使用双大括号from manim import * class MathTexFixExample(Scene): def construct(self): # 之前版本可能会在这里解析出错 # 现在可以正常渲染包含 }} 的 LaTeX 公式 equation MathTex(r\{ x \in \mathbb{R} \mid x^2 \geq 0 \}) self.play(Write(equation)) self.wait()2. 零长度 DashedLine 支持曾经如果你尝试创建或动画化一个起点和终点重合零长度的DashedLineManim 可能会抛出错误。新版本修复了 this 边缘情况使得动态调整线段长度变得更加鲁棒。示例动态变化的虚线from manim import * class DashedLineZeroLength(Scene): def construct(self): start_point ORIGIN end_point RIGHT # 创建一个虚线 line DashedLine(start_point, end_point) self.add(line) # 动画将终点移动回起点形成零长度线段 # v0.20.1 修复了此类动画可能崩溃的问题 self.play(line.animate.put_start_and_end_on(start_point, start_point)) self.wait()3. 嵌套 AnimationGroups 与 Z-Index 修复对于复杂动画特别是嵌套的AnimationGroup中包含带有z_index属性的 mobjects 时移动对象检测曾存在问题。这可能导致图层顺序混乱或动画追踪失败。本次更新修复了嵌套组中的对象检测逻辑。示例嵌套动画组from manim import * class NestedAnimationGroupFix(Scene): def construct(self): circle Circle().set_fill(RED, opacity0.5) square Square().set_fill(BLUE, opacity0.5) # 设置不同的 z_index circle.z_index 2 square.z_index 1 # 嵌套 AnimationGroup group_anim AnimationGroup( AnimationGroup(circle.animate.shift(RIGHT)), AnimationGroup(square.animate.shift(LEFT)), lag_ratio0.5 ) self.add(square, circle) self.play(group_anim) self.wait()4. LaggedStartMap 参数传播控制修复了LaggedStartMap中 kwargs 意外传播给所有子对象的问题。现在你可以更精确地控制传递给每个映射对象的参数避免不必要的属性污染。 开发者体验优化除了用户可见的功能修复v0.20.1 还在底层做了不少改进让开发和使用过程更顺畅Docker 镜像优化优化了 Docker 镜像的构建流程和运行时占用空间对于使用容器化部署的用户来说拉取和运行速度将更快。FFmpeg 警告静音当系统中缺少 ffmpeg CLI 时不再弹出烦人的pydub导入警告控制台输出更干净。类型提示增强为manim/_config/utils.py添加了类型注解有助于 IDE 提供更好的代码补全和错误检查。TipableVMobject 清理修复了可变默认参数问题及assign_tip_attr的拼写错误提升了代码内部稳定性。 文档更新

相关新闻