用Python制作高逼格数学动画manim
简介
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的更多相关文章
- Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图
转载请标明出处: http://blog.csdn.net/forezp/article/details/70198541 本文出自方志朋的博客 今天一时兴起,想用python爬爬自己的博客,通过数据 ...
- 教你制作高逼格的技术分享Keynote(PPT)
本文来自 网易云社区 . 作为一个程序猿/媛,想必大家都参与过大大小小各式各样的技术分享,异或在不同的场合分享自己的技术心得.抛开分享内容的质量不谈,笔者发现通常这些分享者的演示文稿(Keynot或P ...
- 如何以python风格高逼格的改成购物车逻辑
之前有一篇博文写到关于购物车的业务逻辑,分别运用cookie和redis存储未登录和登录用户的购物车数据,虽然已经很好的完成了业务逻辑,但是会发现代码的冗余很严重,也不够具有python特色,今天就让 ...
- 高逼格UILabel的闪烁动画效果
高逼格UILabel的闪烁动画效果 最终效果图如下: 源码: YXLabel.h 与 YXLabel.m // // YXLabel.h // // Created by YouXianMing o ...
- 使用python制作ArcGIS插件(2)代码编写
使用python制作ArcGIS插件(2)代码编写 by 李远祥 上一章节已经介绍了如何去搭建AddIn的界面,接下来要实现具体的功能,则到了具体的编程环节.由于使用的是python语言进行编程,则开 ...
- 多服务器终端交互利器--polysh和atnodes到高逼格日志中心
最近博客更新的少了,相对而言,我在自己的个人公众号里还是挺活跃的,大家可以扫描旁边的二维码,或者微信搜索公众号:“编程一生”加关注. 在分布式的年代,一个应用需要部署到多台服务器上.那么要查看日志文件 ...
- hexo——轻量、简易、高逼格的博客
背景 写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站.虽然没几个人看,还是隔断时间就要折腾一下.从最开始的wordpress,到tale,到现在的hexo,网站变得越来越简 ...
- Python的高阶函数小结
一. 高阶函数定义 简而言之,Python的高阶函数就是指一个函数作为参数传递给另外一个函数的用法. 举一个最简单的高阶函数来说明: >>> def add(x,y,f): retu ...
- python 验证码 高阶验证
python 验证码 高阶验证 标签: 验证码python 2016-08-19 15:07 1267人阅读 评论(1) 收藏 举报 分类: 其他(33) 目录(?)[+] 字符型图片验证 ...
- ps如何制作gif(窗口->动画)(导出:存储为Web和设备所用格式)
ps如何制作gif(窗口->动画)(导出:存储为Web和设备所用格式) 一.总结 1.点击窗口,选择动画 2.导出的时候:存储为Web和设备所用格式 二.ps如何制作gif 1.首先我们安装并打 ...
随机推荐
- RLHF · PBRL | SURF:使用半监督学习,对 labeled segment pair 进行数据增强
论文名称:SURF: Semi-supervised reward learning with data augmentation for feedback-efficient preference- ...
- 飞码LowCode前端技术系列:如何便捷快速验证实现投产及飞码探索
本篇文章从数据中心,事件中心如何协议工作.不依赖环境对vue2.x.vue3.x都可以支持.投产页面问题定位三个方面进行分析. 一.数据中心,事件中心设计 飞码是数据驱动+事件驱动的产品,考虑到飞码运 ...
- [MDP.NetCore] 使用AzureAD+服務主體,快速建立兩個服務之間的Service身分認證
MDP.AspNetCore.Authentication.AzureAD.Services for Service Principal MDP.AspNetCore.Authentication.A ...
- 在模态窗口中控制窗口的隐藏和显示(.NET)
如果你创建了模态窗口,虽然一些API,例如Editor.GetSelection(),可以自动隐藏模式对话框,但如果从模态窗口出发与编辑器(编辑器指的模型空间,即你绘图的窗口)交互, 它会在GetSe ...
- linux笔记一(基础命令)
总结: 1.ls – List ls会列举出当前工作目录的内容(文件或文件夹),就跟你在GUI中打开一个文件夹去看里面的内容一样. 2.mkdir – Make Directory mkdir 用 ...
- 基于DotNetty实现自动发布 - 实现一键打包发布
前言 上一篇,我只实现了一键检测代码变化,本篇才是真正的实现了一键打包发布 效果图 客户端打包待发布文件 /// <summary> /// 把多个文件添加到压缩包 (保留文件夹层级关系) ...
- 【.NET】控制台应用程序的各种交互玩法
老周是一个不喜欢做界面的码农,所以很多时候能用控制台交互就用控制台交互,既方便又占资源少.有大伙伴可能会说,控制台全靠打字,不好交互.那不一定的,像一些选项类的交互,可以用键盘按键(如方向键),可比用 ...
- 神经网络优化篇:机器学习基础(Basic Recipe for Machine Learning)
机器学习基础 下图就是在训练神经网络用到的基本方法:(尝试这些方法,可能有用,可能没用) 这是在训练神经网络时用到地基本方法,初始模型训练完成后,首先要知道算法的偏差高不高,如果偏差较高,试着评估训练 ...
- NC65获取Token以及相关信息
private static void setToken() { IPriviledgedGenerator tokenGenerator = (IPriviledgedGenerator) Busi ...
- MinIO客户端之rm
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc rm 删除指定的对象. 准备待删除的对象,查看对象,命令如下: ./mc ls local1/bkt2/ 控 ...