解释性数学视频的动画引擎。
项目描述
Manim是一个用于解释性数学视频的动画引擎。它用于以编程方式创建精确的动画,如3Blue1Brown的视频中所示。
注意:此存储库由 Manim 社区维护,与 Grant Sanderson 或 3Blue1Brown 没有任何关联(尽管我们确实对他的作品惠赠世界表示感谢)。如果您想学习 Grant 如何制作他的视频,请访问他的存储库(3b1b/manim)。此分支比他的更新更频繁,如果您想在自己的项目中使用 Manim,建议使用此分支。
目录
安装
警告:以下说明仅适用于社区版本。尝试使用这些说明安装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
社区还维护了一个 Docker 镜像(manimcommunity/manim
),您可以在DockerHub上找到它。有关安装和使用它的说明,请参阅我们的文档。
Manim 帮助
如果您需要安装或使用 Manim 的帮助,请随时联系我们的Discord 服务器或Reddit 社区。如果您想提交错误报告或功能请求,请打开一个问题。
贡献
对 Manim 的贡献总是受欢迎的。特别是,测试和文档的需求迫切。有关贡献指南,请参阅文档。
然而,请注意,Manim 目前正在进行重大重构。一般来说,在此期间不接受实现新功能的贡献。贡献指南可能会很快过时;我们强烈建议您加入我们的 Discord 服务器,以讨论任何潜在的贡献,并跟上最新的发展。
项目上的大多数开发者使用 poetry
进行管理。您需要确保您的环境中已安装并可用 poetry。更多关于 poetry
的信息,请参阅其 文档,并了解如何使用 poetry 安装 manim,请参阅 manim 文档中的 manim 开发安装指南。
如何引用 Manim
我们认识到优质软件对于支持研究的重要性,并指出,当研究得到有效沟通时,其价值会更大。为了展示 Manim 的价值,我们要求您在您的作品中引用 Manim。目前,引用 Manim 的最佳方法是访问我们的 存储库页面(如果您尚未这样做),并点击右侧侧边栏上的“引用此存储库”按钮。这将生成您首选格式的引用,并且与引用管理器的集成良好。
行为准则
我们的完整行为准则以及我们如何执行它,可以在 我们的网站 上阅读。
许可证
该软件采用 MIT 许可证双许可,版权由 3blue1brown LLC 拥有(见 LICENSE),以及 Manim 社区开发者拥有(见 LICENSE.community)。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
构建分发
manim-0.18.1.tar.gz 的散列
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4bf2b479d258b410259c6828261fe79e107beb8f2dd04ebfa73b96bcefdde93d |
|
MD5 | 7f979c2d0e3b5488badff2b513878119 |
|
BLAKE2b-256 | 835f717ba528eb191124211036ec710bafd605dc7f7bb948a41219a8dd1124b6 |
manim-0.18.1-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4619daf51e952e02d55a215fbe3ab456ee25ac6d40efd87115b65db1f51a12c7 |
|
MD5 | 8e15c63ca282887d606fcbdc98d18592 |
|
BLAKE2b-256 | ceb45da28702a9e68d56dbd8213b2249434be6d6ba125d13487e70a2ef6ab27c |