用于解释数学视频的动画引擎
manimlib的Python项目详细描述
安装
manim运行在python 3.7上。您可以通过pip从pypi安装它 啊!系统要求是cairo,ffmpeg,sox,latex(可选,如果您想使用乳胶)。
现在可以通过manim
命令使用它。例如:
有关更多选项,请进一步查看下面的"使用manim"部分。
直接
如果您想破解manimlib本身,请克隆此存储库并在该目录中执行:
啊!直接(Windows)
-
安装cairo。从http://www.lfd.uci.edu/%7egohlke/pythonlibs/'35;pycairo" rel="nofollow">https://www.lfd.uci.edu/~gohlke/pythonlibs/'35;pycairo下载控制盘。对于大多数用户来说,
pycairo-1.18.0-cp37cp37m-win32.whl
会很好。 啊! 安装和乳胶分配。建议使用miktex。
安装其余的python包。确保requirements.txt中的
啊!pycairo==1.17.1
更改为pycairo==1.18.0
。
水蟒安装
- 如上所述安装SOX和乳胶。
- 使用conda env create-f environment.yml创建conda环境
- 仅限Windows通过
pip install pyreadline安装
pyreadline
。
使用virtualenv和virtualenvwrapper
在安装了virtualenv和virtualenvwrapper之后 啊!
使用Docker
因为要正确设置所有依赖关系有点困难,所以是本回购协议中提供的docker file和compose文件,以及docker hub上的预先制作图像。dockerfile包含有关如何构建manim图像的说明,而compose文件包含有关如何运行图像的说明。预构建的容器映像包含manin存储库。
input_path
是容器查找场景文件的位置。必须设置输入路径
环境变量设置为包含场景文件和
输出路径
环境变量到要写入媒体的目录。
INPUT_PATH=/path/to/dir/containing/source/code \OUTPUT_PATH=/path/to/output/ \ docker-compose run manim example_scenes.py SquareToCircle -l
如果您的用户名不在Docker组中,则该命令需要以根用户身份运行。
您可以将example.scenes.py替换为输入路径
中的任何相对路径
运行输出后,将显示文件已在 第一次执行上述命令时,Docker会从Docker Hub中提取图像并缓存。在收回映像之前的任何后续运行都将使用缓存的映像。
请注意,图像没有安装任何开发工具,无法预览动画。它的目的只是建造和测试。 尝试运行以下命令: 上面命令中的 其他一些有用的标志包括: 设置 查看 在开发场景时, 文档正在manim.readthedocs.io上进行
Todd Zimmerman编写了一个关于Manim入门的教程,该教程已更新为在Python3.7上运行。 要实时播放动画,只需使用 也可以直接流到抽搐。做那件事很简单
--livestream和--to-twitch to manim并用指定流密钥
--带钥匙。然后,当您按照上面的示例操作时,流将直接
从抽搐频道开始(无音频支持)。 总是受欢迎的。尤其是,迫切需要测试和文档。 活动项目和旧项目目录中的所有文件(大体上为3b1b视频生成视觉效果)都是3blue1brown版权所有。 另一方面,在存储库的其余部分中找到的通用动画代码在麻省理工学院的许可证下。/tmp/output/
准备就绪,它指容器中的路径。您的输出路径绑定挂载到此/tmp/output
上,因此容器对/tmp/output
所做的任何更改都将镜像到您的输出路径上。/media/
将在输出路径中创建
-p
不起作用,因为manim会在容器系统中查找视频播放器,而容器系统不具备该功能。使用manim
python3 -m manim example_scenes.py SquareToCircle -pl
-p
标志用于预览,这意味着视频文件在完成渲染后将自动打开。-l
标志用于以较低质量更快地渲染。-s
跳到最后,只显示最后一帧。-n<;number>;
跳到场景的第n个动画。-f
在Finder中显示文件(用于OSX)。media\u dir
环境变量以指定图像和动画文件的写入位置。old_projects
文件夹以查看之前3b1b视频的代码。但是,请注意,通常在不考虑与那些旧项目的向后兼容性的情况下对库进行开发。要运行一个旧项目并保证它能正常工作,您必须返回完成该项目的提交。-sp
标志有助于在不必生成完整动画的情况下查看结尾的内容。使用-n
标志跳过一些动画也很有帮助。文档
演练
直播
--live stream
选项运行manim即可。> python -m manim --livestream
Writing to media/videos/scene/scene/1080p30/LiveStreamTemp.mp4
Manim is now running in streaming mode. Stream animations by passing
them to manim.play(), e.g.
>>> c= Circle()
>>> manim.play(ShowCreation(c))
>>>
贡献
许可证
推荐PyPI第三方库