MK 组织 & manim 可视化引擎

Manim Kindergarten

3Blue1Brown 和 manim 可视化引擎

  3Blue1Brown 是一个由 Grant Sanderson 创建的 YouTube 数学科普频道。这个频道从独特的视觉角度解说数学,内容包括线性代数、微积分、神经网络、黎曼猜想、傅里叶变换、四元数甚至一些计算机算法问题。Grant Sanderson 创作数学科普视频的重要工具是他自己用 Python 程序设计语言构建的 manim 可视化引擎。

manim 可视化引擎的简介和基本原理

  manim 是 mathematical 和 animation 的简写,你可以将它念作曼尼姆。manim 正如它的名字,它的设计初衷是可视化数学,所以对于数学图形、函数图形以及 LaTeX\LaTeX 数学公式的渲染等,它都非常强大。除了一些着色器代码和 TeX\TeX 代码之外,manim 超过 90% 的代码是由 Python 编写的,它可以由 python 的 pip 包管理器直接安装,在解决 FFmpegMiKTeX 的软件依赖后就可以使用了。不止数学可视化,随着创作者的加入,manim 的计算机算法可视化、数据可视化、物理可视化等更多潜力被一步步挖掘。

  使用 manim 制作可视化视频的基本思路是将数学图形转化为通过调用 manim 内方法创建的 python 对象,将动画过程转化为对 python 对象的改变以及对 manim 相应接口的调用。使用 manim ,你可以通过面向对象、面向过程、面向函数等程序设计思维创建流畅的可视化效果,然后利用它直接生成视频或者图片。manim 也有使用 vue 和 JavaScript 完整移植的 web 在线版本 eulerv2 (eulertour.com)

  manim 经过作者 Grant 和 TonyCrane 等大佬的一步步迭代和不断完善,由 cario 版本 升级为了 shaders 版本。manim 的基本原理是创建矢量图(Vector image)并对其进行渲染和变换,例如利用 LaTeX\LaTeX 生成数学公式的 SVG 图像(Scalable Vector Graphics),将 SVG 解析为点、曲线路径和颜色等的 Mobject 对象,然后对矢量图的路径作关于时间作线性或者非线性变换。cario 版本的 manim 使用了 pycario 作为矢量图形渲染库,使用 FFmpeg 作为视频编码库,manim 可以渲染任意分辨率和帧率的视频。

manim 的 shaders 和 cario 版本

  shaders 版本的 manim 是一次巨大的飞跃,旧的 cario 版本使用 CPU 渲染,动画和图形精度极高,但是无法做到实时预览,性能较低。而 shaders 版本使用了 OpenGL 库,利用着色器和 OpenGL 图形 API,一些计算和渲染工作可以转移到 GPU 上进行,OpenGL 作为图形渲染方面强大的支撑,意味着 manim 可以更容易的结合图形学等方面的专业技术,制作出更加炫酷的视觉和动画效果。

  早期的 cario 版 manim 存在复杂的软件依赖关系,例如在国内可能难以为 python 安装 pycario 等依赖,导致 manim 的安装较为困难。一些 3b1b 的粉丝和 manim 爱好者自发的在 QQ 创建了群组讨论交流 manim ,不仅帮助了很多 manim 新手入门,还创造了很多非常棒的可视化作品,大家一起交流分享 manim 相关内容,成为了国内最大也是最早的 manim 爱好者组织。

Manim Kindergarten 组织

  终于,Manim Kindergarten 在 2019 年 11 月 28 日创立了,并于 2020 年 3 月 15 日正式以 manim-kindergarten 作为组织名在 GitHub 建立。Manim Kindergarten 是由国内利用 manim 制作科普类视频的哔哩哔哩 up 主及 manim 爱好者组建的团体。成员视频项目创作成果主要发布在 bilibili 上, 并在 GitHub 上更新、维护相关代码。组织目前包含约 500 位成员,68 位 B 站 up 主。视频内容主要为科普类型,分布在数学、计算机科学、物理、化学、社会科学等众多方面。

  Manim Kindergarten 与其说是个幼儿园,其实更像是个大家庭,这里有已工作的数学爱好者、有年轻高中教师、有刚入大学的学生、有正在备战高考的学生高中生、有刚刚高考完成的学霸、有海外留学的同胞、有初中生 OIer 、有奋斗有希望有梦想......

  我们期待与你相识,一同创作更多更好的可视化作品,欢迎热爱 manim 的你加入!

Manim Kindergarten

MK 组织 & manim 可视化引擎

https://hk-shao.github.io/p/8783.html

作者

烧风

发布于

2021-06-21

更新于

2021-07-12

许可协议

评论