坐标系有几种 坐标系一共有几种
在绘制图形之前,我们常常会遇到一个隐形的坐标系统,这个系统与屏幕的像素紧密相关。举个例子,假设我们之前绘制的各种图形中,屏幕的中央就成了坐标原点([0, 0])。屏幕上横轴的坐标范围大致为 [-3.5, 3.5],纵轴则是 [-4, 4]。这个坐标范围与视频的分辨率设置直接相关,分辨率越高,坐标范围就会相应扩大。回顾一下,之前那些绘制的线条或多边形,都是依据这种坐标范围来完成的。
引入坐标系后,我们不再受限于屏幕的隐性坐标范围。通过调整坐标的刻度,我们可以在坐标系内绘制任意范围的图形,而无需担心超出屏幕的边界。Manim提供了从一维到三维的各种坐标系对象,下面将对这些基本的使用方法进行介绍。
首先是最基础的一维坐标系——数轴(NumberLine)。其关键参数包括:
x_range:设定数轴的范围和间隔
length:决定数轴显示的长度
接下来是平面坐标系,它分为两种:实数平面(NumberPlane)和复数平面(ComplexPlane)。实数平面的关键参数包括:
x_range:设置X轴的范围和间隔
y_range:设置Y轴的范围和间隔
x_length:设定X轴的显示长度
y_length:设定Y轴的显示长度
复数平面则在实数平面的基础上,增加了标记复数信息的功能。它的参数与实数平面类似。
极坐标系(PolarPlane)则通过角度和距离来定位点的位置,常用于导航系统,能简化计算。其关键参数有:
azimuth_step:分割的角度数量
size:极坐标在屏幕上的显示大小
radius_step:极坐标半径的间隔
radius_max:极坐标的最大半径
笛卡尔坐标系是最常用的坐标系,特别是在学习函数图像时。二维笛卡尔坐标系(Axes)在平面坐标系的基础上,提供了更多的配置选项。除了之前提到的四个关键参数,还包括:
x_axis_config:配置X轴显示的参数
y_axis_config:配置Y轴显示的参数
举个例子,配置中可以使Y轴的刻度与X轴不同。三维笛卡尔坐标系(ThreeDAxes)在二维坐标系的基础上,增加了Z轴的配置,其他参数设置与X轴和Y轴类似。在显示三维图形时,需要注意场景要继承ThreeDScene,并调整默认的相机视角,默认视角是从Z轴的顶部向下观察的。
通过调整视角,三维坐标系统的效果将更加明显。本篇文章介绍了从一维到三维的各种坐标系对象及其基本使用方法。包括:
NumberLine:数轴
NumberPlane:实数平面
ComplexPlane:复数平面
PolarPlane:极坐标系
Axes:二维笛卡尔坐标系
ThreeDAxes:三维笛卡尔坐标系
在制作数学函数动画或物理定律相关的动画时,利用这些坐标系可以更清晰地展示变换规律。