问答社区
Manim 是一个用于解释数学视频的动画引擎。它用于以编程方式创建精确的动画
Manim 是一个用于解释数学视频的动画引擎。它用于以编程方式创建精确的动画,如3Blue1Brown的视频中所示。
注意:此存储库由 Manim 社区维护,与 Grant Sanderson 或 3Blue1Brown 没有任何关系(尽管我们绝对感谢他向世界提供了他的工作)。如果您想研究 Grant 如何制作他的视频,请访问他的存储库 ( 3b1b/manim )。这个 fork 的更新比他的更频繁,如果你想在自己的项目中使用 Manim,建议使用这个 fork。
安装:警告:这些说明仅适用于社区版本。尝试使用这些说明来安装3b1b/manim或其中的说明来安装此版本将导致问题。阅读本文并决定您要安装哪个版本,然后仅按照您所需版本的说明进行操作。
Manim 需要一些依赖项,在使用它之前必须安装这些依赖项。如果您想在本地安装之前先尝试一下,可以 在我们的在线 Jupyter 环境中进行。
对于本地安装,请访问文档 并按照适合您的操作系统的说明进行操作。
用法-Manim 是一个用途极其广泛的软件包。以下是您可以构建的示例
Scene
:from manim import * class SquareToCircle(Scene): def construct(self): circle = Circle() square = Square() square.flip(RIGHT) square.rotate(-3 * TAU / 8) circle.set_fill(PINK, opacity=0.5) self.play(Create(square)) self.play(Transform(square, circle)) self.play(FadeOut(square))为了查看该场景的输出,请将代码保存在名为
example.py
.然后,在终端窗口中运行以下命令:manim -p -ql example.py SquareToCircle您应该会看到您的本机视频播放器程序弹出并播放一个简单的场景,其中正方形变成了圆形。您可能会在此GitHub 存储库中找到一些更简单的示例 。您还可以访问官方图库以获取更高级的示例。
Manim 还附带了
%%manim
IPython 魔法,可以在 JupyterLab(以及经典 Jupyter)笔记本中方便地使用它。请参阅 相应的文档以获得一些指导并 在线尝试。命令行参数Manim的一般用法如下:
上面命令中的标志
-p
用于预览,这意味着视频文件在渲染完成后将自动打开。该-ql
标志用于以较低质量更快地渲染。其他一些有用的标志包括:
-s
跳到最后并只显示最后一帧。-n <number>
向前跳至n
场景的第一个动画。-f
在文件浏览器中显示该文件。有关命令行参数的完整列表,请访问文档。
文档:ReadTheDocs上的文档正在进行中。
码头工人社区还维护着一个 docker 镜像 (
manimcommunity/manim
),可以在 DockerHub 上找到。有关如何安装和使用它的说明可以在我们的文档中找到。帮助马尼姆如果您需要安装或使用 Manim 方面的帮助,请随时联系我们的Discord Server或Reddit 社区。如果您想提交错误报告或功能请求,请提出问题。
贡献
始终欢迎对 Manim 做出贡献。特别是,迫切需要测试和文档。有关贡献指南,请参阅文档。
但请注意,Manim 目前正在进行重大重构。一般来说,在此期间不会接受实现新功能的贡献。贡献指南可能很快就会过时;我们强烈建议加入的 Discord 服务器来讨论任何潜在的贡献并及时了解最新进展。
项目中的大多数开发人员都用于
poetry
管理。您需要在您的环境中安装并使用诗歌。poetry
在其文档中了解更多信息,并在manim 文档中的manim 开发安装指南中了解如何使用诗歌安装 manim 。如何引用马尼姆
我们承认良好的软件对支持研究的重要性,并且我们注意到,当研究得到有效传达时,研究就会变得更有价值。为了展示 Manim 的价值,我们要求您在您的作品中引用 Manim。目前,引用 Manim 的最佳方法是转到我们的 存储库页面(如果您还没有),然后单击右侧边栏上的“引用此存储库”按钮。这将以您喜欢的格式生成引文,并且还将与引文管理器很好地集成。