你是否曾经想过,让复杂的函数曲线在屏幕上以动画形式优雅地呈现?或者希望通过编程,自定义并控制数学图形的每一个细节,使其生动地表达抽象的概念?

本文将带你探索如何使用 Manim( https://www.manim.community/) 实现这一切。

一、Manim 简介

Manim(Mathematical Animation Engine)是一个功能强大的 Python 库,用于创建专业级的数学动画。

由知名数学视频博主 3Blue1Brown(Grant Sanderson)开发,Manim 能够以编程方式生成精美的动画效果,从函数曲线到几何图形,再到复杂的动画演示,皆可轻松实现。

二、Axes 类概述

绘制自定义函数曲线会到Axes类,它是 Manim 中用于创建二维坐标轴的对象。继承自 CoordinateSystem,并提供了丰富的方法来定制坐标轴的外观和功能。

Axes 类的主要功能包括:

  • 创建自定义范围和刻度的坐标轴
  • 绘制函数曲线和参数方程
  • 添加坐标网格和刻度线
  • 在坐标轴上添加标签和注释

三、创建坐标轴

要创建一个坐标轴,首先需要实例化 Axes 类。以下是基本的使用方法

axes = Axes()
  • 1.

效果:

使用 Manim 绘制自定义函数曲线_自定义

坐标范围和刻度设置

x_range:设置 x 轴的范围和刻度。

格式:x_range=[x_min, x_max, x_step] 例如:x_range=[-5, 5, 1] 表示 x 轴从 -5 到 5,刻度间隔为 1。

y_range:设置 y 轴的范围和刻度。

格式与 x_range 相同。

示例:
axes = Axes(
    x_range=[0, 6, 1],
    y_range=[-4, 4, 1],
)
  • 1.
  • 2.
  • 3.
  • 4.

使用 Manim 绘制自定义函数曲线_坐标轴_02

轴标签和刻度数字

axis_config:用于定制轴的样式,一个字典,设置轴的通用配置。常用的配置项:

  • include_numbers:是否在刻度上显示数字(默认为 False)。
  • numbers_to_include:指定要显示数字的列表。
  • numbers_with_elongated_ticks:指定要加长刻度线的数字列表。

示例:在刻度上显示数字