Manim文档及源码笔记-CE教程BE01
An Invitaion to Mathematical Animations WITH EASE in Python
前言
这次筛选到了Behackl博士的教程,逐步拆解,更为细腻~
参考视频在此【或请自行搜索上面的英文标题】;
本页中文版传送门【建设中】;
更新【new】:
- 8月23日
-
- 文首标注了“前言”与“正文”;
-
- 本系列暂告段落,升级了系列目录,放到了文尾;
- 后续更新备忘:文中“【建设中】”的内容;欢迎朋友们催更~
首先,国际通则:Just GET STARTED~ JUST DO IT~
然后,让我们行动起来~
注:
1、代码实践过程根据运行环境及笔记需要略有改动;
2、经过实践理解,加入了一些自己的注释;
3、常见问题及大概率解决方案:
- Python相关:注意缩进、冒号,中英文字符、大小写;
- Manim相关:安装与运行环境;
- Coding相关:检查拼写;
正文
Part 1 Things to know before you start
History is complicated: different versions!
CAUTION:
There are several incompatible versions of Manim floatong around.
- Manim: the community maintained version
- 3b1b/manim- manimgl- manimlib: the original version,
devdloped+ maintained mainly by Grant “3b1b” Sanderson
How do I install Manim?
- Two ingredients: FFmpeg and Python( 3.7+ )
- Optional( but useful) : a LaTeX distribution like MiKTeX/TeXLive
- Caution: most installation videos are outdated!
Go to docs.manim.community and follow installation instructions for your OS!
Help and other resources?
- All community resources: www.manim.community
- Places to get help:
-
- Manim Discord server: manim.community/discord
-
- Reddit: reddit.com/r/manim
-
- GitHub discussions: github.com/ManimCommunity/manim
- Make sure to code + output when asking a question!
- Interactive worksheet: see description!
Part 2 Basic anatomy of Manimations
Learning by Doing!
注:
1、代码实践过程根据运行环境及笔记需要略有改动;
2、经过实践理解,加入了一些自己的注释;
3、常见问题及大概率解决方案:
- Python相关:注意缩进、冒号,中英文字符、大小写;
- Manim相关:安装与运行环境;
- Coding相关:检查拼写;
代码直击前-开头别忘了:
from manim import *
config.media_width="60%"
代码直击1 FirstExample
%%manim -v WARNING -qm FirstExample
class FirstExample(Scene):
def construct(self):
blue_circle=Circle(color=BLUE,fill_opacity=0.5)
green_square=Square(color=GREEN,fill_opacity=0.8)
green_square.next_to(blue_circle,RIGHT)
self.add(blue_circle,green_square)
注:ManimCE自动生成图片文件夹;
用VSCode右键这里,很方便打开相应文件夹;
Generating Output
…the “normal” way:
- Write code in file.py
- Then run manim -qm -p file.py FirstExample in terminal
…with Jupyter
- Import manim, put code for scene in a cell
- %%manim -qm FirstExample at beginning of cell, then run it
Scene, Mobjects, globla constants
- Scene: animation canvas
- Mobjects: Manim objects- Circle, Square, …
- Mobjects have properties- color, fill_opacity, …
- Some global constants: colors( BLUE, GREEN, …) and directions(UP, DOWN, RIGHT, …)
The reference manual at docs.manim.community lists all available classes and functions!
代码直击2 SecondExample
%%manim -v WARNING -qm SecondExample
class SecondExample(Scene):
def construct(self):
ax=Axes(x_range=(-3,3),y_range=(-3,3))
curve=ax.plot(lambda x: (x+2)*x*(x-2)/2,color=RED)
self.add(ax, curve)
代码直击3 SecondExample2
%%manim -v WARNING -qm SecondExample2
class SecondExample2(Scene):
def construct(self):