typing¶
在Manim中使用的自定义类型定义。
开发者注意事项
在源代码周围有多个字符串,看起来像这样:
'''
[CATEGORY]
<category_name>
'''
在这些字符串下定义的所有类型别名将自动归类到该类别下。
如果您需要定义一个新类别,请遵循上述描述的格式。
类型别名
原始数据类型¶
颜色类型¶
- class ManimColorDType¶
ManimFloat在
ManimColorInternal中使用的数据类型:一个介于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格式的颜色。其组件按顺序描述了所表示颜色中的红色、绿色、蓝色和透明度(不透明度)的强度。
- class RGBA_Tuple_Float¶
tuple[float, float, float, float]
形状: (4,)一个包含4个介于0和1之间的浮点数的元组,表示RGBA格式的颜色。
其组件按顺序描述了所表示颜色中的红色、绿色、蓝色和透明度(不透明度)的强度。
- 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)格式的颜色。其组件按顺序描述了所表示颜色的色调、饱和度和值(或亮度)。
- class HSV_Tuple_Float¶
RGB_Tuple_Float形状: (3,)一个由3个介于0和1之间的浮点数组成的元组,表示HSV(或HSB)格式的颜色。
其组件按顺序描述了所表示颜色的色调、饱和度和值(或亮度)。
- class ManimColorInternal¶
RGBA_Array_Float形状: (4,)由
ManimColor使用的内部颜色表示,遵循RGBA格式。它是一个由4个介于0和1之间的浮点数组成的
numpy.ndarray,分别描述了所表示颜色中的红色、绿色、蓝色和透明度(Alpha)的强度。
点类型¶
- class PointDType¶
ManimFloat表示点的数组的默认类型:双精度浮点值。
- class InternalPoint2D¶
NDArray[
PointDType]形状: (2,)一个二维点:
[float, float]。注意
这种类型别名主要用于内部使用,并且仅包括NumPy类型。
- class Point2D¶
InternalPoint2D| tuple[float, float]形状: (2,)一个二维点:
[float, float]。
- class InternalPoint2D_Array¶
NDArray[
PointDType]形状: (N, 2)一个由
InternalPoint2D对象组成的数组:[[float, float], ...]。注意
这种类型别名主要是为了内部使用而提供的,并且只包括NumPy类型。
- class Point2D_Array¶
InternalPoint2D_Array| tuple[Point2D, ...]形状: (N, 2)一个由
Point2D对象组成的数组:[[float, float], ...]。通常,一个期望
Point2D_Array作为参数的函数或方法可以处理传递的Point3D_Array。请参考您所使用的函数的文档以获取更多类型信息。
- class InternalPoint3D¶
NDArray[
PointDType]形状: (3,)一个三维点:
[float, float, float]。注意
这种类型别名主要用于内部使用,并且仅包括NumPy类型。
- class Point3D¶
InternalPoint3D| tuple[float, float, float]形状: (3,)一个三维点:
[float, float, float]。
- class InternalPoint3D_Array¶
NDArray[
PointDType]形状: (N, 3)一个由
Point3D对象组成的数组:[[float, float, float], ...]。注意
这种类型别名主要用于内部使用,并且仅包括NumPy类型。
- class Point3D_Array¶
InternalPoint3D_Array| tuple[Point3D, ...]形状: (N, 3)一个由
Point3D对象组成的数组:[[float, float, float], ...]。请参考您所使用的函数的文档以获取更多类型信息。
向量类型¶
- class Vector2D¶
NDArray[
PointDType]形状: (2,)一个二维向量:
[float, float]。
- class Vector2D_Array¶
NDArray[
PointDType]形状: (M, 2)一个由
Vector2D对象组成的数组:[[float, float], ...]。通常,一个期望
Vector2D_Array作为参数的函数或方法可以处理传递Vector3D_Array的情况。
- class Vector3D¶
NDArray[
PointDType]形状: (3,)一个三维向量:
[float, float, float]。
- class Vector3D_Array¶
NDArray[
PointDType]形状: (M, 3)一个由
Vector3D对象组成的数组:[[float, float, float], ...]。
- class VectorND¶
NDArray[
PointDType]形状 (N,)一个\(N\)维向量:
[float, ...]。注意
不要与
VectorVMobject混淆!这种类型别名被命名为“VectorND”而不是“Vector”,以避免潜在的名字冲突。
- class VectorND_Array¶
NDArray[
PointDType]shape (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¶
NDArray[
PointDType] | tuple[Point3D,Point3D,Point3D]形状: (3, 3)一个
Point3D_Array,包含单个二次贝塞尔曲线的3个控制点:[[float, float, float], [float, float, float], [float, float, float]]。
- class QuadraticBezierPoints_Array¶
NDArray[
PointDType] | tuple[QuadraticBezierPoints, ...]形状: (N, 3, 3)一个包含\(N\)个
QuadraticBezierPoints对象的数组:[[[float, float, float], [float, float, float], [float, float, float]], ...]。
- class QuadraticBezierPath¶
Point3D_Array形状: (3*N, 3)一个
Point3D_Array包含\(3N\)个点,其中每\(N\)个连续的3点块代表一个二次贝塞尔曲线:[[float, float, float], ...], ...]。请参考您所使用的函数的文档以获取更多类型信息。
- class QuadraticSpline¶
QuadraticBezierPath形状: (3*N, 3)QuadraticBezierPath的一个特殊情况,其中所有的 \(N\) 二次贝塞尔曲线都是连接的,形成一个二次样条:[[float, float, float], ...], ...]。请参考您所使用的函数的文档以获取更多类型信息。
- class CubicBezierPoints¶
NDArray[
PointDType] | tuple[Point3D,Point3D,Point3D,Point3D]形状: (4, 3)一个
Point3D_Array,包含单个三次贝塞尔曲线的4个控制点:[[float, float, float], [float, float, float], [float, float, float], [float, float, float]]。
- class CubicBezierPoints_Array¶
NDArray[
PointDType] | tuple[CubicBezierPoints, ...]形状: (N, 4, 3)一个包含\(N\)个
CubicBezierPoints对象的数组:[[[float, float, float], [float, float, float], [float, float, float], [float, float, float]], ...]。
- class CubicBezierPath¶
Point3D_Array形状: (4*N, 3)一个
Point3D_Array包含\(4N\)个点,其中每\(N\)个连续的4点块代表一个三次贝塞尔曲线:[[float, float, float], ...], ...]。请参考您所使用的函数的文档以获取更多类型信息。
- class CubicSpline¶
CubicBezierPath形状: (4*N, 3)CubicBezierPath的一个特殊情况,其中所有的\(N\)三次贝塞尔曲线都是连接的,形成一个二次样条:[[float, float, float], ...], ...]。请参考您所使用的函数的文档以获取更多类型信息。
- class BezierPoints¶
Point3D_Array形状: (PPC, 3)一个
Point3D_Array的\(\text{PPC}\)控制点 (\(\text{PPC: 每条曲线的点数} = n + 1\)) 对于单个 \(n\)次贝塞尔曲线:[[float, float, float], ...].请参考您所使用的函数的文档以获取更多类型信息。
- class BezierPoints_Array¶
NDArray[
PointDType] | tuple[BezierPoints, ...]形状: (N, PPC, 3)一个包含\(N\)个
BezierPoints对象的数组,每个对象包含\(\text{PPC}\)个Point3D对象 (\(\text{PPC: 每条曲线的点数} = n + 1\)):[[[float, float, float], ...], ...].请参考您所使用的函数的文档以获取更多类型信息。
- class BezierPath¶
Point3D_Array形状: (PPC*N, 3)一个
Point3D_Array的\(\text{PPC} \cdot N\)点,其中每个 \(N\)连续的\(\text{PPC}\)控制点块 (\(\text{PPC: Points Per Curve} = n + 1\))代表一个 \(n\)次的Bézier曲线:[[float, float, float], ...], ...]。请参考您所使用的函数的文档以获取更多类型信息。
- class Spline¶
BezierPath形状: (PPC*N, 3)BezierPath的一个特殊情况,其中所有由\(\text{PPC}\)个Point3D对象组成的\(N\)条贝塞尔曲线(\(\text{PPC: 每条曲线的点数} = n + 1\))是相连的,形成一个\(n\)次样条:[[float, float, float], ...], ...]。请参考您所使用的函数的文档以获取更多类型信息。
- class FlatBezierPoints¶
NDArray[
PointDType] | tuple[float, ...]形状: (3*PPC*N,)一个扁平的贝塞尔控制点数组:
[float, ...]。
函数类型¶
图像类型¶
- class Image¶
NDArray[
ManimInt]形状: (高度, 宽度) | (高度, 宽度, 3) | (高度, 宽度, 4)一个高度为
height像素,宽度为width像素的栅格化图像。数组中的每个值都是0到255之间的整数。
每个像素由一个表示其亮度的单个整数(用于灰度图像)、一个
RGB_Array_Int或一个RGBA_Array_Int表示。
- class RGBImage¶
Image形状: (高度, 宽度, 3)一个100%不透明的
Image,颜色中每个像素值都是一个RGB_Array_Int对象。
- class RGBAImage¶
Image形状: (高度, 宽度, 4)一个
Image,其中像素可以是透明的。每个像素值是一个RGBA_Array_Int对象。