当前位置: 首页 > news >正文

Manim v0.19.1 发布啦!三大新特性让动画制作更丝滑

大家好!Manim 社区刚刚发布了 v0.19.1 版本(发布于 12 月 1 日)。虽然这是一个小版本号更新,但里面可是藏着几个非常实用的新功能!

无论你是刚入坑的新手,或者已经被某些痛点折磨过的老手,这篇更新速览都值得一看。

1. 🌟 亮点一:终于可以“固定”随机颜色了!

以前我们在使用 random_color() 时,最大的痛点就是:每次运行脚本,生成的颜色都不一样!
有时候你觉得这次随机出来的配色方案简直完美,结果改了一行无关代码再渲染,配色变了……心态直接崩了有没有?

v0.19.1 中,random_color() 终于支持 seed(随机种子)参数了!这意味着你可以通过指定种子,让随机颜色变得“确定”。

🌰 代码示例

from manim import *class DeterministicColors(Scene):def construct(self):# 以前:每次运行颜色都可能不同# circle = Circle(color=random_color())# 现在:指定 seed=1,无论运行多少次,它永远是同一个颜色!rnd = RandomColorGenerator(seed=1)dot_a = Dot(radius=1, color=rnd.next())dot_a.shift(LEFT * 2)# 即使在不同的地方调用,只要种子一样,颜色就一样dot_b = Dot(radius=1, color=rnd.next())dot_b.shift(RIGHT * 2)self.play(Create(dot_a), Create(dot_b))self.wait()

只要seed的值一样,每次的随机的颜色都一样。

这对于制作系列视频或者调试配色时简直是救命稻草。

2. 🌟 亮点二:ValueTracker 终于学会算术了

ValueTracker 是 Manim 中做动态数值动画的核心。但以前它有点“笨”,不能直接参与加减乘除。

比如你想让一个 tracker 的值翻倍,以前你得写 t.set_value(t.get_value() * 2)

现在则直接乘这就行了!

新版本支持 +, -, *, /, //, %, ** 等常见运算符。

🌰 代码示例

from manim import *class SmartTracker(Scene):def construct(self):tracker = ValueTracker(2)number = DecimalNumber()number.add_updater(lambda m: m.set_value(tracker.get_value()))self.add(number)# 以前的写法(现在依然可用,但比较繁琐)# self.play(tracker.animate.set_value(tracker.get_value() + 5))# v0.19.1 的新玩法:直接对对象进行操作# 注意:这里展示的是逻辑上的简化,在非 animate 场景下处理数据更方便# 比如我们在循环中处理数据逻辑时:tracker += 5  # tracker 的内部值现在变成了 7self.wait()# 甚至可以进行更复杂的运算tracker *= 2  # 变成 14self.wait()# 注意:如果你要用 animate 动画过渡,还是推荐用 .animate.set_value()# 但这个特性让编写复杂的 updater 逻辑或者预计算变得非常爽。

代码又可以少写几行 get_value() 了,清爽度 +1。

3. 🌟 亮点三:新增 TangentialArc (切线弧)

这是几何绘图的新玩具!以前如果想画一段圆弧,既要连接两个点,又要保证切线方向平滑,可能需要费点脑筋去算角度。

新的 TangentialArc 旨在简化这类几何构造。

目前官方文档还在完善中,但它的出现意味着我们可以更容易地画出流畅连接直线或曲线的圆弧了。

🌰 代码场景

如果你有一条直线,想在末端接一个圆弧,且连接处要是“丝滑”的(切线连续)。

以前你得算切角,现在可以试试使用 TangentialArc

class TangentialArcSample(Scene):def construct(self):l1 = Line([0, 3, 0], [1, 2, 0], color=RED)l2 = Line([-2, 3, 0], [1, 2, 0], color=BLUE)# 创建切圆弧对象# 参数说明:# - l1: 第一条切线# - l2: 第二条切线# - radius: 圆弧的半径(0.2)# - corner: 圆弧所在的角落方向# - color: 圆弧的颜色(绿色)circulararc = TangentialArc(l1, l2, radius=0.2, corner=(-1, -1), color=GREEN)self.play(Create(l1), Create(l2))self.play(Create(circulararc))self.wait()

4. 🛠️ 其他值得关注的变化

