跳转至

v0.6.0

2021 年 5 月 2 日

重大变更

  • #1347 : 重构 vector_field 模块并添加文档

:class~.VectorField 被重命名为,并添加ArrowVectorField一个新类作为和 的超类。已移除。它的功能已转移到. 使用矢量场时添加了许多新选项。被移至指示模块。VectorFieldArrowVectorFieldStreamLinesAnimatedStreamLinesStreamLinesShowPassingFlashWithThinningStrokeWidth

  • #1161:升级坐标系统和绘图。

Axes对、和进行了重大更改ThreeDAxes, 以上所有内容现在都使用列表来构造其范围,而不是显式定义这些值。x_range 已取代 x_min、x_max ,并且使用 x_step –> : 定义步长要容易得多。这些类别还进行了许多升级,改善了它们的功能和外观。NumberPlaneNumberLinex_range``[x_min, x_max, x_step]

NumberLineOld引入是为了继续支持GraphScene,尽管我们正在放弃 GraphScene 并打算在未来版本中弃用它。

  • #1013:重构命令行界面以使用 Click 而不是 Argparse

此更改破坏了 CLI API 来组织 Manim 社区的命令、选项和参数的结构。

为了更符合 POSIX 兼容的 CLI 约定,命令的选项在其参数之前给出。在 Argparse 中: 点击:manim basic.py -p -ql``manim -p -ql basic.py

尽管这主要是重构,并且大多数常见选项仍然存在,但已添加/删除了一些选项。使用manim命令的--help选项,或者仅运行命令而不提供选项/参数来查看包含子命令/选项/参数的完整列表的帮助页面。

  • 添加了--fps/--frame_rate选项,允许自定义 fps,不必是整数(即 29.97、23.98 等)。用户不再需要在配置文件中指定 FPS。此外,该--webgl_renderer_fps选项已被删除。使用--fps--frame_rate代替。
  • 添加了一个--renderer选项,您可以使用它来选择渲染器(例如--renderer=opengl)。目前有三种渲染器可供选择!
  • 删除了该--background_color选项。将该--background_color选项的简写重新指定-c--config_file
  • 删除了该--leave_progress_bars选项。--progress_bars=leave代替使用。
  • 删除了已弃用的渲染质量标志,特别是:-l-m-h-k
  • 删除了该--sound选项。随着 SoX 的移除,它很久以前就失去了支持。

已弃用的类和函数

  • #1431:修复 CLI 错误

  • 通过从 中删除,修复了-f之前分配给 和--show_in_file_browser的冲突。已发出警告,该警告将很快转移到。--format``-f``--format``-f``--format

  • 添加回来的标志将文件渲染为 gif/最后一帧。弃用它们,转而支持--format.
  • 修复了损坏的--output_file/-o选项。
  • -qh修复了质量选项被解释为-q -h,提示帮助页面的问题。

  • #1354 : 重构了 space_ops.py 中的一些函数,已弃用angle_between()

  • #1370 : 删除 TexMobject 和 TextMobject

TexMobject 和 TextMobject 已被弃用一段时间,现在已完全删除。请改用 Tex 或 MathTex。

  • #1349 : 删除了已弃用的SmallDotmobject
  • #1259 : 删除了已弃用的 CairoText 类

新功能

  • #1386:实现用于添加/删除图的顶点和边的实用方法;允许自定义 mobject 作为顶点
  • #1385:添加get_line_graph()用于绘制折线图

添加了get_line_graph()从沿 x、y 和 z(可选)轴的点列表返回折线图的功能。

  • #1381 : OpenGL 渲染器的热重载

输入文件修改后重新运行场景

  • #1383indication模块接口的检修

  • 添加了 Circumscribe 类,组合了 CircleIndicate、AnimationOnSurroundingRectangle、ShowPassingFlashAround、ShowCreationThenDestructionAround、ShowCreationThenFadeAround 的功能,这些功能均已弃用。

  • Flash 的更改:flash_radius 参数现在定义动画的内半径。添加了新参数 time_width。
  • ShowCreationThenDestruction 已被弃用,取而代之的是 ShowPassingFlash
  • 对 ApplyWave 的更改:新的实现通过新参数 wave_func、time_width 和 `ripples`提供了更大的灵活性
  • 已将 WiggleOutThenIn 重命名为 Wiggle(WiggleOutThenIn 已弃用)
  • 为上述所有内容添加了文档和示例
  • 其他小的改进和错误修复

  • #1348:添加,Polyhedron和柏拉图固体Tetrahedron,,OctahedronIcosahedronDodecahedron

  • #1285 : 添加interactive_embed()OpenGL 渲染

