typing¶
Manim 中使用的自定义类型定义。
开发者注意事项
在源代码中,有多个字符串如下所示:
'''
[CATEGORY]
<category_name>
'''
所有在这些字符串下定义的类型别名都将自动归入该类别。
如果需要定义新类别,请遵循上述格式。
类型别名
基本数据类型¶
颜色类型¶
- class ManimColorDType¶
ManimFloatManimColorInternal中使用的数据类型:介于 0 和 1 之间的双精度浮点数。
- class RGB_Array_Float¶
NDArray[
ManimColorDType]形状: (3,)一个包含 3 个介于 0 和 1 之间浮点数的
numpy.ndarray,表示 RGB 格式的颜色。其分量依次描述了所表示颜色中红色、绿色和蓝色的强度。
- class RGB_Tuple_Float¶
tuple[float, float, float]
形状: (3,)一个包含 3 个介于 0 和 1 之间浮点数的元组,表示 RGB 格式的颜色。
其分量依次描述了所表示颜色中红色、绿色和蓝色的强度。
- class RGB_Tuple_Int¶
tuple[int, int, int]
形状: (3,)一个包含 3 个介于 0 和 255 之间整数的元组,表示 RGB 格式的颜色。
其分量依次描述了所表示颜色中红色、绿色和蓝色的强度。
- class RGBA_Array_Float¶
NDArray[
ManimColorDType]形状: (4,)一个包含 4 个介于 0 和 1 之间浮点数的
numpy.ndarray,表示 RGBA 格式的颜色。其分量依次描述了所表示颜色中红色、绿色、蓝色和 Alpha(不透明度)的强度。
- class RGBA_Tuple_Float¶
tuple[float, float, float, float]
形状: (4,)一个包含 4 个介于 0 和 1 之间浮点数的元组,表示 RGBA 格式的颜色。
其分量依次描述了所表示颜色中红色、绿色、蓝色和 Alpha(不透明度)的强度。
- class RGBA_Tuple_Int¶
tuple[int, int, int, int]
形状: (4,)一个包含 4 个介于 0 和 255 之间整数的元组,表示 RGBA 格式的颜色。
其分量依次描述了所表示颜色中红色、绿色、蓝色和 Alpha(不透明度)的强度。
- class HSV_Array_Float¶
RGB_Array_Float形状: (3,)一个包含 3 个介于 0 和 1 之间浮点数的
numpy.ndarray,表示 HSV(或 HSB)格式的颜色。其分量依次描述了所表示颜色中的色相 (Hue)、饱和度 (Saturation) 和明度 (Value)(或亮度 (Brightness))。
- class HSV_Tuple_Float¶
RGB_Tuple_Float形状: (3,)一个包含 3 个介于 0 和 1 之间浮点数的元组,表示 HSV(或 HSB)格式的颜色。
其分量依次描述了所表示颜色中的色相 (Hue)、饱和度 (Saturation) 和明度 (Value)(或亮度 (Brightness))。
- class HSVA_Array_Float¶
RGBA_Array_Float形状: (4,)一个包含 4 个介于 0 和 1 之间浮点数的
numpy.ndarray,表示 HSVA(或 HSBA)格式的颜色。其分量依次描述了所表示颜色中的色相 (Hue)、饱和度 (Saturation) 和明度 (Value)(或亮度 (Brightness))。
- class HSVA_Tuple_Float¶
RGBA_Tuple_Float形状: (4,)一个包含 4 个介于 0 和 1 之间浮点数的元组,表示 HSVA(或 HSBA)格式的颜色。
其分量依次描述了所表示颜色中的色相 (Hue)、饱和度 (Saturation) 和明度 (Value)(或亮度 (Brightness))。
- class HSL_Array_Float¶
RGB_Array_Float形状: (3,)一个包含 3 个介于 0 和 1 之间浮点数的
numpy.ndarray,表示 HSL 格式的颜色。其分量依次描述了所表示颜色中的色相 (Hue)、饱和度 (Saturation) 和亮度 (Lightness)。
- class HSL_Tuple_Float¶
RGB_Tuple_Float形状: (3,)一个包含 3 个介于 0 和 1 之间浮点数的
numpy.ndarray,表示 HSL 格式的颜色。其分量依次描述了所表示颜色中的色相 (Hue)、饱和度 (Saturation) 和亮度 (Lightness)。
- class ManimColorInternal¶
RGBA_Array_Float形状: (4,)ManimColor使用的内部颜色表示,遵循 RGBA 格式。它是一个
numpy.ndarray,由 4 个介于 0 和 1 之间的浮点数组成,分别描述了所表示颜色中红色、绿色、蓝色和 Alpha(不透明度)的强度。
点类型¶
- class PointDType¶
ManimFloat表示点的数组的默认类型:一个双精度浮点值。
- class Point2D¶
NDArray[
PointDType]形状: (2,)一个表示 2 维点的 NumPy 数组:
[float, float]。
- class Point2D_Array¶
NDArray[
PointDType]形状: (M, 2)一个表示
Point2D对象序列的 NumPy 数组:[[float, float], ...]。
- class Point2DLike_Array¶
Point2D_Array| Sequence[Point2DLike]形状: (M, 2)一个
Point2DLike对象的数组:[[float, float], ...]。这表示任何可以转换为
Point2D_ArrayNumPy 数组的对象。通常,需要
Point2D_Array作为参数的函数或方法可以处理传入Point3D_Array的情况。请参阅您正在使用的函数的文档以获取更多类型信息。
- class Point3D¶
NDArray[
PointDType]形状: (3,)一个表示 3 维点的 NumPy 数组:
[float, float, float]。
- class Point3D_Array¶
NDArray[
PointDType]形状: (M, 3)一个表示
Point3D对象序列的 NumPy 数组:[[float, float, float], ...]。
- class Point3DLike_Array¶
Point3D_Array| Sequence[Point3DLike]形状: (M, 3)一个
Point3D对象的数组:[[float, float, float], ...]。这表示任何可以转换为
Point3D_ArrayNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class PointND¶
NDArray[
PointDType]形状: (N,)一个表示 N 维点的 NumPy 数组:
[float, ...]。
- class PointND_Array¶
NDArray[
PointDType]形状: (M, N)一个表示
PointND对象序列的 NumPy 数组:[[float, ...], ...]。
- class PointNDLike_Array¶
PointND_Array| Sequence[PointNDLike]形状: (M, N)一个
PointND对象的数组:[[float, ...], ...]。这表示任何可以转换为
PointND_ArrayNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
向量类型¶
- class Vector2D¶
NDArray[
PointDType]形状: (2,)一个 2 维向量:
[float, float]。
- class Vector2D_Array¶
NDArray[
PointDType]形状: (M, 2)一个
Vector2D对象的数组:[[float, float], ...]。通常,需要
Vector2D_Array作为参数的函数或方法可以处理传入Vector3D_Array的情况。
- class Vector3D¶
NDArray[
PointDType]形状: (3,)一个 3 维向量:
[float, float, float]。
- class Vector3D_Array¶
NDArray[
PointDType]形状: (M, 3)一个
Vector3D对象的数组:[[float, float, float], ...]。
- class VectorND¶
NDArray[
PointDType]形状 (N,)一个 \(N\) 维向量:
[float, ...]。注意
请勿与
VectorVM对象混淆!此类型别名被命名为“VectorND”而不是“Vector”以避免潜在的名称冲突。
- class VectorND_Array¶
NDArray[
PointDType]形状 (M, N)一个
VectorND对象的数组:[[float, ...], ...]。
- class RowVector¶
NDArray[
PointDType]形状: (1, N)一个行向量:
[[float, ...]]。
- class ColVector¶
NDArray[
PointDType]形状: (N, 1)一个列向量:
[[float], [float], ...]。
矩阵类型¶
- class MatrixMN¶
NDArray[
PointDType]形状: (M, N)一个矩阵:
[[float, ...], [float, ...], ...]。
贝塞尔类型¶
- class QuadraticBezierPoints¶
Point3D_Array形状: (3, 3)一个由三个 3D 控制点组成的
Point3D_Array,用于单个二次贝塞尔曲线:[[float, float, float], [float, float, float], [float, float, float]]。
- class QuadraticBezierPointsLike¶
QuadraticBezierPoints| tuple[Point3DLike,Point3DLike,Point3DLike]形状: (3, 3)一个由三个 3D 控制点组成的
Point3DLike_Array,用于单个二次贝塞尔曲线:[[float, float, float], [float, float, float], [float, float, float]]。这表示任何可以转换为
QuadraticBezierPointsNumPy 数组的对象。
- class QuadraticBezierPoints_Array¶
NDArray[
PointDType]形状: (N, 3, 3)一个包含 \(N\) 个
QuadraticBezierPoints对象的 NumPy 数组:[[[float, float, float], [float, float, float], [float, float, float]], ...]。
- class QuadraticBezierPointsLike_Array¶
QuadraticBezierPoints_Array| Sequence[QuadraticBezierPointsLike]形状: (N, 3, 3)一个包含 \(N\) 个
QuadraticBezierPointsLike对象的序列:[[[float, float, float], [float, float, float], [float, float, float]], ...]。这表示任何可以转换为
QuadraticBezierPoints_ArrayNumPy 数组的对象。
- class QuadraticBezierPath¶
Point3D_Array形状: (3*N, 3)一个包含 \(3N\) 个点的
Point3D_Array,其中连续的 \(N\) 个 3 点块的每个块都表示一个二次贝塞尔曲线:[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class QuadraticBezierPathLike¶
Point3DLike_Array形状: (3*N, 3)一个包含 \(3N\) 个点的
Point3DLike_Array,其中连续的 \(N\) 个 3 点块的每个块都表示一个二次贝塞尔曲线:[[float, float, float], ...], ...]。这表示任何可以转换为
QuadraticBezierPathNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class QuadraticSpline¶
QuadraticBezierPath形状: (3*N, 3)是
QuadraticBezierPath的一个特例,其中所有 \(N\) 条二次贝塞尔曲线相互连接,形成一个二次样条:[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class QuadraticSplineLike¶
QuadraticBezierPathLike形状: (3*N, 3)QuadraticBezierPathLike的一个特例,其中所有 \(N\) 条二次贝塞尔曲线相互连接,形成一个二次样条:[[float, float, float], ...], ...]。这表示任何可以转换为 :class:
QuadraticSplineNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class CubicBezierPoints¶
Point3D_Arrayshape: (4, 3)一个
Point3D_Array,包含单个三次贝塞尔曲线的四个三维控制点:[[float, float, float], [float, float, float], [float, float, float], [float, float, float]]。
- class CubicBezierPointsLike¶
CubicBezierPoints| tuple[Point3DLike,Point3DLike,Point3DLike,Point3DLike]shape: (4, 3)一个
Point3DLike_Array,包含单个三次贝塞尔曲线的4个控制点:[[float, float, float], [float, float, float], [float, float, float], [float, float, float]]。这表示任何可以转换为 :class:
CubicBezierPointsNumPy 数组的对象。
- class CubicBezierPoints_Array¶
NDArray[
PointDType]shape: (N, 4, 3)一个 NumPy 数组,包含 \(N\) 个
CubicBezierPoints对象:[[[float, float, float], [float, float, float], [float, float, float], [float, float, float]], ...]。
- class CubicBezierPointsLike_Array¶
CubicBezierPoints_Array| Sequence[CubicBezierPointsLike]shape: (N, 4, 3)一个包含 \(N\) 个
CubicBezierPointsLike对象的序列:[[[float, float, float], [float, float, float], [float, float, float], [float, float, float]], ...]。这表示任何可以转换为 :class:
CubicBezierPoints_ArrayNumPy 数组的对象。
- class CubicBezierPath¶
Point3D_Arrayshape: (4*N, 3)一个
Point3D_Array,包含 \(4N\) 个点,其中 \(N\) 个连续的4点块中的每一个都表示一条三次贝塞尔曲线:[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class CubicBezierPathLike¶
Point3DLike_Arrayshape: (4*N, 3)一个
Point3DLike_Array,包含 \(4N\) 个点,其中 \(N\) 个连续的4点块中的每一个都表示一条三次贝塞尔曲线:[[float, float, float], ...], ...]。这表示任何可以转换为 :class:
CubicBezierPathNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class CubicSpline¶
CubicBezierPathshape: (4*N, 3)CubicBezierPath的一个特例,其中所有 \(N\) 条三次贝塞尔曲线相互连接,形成一个三次样条:[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class CubicSplineLike¶
CubicBezierPathLikeshape: (4*N, 3)CubicBezierPath的一个特例,其中所有 \(N\) 条三次贝塞尔曲线相互连接,形成一个三次样条:[[float, float, float], ...], ...]。这表示任何可以转换为 :class:
CubicSplineNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class BezierPoints¶
Point3D_Arrayshape: (PPC, 3)一个
Point3D_Array,包含单个 \(n\) 阶贝塞尔曲线的 \(\text{PPC}\) 个控制点(\(\text{PPC: Points Per Curve} = n + 1\)):[[float, float, float], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class BezierPointsLike¶
Point3DLike_Arrayshape: (PPC, 3)一个
Point3DLike_Array,包含单个 \(n\) 阶贝塞尔曲线的 \(\text{PPC}\) 个控制点(\(\text{PPC: Points Per Curve} = n + 1\)):[[float, float, float], ...]。这表示任何可以转换为 :class:
BezierPointsNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class BezierPoints_Array¶
NDArray[
PointDType]shape: (N, PPC, 3)一个 NumPy 数组,包含 \(N\) 个
BezierPoints对象,每个对象包含 \(\text{PPC}\) 个Point3D对象(\(\text{PPC: Points Per Curve} = n + 1\)):[[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class BezierPointsLike_Array¶
BezierPoints_Array| Sequence[BezierPointsLike]shape: (N, PPC, 3)一个包含 \(N\) 个
BezierPointsLike对象的序列,每个对象包含 \(\text{PPC}\) 个Point3DLike对象(\(\text{PPC: Points Per Curve} = n + 1\)):[[[float, float, float], ...], ...]。这表示任何可以转换为 :class:
BezierPoints_ArrayNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class BezierPath¶
Point3D_Arrayshape: (PPC*N, 3)一个
Point3D_Array,包含 \(\text{PPC} \cdot N\) 个点,其中 \(N\) 个连续的 \(\text{PPC}\) 控制点块中的每一个都表示一条 \(n\) 阶贝塞尔曲线(\(\text{PPC: Points Per Curve} = n + 1\)):[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class BezierPathLike¶
Point3DLike_Arrayshape: (PPC*N, 3)一个
Point3DLike_Array,包含 \(\text{PPC} \cdot N\) 个点,其中 \(N\) 个连续的 \(\text{PPC}\) 控制点块中的每一个都表示一条 \(n\) 阶贝塞尔曲线(\(\text{PPC: Points Per Curve} = n + 1\)):[[float, float, float], ...], ...]。这表示任何可以转换为 :class:
BezierPathNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class Spline¶
BezierPathshape: (PPC*N, 3)BezierPath的一个特例,其中所有 \(N\) 条由 \(\text{PPC}\) 个Point3D对象组成的贝塞尔曲线(\(\text{PPC: Points Per Curve} = n + 1\))相互连接,形成一个 \(n\) 阶样条:[[float, float, float], ...], ...]。请参阅您正在使用的函数的文档以获取更多类型信息。
- class SplineLike¶
BezierPathLikeshape: (PPC*N, 3)BezierPathLike的一个特例,其中所有 \(N\) 条由 \(\text{PPC}\) 个Point3D对象组成的贝塞尔曲线(\(\text{PPC: Points Per Curve} = n + 1\))相互连接,形成一个 \(n\) 阶样条:[[float, float, float], ...], ...]。这表示任何可以转换为 :class:
SplineNumPy 数组的对象。请参阅您正在使用的函数的文档以获取更多类型信息。
- class FlatBezierPoints¶
NDArray[
PointDType] | tuple[float, ...]shape: (3*PPC*N,)一个扁平化的贝塞尔控制点数组:
[float, ...]。
函数类型¶
- class PathFuncType¶
Callable[[
Point3DLike,Point3DLike, float],Point3DLike]
- class MultiMappingFunction¶
Callable[[
Point3D_Array],Point3D_Array]一个将 :class:
Point3D_Array映射到另一个 :class:Point3D_Array的函数。
图像类型¶
- class PixelArray¶
NDArray[
ManimInt]shape: (height, width) | (height, width, 3) | (height, width, 4)一个栅格化图像,高度为
height像素,宽度为width像素。数组中的每个值都是一个介于 0 到 255 之间的整数。
每个像素要么由一个表示其亮度(用于灰度图像)的单个整数表示,要么由一个
RGB_Array_Int或一个RGBA_Array_Int表示。
- class GrayscalePixelArray¶
PixelArrayshape: (height, width)一个 100% 不透明的灰度
PixelArray,其中每个像素值都是一个ManimInt,表示其亮度(黑 -> 灰 -> 白)。
- class RGBPixelArray¶
PixelArrayshape: (height, width, 3)一个 100% 不透明的彩色
PixelArray,其中每个像素值都是一个RGB_Array_Int对象。
- class RGBAPixelArray¶
PixelArrayshape: (height, width, 4)一个彩色的
PixelArray,其中像素可以是透明的。每个像素值都是一个RGBA_Array_Int对象。