Manim 一个神奇的python库

Manim 是一个用于创建数学动画的 Python 库。它由 Grant Sanderson(也被称为 3Blue1Brown)创建,并在他的 YouTube 频道中用于演示数学概念。Manim 的目标是让数学变得更具有可视化和互动性,并使用户能够更好地理解数学。

Manim 具有强大的功能,可以创建各种类型的动画,包括几何动画、图表动画、线性代数动画等。它提供了丰富的数学绘图功能,可以绘制二维和三维图形,并支持自定义样式和动画效果。Manim 还提供了一套强大的动画命令,可以控制对象的移动、旋转、缩放等各种变换,以及时间轴的控制和动画的插值。

Manim 的库设计非常灵活,用户可以根据自己的需求进行定制和扩展。它支持使用 LaTeX 格式的数学符号和公式,并具有丰富的图像导出选项,可以生成高质量的视频或图像文件。

Manim 的学习曲线相对较陡,需要一些编程和数学基础。但是,一旦掌握了基本概念和技巧,就可以创建出令人惊叹的数学动画,并将复杂的数学概念更好地传达给观众。

安装
首先,要使用Manim,你需要安装它。可以通过pip安装最新版本的Manim库:

pip install manim

基础使用

  1. 创建简单动画
    描述:开始我们的Manim之旅,可以先从绘制一个简单的圆开始。使用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

得到以下效果:
在这里插入图片描述

  1. 动画变换
    标题:变换形状
    描述:接下来,让我们尝试将一个形状变换成另一个形状。Manim提供了多种变换动画,让这个过程变得简单又富有趣味。
    代码示例:
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

效果如下:
在这里插入图片描述

  1. 3D 动画

Manim也支持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)

如图:
在这里插入图片描述

总的来说,Manim 是一个强大而灵活的数学动画库,可以帮助用户创造出精美、交互性强的数学动画,提高数学学习和教学的效果。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇龙神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值