interactive_embed()允许通过鼠标和键盘与场景交互,以及通过 iPython 终端进行动态命令。

  • #1261:如果场景中没有播放动画,则自动渲染图像

  • 如果场景中没有动画并要求预览/渲染视频,则预览/渲染图像而不是引发令人困惑的错误。

  • #1200 : 将文本和 SVG mobject 添加到 OpenGL

添加了兼容 OpenGL 的文本和 SVG mobjects

增强功能

  • #1398 : 修复并增强 Mobject.arrange_in_grid

range_in_grid 现在实际上在网格中排列子对象。添加了新参数 buff、cell_alignment、row_alignments、col_alignments、row_heights、col_widths、flow_order。

  • #1407:修复错误并将其重命名vector_coordinate_label()coordinate_label()并将其移动到geometry.py
  • #1380:允许图像对象作为背景图像
  • #1391 : 将 path_arc 支持添加到.animate 语法

参数 path_arc 现在Transform适用于.animate 语法

  • #1364:添加match_points()

  • 添加了match_points(),它可以转换 Mobject 的点、位置和子对象以匹配另一个 Mobject,同时保持样式不变。

  • #1363 : TeX 编译器和输出文件格式的更改

  • #1359 : 使 FILE 成为必需参数

  • 将 FILE 设为必需参数,manim/cli/render/commands.py :L30

  • #1304 : 改进双括号处的 Tex 字符串拆分:仅针对双括号组进行拆分

  • #1340 : 为新的变换动画添加 OpenGL 支持

使 FadeTransform、FadeTransformPieces、TransformMatchingShapes 和 TransformMatchingTex 与 OpenGL 渲染兼容。

  • #1343 : 使 TexTemplate() 简单,但保留 Tex() 的默认模板

TexTemplate() 现在返回一个简单的 tex 模板。

实现get_midpoint()以返回 mobject 笔画线的中间点。

添加 Mobject add_to_back 健全性检查: - 当 Mobject 尝试添加自身时引发 ValueError - 添加非 Mobject 时引发 TypeError - 如果列表中至少存在该子对象的一个 ​​ 实例,则过滤掉传入的重复子对象

这改善了矩形和其他简单对象之间转换的外观。

  • #1248 : 为 TexTemplate 添加复制功能

修复了错误

  • #1368:添加了检查以确保检查最新版本成功
  • #1413 : 通过添加到子对象时防止相同对象的重复add_to_back()

修复#1412

与文档相关的更改

  • #1430:未弃用的 GraphScene(稍后将弃用),修复了对 NumberPlane 的旧式调用

  • 为了通过 Axes 完全替换 GraphScene 需要做更多的工作,因此 GraphScene 尚未被弃用。

  • 修复了使用旧 NumberPlane 语法的一个示例。

  • #1425:在自述文件中添加了“如何引用 Manim”部分

  • #1387:添加了将 GitHub Wiki 中的示例贡献到文档的指南

添加了指南

  • #1424:修复了所有当前的文档构建警告
  • #1389:向文档添加警告教程
  • #1341:降低 ThreeDSurfacePlot 示例的复杂性
  • #1362:模块快速参考
  • #1376 : 在文档中添加 flake8 和 isort

在文档中添加了“flake8”和“isort”用法

  • #1360:文档中的语法错误更正

