Manim是一个用于创建精美数学动画的库。它由3Blue1Brown的Grant Sanderson开发,特别适合于制作数学视频和演示文稿。 这个库让复杂数学概念的可视化变得既简单又有趣,无论是线性代数、微积分,还是更高级的数学主题,Manim都能让它们栩栩如生。
首先,要使用Manim,你需要安装它。可以通过pip安装最新版本的Manim库:
pip install manim
Circle
类,你可以轻松创建并动画化一个圆。代码示例:
from manim import *
class CreateCircle(Scene):
def construct(self):
circle = Circle() # 创建一个圆
circle.set_fill(PINK, opacity=0.5) # 设置颜色和透明度
self.play(Create(circle)) # 在屏幕上展示圆
之后在当前文件的命令行下面执行
manim -pql scene.py CreateCircle
代码示例:
class SquareToCircle(Scene):
def construct(self):
circle = Circle() # 创建一个圆
circle.set_fill(PINK, opacity=0.5) # 设置颜色和透明度
square = Square() # 创建一个正方形
square.rotate(PI / 4) # 旋转一定的角度
self.play(Create(square)) # 动画展示正方形的创建
self.play(Transform(square, circle)) # 将正方形变换为圆形
self.play(FadeOut(square)) # 正方形淡出动画
同样需要在命令行窗口下执行
manim -pql scene.py SquareToCircle
3D 动画
代码示例:
class GetAxisLabelsExample(ThreeDScene):
def construct(self):
self.set_camera_orientation(phi=2*PI/5, theta=PI/5)
axes = ThreeDAxes()
labels = axes.get_axis_labels(
Tex("x-axis").scale(0.7), Text("y-axis").scale(0.45), Text("z-axis").scale(0.45)
)
self.add(axes, labels)