除了上面三个新特性,还有一些改动也非常贴心:

  1. SurroundingRectangle 更灵活了
    以前 buff 参数只能是一个数字,导致矩形框的四周留白必须一样。现在你可以传入一个元组 buff=(0.5, 0.1),分别控制 水平垂直 方向的间距。给长公式加框时再也不用担心左右太宽或者上下太挤了!
  2. Code Mobject 支持 OpenGL
    如果你是用 OpenGL 渲染模式(渲染速度超快的那种)的用户,现在 Code 对象也能完美显示了。
  3. 修复了 Tex 环境格式化问题
    LaTeX 公式时如果不小心换行或者格式乱了,现在 Manim 能更好地处理它,报错更少。
  4. CLI 默认分辨率调整
    命令行工具的默认分辨率逻辑进行了一些微调,更加符合 1080p 的标准预期。

5. 📝 总结与升级

这次 v0.19.1 虽然版本号跨度不大,但每一个改动都切中了实际开发中的痛点。

特别是 随机种子ValueTracker 算术支持,属于那种“用了就回不去”的优化。

升级Manim也很简单,打开终端/命令行,输入:

pip install --upgrade manim

快去试试新功能吧!如果你用新特性做出了好玩的动画,欢迎在社区分享哦。

http://www.gsyq.cn/news/68477.html

相关文章:

  • React 14 - 教程
  • 主席树板子
  • 气密性检漏仪精品定制TOP5权威推荐:甄选供应企业与大型厂家
  • 2025年工业冷风机降温效果揭秘:如何选择适合的降温设备,五金车间通风降温/铁皮房车间降温/汽车配件车间通风降温工业冷风机供应商推荐排行榜
  • pinia应用
  • 2025年口碑好的家用电吹风开关/电吹风开关厂家最新权威实力榜
  • 2025年廊坊地区服务不错的短视频代运营企业推荐,短视频代运
  • 2025年12月全国太阳能路灯厂家五大推荐:场景导向排行榜与全链路照明解决方案
  • 2025年市面上服务好的花灯制作价格推荐,大型户外花灯/商场美陈花灯/灯会花灯/智能花灯/生肖花灯/花灯灯展/马年花灯批发口碑推荐
  • 2025年耐用的吨袋真空包装机行业内知名厂家排行榜
  • 2025比较有名的留学机构
  • 2025年评价高的馄饨皮切皮机/智能切皮机行业内口碑厂家排行榜
  • 2025年口碑好的面条机厂家最新实力排行
  • 2025年口碑好的穿墙止水螺杆厂家推荐及选择参考
  • 2025年口碑好的挤出机用户口碑最好的厂家榜
  • 2025年培育钻店铺推荐供货厂家权威推荐榜单:淘宝培育钻店铺推荐‌/培育钻推荐‌/培育钻推荐品牌‌源头厂家精选
  • 2025年舞台升降幕批发厂家权威榜单:电影院银幕/影院银幕/舞美演义幕提供商精选
  • 2025年钢结构防火涂料订制厂家权威推荐榜单:饰面防火涂料‌/室内防火涂料‌/电缆防火涂料‌源头厂家精选
  • 2025年比较好的洁净室快速门/自动快速门最新TOP品牌厂家排行
  • 2025年口碑好的PVC热水袋用户口碑最好的厂家榜
  • 2025年知名的防腐轻钢龙骨/抗震轻钢龙骨厂家推荐及选购指南
  • 薄荷输入法配置
  • 2025 年 12 月 GEO 优化口碑推荐榜单
  • 2025比较出名的留学机构排名榜
  • 2025年花灯制作厂家采购指南:前五名推荐,花灯灯展/马年花灯/国潮花灯/智能互动花灯/互动花灯/华景花灯品牌选哪家
  • 2025年自动轴承压装机实力厂家权威推荐榜单:增压压床‌/轴承压装机‌/电机压装机‌源头厂家精选
  • 2025年郑州二手房改造哪家口碑好?年度排名推荐翻新装修公司
  • 2025年十大裁断机制造商哪家好排行榜,精选裁断机定制厂家推
  • WPF侧边栏导航菜单(使用MaterialDesign样式)
  • 2025优选Safeguard Global巴西名义雇主EOR,出海企业合规用工人力资源服务商