简介

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

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

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

版本说明

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

目前manim有三个版本:

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

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

用Python制作高逼格数学动画manim的更多相关文章

  1. Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图

    转载请标明出处: http://blog.csdn.net/forezp/article/details/70198541 本文出自方志朋的博客 今天一时兴起,想用python爬爬自己的博客,通过数据 ...

  2. 教你制作高逼格的技术分享Keynote(PPT)

    本文来自 网易云社区 . 作为一个程序猿/媛,想必大家都参与过大大小小各式各样的技术分享,异或在不同的场合分享自己的技术心得.抛开分享内容的质量不谈,笔者发现通常这些分享者的演示文稿(Keynot或P ...

  3. 如何以python风格高逼格的改成购物车逻辑

    之前有一篇博文写到关于购物车的业务逻辑,分别运用cookie和redis存储未登录和登录用户的购物车数据,虽然已经很好的完成了业务逻辑,但是会发现代码的冗余很严重,也不够具有python特色,今天就让 ...

  4. 高逼格UILabel的闪烁动画效果

    高逼格UILabel的闪烁动画效果 最终效果图如下: 源码: YXLabel.h 与  YXLabel.m // // YXLabel.h // // Created by YouXianMing o ...

  5. 使用python制作ArcGIS插件(2)代码编写

    使用python制作ArcGIS插件(2)代码编写 by 李远祥 上一章节已经介绍了如何去搭建AddIn的界面,接下来要实现具体的功能,则到了具体的编程环节.由于使用的是python语言进行编程,则开 ...

  6. 多服务器终端交互利器--polysh和atnodes到高逼格日志中心

    最近博客更新的少了,相对而言,我在自己的个人公众号里还是挺活跃的,大家可以扫描旁边的二维码,或者微信搜索公众号:“编程一生”加关注. 在分布式的年代,一个应用需要部署到多台服务器上.那么要查看日志文件 ...

  7. hexo——轻量、简易、高逼格的博客

    背景 写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站.虽然没几个人看,还是隔断时间就要折腾一下.从最开始的wordpress,到tale,到现在的hexo,网站变得越来越简 ...

  8. Python的高阶函数小结

    一. 高阶函数定义 简而言之,Python的高阶函数就是指一个函数作为参数传递给另外一个函数的用法. 举一个最简单的高阶函数来说明: >>> def add(x,y,f): retu ...

  9. python 验证码 高阶验证

    python 验证码 高阶验证 标签: 验证码python 2016-08-19 15:07 1267人阅读 评论(1) 收藏 举报  分类: 其他(33)    目录(?)[+]   字符型图片验证 ...

  10. ps如何制作gif(窗口->动画)(导出:存储为Web和设备所用格式)

    ps如何制作gif(窗口->动画)(导出:存储为Web和设备所用格式) 一.总结 1.点击窗口,选择动画 2.导出的时候:存储为Web和设备所用格式 二.ps如何制作gif 1.首先我们安装并打 ...

随机推荐

  1. RLHF · PBRL | SURF:使用半监督学习,对 labeled segment pair 进行数据增强

    论文名称:SURF: Semi-supervised reward learning with data augmentation for feedback-efficient preference- ...

  2. 飞码LowCode前端技术系列:如何便捷快速验证实现投产及飞码探索

    本篇文章从数据中心,事件中心如何协议工作.不依赖环境对vue2.x.vue3.x都可以支持.投产页面问题定位三个方面进行分析. 一.数据中心,事件中心设计 飞码是数据驱动+事件驱动的产品,考虑到飞码运 ...

  3. [MDP.NetCore] 使用AzureAD+服務主體,快速建立兩個服務之間的Service身分認證

    MDP.AspNetCore.Authentication.AzureAD.Services for Service Principal MDP.AspNetCore.Authentication.A ...

  4. 在模态窗口中控制窗口的隐藏和显示(.NET)

    如果你创建了模态窗口,虽然一些API,例如Editor.GetSelection(),可以自动隐藏模式对话框,但如果从模态窗口出发与编辑器(编辑器指的模型空间,即你绘图的窗口)交互, 它会在GetSe ...

  5. linux笔记一(基础命令)

      总结: 1.ls – List ls会列举出当前工作目录的内容(文件或文件夹),就跟你在GUI中打开一个文件夹去看里面的内容一样. 2.mkdir – Make Directory mkdir 用 ...

  6. 基于DotNetty实现自动发布 - 实现一键打包发布

    前言 上一篇,我只实现了一键检测代码变化,本篇才是真正的实现了一键打包发布 效果图 客户端打包待发布文件 /// <summary> /// 把多个文件添加到压缩包 (保留文件夹层级关系) ...

  7. 【.NET】控制台应用程序的各种交互玩法

    老周是一个不喜欢做界面的码农,所以很多时候能用控制台交互就用控制台交互,既方便又占资源少.有大伙伴可能会说,控制台全靠打字,不好交互.那不一定的,像一些选项类的交互,可以用键盘按键(如方向键),可比用 ...

  8. 神经网络优化篇:机器学习基础(Basic Recipe for Machine Learning)

    机器学习基础 下图就是在训练神经网络用到的基本方法:(尝试这些方法,可能有用,可能没用) 这是在训练神经网络时用到地基本方法,初始模型训练完成后,首先要知道算法的偏差高不高,如果偏差较高,试着评估训练 ...

  9. NC65获取Token以及相关信息

    private static void setToken() { IPriviledgedGenerator tokenGenerator = (IPriviledgedGenerator) Busi ...

  10. MinIO客户端之rm

    MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc rm 删除指定的对象. 准备待删除的对象,查看对象,命令如下: ./mc ls local1/bkt2/ 控 ...