更改了 docs/source 中的几句话

  • #1351:更多的打字提示
  • #1358:修复了开发人员安装说明的链接
  • #1338:添加了类型提示的文档指南
  • #1342 : 文档的多个 ValueTracker 示例
  • #1210:添加了有关 mobject 坐标的教程章节
  • #1335 : 在文档中的示例中添加了导入语句
  • #1245 : 添加填充角度示例
  • #1328:文档:更新大括号示例
  • #1326:改进文档ManimMagic(特别是:修复 CLI 标志的文档顺序)
  • #1323:黑化文档字符串
  • #1300:添加了类型提示ValueTracker
  • #1301:添加了更多文档字符串和类型提示Mobject
  • #1298 : 为第一个代码示例添加双反引号(value_tracker.py)
  • #1297 : 更改文档以使用 viewcode 扩展而不是 linkcode

切换sphinx.ext.linkcode到并在 中sphinx.ext.viewcode删除。linkcode_resolve``conf.py

  • #1246:添加了文档字符串ValueTracker
  • #1251 : 将文档从 guzzle-sphinx-theme 切换到 Furo
  • #1232:更多文档字符串和示例Mobject
  • #1291:README.md 中的语法改进
  • #1269:添加有关的文档set_color_by_tex()
  • #1284:通过提供 example_scenes 的正确链接更新了自述文件
  • #1029 : 将示例 jupyter 笔记本添加到示例文件夹中
  • #1279 : 在 pyproject.toml 中添加了 sphinx 要求

想要构建 sphinx 文档的新贡献者有一个额外的步骤,可以通过使用. 这消除了开发人员对.poetry install``pip install -r requirements.txt

  • #1268:添加了解释 manim 版本之间差异的文档
  • #1247:添加了使用 animate 的警告
  • #1242 : 添加了 manim 颜色图的示例
  • #1239 : 添加 TinyTex 安装说明
  • #1231 : 改进变更日志生成脚本

有关测试系统的更改

  • #1299:在 GraphicalUnitTest 中,红色像素(不同值)现在出现在绿色像素(相同值)上

我们的开发基础设施的变化

  • #1436 : 使用 pyproject.toml 哈希键缓存诗歌 venv

使用 pyproject.toml 哈希键缓存诗歌 venv

  • #1435:CI:新版本发布时更新诗歌缓存

修复使用缓存诗歌 venv 时 CI 中 test_version 失败的问题

  • #1427 : 将 URL 添加到 pyproject.toml
  • #1421:更新了变更日志生成器的标签并从变更日志中删除了预提交机器人
  • #1339:CI:修复在只读文件系统中创建文件时出现的 macOS 安装错误
  • #1257:CI:缓存 ffmpeg、tinytex 依赖项和诗歌 venv

CI:缓存 ffmpeg、tinytex 依赖项和诗歌 venv

  • #1294 : 将混合行结尾添加到 .pre-commit-config.yaml
  • #1278:修复 flake8 错误并删除 linter/formatter 工作流程
  • #1270 : 将 isort 添加到 pre_commit 文件
  • #1263:CI:关闭诗歌实验安装程序以修复安装错误

  • 关闭诗歌的实验性安装程序,以防止包的 manim 安装错误。

  • 将 py39 降级到 py38 以进行薄片检查,因为 pip 不喜欢 py39 以及诗歌。

  • #1255:CI:修复 macOS 管道故障

在安装依赖项之前,如有必要,请更新 ci.yml 以更新和升级 brew,并删除不受支持的 dvisvgm.86_64-darwin 软件包。

  • #1254:删除了问题模板中 GitHub 不允许上传视频的评论警告。
  • #1216 : 使用 actions/checkout 克隆存储库;黑支票
  • #1235 : 修复装饰器版本<5.0.0

代码质量改进和类似的重构

  • #1411 :根据 PEP 484 将 Union[float, int]更改为浮动
  • #1241:类型注释:修复静态类型检查工具 mypy 中显示的错误
  • #1319:修复平均/平均拼写错误

修复文档中的拼写错误

  • #1313:修复文档中快速入门页面上的单一拼写错误
  • #1292 : 从文件中删除不必要的导入

导入减少了一堆文件

  • #1295:修复行为准则中的语法和拼写错误
  • #1293:小修复 - 减少行数

删除不必要的行

  • #1281:删除文件中的所有回车符
  • #1178:使用 Isort 格式化导入
  • #1233 : 修复--use_opengl_renderer和 的弃用警告--use_webgl_renderer
  • #1282 : 修复基于 mypy 的 vectorized_mobject.py 中的输入提示

新发布