首页 > 其他分享 >【manim动画教程】-- 安装

【manim动画教程】-- 安装

时间:2023-03-28 12:46:11浏览次数:41  
标签:play -- banner self python 动画教程 安装 manim

manim是基于python语言开发的开源框架,是由 3blue1brown 开发的。
本来是他们自己用来制作数学视频用的,因为其友好的API和漂亮的UI效果,在开源之后,立刻流行起来。

原先开源的地址是:

后来托管给了社区,现在安装最新的版本请从这里下载:

改版之后,命令行更加清晰,简单。
command.png

支持的系统平台

manim对系统没有要求,可以在:

  1. Windows 系统上安装:
  2. macOS上安装:
  3. Linux上安装:

也可以docker方式安装:
不过,如果是用来开发的话,还是建议在本地的 python环境中安装。

python 安装

manim是基于 python的,所以第一步是安装和配置 python 环境。
关于python环境的安装,这个系列中已经介绍过:

配置好python环境之后,通过 pip安装 manim package即可。

pip install manim

重要依赖

除了安装 manim之外,还有两个重要的依赖也需要安装,
安装这两个依赖之后,才能顺畅的开发各类数学动画。

1. ffmpeg

通过 ffmpeg可以将动画导出成常用的视频格式(比如 mp4),便于传播,其他人不用配置manim的环境,用各类视频播放器或者直接用浏览器就能直接观看了。

是跨平台的,根据自己的系统,下载对应的安装包安装即可。
我是在windows上安装的,安装之后打开命令行验证是否安装成功:

ffmpeg.exe -h

image.png
如果输入命令之后你也有类似上面这样的输出,那么说明 ffmpeg安装成功了。

2. Latex

其次是 latex,这个依赖不是必须的,如果你的动画中有数学公式要显示的话,才需要安装这个包。
latex有很多发行版,我安装的是:

这个也是跨平台,选择对应系统的版本即可。
安装之后,在菜单中打开MiKTeX Console
image.png

选择切换到管理员模式
image.png

后续使用 manim进行开发的时候,如果有提示缺失某些宏包的时候,可以从下面图示的位置来安装。
image.png

一般情况下,都会自动安装,很少需要手动安装。
有可能会弹出类似下面的提示窗口,选择安装即可。
latex安装缺失的包.png

验证安装

以上都配置好之后,可以用下面的代码来验证是否安装成功。

# -*- coding: utf-8 -*-
from manim import *


class TransformExample(Scene):
    def construct(self):

        banner = ManimBanner()
        banner.shift(UP * 0.5)
        self.play(banner.create(), run_time=1)
        self.play(banner.animate.scale(0.3), run_time=0.5)
        self.play(banner.expand(), run_time=1)

        t = Text("测试中文能否显示").next_to(banner, DOWN * 2)
        tex = VGroup(
            Text("测试数学公式:", font_size=30),
            Tex(r"$\sum_{n=1}^\infty \frac{1}{n^2} = \frac{\pi^2}{6}$"),
        )
        tex.arrange(RIGHT, buff=SMALL_BUFF)
        tex.next_to(t, DOWN)
        self.play(Write(t), run_time=1)
        self.play(Write(tex), run_time=1)

        self.wait()

运行代码的命令:

# 上面的代码文件名称:sample.py
manim -p .\sample.py

环境安装成功的话,运行效果如下:
out.gif

本文关联的微信视频号短视频:
manim-安装-视频号.png

标签:play,--,banner,self,python,动画教程,安装,manim
From: https://www.cnblogs.com/wang_yb/p/17264724.html

相关文章

  • lshell escape
    lshell(LimitedShell)escape lshell是表示当前用户的shell是受限的,只能执行几个指定的指令可参考Lshell-aldeid 先确定自己是否被受限user:~$helpcdclear......
  • 非看不可的Redis持久化
    目录写在前面摘要Redis持久化介绍RDB原理Fork函数与写时复制关于写时复制的思考RDB相关配置AOF原理AOF持久化配置AOF文件解读AOF文件修复AOF重写AOF缓冲区与AOF重写缓存区A......
  • AtCoder Beginner Contest 148
    AtCoderBeginnerContest148https://atcoder.jp/contests/abc148这场比较简单D-BrickBreak二分orLIS#include<bits/stdc++.h>#definelllonglongusingn......
  • 背单词
    ᅟᅠ       ‌‍‎‏ᅟᅠ       ‌‍‎‏ᅟᅠ       ‌‍‎‏ᅟᅠ       ‌‍‎‏ᅟᅠ       ‌‍‎‏ᅟᅠ       ......
  • 导入aliyun-sdk-vod-upload(1.4.11)依赖
    导入aliyun-sdk-vod-upload(1.4.11)依赖在网上看到了很多的方法,尝试之后一直都是失败的情况,都是照猫画虎,将错误的帖子复制到自己的博客中.导致我们错误的方向去修改错......
  • 超全、超简单Vue微信公众号授权登录指南
    <template> <divid="app"> <h1>微信授权登陆</h1> <div> <div> <span>手机号</span>&nbsp;&nbsp; <inputtype="number":value="account"placeholder="......
  • 10种经典的时间序列预测模型 本文演示了 10 种不同的经典时间序列预测方法
    [matlab]10种经典的时间序列预测模型本文演示了10种不同的经典时间序列预测方法,它们是1)自回归(AR)2)移动平均线3)自回归移动平均线4)自回归积分移动平均线(A......
  • 范畴论:迷人的数学花园
    一、引言范畴论是一个充满挑战和乐趣的数学领域,就像一座迷人的数学花园。它将不同数学领域的共性抽象出来,帮助我们更好地理解数学本质。现在,就让我们一起走进这个神奇的花......
  • 文件操作
    一听到文件操作大家肯定会第一时间想到withopen哈哈哈哈,对的,因为太常用了。那么接下来咱总结一下吧!withopen('python基础.txt','r',encoding='utf-8')asf:pass......
  • Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡
    Qt编写的CAN通信调试工具源代码支持吉阳光电CAN盒和致远周立功USB转CAN卡,带多线程接收可完成标准和扩展CAN帧YID发送和接收,带配置参数自动保存,定时发送,帧类型选择,文本和十......