zoukankan      html  css  js  c++  java
  • 用Python制作高逼格数学动画manim

    简介

    manim是斯坦福大学数学系小哥Grant Sanderson开源的数学仿真模拟python库,并用于YouTube 频道3Blue1Brown,来解说高等数学。

    manim是一个非常优秀的数学动画制作引擎,先来两个GIF感受一下 manim 的魅力:

    很多同学应该在 B 站看过3b1b的视频,最经典的就是线性代数的本质系列。

    版本说明

    manim 初学者可能会有些许困惑,网上的代码、文档、教程等差异太大,不知道该跟着那个学习。

    目前manim有三个版本:

    by:鹤翔万里 & widcardw

    3b1b 旧版:3blue1brown 自己维护的版本,使用 Cairo 作为后端。
    3b1b 新版:3blue1brown 自己维护的版本,使用 OpenGL 和 moderngl 来进行 GPU 渲染,优点是速度快。
    manim 社区版:manim 旧版的衍生,更新更活跃,有很好的文档和社区支持。

    我比较信任Grant Sanderson 大神,所以直接学习了新版。

    manimgl 环境搭建

    manimgl 这个版本的安装特别简单

    1、安装配置FFmpeg和LaTex
    https://ffmpeg.org/download.html
    FFmpeg,下载安装即可,把安装路径添加到环境变量即可

    https://mirror.ctan.org/systems/texlive/tlnet/install-tl-windows.exe
    LaTex更简单,一路下一步即可。

    2、创建虚拟环境

    conda create -n manim python=3.8
    conda activate manim
    

    3、安装manimgl包

    pip install manimgl
    

    也可以clone最新的源码进行安装

    git clone https://github.com/3b1b/manim.git
    cd manim
    pip install -e .
    

    这样还能测试一下是否安装成功了。

    manimgl example_scenes.py OpeningManimExample
    

    学习资源

    官方文档:
    https://3b1b.github.io/manim

    中文文档:
    https://docs.manim.org.cn/

    3b1b 视频源码:

    https://github.com/3b1b/videos

    manim 源码:
    https://github.com/3b1b/manim

    学习顺序,可以先看中/英文文档,然后就动手制作自己的动画吧。
    如有余力,可以抽空看看3b1b的视频源码,如果能为manim贡献代码就更好了。

    最近在youtube上看到了一个用 manim 制作了数据结构与算法的视频,挺强的。

    视频源码:https://github.com/nipunramk/Reducible

    祝大家学的愉快,也欢迎交流学习,这一块我也是小白呢。

  • 相关阅读:
    【题解】Candle
    【题解】购物
    【题解】论逼格
    浅谈前缀和
    浅谈 LCA
    浅谈Meet in the middle——MITM
    拓扑排序
    时间复杂度符号
    浅谈排序算法[动图]
    404 页面不存在
  • 原文地址:https://www.cnblogs.com/jpld/p/15676666.html
Copyright © 2011-2022 走看看