diff --git a/README.md b/README.md index 38edea8..726c5dc 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,7 @@ A Minecraft particle production library ## 示例 - [【特效红石音乐】童话镇~「总有一条蜿蜒在童话镇里...」](https://www.bilibili.com/video/BV1xE4m1d72j) -- [【特效红石音乐】使一颗心免于哀伤 If I Can Stop One Heart From Breaking「崩坏:星穹铁道 EP」](https://www.bilibili.com/video/BV1B1421t7i3) \ No newline at end of file +- [【特效红石音乐】使一颗心免于哀伤 If I Can Stop One Heart From Breaking「崩坏:星穹铁道 EP」](https://www.bilibili.com/video/BV1B1421t7i3) + +- AA + - BB \ No newline at end of file diff --git a/docs/api/mp_math/angle.md b/docs/api/mp_math/angle.md index 756d8f2..6795078 100644 --- a/docs/api/mp_math/angle.md +++ b/docs/api/mp_math/angle.md @@ -6,18 +6,16 @@ title: mbcp.mp_math.angle ### *method* `__init__(self, value: float, is_radian: bool = False)` -任意角度。 + +**说明**: 任意角度。 **参数**: - -- value: 角度或弧度值 - -- is_radian: 是否为弧度,默认为否 - +> - value: 角度或弧度值 +> - is_radian: 是否为弧度,默认为否
- 源代码 + 源代码 ```python def __init__(self, value: float, is_radian: bool=False): @@ -38,16 +36,14 @@ def __init__(self, value: float, is_radian: bool=False): ### *method* `complementary(self) -> AnyAngle` -余角:两角的和为90°。 -**返回**: - -- 余角 +**说明**: 余角:两角的和为90°。 +**返回**: 余角
- 源代码 + 源代码 ```python @property @@ -65,16 +61,14 @@ def complementary(self) -> 'AnyAngle': ### *method* `supplementary(self) -> AnyAngle` -补角:两角的和为180°。 -**返回**: - -- 补角 +**说明**: 补角:两角的和为180°。 +**返回**: 补角
- 源代码 + 源代码 ```python @property @@ -92,16 +86,14 @@ def supplementary(self) -> 'AnyAngle': ### *method* `degree(self) -> float` -角度。 -**返回**: - -- 弧度 +**说明**: 角度。 +**返回**: 弧度
- 源代码 + 源代码 ```python @property @@ -119,16 +111,14 @@ def degree(self) -> float: ### *method* `minimum_positive(self) -> AnyAngle` -最小正角。 -**返回**: - -- 最小正角度 +**说明**: 最小正角。 +**返回**: 最小正角度
- 源代码 + 源代码 ```python @property @@ -146,16 +136,14 @@ def minimum_positive(self) -> 'AnyAngle': ### *method* `maximum_negative(self) -> AnyAngle` -最大负角。 -**返回**: - -- 最大负角度 +**说明**: 最大负角。 +**返回**: 最大负角度
- 源代码 + 源代码 ```python @property @@ -173,16 +161,14 @@ def maximum_negative(self) -> 'AnyAngle': ### *method* `sin(self) -> float` -正弦值。 -**返回**: - -- 正弦值 +**说明**: 正弦值。 +**返回**: 正弦值
- 源代码 + 源代码 ```python @property @@ -200,16 +186,14 @@ def sin(self) -> float: ### *method* `cos(self) -> float` -余弦值。 -**返回**: - -- 余弦值 +**说明**: 余弦值。 +**返回**: 余弦值
- 源代码 + 源代码 ```python @property @@ -227,16 +211,14 @@ def cos(self) -> float: ### *method* `tan(self) -> float` -正切值。 -**返回**: - -- 正切值 +**说明**: 正切值。 +**返回**: 正切值
- 源代码 + 源代码 ```python @property @@ -254,16 +236,14 @@ def tan(self) -> float: ### *method* `cot(self) -> float` -余切值。 -**返回**: - -- 余切值 +**说明**: 余切值。 +**返回**: 余切值
- 源代码 + 源代码 ```python @property @@ -281,16 +261,14 @@ def cot(self) -> float: ### *method* `sec(self) -> float` -正割值。 -**返回**: - -- 正割值 +**说明**: 正割值。 +**返回**: 正割值
- 源代码 + 源代码 ```python @property @@ -308,16 +286,14 @@ def sec(self) -> float: ### *method* `csc(self) -> float` -余割值。 -**返回**: - -- 余割值 +**说明**: 余割值。 +**返回**: 余割值
- 源代码 + 源代码 ```python @property @@ -335,7 +311,7 @@ def csc(self) -> float:
- 源代码 + 源代码 ```python def __add__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -347,7 +323,7 @@ def __add__(self, other: 'AnyAngle') -> 'AnyAngle':
- 源代码 + 源代码 ```python def __eq__(self, other): @@ -359,7 +335,7 @@ def __eq__(self, other):
- 源代码 + 源代码 ```python def __sub__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -371,7 +347,7 @@ def __sub__(self, other: 'AnyAngle') -> 'AnyAngle':
- 源代码 + 源代码 ```python def __mul__(self, other: float) -> 'AnyAngle': @@ -384,7 +360,7 @@ def __mul__(self, other: float) -> 'AnyAngle':
- 源代码 + 源代码 ```python @overload @@ -398,7 +374,7 @@ def __truediv__(self, other: float) -> 'AnyAngle':
- 源代码 + 源代码 ```python @overload @@ -411,7 +387,7 @@ def __truediv__(self, other: 'AnyAngle') -> float:
- 源代码 + 源代码 ```python def __truediv__(self, other): diff --git a/docs/api/mp_math/equation.md b/docs/api/mp_math/equation.md index 659a67a..bd20f55 100644 --- a/docs/api/mp_math/equation.md +++ b/docs/api/mp_math/equation.md @@ -4,28 +4,22 @@ title: mbcp.mp_math.equation ### *func* `get_partial_derivative_func(func: MultiVarsFunc = EPSILON) -> MultiVarsFunc` -求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**说明**: 求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**返回**: 偏导函数 **参数**: - -- func: 函数 - -- var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) - -- epsilon: 偏移量 - -**返回**: - -- 偏导函数 +> - func: 函数 +> - var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) +> - epsilon: 偏移量 **引发**: - -- ValueError 无效变量类型 - +> - ValueError 无效变量类型
- 源代码 + 源代码 ```python def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number=EPSILON) -> MultiVarsFunc: @@ -66,7 +60,7 @@ def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...],
- 源代码 + 源代码 ```python def partial_derivative_func(*args: Var) -> Var: @@ -82,7 +76,7 @@ def partial_derivative_func(*args: Var) -> Var:
- 源代码 + 源代码 ```python def high_order_partial_derivative_func(*args: Var) -> Var: @@ -97,20 +91,17 @@ def high_order_partial_derivative_func(*args: Var) -> Var: ### *method* `__init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)` -曲线方程。 + +**说明**: 曲线方程。 **参数**: - -- x_func: x函数 - -- y_func: y函数 - -- z_func: z函数 - +> - x_func: x函数 +> - y_func: y函数 +> - z_func: z函数
- 源代码 + 源代码 ```python def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): @@ -130,18 +121,16 @@ def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): ### *method* `__call__(self) -> Point3 | tuple[Point3, ...]` -计算曲线上的点。 + +**说明**: 计算曲线上的点。 **参数**: - -- *t: - -- 参数: - +> - *t: +> - 参数:
- 源代码 + 源代码 ```python def __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]: diff --git a/docs/api/mp_math/line.md b/docs/api/mp_math/line.md index e231f95..dbdde85 100644 --- a/docs/api/mp_math/line.md +++ b/docs/api/mp_math/line.md @@ -5,18 +5,16 @@ title: mbcp.mp_math.line ### *method* `__init__(self, point: Point3, direction: Vector3)` -三维空间中的直线。由一个点和一个方向向量确定。 + +**说明**: 三维空间中的直线。由一个点和一个方向向量确定。 **参数**: - -- point: 直线上的一点 - -- direction: 直线的方向向量 - +> - point: 直线上的一点 +> - direction: 直线的方向向量
- 源代码 + 源代码 ```python def __init__(self, point: 'Point3', direction: 'Vector3'): @@ -34,22 +32,18 @@ def __init__(self, point: 'Point3', direction: 'Vector3'): ### *method* `approx(self, other: Line3, epsilon: float = APPROX) -> bool` -判断两条直线是否近似相等。 + +**说明**: 判断两条直线是否近似相等。 + +**返回**: 是否近似相等 **参数**: - -- other: 另一条直线 - -- epsilon: 误差 - -**返回**: - -- 是否近似相等 - +> - other: 另一条直线 +> - epsilon: 误差
- 源代码 + 源代码 ```python def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: @@ -68,24 +62,20 @@ def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Line3) -> AnyAngle` -计算直线和直线之间的夹角。 + +**说明**: 计算直线和直线之间的夹角。 + +**返回**: 夹角弧度 **参数**: - -- other: 另一条直线 - -**返回**: - -- 夹角弧度 +> - other: 另一条直线 **引发**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源代码 + 源代码 ```python def cal_angle(self, other: 'Line3') -> 'AnyAngle': @@ -105,24 +95,20 @@ def cal_angle(self, other: 'Line3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Line3 | Point3) -> float` -计算直线和直线或点之间的距离。 + +**说明**: 计算直线和直线或点之间的距离。 + +**返回**: 距离 **参数**: - -- other: 平行直线或点 - -**返回**: - -- 距离 +> - other: 平行直线或点 **引发**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源代码 + 源代码 ```python def cal_distance(self, other: 'Line3 | Point3') -> float: @@ -155,26 +141,21 @@ def cal_distance(self, other: 'Line3 | Point3') -> float: ### *method* `cal_intersection(self, other: Line3) -> Point3` -计算两条直线的交点。 + +**说明**: 计算两条直线的交点。 + +**返回**: 交点 **参数**: - -- other: 另一条直线 - -**返回**: - -- 交点 +> - other: 另一条直线 **引发**: - -- ValueError 直线平行 - -- ValueError 直线不共面 - +> - ValueError 直线平行 +> - ValueError 直线不共面
- 源代码 + 源代码 ```python def cal_intersection(self, other: 'Line3') -> 'Point3': @@ -199,20 +180,17 @@ def cal_intersection(self, other: 'Line3') -> 'Point3': ### *method* `cal_perpendicular(self, point: Point3) -> Line3` -计算直线经过指定点p的垂线。 + +**说明**: 计算直线经过指定点p的垂线。 + +**返回**: 垂线 **参数**: - -- point: 指定点 - -**返回**: - -- 垂线 - +> - point: 指定点
- 源代码 + 源代码 ```python def cal_perpendicular(self, point: 'Point3') -> 'Line3': @@ -230,20 +208,17 @@ def cal_perpendicular(self, point: 'Point3') -> 'Line3': ### *method* `get_point(self, t: RealNumber) -> Point3` -获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**说明**: 获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**返回**: 点 **参数**: - -- t: 参数t - -**返回**: - -- 点 - +> - t: 参数t
- 源代码 + 源代码 ```python def get_point(self, t: RealNumber) -> 'Point3': @@ -261,16 +236,14 @@ def get_point(self, t: RealNumber) -> 'Point3': ### *method* `get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]` -获取直线的参数方程。 -**返回**: - -- x(t), y(t), z(t) +**说明**: 获取直线的参数方程。 +**返回**: x(t), y(t), z(t)
- 源代码 + 源代码 ```python def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]: @@ -286,22 +259,18 @@ def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, ### *method* `is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool` -判断两条直线是否近似平行。 + +**说明**: 判断两条直线是否近似平行。 + +**返回**: 是否近似平行 **参数**: - -- other: 另一条直线 - -- epsilon: 误差 - -**返回**: - -- 是否近似平行 - +> - other: 另一条直线 +> - epsilon: 误差
- 源代码 + 源代码 ```python def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: @@ -320,20 +289,17 @@ def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: ### *method* `is_parallel(self, other: Line3) -> bool` -判断两条直线是否平行。 + +**说明**: 判断两条直线是否平行。 + +**返回**: 是否平行 **参数**: - -- other: 另一条直线 - -**返回**: - -- 是否平行 - +> - other: 另一条直线
- 源代码 + 源代码 ```python def is_parallel(self, other: 'Line3') -> bool: @@ -351,20 +317,17 @@ def is_parallel(self, other: 'Line3') -> bool: ### *method* `is_collinear(self, other: Line3) -> bool` -判断两条直线是否共线。 + +**说明**: 判断两条直线是否共线。 + +**返回**: 是否共线 **参数**: - -- other: 另一条直线 - -**返回**: - -- 是否共线 - +> - other: 另一条直线
- 源代码 + 源代码 ```python def is_collinear(self, other: 'Line3') -> bool: @@ -382,20 +345,17 @@ def is_collinear(self, other: 'Line3') -> bool: ### *method* `is_point_on(self, point: Point3) -> bool` -判断点是否在直线上。 + +**说明**: 判断点是否在直线上。 + +**返回**: 是否在直线上 **参数**: - -- point: 点 - -**返回**: - -- 是否在直线上 - +> - point: 点
- 源代码 + 源代码 ```python def is_point_on(self, point: 'Point3') -> bool: @@ -413,21 +373,18 @@ def is_point_on(self, point: 'Point3') -> bool: ### *method* `is_coplanar(self, other: Line3) -> bool` -判断两条直线是否共面。 + +**说明**: 判断两条直线是否共面。 充要条件:两直线方向向量的叉乘与两直线上任意一点的向量的点积为0。 +**返回**: 是否共面 + **参数**: - -- other: 另一条直线 - -**返回**: - -- 是否共面 - +> - other: 另一条直线
- 源代码 + 源代码 ```python def is_coplanar(self, other: 'Line3') -> bool: @@ -446,15 +403,15 @@ def is_coplanar(self, other: 'Line3') -> bool: ### *method* `simplify(self)` -简化直线方程,等价相等。 + +**说明**: 简化直线方程,等价相等。 自体简化,不返回值。 按照可行性一次对x y z 化 0 处理,并对向量单位化 -
- 源代码 + 源代码 ```python def simplify(self): @@ -478,22 +435,18 @@ def simplify(self): ### *method* `from_two_points(cls, p1: Point3, p2: Point3) -> Line3` -工厂函数 由两点构造直线。 + +**说明**: 工厂函数 由两点构造直线。 + +**返回**: 直线 **参数**: - -- p1: 点1 - -- p2: 点2 - -**返回**: - -- 直线 - +> - p1: 点1 +> - p2: 点2
- 源代码 + 源代码 ```python @classmethod @@ -514,20 +467,17 @@ def from_two_points(cls, p1: 'Point3', p2: 'Point3') -> 'Line3': ### *method* `__and__(self, other: Line3) -> Line3 | Point3 | None` -计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**说明**: 计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**返回**: 交点 **参数**: - -- other: 另一条直线 - -**返回**: - -- 交点 - +> - other: 另一条直线
- 源代码 + 源代码 ```python def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': @@ -550,18 +500,17 @@ def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': ### *method* `__eq__(self, other) -> bool` -判断两条直线是否等价。 + +**说明**: 判断两条直线是否等价。 v1 // v2 ∧ (p1 - p2) // v1 **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __eq__(self, other) -> bool: diff --git a/docs/api/mp_math/plane.md b/docs/api/mp_math/plane.md index ac73d1e..f5e2232 100644 --- a/docs/api/mp_math/plane.md +++ b/docs/api/mp_math/plane.md @@ -5,22 +5,18 @@ title: mbcp.mp_math.plane ### *method* `__init__(self, a: float, b: float, c: float, d: float)` -平面方程:ax + by + cz + d = 0 + +**说明**: 平面方程:ax + by + cz + d = 0 **参数**: - -- a: x系数 - -- b: y系数 - -- c: z系数 - -- d: 常数项 - +> - a: x系数 +> - b: y系数 +> - c: z系数 +> - d: 常数项
- 源代码 + 源代码 ```python def __init__(self, a: float, b: float, c: float, d: float): @@ -42,20 +38,17 @@ def __init__(self, a: float, b: float, c: float, d: float): ### *method* `approx(self, other: Plane3) -> bool` -判断两个平面是否近似相等。 + +**说明**: 判断两个平面是否近似相等。 + +**返回**: 是否近似相等 **参数**: - -- other: 另一个平面 - -**返回**: - -- 是否近似相等 - +> - other: 另一个平面
- 源代码 + 源代码 ```python def approx(self, other: 'Plane3') -> bool: @@ -83,24 +76,20 @@ def approx(self, other: 'Plane3') -> bool: ### *method* `cal_angle(self, other: Line3 | Plane3) -> AnyAngle` -计算平面与平面之间的夹角。 + +**说明**: 计算平面与平面之间的夹角。 + +**返回**: 夹角弧度 **参数**: - -- other: 另一个平面 - -**返回**: - -- 夹角弧度 +> - other: 另一个平面 **引发**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源代码 + 源代码 ```python def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': @@ -125,24 +114,20 @@ def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Plane3 | Point3) -> float` -计算平面与平面或点之间的距离。 + +**说明**: 计算平面与平面或点之间的距离。 + +**返回**: 距离 **参数**: - -- other: 另一个平面或点 - -**返回**: - -- 距离 +> - other: 另一个平面或点 **引发**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源代码 + 源代码 ```python def cal_distance(self, other: 'Plane3 | Point3') -> float: @@ -167,20 +152,17 @@ def cal_distance(self, other: 'Plane3 | Point3') -> float: ### *method* `cal_intersection_line3(self, other: Plane3) -> Line3` -计算两平面的交线。 + +**说明**: 计算两平面的交线。 + +**返回**: 两平面的交线 **参数**: - -- other: 另一个平面 - -**返回**: - -- 两平面的交线 - +> - other: 另一个平面
- 源代码 + 源代码 ```python def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': @@ -215,24 +197,20 @@ def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': ### *method* `cal_intersection_point3(self, other: Line3) -> Point3` -计算平面与直线的交点。 + +**说明**: 计算平面与直线的交点。 + +**返回**: 交点 **参数**: - -- other: 不与平面平行或在平面上的直线 - -**返回**: - -- 交点 +> - other: 不与平面平行或在平面上的直线 **引发**: - -- ValueError 平面与直线平行或重合 - +> - ValueError 平面与直线平行或重合
- 源代码 + 源代码 ```python def cal_intersection_point3(self, other: 'Line3') -> 'Point3': @@ -256,20 +234,17 @@ def cal_intersection_point3(self, other: 'Line3') -> 'Point3': ### *method* `cal_parallel_plane3(self, point: Point3) -> Plane3` -计算平行于该平面且过指定点的平面。 + +**说明**: 计算平行于该平面且过指定点的平面。 + +**返回**: 所求平面 **参数**: - -- point: 指定点 - -**返回**: - -- 所求平面 - +> - point: 指定点
- 源代码 + 源代码 ```python def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': @@ -287,20 +262,17 @@ def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': ### *method* `is_parallel(self, other: Plane3) -> bool` -判断两个平面是否平行。 + +**说明**: 判断两个平面是否平行。 + +**返回**: 是否平行 **参数**: - -- other: 另一个平面 - -**返回**: - -- 是否平行 - +> - other: 另一个平面
- 源代码 + 源代码 ```python def is_parallel(self, other: 'Plane3') -> bool: @@ -319,16 +291,14 @@ def is_parallel(self, other: 'Plane3') -> bool: ### *method* `normal(self) -> Vector3` -平面的法向量。 -**返回**: - -- 法向量 +**说明**: 平面的法向量。 +**返回**: 法向量
- 源代码 + 源代码 ```python @property @@ -346,22 +316,18 @@ def normal(self) -> 'Vector3': ### *method* `from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3` -工厂函数 由点和法向量构造平面(点法式构造)。 + +**说明**: 工厂函数 由点和法向量构造平面(点法式构造)。 + +**返回**: 平面 **参数**: - -- point: 平面上的一点 - -- normal: 法向量 - -**返回**: - -- 平面 - +> - point: 平面上的一点 +> - normal: 法向量
- 源代码 + 源代码 ```python @classmethod @@ -384,24 +350,19 @@ def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3': ### *method* `from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3` -工厂函数 由三点构造平面。 + +**说明**: 工厂函数 由三点构造平面。 + +**返回**: 平面 **参数**: - -- p1: 点1 - -- p2: 点2 - -- p3: 点3 - -**返回**: - -- 平面 - +> - p1: 点1 +> - p2: 点2 +> - p3: 点3
- 源代码 + 源代码 ```python @classmethod @@ -426,22 +387,18 @@ def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3' ### *method* `from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3` -工厂函数 由两直线构造平面。 + +**说明**: 工厂函数 由两直线构造平面。 + +**返回**: 平面 **参数**: - -- l1: 直线1 - -- l2: 直线2 - -**返回**: - -- 平面 - +> - l1: 直线1 +> - l2: 直线2
- 源代码 + 源代码 ```python @classmethod @@ -466,22 +423,18 @@ def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3': ### *method* `from_point_and_line(cls, point: Point3, line: Line3) -> Plane3` -工厂函数 由点和直线构造平面。 + +**说明**: 工厂函数 由点和直线构造平面。 + +**返回**: 平面 **参数**: - -- point: 面上一点 - -- line: 面上直线,不包含点 - -**返回**: - -- 平面 - +> - point: 面上一点 +> - line: 面上直线,不包含点
- 源代码 + 源代码 ```python @classmethod @@ -503,7 +456,7 @@ def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
- 源代码 + 源代码 ```python @overload @@ -517,7 +470,7 @@ def __and__(self, other: 'Line3') -> 'Point3 | None':
- 源代码 + 源代码 ```python @overload @@ -529,20 +482,17 @@ def __and__(self, other: 'Plane3') -> 'Line3 | None': ### *method* `__and__(self, other)` -取两平面的交集(人话:交线) + +**说明**: 取两平面的交集(人话:交线) + +**返回**: 不平行平面的交线,平面平行返回None **参数**: - -- other: - -**返回**: - -- 不平行平面的交线,平面平行返回None - +> - other:
- 源代码 + 源代码 ```python def __and__(self, other): @@ -570,7 +520,7 @@ def __and__(self, other):
- 源代码 + 源代码 ```python def __eq__(self, other) -> bool: @@ -582,7 +532,7 @@ def __eq__(self, other) -> bool:
- 源代码 + 源代码 ```python def __rand__(self, other: 'Line3') -> 'Point3': diff --git a/docs/api/mp_math/point.md b/docs/api/mp_math/point.md index 7f26c93..29a99bb 100644 --- a/docs/api/mp_math/point.md +++ b/docs/api/mp_math/point.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.point ### *method* `__init__(self, x: float, y: float, z: float)` -笛卡尔坐标系中的点。 + +**说明**: 笛卡尔坐标系中的点。 **参数**: - -- x: x 坐标 - -- y: y 坐标 - -- z: z 坐标 - +> - x: x 坐标 +> - y: y 坐标 +> - z: z 坐标
- 源代码 + 源代码 ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Point3, epsilon: float = APPROX) -> bool` -判断两个点是否近似相等。 + +**说明**: 判断两个点是否近似相等。 + +**返回**: 是否近似相等 **参数**: - -- other: - -- epsilon: - -**返回**: - -- 是否近似相等 - +> - other: +> - epsilon:
- 源代码 + 源代码 ```python def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool: @@ -75,7 +68,7 @@ def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool:
- 源代码 + 源代码 ```python @overload @@ -89,7 +82,7 @@ def __add__(self, other: 'Vector3') -> 'Point3':
- 源代码 + 源代码 ```python @overload @@ -101,17 +94,16 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -P + V -> P + +**说明**: P + V -> P P + P -> P **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __add__(self, other): @@ -129,16 +121,15 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个点是否相等。 + +**说明**: 判断两个点是否相等。 **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __eq__(self, other): @@ -155,18 +146,17 @@ def __eq__(self, other): ### *method* `self - other: Point3 => Vector3` -P - P -> V + +**说明**: P - P -> V P - V -> P 已在 :class:`Vector3` 中实现 **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __sub__(self, other: 'Point3') -> 'Vector3': diff --git a/docs/api/mp_math/segment.md b/docs/api/mp_math/segment.md index 73e195b..22b601e 100644 --- a/docs/api/mp_math/segment.md +++ b/docs/api/mp_math/segment.md @@ -5,14 +5,14 @@ title: mbcp.mp_math.segment ### *method* `__init__(self, p1: Point3, p2: Point3)` -三维空间中的线段。 + +**说明**: 三维空间中的线段。 :param p1: :param p2: -
- 源代码 + 源代码 ```python def __init__(self, p1: 'Point3', p2: 'Point3'): diff --git a/docs/api/mp_math/utils.md b/docs/api/mp_math/utils.md index fbc0e0a..46193dc 100644 --- a/docs/api/mp_math/utils.md +++ b/docs/api/mp_math/utils.md @@ -4,24 +4,19 @@ title: mbcp.mp_math.utils ### *func* `clamp() -> float` -区间限定函数 + +**说明**: 区间限定函数 + +**返回**: 限制后的值 **参数**: - -- x: 待限定的值 - -- min_: 最小值 - -- max_: 最大值 - -**返回**: - -- 限制后的值 - +> - x: 待限定的值 +> - min_: 最小值 +> - max_: 最大值
- 源代码 + 源代码 ```python def clamp(x: float, min_: float, max_: float) -> float: @@ -42,24 +37,19 @@ def clamp(x: float, min_: float, max_: float) -> float: ### *func* `approx(x: float = 0.0, y: float = APPROX) -> bool` -判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**说明**: 判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**返回**: 是否近似相等 **参数**: - -- x: 数1 - -- y: 数2 - -- epsilon: 误差 - -**返回**: - -- 是否近似相等 - +> - x: 数1 +> - y: 数2 +> - epsilon: 误差
- 源代码 + 源代码 ```python def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: @@ -79,22 +69,18 @@ def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: ### *func* `sign(x: float = False) -> str` -获取数的符号。 + +**说明**: 获取数的符号。 + +**返回**: 符号 + - "" **参数**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**返回**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- 源代码 + 源代码 ```python def sign(x: float, only_neg: bool=False) -> str: @@ -117,25 +103,21 @@ def sign(x: float, only_neg: bool=False) -> str: ### *func* `sign_format(x: float = False) -> str` -格式化符号数 + +**说明**: 格式化符号数 -1 -> -1 1 -> +1 0 -> "" +**返回**: 符号 + - "" + **参数**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**返回**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- 源代码 + 源代码 ```python def sign_format(x: float, only_neg: bool=False) -> str: @@ -163,7 +145,7 @@ def sign_format(x: float, only_neg: bool=False) -> str:
- 源代码 + 源代码 ```python def __init__(self, value: RealNumber): @@ -175,7 +157,7 @@ def __init__(self, value: RealNumber):
- 源代码 + 源代码 ```python def __eq__(self, other): @@ -196,7 +178,7 @@ def __eq__(self, other):
- 源代码 + 源代码 ```python def raise_type_error(self, other): @@ -208,7 +190,7 @@ def raise_type_error(self, other):
- 源代码 + 源代码 ```python def __ne__(self, other): diff --git a/docs/api/mp_math/vector.md b/docs/api/mp_math/vector.md index dc88a09..daa9400 100644 --- a/docs/api/mp_math/vector.md +++ b/docs/api/mp_math/vector.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.vector ### *method* `__init__(self, x: float, y: float, z: float)` -3维向量 + +**说明**: 3维向量 **参数**: - -- x: x轴分量 - -- y: y轴分量 - -- z: z轴分量 - +> - x: x轴分量 +> - y: y轴分量 +> - z: z轴分量
- 源代码 + 源代码 ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似相等。 + +**说明**: 判断两个向量是否近似相等。 + +**返回**: 是否近似相等 **参数**: - -- other: - -- epsilon: - -**返回**: - -- 是否近似相等 - +> - other: +> - epsilon:
- 源代码 + 源代码 ```python def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -73,20 +66,17 @@ def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Vector3) -> AnyAngle` -计算两个向量之间的夹角。 + +**说明**: 计算两个向量之间的夹角。 + +**返回**: 夹角 **参数**: - -- other: 另一个向量 - -**返回**: - -- 夹角 - +> - other: 另一个向量
- 源代码 + 源代码 ```python def cal_angle(self, other: 'Vector3') -> 'AnyAngle': @@ -104,24 +94,21 @@ def cal_angle(self, other: 'Vector3') -> 'AnyAngle': ### *method* `cross(self, other: Vector3) -> Vector3` -向量积 叉乘:v1 cross v2 -> v3 + +**说明**: 向量积 叉乘:v1 cross v2 -> v3 叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。 +**返回**: 行列式的结果 + **参数**: - -- other: - -**返回**: - -- 行列式的结果 - +> - other:
- 源代码 + 源代码 ```python def cross(self, other: 'Vector3') -> 'Vector3': @@ -151,22 +138,18 @@ def cross(self, other: 'Vector3') -> 'Vector3': ### *method* `is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似平行。 + +**说明**: 判断两个向量是否近似平行。 + +**返回**: 是否近似平行 **参数**: - -- other: 另一个向量 - -- epsilon: 允许的误差 - -**返回**: - -- 是否近似平行 - +> - other: 另一个向量 +> - epsilon: 允许的误差
- 源代码 + 源代码 ```python def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -185,20 +168,17 @@ def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `is_parallel(self, other: Vector3) -> bool` -判断两个向量是否平行。 + +**说明**: 判断两个向量是否平行。 + +**返回**: 是否平行 **参数**: - -- other: 另一个向量 - -**返回**: - -- 是否平行 - +> - other: 另一个向量
- 源代码 + 源代码 ```python def is_parallel(self, other: 'Vector3') -> bool: @@ -216,14 +196,14 @@ def is_parallel(self, other: 'Vector3') -> bool: ### *method* `normalize(self)` -将向量归一化。 + +**说明**: 将向量归一化。 自体归一化,不返回值。 -
- 源代码 + 源代码 ```python def normalize(self): @@ -245,10 +225,8 @@ def normalize(self): - -
- 源代码 + 源代码 ```python @property @@ -265,16 +243,14 @@ def np_array(self) -> 'np.ndarray': ### *method* `length(self) -> float` -向量的模。 -**返回**: - -- 模 +**说明**: 向量的模。 +**返回**: 模
- 源代码 + 源代码 ```python @property @@ -292,16 +268,14 @@ def length(self) -> float: ### *method* `unit(self) -> Vector3` -获取该向量的单位向量。 -**返回**: - -- 单位向量 +**说明**: 获取该向量的单位向量。 +**返回**: 单位向量
- 源代码 + 源代码 ```python @property @@ -319,7 +293,7 @@ def unit(self) -> 'Vector3':
- 源代码 + 源代码 ```python def __abs__(self): @@ -332,7 +306,7 @@ def __abs__(self):
- 源代码 + 源代码 ```python @overload @@ -346,7 +320,7 @@ def __add__(self, other: 'Vector3') -> 'Vector3':
- 源代码 + 源代码 ```python @overload @@ -358,18 +332,17 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -V + P -> P + +**说明**: V + P -> P V + V -> V **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __add__(self, other): @@ -394,20 +367,17 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个向量是否相等。 + +**说明**: 判断两个向量是否相等。 + +**返回**: 是否相等 **参数**: - -- other: - -**返回**: - -- 是否相等 - +> - other:
- 源代码 + 源代码 ```python def __eq__(self, other): @@ -425,16 +395,16 @@ def __eq__(self, other): ### *method* `self + other: Point3 => Point3` -P + V -> P + +**说明**: P + V -> P 别去点那边实现了。 :param other: :return: -
- 源代码 + 源代码 ```python def __radd__(self, other: 'Point3') -> 'Point3': @@ -454,7 +424,7 @@ def __radd__(self, other: 'Point3') -> 'Point3':
- 源代码 + 源代码 ```python @overload @@ -468,7 +438,7 @@ def __sub__(self, other: 'Vector3') -> 'Vector3':
- 源代码 + 源代码 ```python @overload @@ -480,18 +450,17 @@ def __sub__(self, other: 'Point3') -> 'Point3': ### *method* `self - other` -V - P -> P + +**说明**: V - P -> P V - V -> V **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __sub__(self, other): @@ -515,16 +484,15 @@ def __sub__(self, other): ### *method* `self - other: Point3` -P - V -> P + +**说明**: P - V -> P **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __rsub__(self, other: 'Point3'): @@ -547,7 +515,7 @@ def __rsub__(self, other: 'Point3'):
- 源代码 + 源代码 ```python @overload @@ -561,7 +529,7 @@ def __mul__(self, other: 'Vector3') -> 'Vector3':
- 源代码 + 源代码 ```python @overload @@ -573,16 +541,15 @@ def __mul__(self, other: RealNumber) -> 'Vector3': ### *method* `self * other: int | float | Vector3 => Vector3` -数组运算 非点乘。点乘使用@,叉乘使用cross。 + +**说明**: 数组运算 非点乘。点乘使用@,叉乘使用cross。 **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __mul__(self, other: 'int | float | Vector3') -> 'Vector3': @@ -606,7 +573,7 @@ def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
- 源代码 + 源代码 ```python def __rmul__(self, other: 'RealNumber') -> 'Vector3': @@ -617,16 +584,15 @@ def __rmul__(self, other: 'RealNumber') -> 'Vector3': ### *method* `self @ other: Vector3 => RealNumber` -点乘。 + +**说明**: 点乘。 **参数**: - -- other: - +> - other:
- 源代码 + 源代码 ```python def __matmul__(self, other: 'Vector3') -> 'RealNumber': @@ -644,7 +610,7 @@ def __matmul__(self, other: 'Vector3') -> 'RealNumber':
- 源代码 + 源代码 ```python def __truediv__(self, other: RealNumber) -> 'Vector3': @@ -656,7 +622,7 @@ def __truediv__(self, other: RealNumber) -> 'Vector3':
- 源代码 + 源代码 ```python def __neg__(self): diff --git a/docs/api/presets/model/index.md b/docs/api/presets/model/index.md index ebbd889..49a994d 100644 --- a/docs/api/presets/model/index.md +++ b/docs/api/presets/model/index.md @@ -6,22 +6,18 @@ title: mbcp.presets.model ### *method* `sphere(radius: float, density: float)` -生成球体上的点集。 + +**说明**: 生成球体上的点集。 + +**返回**: List[Point3]: 球体上的点集。 **参数**: - -- radius: - -- density: - -**返回**: - -- List[Point3]: 球体上的点集。 - +> - radius: +> - density:
- 源代码 + 源代码 ```python @staticmethod diff --git a/docs/en/api/mp_math/angle.md b/docs/en/api/mp_math/angle.md index 4058420..022686e 100644 --- a/docs/en/api/mp_math/angle.md +++ b/docs/en/api/mp_math/angle.md @@ -6,18 +6,16 @@ title: mbcp.mp_math.angle ### *method* `__init__(self, value: float, is_radian: bool = False)` -任意角度。 + +**Description**: 任意角度。 **Arguments**: - -- value: 角度或弧度值 - -- is_radian: 是否为弧度,默认为否 - +> - value: 角度或弧度值 +> - is_radian: 是否为弧度,默认为否
- Source code + Source code ```python def __init__(self, value: float, is_radian: bool=False): @@ -38,16 +36,14 @@ def __init__(self, value: float, is_radian: bool=False): ### *method* `complementary(self) -> AnyAngle` -余角:两角的和为90°。 -**Return**: - -- 余角 +**Description**: 余角:两角的和为90°。 +**Return**: 余角
- Source code + Source code ```python @property @@ -65,16 +61,14 @@ def complementary(self) -> 'AnyAngle': ### *method* `supplementary(self) -> AnyAngle` -补角:两角的和为180°。 -**Return**: - -- 补角 +**Description**: 补角:两角的和为180°。 +**Return**: 补角
- Source code + Source code ```python @property @@ -92,16 +86,14 @@ def supplementary(self) -> 'AnyAngle': ### *method* `degree(self) -> float` -角度。 -**Return**: - -- 弧度 +**Description**: 角度。 +**Return**: 弧度
- Source code + Source code ```python @property @@ -119,16 +111,14 @@ def degree(self) -> float: ### *method* `minimum_positive(self) -> AnyAngle` -最小正角。 -**Return**: - -- 最小正角度 +**Description**: 最小正角。 +**Return**: 最小正角度
- Source code + Source code ```python @property @@ -146,16 +136,14 @@ def minimum_positive(self) -> 'AnyAngle': ### *method* `maximum_negative(self) -> AnyAngle` -最大负角。 -**Return**: - -- 最大负角度 +**Description**: 最大负角。 +**Return**: 最大负角度
- Source code + Source code ```python @property @@ -173,16 +161,14 @@ def maximum_negative(self) -> 'AnyAngle': ### *method* `sin(self) -> float` -正弦值。 -**Return**: - -- 正弦值 +**Description**: 正弦值。 +**Return**: 正弦值
- Source code + Source code ```python @property @@ -200,16 +186,14 @@ def sin(self) -> float: ### *method* `cos(self) -> float` -余弦值。 -**Return**: - -- 余弦值 +**Description**: 余弦值。 +**Return**: 余弦值
- Source code + Source code ```python @property @@ -227,16 +211,14 @@ def cos(self) -> float: ### *method* `tan(self) -> float` -正切值。 -**Return**: - -- 正切值 +**Description**: 正切值。 +**Return**: 正切值
- Source code + Source code ```python @property @@ -254,16 +236,14 @@ def tan(self) -> float: ### *method* `cot(self) -> float` -余切值。 -**Return**: - -- 余切值 +**Description**: 余切值。 +**Return**: 余切值
- Source code + Source code ```python @property @@ -281,16 +261,14 @@ def cot(self) -> float: ### *method* `sec(self) -> float` -正割值。 -**Return**: - -- 正割值 +**Description**: 正割值。 +**Return**: 正割值
- Source code + Source code ```python @property @@ -308,16 +286,14 @@ def sec(self) -> float: ### *method* `csc(self) -> float` -余割值。 -**Return**: - -- 余割值 +**Description**: 余割值。 +**Return**: 余割值
- Source code + Source code ```python @property @@ -335,7 +311,7 @@ def csc(self) -> float:
- Source code + Source code ```python def __add__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -347,7 +323,7 @@ def __add__(self, other: 'AnyAngle') -> 'AnyAngle':
- Source code + Source code ```python def __eq__(self, other): @@ -359,7 +335,7 @@ def __eq__(self, other):
- Source code + Source code ```python def __sub__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -371,7 +347,7 @@ def __sub__(self, other: 'AnyAngle') -> 'AnyAngle':
- Source code + Source code ```python def __mul__(self, other: float) -> 'AnyAngle': @@ -384,7 +360,7 @@ def __mul__(self, other: float) -> 'AnyAngle':
- Source code + Source code ```python @overload @@ -398,7 +374,7 @@ def __truediv__(self, other: float) -> 'AnyAngle':
- Source code + Source code ```python @overload @@ -411,7 +387,7 @@ def __truediv__(self, other: 'AnyAngle') -> float:
- Source code + Source code ```python def __truediv__(self, other): diff --git a/docs/en/api/mp_math/equation.md b/docs/en/api/mp_math/equation.md index 0a63f52..6a8b9f6 100644 --- a/docs/en/api/mp_math/equation.md +++ b/docs/en/api/mp_math/equation.md @@ -4,28 +4,22 @@ title: mbcp.mp_math.equation ### *func* `get_partial_derivative_func(func: MultiVarsFunc = EPSILON) -> MultiVarsFunc` -求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**Description**: 求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**Return**: 偏导函数 **Arguments**: - -- func: 函数 - -- var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) - -- epsilon: 偏移量 - -**Return**: - -- 偏导函数 +> - func: 函数 +> - var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) +> - epsilon: 偏移量 **Raises**: - -- ValueError 无效变量类型 - +> - ValueError 无效变量类型
- Source code + Source code ```python def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number=EPSILON) -> MultiVarsFunc: @@ -66,7 +60,7 @@ def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...],
- Source code + Source code ```python def partial_derivative_func(*args: Var) -> Var: @@ -82,7 +76,7 @@ def partial_derivative_func(*args: Var) -> Var:
- Source code + Source code ```python def high_order_partial_derivative_func(*args: Var) -> Var: @@ -97,20 +91,17 @@ def high_order_partial_derivative_func(*args: Var) -> Var: ### *method* `__init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)` -曲线方程。 + +**Description**: 曲线方程。 **Arguments**: - -- x_func: x函数 - -- y_func: y函数 - -- z_func: z函数 - +> - x_func: x函数 +> - y_func: y函数 +> - z_func: z函数
- Source code + Source code ```python def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): @@ -130,18 +121,16 @@ def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): ### *method* `__call__(self) -> Point3 | tuple[Point3, ...]` -计算曲线上的点。 + +**Description**: 计算曲线上的点。 **Arguments**: - -- *t: - -- 参数: - +> - *t: +> - 参数:
- Source code + Source code ```python def __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]: diff --git a/docs/en/api/mp_math/line.md b/docs/en/api/mp_math/line.md index 3267541..8009a9b 100644 --- a/docs/en/api/mp_math/line.md +++ b/docs/en/api/mp_math/line.md @@ -5,18 +5,16 @@ title: mbcp.mp_math.line ### *method* `__init__(self, point: Point3, direction: Vector3)` -三维空间中的直线。由一个点和一个方向向量确定。 + +**Description**: 三维空间中的直线。由一个点和一个方向向量确定。 **Arguments**: - -- point: 直线上的一点 - -- direction: 直线的方向向量 - +> - point: 直线上的一点 +> - direction: 直线的方向向量
- Source code + Source code ```python def __init__(self, point: 'Point3', direction: 'Vector3'): @@ -34,22 +32,18 @@ def __init__(self, point: 'Point3', direction: 'Vector3'): ### *method* `approx(self, other: Line3, epsilon: float = APPROX) -> bool` -判断两条直线是否近似相等。 + +**Description**: 判断两条直线是否近似相等。 + +**Return**: 是否近似相等 **Arguments**: - -- other: 另一条直线 - -- epsilon: 误差 - -**Return**: - -- 是否近似相等 - +> - other: 另一条直线 +> - epsilon: 误差
- Source code + Source code ```python def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: @@ -68,24 +62,20 @@ def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Line3) -> AnyAngle` -计算直线和直线之间的夹角。 + +**Description**: 计算直线和直线之间的夹角。 + +**Return**: 夹角弧度 **Arguments**: - -- other: 另一条直线 - -**Return**: - -- 夹角弧度 +> - other: 另一条直线 **Raises**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- Source code + Source code ```python def cal_angle(self, other: 'Line3') -> 'AnyAngle': @@ -105,24 +95,20 @@ def cal_angle(self, other: 'Line3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Line3 | Point3) -> float` -计算直线和直线或点之间的距离。 + +**Description**: 计算直线和直线或点之间的距离。 + +**Return**: 距离 **Arguments**: - -- other: 平行直线或点 - -**Return**: - -- 距离 +> - other: 平行直线或点 **Raises**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- Source code + Source code ```python def cal_distance(self, other: 'Line3 | Point3') -> float: @@ -155,26 +141,21 @@ def cal_distance(self, other: 'Line3 | Point3') -> float: ### *method* `cal_intersection(self, other: Line3) -> Point3` -计算两条直线的交点。 + +**Description**: 计算两条直线的交点。 + +**Return**: 交点 **Arguments**: - -- other: 另一条直线 - -**Return**: - -- 交点 +> - other: 另一条直线 **Raises**: - -- ValueError 直线平行 - -- ValueError 直线不共面 - +> - ValueError 直线平行 +> - ValueError 直线不共面
- Source code + Source code ```python def cal_intersection(self, other: 'Line3') -> 'Point3': @@ -199,20 +180,17 @@ def cal_intersection(self, other: 'Line3') -> 'Point3': ### *method* `cal_perpendicular(self, point: Point3) -> Line3` -计算直线经过指定点p的垂线。 + +**Description**: 计算直线经过指定点p的垂线。 + +**Return**: 垂线 **Arguments**: - -- point: 指定点 - -**Return**: - -- 垂线 - +> - point: 指定点
- Source code + Source code ```python def cal_perpendicular(self, point: 'Point3') -> 'Line3': @@ -230,20 +208,17 @@ def cal_perpendicular(self, point: 'Point3') -> 'Line3': ### *method* `get_point(self, t: RealNumber) -> Point3` -获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**Description**: 获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**Return**: 点 **Arguments**: - -- t: 参数t - -**Return**: - -- 点 - +> - t: 参数t
- Source code + Source code ```python def get_point(self, t: RealNumber) -> 'Point3': @@ -261,16 +236,14 @@ def get_point(self, t: RealNumber) -> 'Point3': ### *method* `get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]` -获取直线的参数方程。 -**Return**: - -- x(t), y(t), z(t) +**Description**: 获取直线的参数方程。 +**Return**: x(t), y(t), z(t)
- Source code + Source code ```python def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]: @@ -286,22 +259,18 @@ def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, ### *method* `is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool` -判断两条直线是否近似平行。 + +**Description**: 判断两条直线是否近似平行。 + +**Return**: 是否近似平行 **Arguments**: - -- other: 另一条直线 - -- epsilon: 误差 - -**Return**: - -- 是否近似平行 - +> - other: 另一条直线 +> - epsilon: 误差
- Source code + Source code ```python def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: @@ -320,20 +289,17 @@ def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: ### *method* `is_parallel(self, other: Line3) -> bool` -判断两条直线是否平行。 + +**Description**: 判断两条直线是否平行。 + +**Return**: 是否平行 **Arguments**: - -- other: 另一条直线 - -**Return**: - -- 是否平行 - +> - other: 另一条直线
- Source code + Source code ```python def is_parallel(self, other: 'Line3') -> bool: @@ -351,20 +317,17 @@ def is_parallel(self, other: 'Line3') -> bool: ### *method* `is_collinear(self, other: Line3) -> bool` -判断两条直线是否共线。 + +**Description**: 判断两条直线是否共线。 + +**Return**: 是否共线 **Arguments**: - -- other: 另一条直线 - -**Return**: - -- 是否共线 - +> - other: 另一条直线
- Source code + Source code ```python def is_collinear(self, other: 'Line3') -> bool: @@ -382,20 +345,17 @@ def is_collinear(self, other: 'Line3') -> bool: ### *method* `is_point_on(self, point: Point3) -> bool` -判断点是否在直线上。 + +**Description**: 判断点是否在直线上。 + +**Return**: 是否在直线上 **Arguments**: - -- point: 点 - -**Return**: - -- 是否在直线上 - +> - point: 点
- Source code + Source code ```python def is_point_on(self, point: 'Point3') -> bool: @@ -413,21 +373,18 @@ def is_point_on(self, point: 'Point3') -> bool: ### *method* `is_coplanar(self, other: Line3) -> bool` -判断两条直线是否共面。 + +**Description**: 判断两条直线是否共面。 充要条件:两直线方向向量的叉乘与两直线上任意一点的向量的点积为0。 +**Return**: 是否共面 + **Arguments**: - -- other: 另一条直线 - -**Return**: - -- 是否共面 - +> - other: 另一条直线
- Source code + Source code ```python def is_coplanar(self, other: 'Line3') -> bool: @@ -446,15 +403,15 @@ def is_coplanar(self, other: 'Line3') -> bool: ### *method* `simplify(self)` -简化直线方程,等价相等。 + +**Description**: 简化直线方程,等价相等。 自体简化,不返回值。 按照可行性一次对x y z 化 0 处理,并对向量单位化 -
- Source code + Source code ```python def simplify(self): @@ -478,22 +435,18 @@ def simplify(self): ### *method* `from_two_points(cls, p1: Point3, p2: Point3) -> Line3` -工厂函数 由两点构造直线。 + +**Description**: 工厂函数 由两点构造直线。 + +**Return**: 直线 **Arguments**: - -- p1: 点1 - -- p2: 点2 - -**Return**: - -- 直线 - +> - p1: 点1 +> - p2: 点2
- Source code + Source code ```python @classmethod @@ -514,20 +467,17 @@ def from_two_points(cls, p1: 'Point3', p2: 'Point3') -> 'Line3': ### *method* `__and__(self, other: Line3) -> Line3 | Point3 | None` -计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**Description**: 计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**Return**: 交点 **Arguments**: - -- other: 另一条直线 - -**Return**: - -- 交点 - +> - other: 另一条直线
- Source code + Source code ```python def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': @@ -550,18 +500,17 @@ def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': ### *method* `__eq__(self, other) -> bool` -判断两条直线是否等价。 + +**Description**: 判断两条直线是否等价。 v1 // v2 ∧ (p1 - p2) // v1 **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __eq__(self, other) -> bool: diff --git a/docs/en/api/mp_math/plane.md b/docs/en/api/mp_math/plane.md index fcdcb19..976e9af 100644 --- a/docs/en/api/mp_math/plane.md +++ b/docs/en/api/mp_math/plane.md @@ -5,22 +5,18 @@ title: mbcp.mp_math.plane ### *method* `__init__(self, a: float, b: float, c: float, d: float)` -平面方程:ax + by + cz + d = 0 + +**Description**: 平面方程:ax + by + cz + d = 0 **Arguments**: - -- a: x系数 - -- b: y系数 - -- c: z系数 - -- d: 常数项 - +> - a: x系数 +> - b: y系数 +> - c: z系数 +> - d: 常数项
- Source code + Source code ```python def __init__(self, a: float, b: float, c: float, d: float): @@ -42,20 +38,17 @@ def __init__(self, a: float, b: float, c: float, d: float): ### *method* `approx(self, other: Plane3) -> bool` -判断两个平面是否近似相等。 + +**Description**: 判断两个平面是否近似相等。 + +**Return**: 是否近似相等 **Arguments**: - -- other: 另一个平面 - -**Return**: - -- 是否近似相等 - +> - other: 另一个平面
- Source code + Source code ```python def approx(self, other: 'Plane3') -> bool: @@ -83,24 +76,20 @@ def approx(self, other: 'Plane3') -> bool: ### *method* `cal_angle(self, other: Line3 | Plane3) -> AnyAngle` -计算平面与平面之间的夹角。 + +**Description**: 计算平面与平面之间的夹角。 + +**Return**: 夹角弧度 **Arguments**: - -- other: 另一个平面 - -**Return**: - -- 夹角弧度 +> - other: 另一个平面 **Raises**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- Source code + Source code ```python def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': @@ -125,24 +114,20 @@ def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Plane3 | Point3) -> float` -计算平面与平面或点之间的距离。 + +**Description**: 计算平面与平面或点之间的距离。 + +**Return**: 距离 **Arguments**: - -- other: 另一个平面或点 - -**Return**: - -- 距离 +> - other: 另一个平面或点 **Raises**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- Source code + Source code ```python def cal_distance(self, other: 'Plane3 | Point3') -> float: @@ -167,20 +152,17 @@ def cal_distance(self, other: 'Plane3 | Point3') -> float: ### *method* `cal_intersection_line3(self, other: Plane3) -> Line3` -计算两平面的交线。 + +**Description**: 计算两平面的交线。 + +**Return**: 两平面的交线 **Arguments**: - -- other: 另一个平面 - -**Return**: - -- 两平面的交线 - +> - other: 另一个平面
- Source code + Source code ```python def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': @@ -215,24 +197,20 @@ def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': ### *method* `cal_intersection_point3(self, other: Line3) -> Point3` -计算平面与直线的交点。 + +**Description**: 计算平面与直线的交点。 + +**Return**: 交点 **Arguments**: - -- other: 不与平面平行或在平面上的直线 - -**Return**: - -- 交点 +> - other: 不与平面平行或在平面上的直线 **Raises**: - -- ValueError 平面与直线平行或重合 - +> - ValueError 平面与直线平行或重合
- Source code + Source code ```python def cal_intersection_point3(self, other: 'Line3') -> 'Point3': @@ -256,20 +234,17 @@ def cal_intersection_point3(self, other: 'Line3') -> 'Point3': ### *method* `cal_parallel_plane3(self, point: Point3) -> Plane3` -计算平行于该平面且过指定点的平面。 + +**Description**: 计算平行于该平面且过指定点的平面。 + +**Return**: 所求平面 **Arguments**: - -- point: 指定点 - -**Return**: - -- 所求平面 - +> - point: 指定点
- Source code + Source code ```python def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': @@ -287,20 +262,17 @@ def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': ### *method* `is_parallel(self, other: Plane3) -> bool` -判断两个平面是否平行。 + +**Description**: 判断两个平面是否平行。 + +**Return**: 是否平行 **Arguments**: - -- other: 另一个平面 - -**Return**: - -- 是否平行 - +> - other: 另一个平面
- Source code + Source code ```python def is_parallel(self, other: 'Plane3') -> bool: @@ -319,16 +291,14 @@ def is_parallel(self, other: 'Plane3') -> bool: ### *method* `normal(self) -> Vector3` -平面的法向量。 -**Return**: - -- 法向量 +**Description**: 平面的法向量。 +**Return**: 法向量
- Source code + Source code ```python @property @@ -346,22 +316,18 @@ def normal(self) -> 'Vector3': ### *method* `from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3` -工厂函数 由点和法向量构造平面(点法式构造)。 + +**Description**: 工厂函数 由点和法向量构造平面(点法式构造)。 + +**Return**: 平面 **Arguments**: - -- point: 平面上的一点 - -- normal: 法向量 - -**Return**: - -- 平面 - +> - point: 平面上的一点 +> - normal: 法向量
- Source code + Source code ```python @classmethod @@ -384,24 +350,19 @@ def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3': ### *method* `from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3` -工厂函数 由三点构造平面。 + +**Description**: 工厂函数 由三点构造平面。 + +**Return**: 平面 **Arguments**: - -- p1: 点1 - -- p2: 点2 - -- p3: 点3 - -**Return**: - -- 平面 - +> - p1: 点1 +> - p2: 点2 +> - p3: 点3
- Source code + Source code ```python @classmethod @@ -426,22 +387,18 @@ def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3' ### *method* `from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3` -工厂函数 由两直线构造平面。 + +**Description**: 工厂函数 由两直线构造平面。 + +**Return**: 平面 **Arguments**: - -- l1: 直线1 - -- l2: 直线2 - -**Return**: - -- 平面 - +> - l1: 直线1 +> - l2: 直线2
- Source code + Source code ```python @classmethod @@ -466,22 +423,18 @@ def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3': ### *method* `from_point_and_line(cls, point: Point3, line: Line3) -> Plane3` -工厂函数 由点和直线构造平面。 + +**Description**: 工厂函数 由点和直线构造平面。 + +**Return**: 平面 **Arguments**: - -- point: 面上一点 - -- line: 面上直线,不包含点 - -**Return**: - -- 平面 - +> - point: 面上一点 +> - line: 面上直线,不包含点
- Source code + Source code ```python @classmethod @@ -503,7 +456,7 @@ def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
- Source code + Source code ```python @overload @@ -517,7 +470,7 @@ def __and__(self, other: 'Line3') -> 'Point3 | None':
- Source code + Source code ```python @overload @@ -529,20 +482,17 @@ def __and__(self, other: 'Plane3') -> 'Line3 | None': ### *method* `__and__(self, other)` -取两平面的交集(人话:交线) + +**Description**: 取两平面的交集(人话:交线) + +**Return**: 不平行平面的交线,平面平行返回None **Arguments**: - -- other: - -**Return**: - -- 不平行平面的交线,平面平行返回None - +> - other:
- Source code + Source code ```python def __and__(self, other): @@ -570,7 +520,7 @@ def __and__(self, other):
- Source code + Source code ```python def __eq__(self, other) -> bool: @@ -582,7 +532,7 @@ def __eq__(self, other) -> bool:
- Source code + Source code ```python def __rand__(self, other: 'Line3') -> 'Point3': diff --git a/docs/en/api/mp_math/point.md b/docs/en/api/mp_math/point.md index 7b5e6af..0533243 100644 --- a/docs/en/api/mp_math/point.md +++ b/docs/en/api/mp_math/point.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.point ### *method* `__init__(self, x: float, y: float, z: float)` -笛卡尔坐标系中的点。 + +**Description**: 笛卡尔坐标系中的点。 **Arguments**: - -- x: x 坐标 - -- y: y 坐标 - -- z: z 坐标 - +> - x: x 坐标 +> - y: y 坐标 +> - z: z 坐标
- Source code + Source code ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Point3, epsilon: float = APPROX) -> bool` -判断两个点是否近似相等。 + +**Description**: 判断两个点是否近似相等。 + +**Return**: 是否近似相等 **Arguments**: - -- other: - -- epsilon: - -**Return**: - -- 是否近似相等 - +> - other: +> - epsilon:
- Source code + Source code ```python def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool: @@ -75,7 +68,7 @@ def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool:
- Source code + Source code ```python @overload @@ -89,7 +82,7 @@ def __add__(self, other: 'Vector3') -> 'Point3':
- Source code + Source code ```python @overload @@ -101,17 +94,16 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -P + V -> P + +**Description**: P + V -> P P + P -> P **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __add__(self, other): @@ -129,16 +121,15 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个点是否相等。 + +**Description**: 判断两个点是否相等。 **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __eq__(self, other): @@ -155,18 +146,17 @@ def __eq__(self, other): ### *method* `self - other: Point3 => Vector3` -P - P -> V + +**Description**: P - P -> V P - V -> P 已在 :class:`Vector3` 中实现 **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __sub__(self, other: 'Point3') -> 'Vector3': diff --git a/docs/en/api/mp_math/segment.md b/docs/en/api/mp_math/segment.md index 4fff8a2..9a2fac8 100644 --- a/docs/en/api/mp_math/segment.md +++ b/docs/en/api/mp_math/segment.md @@ -5,14 +5,14 @@ title: mbcp.mp_math.segment ### *method* `__init__(self, p1: Point3, p2: Point3)` -三维空间中的线段。 + +**Description**: 三维空间中的线段。 :param p1: :param p2: -
- Source code + Source code ```python def __init__(self, p1: 'Point3', p2: 'Point3'): diff --git a/docs/en/api/mp_math/utils.md b/docs/en/api/mp_math/utils.md index d1cfdad..aaee23c 100644 --- a/docs/en/api/mp_math/utils.md +++ b/docs/en/api/mp_math/utils.md @@ -4,24 +4,19 @@ title: mbcp.mp_math.utils ### *func* `clamp() -> float` -区间限定函数 + +**Description**: 区间限定函数 + +**Return**: 限制后的值 **Arguments**: - -- x: 待限定的值 - -- min_: 最小值 - -- max_: 最大值 - -**Return**: - -- 限制后的值 - +> - x: 待限定的值 +> - min_: 最小值 +> - max_: 最大值
- Source code + Source code ```python def clamp(x: float, min_: float, max_: float) -> float: @@ -42,24 +37,19 @@ def clamp(x: float, min_: float, max_: float) -> float: ### *func* `approx(x: float = 0.0, y: float = APPROX) -> bool` -判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**Description**: 判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**Return**: 是否近似相等 **Arguments**: - -- x: 数1 - -- y: 数2 - -- epsilon: 误差 - -**Return**: - -- 是否近似相等 - +> - x: 数1 +> - y: 数2 +> - epsilon: 误差
- Source code + Source code ```python def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: @@ -79,22 +69,18 @@ def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: ### *func* `sign(x: float = False) -> str` -获取数的符号。 + +**Description**: 获取数的符号。 + +**Return**: 符号 + - "" **Arguments**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**Return**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- Source code + Source code ```python def sign(x: float, only_neg: bool=False) -> str: @@ -117,25 +103,21 @@ def sign(x: float, only_neg: bool=False) -> str: ### *func* `sign_format(x: float = False) -> str` -格式化符号数 + +**Description**: 格式化符号数 -1 -> -1 1 -> +1 0 -> "" +**Return**: 符号 + - "" + **Arguments**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**Return**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- Source code + Source code ```python def sign_format(x: float, only_neg: bool=False) -> str: @@ -163,7 +145,7 @@ def sign_format(x: float, only_neg: bool=False) -> str:
- Source code + Source code ```python def __init__(self, value: RealNumber): @@ -175,7 +157,7 @@ def __init__(self, value: RealNumber):
- Source code + Source code ```python def __eq__(self, other): @@ -196,7 +178,7 @@ def __eq__(self, other):
- Source code + Source code ```python def raise_type_error(self, other): @@ -208,7 +190,7 @@ def raise_type_error(self, other):
- Source code + Source code ```python def __ne__(self, other): diff --git a/docs/en/api/mp_math/vector.md b/docs/en/api/mp_math/vector.md index 083c669..2b01d71 100644 --- a/docs/en/api/mp_math/vector.md +++ b/docs/en/api/mp_math/vector.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.vector ### *method* `__init__(self, x: float, y: float, z: float)` -3维向量 + +**Description**: 3维向量 **Arguments**: - -- x: x轴分量 - -- y: y轴分量 - -- z: z轴分量 - +> - x: x轴分量 +> - y: y轴分量 +> - z: z轴分量
- Source code + Source code ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似相等。 + +**Description**: 判断两个向量是否近似相等。 + +**Return**: 是否近似相等 **Arguments**: - -- other: - -- epsilon: - -**Return**: - -- 是否近似相等 - +> - other: +> - epsilon:
- Source code + Source code ```python def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -73,20 +66,17 @@ def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Vector3) -> AnyAngle` -计算两个向量之间的夹角。 + +**Description**: 计算两个向量之间的夹角。 + +**Return**: 夹角 **Arguments**: - -- other: 另一个向量 - -**Return**: - -- 夹角 - +> - other: 另一个向量
- Source code + Source code ```python def cal_angle(self, other: 'Vector3') -> 'AnyAngle': @@ -104,24 +94,21 @@ def cal_angle(self, other: 'Vector3') -> 'AnyAngle': ### *method* `cross(self, other: Vector3) -> Vector3` -向量积 叉乘:v1 cross v2 -> v3 + +**Description**: 向量积 叉乘:v1 cross v2 -> v3 叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。 +**Return**: 行列式的结果 + **Arguments**: - -- other: - -**Return**: - -- 行列式的结果 - +> - other:
- Source code + Source code ```python def cross(self, other: 'Vector3') -> 'Vector3': @@ -151,22 +138,18 @@ def cross(self, other: 'Vector3') -> 'Vector3': ### *method* `is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似平行。 + +**Description**: 判断两个向量是否近似平行。 + +**Return**: 是否近似平行 **Arguments**: - -- other: 另一个向量 - -- epsilon: 允许的误差 - -**Return**: - -- 是否近似平行 - +> - other: 另一个向量 +> - epsilon: 允许的误差
- Source code + Source code ```python def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -185,20 +168,17 @@ def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `is_parallel(self, other: Vector3) -> bool` -判断两个向量是否平行。 + +**Description**: 判断两个向量是否平行。 + +**Return**: 是否平行 **Arguments**: - -- other: 另一个向量 - -**Return**: - -- 是否平行 - +> - other: 另一个向量
- Source code + Source code ```python def is_parallel(self, other: 'Vector3') -> bool: @@ -216,14 +196,14 @@ def is_parallel(self, other: 'Vector3') -> bool: ### *method* `normalize(self)` -将向量归一化。 + +**Description**: 将向量归一化。 自体归一化,不返回值。 -
- Source code + Source code ```python def normalize(self): @@ -245,10 +225,8 @@ def normalize(self): - -
- Source code + Source code ```python @property @@ -265,16 +243,14 @@ def np_array(self) -> 'np.ndarray': ### *method* `length(self) -> float` -向量的模。 -**Return**: - -- 模 +**Description**: 向量的模。 +**Return**: 模
- Source code + Source code ```python @property @@ -292,16 +268,14 @@ def length(self) -> float: ### *method* `unit(self) -> Vector3` -获取该向量的单位向量。 -**Return**: - -- 单位向量 +**Description**: 获取该向量的单位向量。 +**Return**: 单位向量
- Source code + Source code ```python @property @@ -319,7 +293,7 @@ def unit(self) -> 'Vector3':
- Source code + Source code ```python def __abs__(self): @@ -332,7 +306,7 @@ def __abs__(self):
- Source code + Source code ```python @overload @@ -346,7 +320,7 @@ def __add__(self, other: 'Vector3') -> 'Vector3':
- Source code + Source code ```python @overload @@ -358,18 +332,17 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -V + P -> P + +**Description**: V + P -> P V + V -> V **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __add__(self, other): @@ -394,20 +367,17 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个向量是否相等。 + +**Description**: 判断两个向量是否相等。 + +**Return**: 是否相等 **Arguments**: - -- other: - -**Return**: - -- 是否相等 - +> - other:
- Source code + Source code ```python def __eq__(self, other): @@ -425,16 +395,16 @@ def __eq__(self, other): ### *method* `self + other: Point3 => Point3` -P + V -> P + +**Description**: P + V -> P 别去点那边实现了。 :param other: :return: -
- Source code + Source code ```python def __radd__(self, other: 'Point3') -> 'Point3': @@ -454,7 +424,7 @@ def __radd__(self, other: 'Point3') -> 'Point3':
- Source code + Source code ```python @overload @@ -468,7 +438,7 @@ def __sub__(self, other: 'Vector3') -> 'Vector3':
- Source code + Source code ```python @overload @@ -480,18 +450,17 @@ def __sub__(self, other: 'Point3') -> 'Point3': ### *method* `self - other` -V - P -> P + +**Description**: V - P -> P V - V -> V **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __sub__(self, other): @@ -515,16 +484,15 @@ def __sub__(self, other): ### *method* `self - other: Point3` -P - V -> P + +**Description**: P - V -> P **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __rsub__(self, other: 'Point3'): @@ -547,7 +515,7 @@ def __rsub__(self, other: 'Point3'):
- Source code + Source code ```python @overload @@ -561,7 +529,7 @@ def __mul__(self, other: 'Vector3') -> 'Vector3':
- Source code + Source code ```python @overload @@ -573,16 +541,15 @@ def __mul__(self, other: RealNumber) -> 'Vector3': ### *method* `self * other: int | float | Vector3 => Vector3` -数组运算 非点乘。点乘使用@,叉乘使用cross。 + +**Description**: 数组运算 非点乘。点乘使用@,叉乘使用cross。 **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __mul__(self, other: 'int | float | Vector3') -> 'Vector3': @@ -606,7 +573,7 @@ def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
- Source code + Source code ```python def __rmul__(self, other: 'RealNumber') -> 'Vector3': @@ -617,16 +584,15 @@ def __rmul__(self, other: 'RealNumber') -> 'Vector3': ### *method* `self @ other: Vector3 => RealNumber` -点乘。 + +**Description**: 点乘。 **Arguments**: - -- other: - +> - other:
- Source code + Source code ```python def __matmul__(self, other: 'Vector3') -> 'RealNumber': @@ -644,7 +610,7 @@ def __matmul__(self, other: 'Vector3') -> 'RealNumber':
- Source code + Source code ```python def __truediv__(self, other: RealNumber) -> 'Vector3': @@ -656,7 +622,7 @@ def __truediv__(self, other: RealNumber) -> 'Vector3':
- Source code + Source code ```python def __neg__(self): diff --git a/docs/en/api/presets/model/index.md b/docs/en/api/presets/model/index.md index 5ef8faf..b7b158c 100644 --- a/docs/en/api/presets/model/index.md +++ b/docs/en/api/presets/model/index.md @@ -6,22 +6,18 @@ title: mbcp.presets.model ### *method* `sphere(radius: float, density: float)` -生成球体上的点集。 + +**Description**: 生成球体上的点集。 + +**Return**: List[Point3]: 球体上的点集。 **Arguments**: - -- radius: - -- density: - -**Return**: - -- List[Point3]: 球体上的点集。 - +> - radius: +> - density:
- Source code + Source code ```python @staticmethod diff --git a/docs/ja/api/mp_math/angle.md b/docs/ja/api/mp_math/angle.md index afc0439..01d154b 100644 --- a/docs/ja/api/mp_math/angle.md +++ b/docs/ja/api/mp_math/angle.md @@ -1,18 +1,21 @@ --- title: mbcp.mp_math.angle --- +### **class** `Angle` +### **class** `AnyAngle(Angle)` +### *method* `__init__(self, value: float, is_radian: bool = False)` -任意角度。 +**説明**: 任意角度。 -- value: 角度或弧度值 - -- is_radian: 是否为弧度,默认为否 - +**引数**: +> - value: 角度或弧度值 +> - is_radian: 是否为弧度,默认为否
+ ソースコード ```python def __init__(self, value: float, is_radian: bool=False): @@ -30,16 +33,17 @@ def __init__(self, value: float, is_radian: bool=False):
### `@property` +### *method* `complementary(self) -> AnyAngle` -余角:两角的和为90°。 +**説明**: 余角:两角的和为90°。 -- 余角 - +**戻り値**: 余角
+ ソースコード ```python @property @@ -54,16 +58,17 @@ def complementary(self) -> 'AnyAngle':
### `@property` +### *method* `supplementary(self) -> AnyAngle` -补角:两角的和为180°。 +**説明**: 补角:两角的和为180°。 -- 补角 - +**戻り値**: 补角
+ ソースコード ```python @property @@ -78,16 +83,17 @@ def supplementary(self) -> 'AnyAngle':
### `@property` +### *method* `degree(self) -> float` -角度。 +**説明**: 角度。 -- 弧度 - +**戻り値**: 弧度
+ ソースコード ```python @property @@ -102,16 +108,17 @@ def degree(self) -> float:
### `@property` +### *method* `minimum_positive(self) -> AnyAngle` -最小正角。 +**説明**: 最小正角。 -- 最小正角度 - +**戻り値**: 最小正角度
+ ソースコード ```python @property @@ -126,16 +133,17 @@ def minimum_positive(self) -> 'AnyAngle':
### `@property` +### *method* `maximum_negative(self) -> AnyAngle` -最大负角。 +**説明**: 最大负角。 -- 最大负角度 - +**戻り値**: 最大负角度
+ ソースコード ```python @property @@ -150,16 +158,17 @@ def maximum_negative(self) -> 'AnyAngle':
### `@property` +### *method* `sin(self) -> float` -正弦值。 +**説明**: 正弦值。 -- 正弦值 - +**戻り値**: 正弦值
+ ソースコード ```python @property @@ -174,16 +183,17 @@ def sin(self) -> float:
### `@property` +### *method* `cos(self) -> float` -余弦值。 +**説明**: 余弦值。 -- 余弦值 - +**戻り値**: 余弦值
+ ソースコード ```python @property @@ -198,16 +208,17 @@ def cos(self) -> float:
### `@property` +### *method* `tan(self) -> float` -正切值。 +**説明**: 正切值。 -- 正切值 - +**戻り値**: 正切值
+ ソースコード ```python @property @@ -222,16 +233,17 @@ def tan(self) -> float:
### `@property` +### *method* `cot(self) -> float` -余切值。 +**説明**: 余切值。 -- 余切值 - +**戻り値**: 余切值
+ ソースコード ```python @property @@ -246,16 +258,17 @@ def cot(self) -> float:
### `@property` +### *method* `sec(self) -> float` -正割值。 +**説明**: 正割值。 -- 正割值 - +**戻り値**: 正割值
+ ソースコード ```python @property @@ -270,16 +283,17 @@ def sec(self) -> float:
### `@property` +### *method* `csc(self) -> float` -余割值。 +**説明**: 余割值。 -- 余割值 - +**戻り値**: 余割值
+ ソースコード ```python @property @@ -293,9 +307,11 @@ def csc(self) -> float: ```
+### *method* `self + other: AnyAngle => AnyAngle`
+ ソースコード ```python def __add__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -303,9 +319,11 @@ def __add__(self, other: 'AnyAngle') -> 'AnyAngle': ```
+### *method* `__eq__(self, other)`
+ ソースコード ```python def __eq__(self, other): @@ -313,9 +331,11 @@ def __eq__(self, other): ```
+### *method* `self - other: AnyAngle => AnyAngle`
+ ソースコード ```python def __sub__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -323,9 +343,11 @@ def __sub__(self, other: 'AnyAngle') -> 'AnyAngle': ```
+### *method* `self * other: float => AnyAngle`
+ ソースコード ```python def __mul__(self, other: float) -> 'AnyAngle': @@ -334,9 +356,11 @@ def __mul__(self, other: float) -> 'AnyAngle':
### `@overload` +### *method* `self / other: float => AnyAngle`
+ ソースコード ```python @overload @@ -346,9 +370,11 @@ def __truediv__(self, other: float) -> 'AnyAngle':
### `@overload` +### *method* `self / other: AnyAngle => float`
+ ソースコード ```python @overload @@ -357,9 +383,11 @@ def __truediv__(self, other: 'AnyAngle') -> float: ```
+### *method* `self / other`
+ ソースコード ```python def __truediv__(self, other): diff --git a/docs/ja/api/mp_math/equation.md b/docs/ja/api/mp_math/equation.md index af717d2..0e771ec 100644 --- a/docs/ja/api/mp_math/equation.md +++ b/docs/ja/api/mp_math/equation.md @@ -4,28 +4,22 @@ title: mbcp.mp_math.equation ### *func* `get_partial_derivative_func(func: MultiVarsFunc = EPSILON) -> MultiVarsFunc` -求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**説明**: 求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**戻り値**: 偏导函数 **引数**: - -- func: 函数 - -- var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) - -- epsilon: 偏移量 - -**戻り値**: - -- 偏导函数 +> - func: 函数 +> - var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) +> - epsilon: 偏移量 **例外**: - -- ValueError 无效变量类型 - +> - ValueError 无效变量类型
- ソースコード + ソースコード ```python def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number=EPSILON) -> MultiVarsFunc: @@ -66,7 +60,7 @@ def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...],
- ソースコード + ソースコード ```python def partial_derivative_func(*args: Var) -> Var: @@ -82,7 +76,7 @@ def partial_derivative_func(*args: Var) -> Var:
- ソースコード + ソースコード ```python def high_order_partial_derivative_func(*args: Var) -> Var: @@ -97,20 +91,17 @@ def high_order_partial_derivative_func(*args: Var) -> Var: ### *method* `__init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)` -曲线方程。 + +**説明**: 曲线方程。 **引数**: - -- x_func: x函数 - -- y_func: y函数 - -- z_func: z函数 - +> - x_func: x函数 +> - y_func: y函数 +> - z_func: z函数
- ソースコード + ソースコード ```python def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): @@ -130,18 +121,16 @@ def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): ### *method* `__call__(self) -> Point3 | tuple[Point3, ...]` -计算曲线上的点。 + +**説明**: 计算曲线上的点。 **引数**: - -- *t: - -- 参数: - +> - *t: +> - 参数:
- ソースコード + ソースコード ```python def __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]: diff --git a/docs/ja/api/mp_math/line.md b/docs/ja/api/mp_math/line.md index 15d1fd5..8cd9bf9 100644 --- a/docs/ja/api/mp_math/line.md +++ b/docs/ja/api/mp_math/line.md @@ -5,18 +5,16 @@ title: mbcp.mp_math.line ### *method* `__init__(self, point: Point3, direction: Vector3)` -三维空间中的直线。由一个点和一个方向向量确定。 + +**説明**: 三维空间中的直线。由一个点和一个方向向量确定。 **引数**: - -- point: 直线上的一点 - -- direction: 直线的方向向量 - +> - point: 直线上的一点 +> - direction: 直线的方向向量
- ソースコード + ソースコード ```python def __init__(self, point: 'Point3', direction: 'Vector3'): @@ -34,22 +32,18 @@ def __init__(self, point: 'Point3', direction: 'Vector3'): ### *method* `approx(self, other: Line3, epsilon: float = APPROX) -> bool` -判断两条直线是否近似相等。 + +**説明**: 判断两条直线是否近似相等。 + +**戻り値**: 是否近似相等 **引数**: - -- other: 另一条直线 - -- epsilon: 误差 - -**戻り値**: - -- 是否近似相等 - +> - other: 另一条直线 +> - epsilon: 误差
- ソースコード + ソースコード ```python def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: @@ -68,24 +62,20 @@ def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Line3) -> AnyAngle` -计算直线和直线之间的夹角。 + +**説明**: 计算直线和直线之间的夹角。 + +**戻り値**: 夹角弧度 **引数**: - -- other: 另一条直线 - -**戻り値**: - -- 夹角弧度 +> - other: 另一条直线 **例外**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- ソースコード + ソースコード ```python def cal_angle(self, other: 'Line3') -> 'AnyAngle': @@ -105,24 +95,20 @@ def cal_angle(self, other: 'Line3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Line3 | Point3) -> float` -计算直线和直线或点之间的距离。 + +**説明**: 计算直线和直线或点之间的距离。 + +**戻り値**: 距离 **引数**: - -- other: 平行直线或点 - -**戻り値**: - -- 距离 +> - other: 平行直线或点 **例外**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- ソースコード + ソースコード ```python def cal_distance(self, other: 'Line3 | Point3') -> float: @@ -155,26 +141,21 @@ def cal_distance(self, other: 'Line3 | Point3') -> float: ### *method* `cal_intersection(self, other: Line3) -> Point3` -计算两条直线的交点。 + +**説明**: 计算两条直线的交点。 + +**戻り値**: 交点 **引数**: - -- other: 另一条直线 - -**戻り値**: - -- 交点 +> - other: 另一条直线 **例外**: - -- ValueError 直线平行 - -- ValueError 直线不共面 - +> - ValueError 直线平行 +> - ValueError 直线不共面
- ソースコード + ソースコード ```python def cal_intersection(self, other: 'Line3') -> 'Point3': @@ -199,20 +180,17 @@ def cal_intersection(self, other: 'Line3') -> 'Point3': ### *method* `cal_perpendicular(self, point: Point3) -> Line3` -计算直线经过指定点p的垂线。 + +**説明**: 计算直线经过指定点p的垂线。 + +**戻り値**: 垂线 **引数**: - -- point: 指定点 - -**戻り値**: - -- 垂线 - +> - point: 指定点
- ソースコード + ソースコード ```python def cal_perpendicular(self, point: 'Point3') -> 'Line3': @@ -230,20 +208,17 @@ def cal_perpendicular(self, point: 'Point3') -> 'Line3': ### *method* `get_point(self, t: RealNumber) -> Point3` -获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**説明**: 获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**戻り値**: 点 **引数**: - -- t: 参数t - -**戻り値**: - -- 点 - +> - t: 参数t
- ソースコード + ソースコード ```python def get_point(self, t: RealNumber) -> 'Point3': @@ -261,16 +236,14 @@ def get_point(self, t: RealNumber) -> 'Point3': ### *method* `get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]` -获取直线的参数方程。 -**戻り値**: - -- x(t), y(t), z(t) +**説明**: 获取直线的参数方程。 +**戻り値**: x(t), y(t), z(t)
- ソースコード + ソースコード ```python def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]: @@ -286,22 +259,18 @@ def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, ### *method* `is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool` -判断两条直线是否近似平行。 + +**説明**: 判断两条直线是否近似平行。 + +**戻り値**: 是否近似平行 **引数**: - -- other: 另一条直线 - -- epsilon: 误差 - -**戻り値**: - -- 是否近似平行 - +> - other: 另一条直线 +> - epsilon: 误差
- ソースコード + ソースコード ```python def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: @@ -320,20 +289,17 @@ def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: ### *method* `is_parallel(self, other: Line3) -> bool` -判断两条直线是否平行。 + +**説明**: 判断两条直线是否平行。 + +**戻り値**: 是否平行 **引数**: - -- other: 另一条直线 - -**戻り値**: - -- 是否平行 - +> - other: 另一条直线
- ソースコード + ソースコード ```python def is_parallel(self, other: 'Line3') -> bool: @@ -351,20 +317,17 @@ def is_parallel(self, other: 'Line3') -> bool: ### *method* `is_collinear(self, other: Line3) -> bool` -判断两条直线是否共线。 + +**説明**: 判断两条直线是否共线。 + +**戻り値**: 是否共线 **引数**: - -- other: 另一条直线 - -**戻り値**: - -- 是否共线 - +> - other: 另一条直线
- ソースコード + ソースコード ```python def is_collinear(self, other: 'Line3') -> bool: @@ -382,20 +345,17 @@ def is_collinear(self, other: 'Line3') -> bool: ### *method* `is_point_on(self, point: Point3) -> bool` -判断点是否在直线上。 + +**説明**: 判断点是否在直线上。 + +**戻り値**: 是否在直线上 **引数**: - -- point: 点 - -**戻り値**: - -- 是否在直线上 - +> - point: 点
- ソースコード + ソースコード ```python def is_point_on(self, point: 'Point3') -> bool: @@ -413,21 +373,18 @@ def is_point_on(self, point: 'Point3') -> bool: ### *method* `is_coplanar(self, other: Line3) -> bool` -判断两条直线是否共面。 + +**説明**: 判断两条直线是否共面。 充要条件:两直线方向向量的叉乘与两直线上任意一点的向量的点积为0。 +**戻り値**: 是否共面 + **引数**: - -- other: 另一条直线 - -**戻り値**: - -- 是否共面 - +> - other: 另一条直线
- ソースコード + ソースコード ```python def is_coplanar(self, other: 'Line3') -> bool: @@ -446,15 +403,15 @@ def is_coplanar(self, other: 'Line3') -> bool: ### *method* `simplify(self)` -简化直线方程,等价相等。 + +**説明**: 简化直线方程,等价相等。 自体简化,不返回值。 按照可行性一次对x y z 化 0 处理,并对向量单位化 -
- ソースコード + ソースコード ```python def simplify(self): @@ -478,22 +435,18 @@ def simplify(self): ### *method* `from_two_points(cls, p1: Point3, p2: Point3) -> Line3` -工厂函数 由两点构造直线。 + +**説明**: 工厂函数 由两点构造直线。 + +**戻り値**: 直线 **引数**: - -- p1: 点1 - -- p2: 点2 - -**戻り値**: - -- 直线 - +> - p1: 点1 +> - p2: 点2
- ソースコード + ソースコード ```python @classmethod @@ -514,20 +467,17 @@ def from_two_points(cls, p1: 'Point3', p2: 'Point3') -> 'Line3': ### *method* `__and__(self, other: Line3) -> Line3 | Point3 | None` -计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**説明**: 计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**戻り値**: 交点 **引数**: - -- other: 另一条直线 - -**戻り値**: - -- 交点 - +> - other: 另一条直线
- ソースコード + ソースコード ```python def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': @@ -550,18 +500,17 @@ def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': ### *method* `__eq__(self, other) -> bool` -判断两条直线是否等价。 + +**説明**: 判断两条直线是否等价。 v1 // v2 ∧ (p1 - p2) // v1 **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __eq__(self, other) -> bool: diff --git a/docs/ja/api/mp_math/plane.md b/docs/ja/api/mp_math/plane.md index adea50f..3a30a2a 100644 --- a/docs/ja/api/mp_math/plane.md +++ b/docs/ja/api/mp_math/plane.md @@ -5,22 +5,18 @@ title: mbcp.mp_math.plane ### *method* `__init__(self, a: float, b: float, c: float, d: float)` -平面方程:ax + by + cz + d = 0 + +**説明**: 平面方程:ax + by + cz + d = 0 **引数**: - -- a: x系数 - -- b: y系数 - -- c: z系数 - -- d: 常数项 - +> - a: x系数 +> - b: y系数 +> - c: z系数 +> - d: 常数项
- ソースコード + ソースコード ```python def __init__(self, a: float, b: float, c: float, d: float): @@ -42,20 +38,17 @@ def __init__(self, a: float, b: float, c: float, d: float): ### *method* `approx(self, other: Plane3) -> bool` -判断两个平面是否近似相等。 + +**説明**: 判断两个平面是否近似相等。 + +**戻り値**: 是否近似相等 **引数**: - -- other: 另一个平面 - -**戻り値**: - -- 是否近似相等 - +> - other: 另一个平面
- ソースコード + ソースコード ```python def approx(self, other: 'Plane3') -> bool: @@ -83,24 +76,20 @@ def approx(self, other: 'Plane3') -> bool: ### *method* `cal_angle(self, other: Line3 | Plane3) -> AnyAngle` -计算平面与平面之间的夹角。 + +**説明**: 计算平面与平面之间的夹角。 + +**戻り値**: 夹角弧度 **引数**: - -- other: 另一个平面 - -**戻り値**: - -- 夹角弧度 +> - other: 另一个平面 **例外**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- ソースコード + ソースコード ```python def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': @@ -125,24 +114,20 @@ def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Plane3 | Point3) -> float` -计算平面与平面或点之间的距离。 + +**説明**: 计算平面与平面或点之间的距离。 + +**戻り値**: 距离 **引数**: - -- other: 另一个平面或点 - -**戻り値**: - -- 距离 +> - other: 另一个平面或点 **例外**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- ソースコード + ソースコード ```python def cal_distance(self, other: 'Plane3 | Point3') -> float: @@ -167,20 +152,17 @@ def cal_distance(self, other: 'Plane3 | Point3') -> float: ### *method* `cal_intersection_line3(self, other: Plane3) -> Line3` -计算两平面的交线。 + +**説明**: 计算两平面的交线。 + +**戻り値**: 两平面的交线 **引数**: - -- other: 另一个平面 - -**戻り値**: - -- 两平面的交线 - +> - other: 另一个平面
- ソースコード + ソースコード ```python def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': @@ -215,24 +197,20 @@ def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': ### *method* `cal_intersection_point3(self, other: Line3) -> Point3` -计算平面与直线的交点。 + +**説明**: 计算平面与直线的交点。 + +**戻り値**: 交点 **引数**: - -- other: 不与平面平行或在平面上的直线 - -**戻り値**: - -- 交点 +> - other: 不与平面平行或在平面上的直线 **例外**: - -- ValueError 平面与直线平行或重合 - +> - ValueError 平面与直线平行或重合
- ソースコード + ソースコード ```python def cal_intersection_point3(self, other: 'Line3') -> 'Point3': @@ -256,20 +234,17 @@ def cal_intersection_point3(self, other: 'Line3') -> 'Point3': ### *method* `cal_parallel_plane3(self, point: Point3) -> Plane3` -计算平行于该平面且过指定点的平面。 + +**説明**: 计算平行于该平面且过指定点的平面。 + +**戻り値**: 所求平面 **引数**: - -- point: 指定点 - -**戻り値**: - -- 所求平面 - +> - point: 指定点
- ソースコード + ソースコード ```python def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': @@ -287,20 +262,17 @@ def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': ### *method* `is_parallel(self, other: Plane3) -> bool` -判断两个平面是否平行。 + +**説明**: 判断两个平面是否平行。 + +**戻り値**: 是否平行 **引数**: - -- other: 另一个平面 - -**戻り値**: - -- 是否平行 - +> - other: 另一个平面
- ソースコード + ソースコード ```python def is_parallel(self, other: 'Plane3') -> bool: @@ -319,16 +291,14 @@ def is_parallel(self, other: 'Plane3') -> bool: ### *method* `normal(self) -> Vector3` -平面的法向量。 -**戻り値**: - -- 法向量 +**説明**: 平面的法向量。 +**戻り値**: 法向量
- ソースコード + ソースコード ```python @property @@ -346,22 +316,18 @@ def normal(self) -> 'Vector3': ### *method* `from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3` -工厂函数 由点和法向量构造平面(点法式构造)。 + +**説明**: 工厂函数 由点和法向量构造平面(点法式构造)。 + +**戻り値**: 平面 **引数**: - -- point: 平面上的一点 - -- normal: 法向量 - -**戻り値**: - -- 平面 - +> - point: 平面上的一点 +> - normal: 法向量
- ソースコード + ソースコード ```python @classmethod @@ -384,24 +350,19 @@ def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3': ### *method* `from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3` -工厂函数 由三点构造平面。 + +**説明**: 工厂函数 由三点构造平面。 + +**戻り値**: 平面 **引数**: - -- p1: 点1 - -- p2: 点2 - -- p3: 点3 - -**戻り値**: - -- 平面 - +> - p1: 点1 +> - p2: 点2 +> - p3: 点3
- ソースコード + ソースコード ```python @classmethod @@ -426,22 +387,18 @@ def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3' ### *method* `from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3` -工厂函数 由两直线构造平面。 + +**説明**: 工厂函数 由两直线构造平面。 + +**戻り値**: 平面 **引数**: - -- l1: 直线1 - -- l2: 直线2 - -**戻り値**: - -- 平面 - +> - l1: 直线1 +> - l2: 直线2
- ソースコード + ソースコード ```python @classmethod @@ -466,22 +423,18 @@ def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3': ### *method* `from_point_and_line(cls, point: Point3, line: Line3) -> Plane3` -工厂函数 由点和直线构造平面。 + +**説明**: 工厂函数 由点和直线构造平面。 + +**戻り値**: 平面 **引数**: - -- point: 面上一点 - -- line: 面上直线,不包含点 - -**戻り値**: - -- 平面 - +> - point: 面上一点 +> - line: 面上直线,不包含点
- ソースコード + ソースコード ```python @classmethod @@ -503,7 +456,7 @@ def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
- ソースコード + ソースコード ```python @overload @@ -517,7 +470,7 @@ def __and__(self, other: 'Line3') -> 'Point3 | None':
- ソースコード + ソースコード ```python @overload @@ -529,20 +482,17 @@ def __and__(self, other: 'Plane3') -> 'Line3 | None': ### *method* `__and__(self, other)` -取两平面的交集(人话:交线) + +**説明**: 取两平面的交集(人话:交线) + +**戻り値**: 不平行平面的交线,平面平行返回None **引数**: - -- other: - -**戻り値**: - -- 不平行平面的交线,平面平行返回None - +> - other:
- ソースコード + ソースコード ```python def __and__(self, other): @@ -570,7 +520,7 @@ def __and__(self, other):
- ソースコード + ソースコード ```python def __eq__(self, other) -> bool: @@ -582,7 +532,7 @@ def __eq__(self, other) -> bool:
- ソースコード + ソースコード ```python def __rand__(self, other: 'Line3') -> 'Point3': diff --git a/docs/ja/api/mp_math/point.md b/docs/ja/api/mp_math/point.md index d7f9460..1478e02 100644 --- a/docs/ja/api/mp_math/point.md +++ b/docs/ja/api/mp_math/point.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.point ### *method* `__init__(self, x: float, y: float, z: float)` -笛卡尔坐标系中的点。 + +**説明**: 笛卡尔坐标系中的点。 **引数**: - -- x: x 坐标 - -- y: y 坐标 - -- z: z 坐标 - +> - x: x 坐标 +> - y: y 坐标 +> - z: z 坐标
- ソースコード + ソースコード ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Point3, epsilon: float = APPROX) -> bool` -判断两个点是否近似相等。 + +**説明**: 判断两个点是否近似相等。 + +**戻り値**: 是否近似相等 **引数**: - -- other: - -- epsilon: - -**戻り値**: - -- 是否近似相等 - +> - other: +> - epsilon:
- ソースコード + ソースコード ```python def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool: @@ -75,7 +68,7 @@ def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool:
- ソースコード + ソースコード ```python @overload @@ -89,7 +82,7 @@ def __add__(self, other: 'Vector3') -> 'Point3':
- ソースコード + ソースコード ```python @overload @@ -101,17 +94,16 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -P + V -> P + +**説明**: P + V -> P P + P -> P **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __add__(self, other): @@ -129,16 +121,15 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个点是否相等。 + +**説明**: 判断两个点是否相等。 **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __eq__(self, other): @@ -155,18 +146,17 @@ def __eq__(self, other): ### *method* `self - other: Point3 => Vector3` -P - P -> V + +**説明**: P - P -> V P - V -> P 已在 :class:`Vector3` 中实现 **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __sub__(self, other: 'Point3') -> 'Vector3': diff --git a/docs/ja/api/mp_math/segment.md b/docs/ja/api/mp_math/segment.md index b4f7732..9f0dd2a 100644 --- a/docs/ja/api/mp_math/segment.md +++ b/docs/ja/api/mp_math/segment.md @@ -5,14 +5,14 @@ title: mbcp.mp_math.segment ### *method* `__init__(self, p1: Point3, p2: Point3)` -三维空间中的线段。 + +**説明**: 三维空间中的线段。 :param p1: :param p2: -
- ソースコード + ソースコード ```python def __init__(self, p1: 'Point3', p2: 'Point3'): diff --git a/docs/ja/api/mp_math/utils.md b/docs/ja/api/mp_math/utils.md index 41276a4..c5a8402 100644 --- a/docs/ja/api/mp_math/utils.md +++ b/docs/ja/api/mp_math/utils.md @@ -4,24 +4,19 @@ title: mbcp.mp_math.utils ### *func* `clamp() -> float` -区间限定函数 + +**説明**: 区间限定函数 + +**戻り値**: 限制后的值 **引数**: - -- x: 待限定的值 - -- min_: 最小值 - -- max_: 最大值 - -**戻り値**: - -- 限制后的值 - +> - x: 待限定的值 +> - min_: 最小值 +> - max_: 最大值
- ソースコード + ソースコード ```python def clamp(x: float, min_: float, max_: float) -> float: @@ -42,24 +37,19 @@ def clamp(x: float, min_: float, max_: float) -> float: ### *func* `approx(x: float = 0.0, y: float = APPROX) -> bool` -判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**説明**: 判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**戻り値**: 是否近似相等 **引数**: - -- x: 数1 - -- y: 数2 - -- epsilon: 误差 - -**戻り値**: - -- 是否近似相等 - +> - x: 数1 +> - y: 数2 +> - epsilon: 误差
- ソースコード + ソースコード ```python def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: @@ -79,22 +69,18 @@ def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: ### *func* `sign(x: float = False) -> str` -获取数的符号。 + +**説明**: 获取数的符号。 + +**戻り値**: 符号 + - "" **引数**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**戻り値**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- ソースコード + ソースコード ```python def sign(x: float, only_neg: bool=False) -> str: @@ -117,25 +103,21 @@ def sign(x: float, only_neg: bool=False) -> str: ### *func* `sign_format(x: float = False) -> str` -格式化符号数 + +**説明**: 格式化符号数 -1 -> -1 1 -> +1 0 -> "" +**戻り値**: 符号 + - "" + **引数**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**戻り値**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- ソースコード + ソースコード ```python def sign_format(x: float, only_neg: bool=False) -> str: @@ -163,7 +145,7 @@ def sign_format(x: float, only_neg: bool=False) -> str:
- ソースコード + ソースコード ```python def __init__(self, value: RealNumber): @@ -175,7 +157,7 @@ def __init__(self, value: RealNumber):
- ソースコード + ソースコード ```python def __eq__(self, other): @@ -196,7 +178,7 @@ def __eq__(self, other):
- ソースコード + ソースコード ```python def raise_type_error(self, other): @@ -208,7 +190,7 @@ def raise_type_error(self, other):
- ソースコード + ソースコード ```python def __ne__(self, other): diff --git a/docs/ja/api/mp_math/vector.md b/docs/ja/api/mp_math/vector.md index e3894d6..0224e82 100644 --- a/docs/ja/api/mp_math/vector.md +++ b/docs/ja/api/mp_math/vector.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.vector ### *method* `__init__(self, x: float, y: float, z: float)` -3维向量 + +**説明**: 3维向量 **引数**: - -- x: x轴分量 - -- y: y轴分量 - -- z: z轴分量 - +> - x: x轴分量 +> - y: y轴分量 +> - z: z轴分量
- ソースコード + ソースコード ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似相等。 + +**説明**: 判断两个向量是否近似相等。 + +**戻り値**: 是否近似相等 **引数**: - -- other: - -- epsilon: - -**戻り値**: - -- 是否近似相等 - +> - other: +> - epsilon:
- ソースコード + ソースコード ```python def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -73,20 +66,17 @@ def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Vector3) -> AnyAngle` -计算两个向量之间的夹角。 + +**説明**: 计算两个向量之间的夹角。 + +**戻り値**: 夹角 **引数**: - -- other: 另一个向量 - -**戻り値**: - -- 夹角 - +> - other: 另一个向量
- ソースコード + ソースコード ```python def cal_angle(self, other: 'Vector3') -> 'AnyAngle': @@ -104,24 +94,21 @@ def cal_angle(self, other: 'Vector3') -> 'AnyAngle': ### *method* `cross(self, other: Vector3) -> Vector3` -向量积 叉乘:v1 cross v2 -> v3 + +**説明**: 向量积 叉乘:v1 cross v2 -> v3 叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。 +**戻り値**: 行列式的结果 + **引数**: - -- other: - -**戻り値**: - -- 行列式的结果 - +> - other:
- ソースコード + ソースコード ```python def cross(self, other: 'Vector3') -> 'Vector3': @@ -151,22 +138,18 @@ def cross(self, other: 'Vector3') -> 'Vector3': ### *method* `is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似平行。 + +**説明**: 判断两个向量是否近似平行。 + +**戻り値**: 是否近似平行 **引数**: - -- other: 另一个向量 - -- epsilon: 允许的误差 - -**戻り値**: - -- 是否近似平行 - +> - other: 另一个向量 +> - epsilon: 允许的误差
- ソースコード + ソースコード ```python def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -185,20 +168,17 @@ def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `is_parallel(self, other: Vector3) -> bool` -判断两个向量是否平行。 + +**説明**: 判断两个向量是否平行。 + +**戻り値**: 是否平行 **引数**: - -- other: 另一个向量 - -**戻り値**: - -- 是否平行 - +> - other: 另一个向量
- ソースコード + ソースコード ```python def is_parallel(self, other: 'Vector3') -> bool: @@ -216,14 +196,14 @@ def is_parallel(self, other: 'Vector3') -> bool: ### *method* `normalize(self)` -将向量归一化。 + +**説明**: 将向量归一化。 自体归一化,不返回值。 -
- ソースコード + ソースコード ```python def normalize(self): @@ -245,10 +225,8 @@ def normalize(self): - -
- ソースコード + ソースコード ```python @property @@ -265,16 +243,14 @@ def np_array(self) -> 'np.ndarray': ### *method* `length(self) -> float` -向量的模。 -**戻り値**: - -- 模 +**説明**: 向量的模。 +**戻り値**: 模
- ソースコード + ソースコード ```python @property @@ -292,16 +268,14 @@ def length(self) -> float: ### *method* `unit(self) -> Vector3` -获取该向量的单位向量。 -**戻り値**: - -- 单位向量 +**説明**: 获取该向量的单位向量。 +**戻り値**: 单位向量
- ソースコード + ソースコード ```python @property @@ -319,7 +293,7 @@ def unit(self) -> 'Vector3':
- ソースコード + ソースコード ```python def __abs__(self): @@ -332,7 +306,7 @@ def __abs__(self):
- ソースコード + ソースコード ```python @overload @@ -346,7 +320,7 @@ def __add__(self, other: 'Vector3') -> 'Vector3':
- ソースコード + ソースコード ```python @overload @@ -358,18 +332,17 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -V + P -> P + +**説明**: V + P -> P V + V -> V **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __add__(self, other): @@ -394,20 +367,17 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个向量是否相等。 + +**説明**: 判断两个向量是否相等。 + +**戻り値**: 是否相等 **引数**: - -- other: - -**戻り値**: - -- 是否相等 - +> - other:
- ソースコード + ソースコード ```python def __eq__(self, other): @@ -425,16 +395,16 @@ def __eq__(self, other): ### *method* `self + other: Point3 => Point3` -P + V -> P + +**説明**: P + V -> P 别去点那边实现了。 :param other: :return: -
- ソースコード + ソースコード ```python def __radd__(self, other: 'Point3') -> 'Point3': @@ -454,7 +424,7 @@ def __radd__(self, other: 'Point3') -> 'Point3':
- ソースコード + ソースコード ```python @overload @@ -468,7 +438,7 @@ def __sub__(self, other: 'Vector3') -> 'Vector3':
- ソースコード + ソースコード ```python @overload @@ -480,18 +450,17 @@ def __sub__(self, other: 'Point3') -> 'Point3': ### *method* `self - other` -V - P -> P + +**説明**: V - P -> P V - V -> V **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __sub__(self, other): @@ -515,16 +484,15 @@ def __sub__(self, other): ### *method* `self - other: Point3` -P - V -> P + +**説明**: P - V -> P **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __rsub__(self, other: 'Point3'): @@ -547,7 +515,7 @@ def __rsub__(self, other: 'Point3'):
- ソースコード + ソースコード ```python @overload @@ -561,7 +529,7 @@ def __mul__(self, other: 'Vector3') -> 'Vector3':
- ソースコード + ソースコード ```python @overload @@ -573,16 +541,15 @@ def __mul__(self, other: RealNumber) -> 'Vector3': ### *method* `self * other: int | float | Vector3 => Vector3` -数组运算 非点乘。点乘使用@,叉乘使用cross。 + +**説明**: 数组运算 非点乘。点乘使用@,叉乘使用cross。 **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __mul__(self, other: 'int | float | Vector3') -> 'Vector3': @@ -606,7 +573,7 @@ def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
- ソースコード + ソースコード ```python def __rmul__(self, other: 'RealNumber') -> 'Vector3': @@ -617,16 +584,15 @@ def __rmul__(self, other: 'RealNumber') -> 'Vector3': ### *method* `self @ other: Vector3 => RealNumber` -点乘。 + +**説明**: 点乘。 **引数**: - -- other: - +> - other:
- ソースコード + ソースコード ```python def __matmul__(self, other: 'Vector3') -> 'RealNumber': @@ -644,7 +610,7 @@ def __matmul__(self, other: 'Vector3') -> 'RealNumber':
- ソースコード + ソースコード ```python def __truediv__(self, other: RealNumber) -> 'Vector3': @@ -656,7 +622,7 @@ def __truediv__(self, other: RealNumber) -> 'Vector3':
- ソースコード + ソースコード ```python def __neg__(self): diff --git a/docs/ja/api/presets/model/index.md b/docs/ja/api/presets/model/index.md index 364816d..993edda 100644 --- a/docs/ja/api/presets/model/index.md +++ b/docs/ja/api/presets/model/index.md @@ -6,22 +6,18 @@ title: mbcp.presets.model ### *method* `sphere(radius: float, density: float)` -生成球体上的点集。 + +**説明**: 生成球体上的点集。 + +**戻り値**: List[Point3]: 球体上的点集。 **引数**: - -- radius: - -- density: - -**戻り値**: - -- List[Point3]: 球体上的点集。 - +> - radius: +> - density:
- ソースコード + ソースコード ```python @staticmethod diff --git a/docs/zht/api/mp_math/angle.md b/docs/zht/api/mp_math/angle.md index 5265e64..cd686d1 100644 --- a/docs/zht/api/mp_math/angle.md +++ b/docs/zht/api/mp_math/angle.md @@ -6,18 +6,16 @@ title: mbcp.mp_math.angle ### *method* `__init__(self, value: float, is_radian: bool = False)` -任意角度。 + +**説明**: 任意角度。 **變數説明**: - -- value: 角度或弧度值 - -- is_radian: 是否为弧度,默认为否 - +> - value: 角度或弧度值 +> - is_radian: 是否为弧度,默认为否
- 源碼 + 源碼 ```python def __init__(self, value: float, is_radian: bool=False): @@ -38,16 +36,14 @@ def __init__(self, value: float, is_radian: bool=False): ### *method* `complementary(self) -> AnyAngle` -余角:两角的和为90°。 -**返回**: - -- 余角 +**説明**: 余角:两角的和为90°。 +**返回**: 余角
- 源碼 + 源碼 ```python @property @@ -65,16 +61,14 @@ def complementary(self) -> 'AnyAngle': ### *method* `supplementary(self) -> AnyAngle` -补角:两角的和为180°。 -**返回**: - -- 补角 +**説明**: 补角:两角的和为180°。 +**返回**: 补角
- 源碼 + 源碼 ```python @property @@ -92,16 +86,14 @@ def supplementary(self) -> 'AnyAngle': ### *method* `degree(self) -> float` -角度。 -**返回**: - -- 弧度 +**説明**: 角度。 +**返回**: 弧度
- 源碼 + 源碼 ```python @property @@ -119,16 +111,14 @@ def degree(self) -> float: ### *method* `minimum_positive(self) -> AnyAngle` -最小正角。 -**返回**: - -- 最小正角度 +**説明**: 最小正角。 +**返回**: 最小正角度
- 源碼 + 源碼 ```python @property @@ -146,16 +136,14 @@ def minimum_positive(self) -> 'AnyAngle': ### *method* `maximum_negative(self) -> AnyAngle` -最大负角。 -**返回**: - -- 最大负角度 +**説明**: 最大负角。 +**返回**: 最大负角度
- 源碼 + 源碼 ```python @property @@ -173,16 +161,14 @@ def maximum_negative(self) -> 'AnyAngle': ### *method* `sin(self) -> float` -正弦值。 -**返回**: - -- 正弦值 +**説明**: 正弦值。 +**返回**: 正弦值
- 源碼 + 源碼 ```python @property @@ -200,16 +186,14 @@ def sin(self) -> float: ### *method* `cos(self) -> float` -余弦值。 -**返回**: - -- 余弦值 +**説明**: 余弦值。 +**返回**: 余弦值
- 源碼 + 源碼 ```python @property @@ -227,16 +211,14 @@ def cos(self) -> float: ### *method* `tan(self) -> float` -正切值。 -**返回**: - -- 正切值 +**説明**: 正切值。 +**返回**: 正切值
- 源碼 + 源碼 ```python @property @@ -254,16 +236,14 @@ def tan(self) -> float: ### *method* `cot(self) -> float` -余切值。 -**返回**: - -- 余切值 +**説明**: 余切值。 +**返回**: 余切值
- 源碼 + 源碼 ```python @property @@ -281,16 +261,14 @@ def cot(self) -> float: ### *method* `sec(self) -> float` -正割值。 -**返回**: - -- 正割值 +**説明**: 正割值。 +**返回**: 正割值
- 源碼 + 源碼 ```python @property @@ -308,16 +286,14 @@ def sec(self) -> float: ### *method* `csc(self) -> float` -余割值。 -**返回**: - -- 余割值 +**説明**: 余割值。 +**返回**: 余割值
- 源碼 + 源碼 ```python @property @@ -335,7 +311,7 @@ def csc(self) -> float:
- 源碼 + 源碼 ```python def __add__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -347,7 +323,7 @@ def __add__(self, other: 'AnyAngle') -> 'AnyAngle':
- 源碼 + 源碼 ```python def __eq__(self, other): @@ -359,7 +335,7 @@ def __eq__(self, other):
- 源碼 + 源碼 ```python def __sub__(self, other: 'AnyAngle') -> 'AnyAngle': @@ -371,7 +347,7 @@ def __sub__(self, other: 'AnyAngle') -> 'AnyAngle':
- 源碼 + 源碼 ```python def __mul__(self, other: float) -> 'AnyAngle': @@ -384,7 +360,7 @@ def __mul__(self, other: float) -> 'AnyAngle':
- 源碼 + 源碼 ```python @overload @@ -398,7 +374,7 @@ def __truediv__(self, other: float) -> 'AnyAngle':
- 源碼 + 源碼 ```python @overload @@ -411,7 +387,7 @@ def __truediv__(self, other: 'AnyAngle') -> float:
- 源碼 + 源碼 ```python def __truediv__(self, other): diff --git a/docs/zht/api/mp_math/equation.md b/docs/zht/api/mp_math/equation.md index f6abbb0..1ea5a2b 100644 --- a/docs/zht/api/mp_math/equation.md +++ b/docs/zht/api/mp_math/equation.md @@ -4,28 +4,22 @@ title: mbcp.mp_math.equation ### *func* `get_partial_derivative_func(func: MultiVarsFunc = EPSILON) -> MultiVarsFunc` -求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**説明**: 求N元函数一阶偏导函数。这玩意不太稳定,慎用。 + +**返回**: 偏导函数 **變數説明**: - -- func: 函数 - -- var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) - -- epsilon: 偏移量 - -**返回**: - -- 偏导函数 +> - func: 函数 +> - var: 变量位置,可为整数(一阶偏导)或整数元组(高阶偏导) +> - epsilon: 偏移量 **抛出**: - -- ValueError 无效变量类型 - +> - ValueError 无效变量类型
- 源碼 + 源碼 ```python def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number=EPSILON) -> MultiVarsFunc: @@ -66,7 +60,7 @@ def get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...],
- 源碼 + 源碼 ```python def partial_derivative_func(*args: Var) -> Var: @@ -82,7 +76,7 @@ def partial_derivative_func(*args: Var) -> Var:
- 源碼 + 源碼 ```python def high_order_partial_derivative_func(*args: Var) -> Var: @@ -97,20 +91,17 @@ def high_order_partial_derivative_func(*args: Var) -> Var: ### *method* `__init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)` -曲线方程。 + +**説明**: 曲线方程。 **變數説明**: - -- x_func: x函数 - -- y_func: y函数 - -- z_func: z函数 - +> - x_func: x函数 +> - y_func: y函数 +> - z_func: z函数
- 源碼 + 源碼 ```python def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): @@ -130,18 +121,16 @@ def __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc): ### *method* `__call__(self) -> Point3 | tuple[Point3, ...]` -计算曲线上的点。 + +**説明**: 计算曲线上的点。 **變數説明**: - -- *t: - -- 参数: - +> - *t: +> - 参数:
- 源碼 + 源碼 ```python def __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]: diff --git a/docs/zht/api/mp_math/line.md b/docs/zht/api/mp_math/line.md index b33e277..5d00e23 100644 --- a/docs/zht/api/mp_math/line.md +++ b/docs/zht/api/mp_math/line.md @@ -5,18 +5,16 @@ title: mbcp.mp_math.line ### *method* `__init__(self, point: Point3, direction: Vector3)` -三维空间中的直线。由一个点和一个方向向量确定。 + +**説明**: 三维空间中的直线。由一个点和一个方向向量确定。 **變數説明**: - -- point: 直线上的一点 - -- direction: 直线的方向向量 - +> - point: 直线上的一点 +> - direction: 直线的方向向量
- 源碼 + 源碼 ```python def __init__(self, point: 'Point3', direction: 'Vector3'): @@ -34,22 +32,18 @@ def __init__(self, point: 'Point3', direction: 'Vector3'): ### *method* `approx(self, other: Line3, epsilon: float = APPROX) -> bool` -判断两条直线是否近似相等。 + +**説明**: 判断两条直线是否近似相等。 + +**返回**: 是否近似相等 **變數説明**: - -- other: 另一条直线 - -- epsilon: 误差 - -**返回**: - -- 是否近似相等 - +> - other: 另一条直线 +> - epsilon: 误差
- 源碼 + 源碼 ```python def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: @@ -68,24 +62,20 @@ def approx(self, other: 'Line3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Line3) -> AnyAngle` -计算直线和直线之间的夹角。 + +**説明**: 计算直线和直线之间的夹角。 + +**返回**: 夹角弧度 **變數説明**: - -- other: 另一条直线 - -**返回**: - -- 夹角弧度 +> - other: 另一条直线 **抛出**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源碼 + 源碼 ```python def cal_angle(self, other: 'Line3') -> 'AnyAngle': @@ -105,24 +95,20 @@ def cal_angle(self, other: 'Line3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Line3 | Point3) -> float` -计算直线和直线或点之间的距离。 + +**説明**: 计算直线和直线或点之间的距离。 + +**返回**: 距离 **變數説明**: - -- other: 平行直线或点 - -**返回**: - -- 距离 +> - other: 平行直线或点 **抛出**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源碼 + 源碼 ```python def cal_distance(self, other: 'Line3 | Point3') -> float: @@ -155,26 +141,21 @@ def cal_distance(self, other: 'Line3 | Point3') -> float: ### *method* `cal_intersection(self, other: Line3) -> Point3` -计算两条直线的交点。 + +**説明**: 计算两条直线的交点。 + +**返回**: 交点 **變數説明**: - -- other: 另一条直线 - -**返回**: - -- 交点 +> - other: 另一条直线 **抛出**: - -- ValueError 直线平行 - -- ValueError 直线不共面 - +> - ValueError 直线平行 +> - ValueError 直线不共面
- 源碼 + 源碼 ```python def cal_intersection(self, other: 'Line3') -> 'Point3': @@ -199,20 +180,17 @@ def cal_intersection(self, other: 'Line3') -> 'Point3': ### *method* `cal_perpendicular(self, point: Point3) -> Line3` -计算直线经过指定点p的垂线。 + +**説明**: 计算直线经过指定点p的垂线。 + +**返回**: 垂线 **變數説明**: - -- point: 指定点 - -**返回**: - -- 垂线 - +> - point: 指定点
- 源碼 + 源碼 ```python def cal_perpendicular(self, point: 'Point3') -> 'Line3': @@ -230,20 +208,17 @@ def cal_perpendicular(self, point: 'Point3') -> 'Line3': ### *method* `get_point(self, t: RealNumber) -> Point3` -获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**説明**: 获取直线上的点。同一条直线,但起始点和方向向量不同,则同一个t对应的点不同。 + +**返回**: 点 **變數説明**: - -- t: 参数t - -**返回**: - -- 点 - +> - t: 参数t
- 源碼 + 源碼 ```python def get_point(self, t: RealNumber) -> 'Point3': @@ -261,16 +236,14 @@ def get_point(self, t: RealNumber) -> 'Point3': ### *method* `get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]` -获取直线的参数方程。 -**返回**: - -- x(t), y(t), z(t) +**説明**: 获取直线的参数方程。 +**返回**: x(t), y(t), z(t)
- 源碼 + 源碼 ```python def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]: @@ -286,22 +259,18 @@ def get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, ### *method* `is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool` -判断两条直线是否近似平行。 + +**説明**: 判断两条直线是否近似平行。 + +**返回**: 是否近似平行 **變數説明**: - -- other: 另一条直线 - -- epsilon: 误差 - -**返回**: - -- 是否近似平行 - +> - other: 另一条直线 +> - epsilon: 误差
- 源碼 + 源碼 ```python def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: @@ -320,20 +289,17 @@ def is_approx_parallel(self, other: 'Line3', epsilon: float=1e-06) -> bool: ### *method* `is_parallel(self, other: Line3) -> bool` -判断两条直线是否平行。 + +**説明**: 判断两条直线是否平行。 + +**返回**: 是否平行 **變數説明**: - -- other: 另一条直线 - -**返回**: - -- 是否平行 - +> - other: 另一条直线
- 源碼 + 源碼 ```python def is_parallel(self, other: 'Line3') -> bool: @@ -351,20 +317,17 @@ def is_parallel(self, other: 'Line3') -> bool: ### *method* `is_collinear(self, other: Line3) -> bool` -判断两条直线是否共线。 + +**説明**: 判断两条直线是否共线。 + +**返回**: 是否共线 **變數説明**: - -- other: 另一条直线 - -**返回**: - -- 是否共线 - +> - other: 另一条直线
- 源碼 + 源碼 ```python def is_collinear(self, other: 'Line3') -> bool: @@ -382,20 +345,17 @@ def is_collinear(self, other: 'Line3') -> bool: ### *method* `is_point_on(self, point: Point3) -> bool` -判断点是否在直线上。 + +**説明**: 判断点是否在直线上。 + +**返回**: 是否在直线上 **變數説明**: - -- point: 点 - -**返回**: - -- 是否在直线上 - +> - point: 点
- 源碼 + 源碼 ```python def is_point_on(self, point: 'Point3') -> bool: @@ -413,21 +373,18 @@ def is_point_on(self, point: 'Point3') -> bool: ### *method* `is_coplanar(self, other: Line3) -> bool` -判断两条直线是否共面。 + +**説明**: 判断两条直线是否共面。 充要条件:两直线方向向量的叉乘与两直线上任意一点的向量的点积为0。 +**返回**: 是否共面 + **變數説明**: - -- other: 另一条直线 - -**返回**: - -- 是否共面 - +> - other: 另一条直线
- 源碼 + 源碼 ```python def is_coplanar(self, other: 'Line3') -> bool: @@ -446,15 +403,15 @@ def is_coplanar(self, other: 'Line3') -> bool: ### *method* `simplify(self)` -简化直线方程,等价相等。 + +**説明**: 简化直线方程,等价相等。 自体简化,不返回值。 按照可行性一次对x y z 化 0 处理,并对向量单位化 -
- 源碼 + 源碼 ```python def simplify(self): @@ -478,22 +435,18 @@ def simplify(self): ### *method* `from_two_points(cls, p1: Point3, p2: Point3) -> Line3` -工厂函数 由两点构造直线。 + +**説明**: 工厂函数 由两点构造直线。 + +**返回**: 直线 **變數説明**: - -- p1: 点1 - -- p2: 点2 - -**返回**: - -- 直线 - +> - p1: 点1 +> - p2: 点2
- 源碼 + 源碼 ```python @classmethod @@ -514,20 +467,17 @@ def from_two_points(cls, p1: 'Point3', p2: 'Point3') -> 'Line3': ### *method* `__and__(self, other: Line3) -> Line3 | Point3 | None` -计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**説明**: 计算两条直线点集合的交集。重合线返回自身,平行线返回None,交线返回交点。 + +**返回**: 交点 **變數説明**: - -- other: 另一条直线 - -**返回**: - -- 交点 - +> - other: 另一条直线
- 源碼 + 源碼 ```python def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': @@ -550,18 +500,17 @@ def __and__(self, other: 'Line3') -> 'Line3 | Point3 | None': ### *method* `__eq__(self, other) -> bool` -判断两条直线是否等价。 + +**説明**: 判断两条直线是否等价。 v1 // v2 ∧ (p1 - p2) // v1 **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __eq__(self, other) -> bool: diff --git a/docs/zht/api/mp_math/plane.md b/docs/zht/api/mp_math/plane.md index 2145db9..f3d51ee 100644 --- a/docs/zht/api/mp_math/plane.md +++ b/docs/zht/api/mp_math/plane.md @@ -5,22 +5,18 @@ title: mbcp.mp_math.plane ### *method* `__init__(self, a: float, b: float, c: float, d: float)` -平面方程:ax + by + cz + d = 0 + +**説明**: 平面方程:ax + by + cz + d = 0 **變數説明**: - -- a: x系数 - -- b: y系数 - -- c: z系数 - -- d: 常数项 - +> - a: x系数 +> - b: y系数 +> - c: z系数 +> - d: 常数项
- 源碼 + 源碼 ```python def __init__(self, a: float, b: float, c: float, d: float): @@ -42,20 +38,17 @@ def __init__(self, a: float, b: float, c: float, d: float): ### *method* `approx(self, other: Plane3) -> bool` -判断两个平面是否近似相等。 + +**説明**: 判断两个平面是否近似相等。 + +**返回**: 是否近似相等 **變數説明**: - -- other: 另一个平面 - -**返回**: - -- 是否近似相等 - +> - other: 另一个平面
- 源碼 + 源碼 ```python def approx(self, other: 'Plane3') -> bool: @@ -83,24 +76,20 @@ def approx(self, other: 'Plane3') -> bool: ### *method* `cal_angle(self, other: Line3 | Plane3) -> AnyAngle` -计算平面与平面之间的夹角。 + +**説明**: 计算平面与平面之间的夹角。 + +**返回**: 夹角弧度 **變數説明**: - -- other: 另一个平面 - -**返回**: - -- 夹角弧度 +> - other: 另一个平面 **抛出**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源碼 + 源碼 ```python def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': @@ -125,24 +114,20 @@ def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle': ### *method* `cal_distance(self, other: Plane3 | Point3) -> float` -计算平面与平面或点之间的距离。 + +**説明**: 计算平面与平面或点之间的距离。 + +**返回**: 距离 **變數説明**: - -- other: 另一个平面或点 - -**返回**: - -- 距离 +> - other: 另一个平面或点 **抛出**: - -- TypeError 不支持的类型 - +> - TypeError 不支持的类型
- 源碼 + 源碼 ```python def cal_distance(self, other: 'Plane3 | Point3') -> float: @@ -167,20 +152,17 @@ def cal_distance(self, other: 'Plane3 | Point3') -> float: ### *method* `cal_intersection_line3(self, other: Plane3) -> Line3` -计算两平面的交线。 + +**説明**: 计算两平面的交线。 + +**返回**: 两平面的交线 **變數説明**: - -- other: 另一个平面 - -**返回**: - -- 两平面的交线 - +> - other: 另一个平面
- 源碼 + 源碼 ```python def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': @@ -215,24 +197,20 @@ def cal_intersection_line3(self, other: 'Plane3') -> 'Line3': ### *method* `cal_intersection_point3(self, other: Line3) -> Point3` -计算平面与直线的交点。 + +**説明**: 计算平面与直线的交点。 + +**返回**: 交点 **變數説明**: - -- other: 不与平面平行或在平面上的直线 - -**返回**: - -- 交点 +> - other: 不与平面平行或在平面上的直线 **抛出**: - -- ValueError 平面与直线平行或重合 - +> - ValueError 平面与直线平行或重合
- 源碼 + 源碼 ```python def cal_intersection_point3(self, other: 'Line3') -> 'Point3': @@ -256,20 +234,17 @@ def cal_intersection_point3(self, other: 'Line3') -> 'Point3': ### *method* `cal_parallel_plane3(self, point: Point3) -> Plane3` -计算平行于该平面且过指定点的平面。 + +**説明**: 计算平行于该平面且过指定点的平面。 + +**返回**: 所求平面 **變數説明**: - -- point: 指定点 - -**返回**: - -- 所求平面 - +> - point: 指定点
- 源碼 + 源碼 ```python def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': @@ -287,20 +262,17 @@ def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3': ### *method* `is_parallel(self, other: Plane3) -> bool` -判断两个平面是否平行。 + +**説明**: 判断两个平面是否平行。 + +**返回**: 是否平行 **變數説明**: - -- other: 另一个平面 - -**返回**: - -- 是否平行 - +> - other: 另一个平面
- 源碼 + 源碼 ```python def is_parallel(self, other: 'Plane3') -> bool: @@ -319,16 +291,14 @@ def is_parallel(self, other: 'Plane3') -> bool: ### *method* `normal(self) -> Vector3` -平面的法向量。 -**返回**: - -- 法向量 +**説明**: 平面的法向量。 +**返回**: 法向量
- 源碼 + 源碼 ```python @property @@ -346,22 +316,18 @@ def normal(self) -> 'Vector3': ### *method* `from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3` -工厂函数 由点和法向量构造平面(点法式构造)。 + +**説明**: 工厂函数 由点和法向量构造平面(点法式构造)。 + +**返回**: 平面 **變數説明**: - -- point: 平面上的一点 - -- normal: 法向量 - -**返回**: - -- 平面 - +> - point: 平面上的一点 +> - normal: 法向量
- 源碼 + 源碼 ```python @classmethod @@ -384,24 +350,19 @@ def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3': ### *method* `from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3` -工厂函数 由三点构造平面。 + +**説明**: 工厂函数 由三点构造平面。 + +**返回**: 平面 **變數説明**: - -- p1: 点1 - -- p2: 点2 - -- p3: 点3 - -**返回**: - -- 平面 - +> - p1: 点1 +> - p2: 点2 +> - p3: 点3
- 源碼 + 源碼 ```python @classmethod @@ -426,22 +387,18 @@ def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3' ### *method* `from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3` -工厂函数 由两直线构造平面。 + +**説明**: 工厂函数 由两直线构造平面。 + +**返回**: 平面 **變數説明**: - -- l1: 直线1 - -- l2: 直线2 - -**返回**: - -- 平面 - +> - l1: 直线1 +> - l2: 直线2
- 源碼 + 源碼 ```python @classmethod @@ -466,22 +423,18 @@ def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3': ### *method* `from_point_and_line(cls, point: Point3, line: Line3) -> Plane3` -工厂函数 由点和直线构造平面。 + +**説明**: 工厂函数 由点和直线构造平面。 + +**返回**: 平面 **變數説明**: - -- point: 面上一点 - -- line: 面上直线,不包含点 - -**返回**: - -- 平面 - +> - point: 面上一点 +> - line: 面上直线,不包含点
- 源碼 + 源碼 ```python @classmethod @@ -503,7 +456,7 @@ def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
- 源碼 + 源碼 ```python @overload @@ -517,7 +470,7 @@ def __and__(self, other: 'Line3') -> 'Point3 | None':
- 源碼 + 源碼 ```python @overload @@ -529,20 +482,17 @@ def __and__(self, other: 'Plane3') -> 'Line3 | None': ### *method* `__and__(self, other)` -取两平面的交集(人话:交线) + +**説明**: 取两平面的交集(人话:交线) + +**返回**: 不平行平面的交线,平面平行返回None **變數説明**: - -- other: - -**返回**: - -- 不平行平面的交线,平面平行返回None - +> - other:
- 源碼 + 源碼 ```python def __and__(self, other): @@ -570,7 +520,7 @@ def __and__(self, other):
- 源碼 + 源碼 ```python def __eq__(self, other) -> bool: @@ -582,7 +532,7 @@ def __eq__(self, other) -> bool:
- 源碼 + 源碼 ```python def __rand__(self, other: 'Line3') -> 'Point3': diff --git a/docs/zht/api/mp_math/point.md b/docs/zht/api/mp_math/point.md index 2bb381d..781e36c 100644 --- a/docs/zht/api/mp_math/point.md +++ b/docs/zht/api/mp_math/point.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.point ### *method* `__init__(self, x: float, y: float, z: float)` -笛卡尔坐标系中的点。 + +**説明**: 笛卡尔坐标系中的点。 **變數説明**: - -- x: x 坐标 - -- y: y 坐标 - -- z: z 坐标 - +> - x: x 坐标 +> - y: y 坐标 +> - z: z 坐标
- 源碼 + 源碼 ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Point3, epsilon: float = APPROX) -> bool` -判断两个点是否近似相等。 + +**説明**: 判断两个点是否近似相等。 + +**返回**: 是否近似相等 **變數説明**: - -- other: - -- epsilon: - -**返回**: - -- 是否近似相等 - +> - other: +> - epsilon:
- 源碼 + 源碼 ```python def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool: @@ -75,7 +68,7 @@ def approx(self, other: 'Point3', epsilon: float=APPROX) -> bool:
- 源碼 + 源碼 ```python @overload @@ -89,7 +82,7 @@ def __add__(self, other: 'Vector3') -> 'Point3':
- 源碼 + 源碼 ```python @overload @@ -101,17 +94,16 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -P + V -> P + +**説明**: P + V -> P P + P -> P **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __add__(self, other): @@ -129,16 +121,15 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个点是否相等。 + +**説明**: 判断两个点是否相等。 **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __eq__(self, other): @@ -155,18 +146,17 @@ def __eq__(self, other): ### *method* `self - other: Point3 => Vector3` -P - P -> V + +**説明**: P - P -> V P - V -> P 已在 :class:`Vector3` 中实现 **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __sub__(self, other: 'Point3') -> 'Vector3': diff --git a/docs/zht/api/mp_math/segment.md b/docs/zht/api/mp_math/segment.md index c032545..c569121 100644 --- a/docs/zht/api/mp_math/segment.md +++ b/docs/zht/api/mp_math/segment.md @@ -5,14 +5,14 @@ title: mbcp.mp_math.segment ### *method* `__init__(self, p1: Point3, p2: Point3)` -三维空间中的线段。 + +**説明**: 三维空间中的线段。 :param p1: :param p2: -
- 源碼 + 源碼 ```python def __init__(self, p1: 'Point3', p2: 'Point3'): diff --git a/docs/zht/api/mp_math/utils.md b/docs/zht/api/mp_math/utils.md index 96e6eb1..6f9bfb1 100644 --- a/docs/zht/api/mp_math/utils.md +++ b/docs/zht/api/mp_math/utils.md @@ -4,24 +4,19 @@ title: mbcp.mp_math.utils ### *func* `clamp() -> float` -区间限定函数 + +**説明**: 区间限定函数 + +**返回**: 限制后的值 **變數説明**: - -- x: 待限定的值 - -- min_: 最小值 - -- max_: 最大值 - -**返回**: - -- 限制后的值 - +> - x: 待限定的值 +> - min_: 最小值 +> - max_: 最大值
- 源碼 + 源碼 ```python def clamp(x: float, min_: float, max_: float) -> float: @@ -42,24 +37,19 @@ def clamp(x: float, min_: float, max_: float) -> float: ### *func* `approx(x: float = 0.0, y: float = APPROX) -> bool` -判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**説明**: 判断两个数是否近似相等。或包装一个实数,用于判断是否近似于0。 + +**返回**: 是否近似相等 **變數説明**: - -- x: 数1 - -- y: 数2 - -- epsilon: 误差 - -**返回**: - -- 是否近似相等 - +> - x: 数1 +> - y: 数2 +> - epsilon: 误差
- 源碼 + 源碼 ```python def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: @@ -79,22 +69,18 @@ def approx(x: float, y: float=0.0, epsilon: float=APPROX) -> bool: ### *func* `sign(x: float = False) -> str` -获取数的符号。 + +**説明**: 获取数的符号。 + +**返回**: 符号 + - "" **變數説明**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**返回**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- 源碼 + 源碼 ```python def sign(x: float, only_neg: bool=False) -> str: @@ -117,25 +103,21 @@ def sign(x: float, only_neg: bool=False) -> str: ### *func* `sign_format(x: float = False) -> str` -格式化符号数 + +**説明**: 格式化符号数 -1 -> -1 1 -> +1 0 -> "" +**返回**: 符号 + - "" + **變數説明**: - -- x: 数 - -- only_neg: 是否只返回负数的符号 - -**返回**: - -- 符号 + - "" - +> - x: 数 +> - only_neg: 是否只返回负数的符号
- 源碼 + 源碼 ```python def sign_format(x: float, only_neg: bool=False) -> str: @@ -163,7 +145,7 @@ def sign_format(x: float, only_neg: bool=False) -> str:
- 源碼 + 源碼 ```python def __init__(self, value: RealNumber): @@ -175,7 +157,7 @@ def __init__(self, value: RealNumber):
- 源碼 + 源碼 ```python def __eq__(self, other): @@ -196,7 +178,7 @@ def __eq__(self, other):
- 源碼 + 源碼 ```python def raise_type_error(self, other): @@ -208,7 +190,7 @@ def raise_type_error(self, other):
- 源碼 + 源碼 ```python def __ne__(self, other): diff --git a/docs/zht/api/mp_math/vector.md b/docs/zht/api/mp_math/vector.md index 327dc51..aa2029e 100644 --- a/docs/zht/api/mp_math/vector.md +++ b/docs/zht/api/mp_math/vector.md @@ -5,20 +5,17 @@ title: mbcp.mp_math.vector ### *method* `__init__(self, x: float, y: float, z: float)` -3维向量 + +**説明**: 3维向量 **變數説明**: - -- x: x轴分量 - -- y: y轴分量 - -- z: z轴分量 - +> - x: x轴分量 +> - y: y轴分量 +> - z: z轴分量
- 源碼 + 源碼 ```python def __init__(self, x: float, y: float, z: float): @@ -38,22 +35,18 @@ def __init__(self, x: float, y: float, z: float): ### *method* `approx(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似相等。 + +**説明**: 判断两个向量是否近似相等。 + +**返回**: 是否近似相等 **變數説明**: - -- other: - -- epsilon: - -**返回**: - -- 是否近似相等 - +> - other: +> - epsilon:
- 源碼 + 源碼 ```python def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -73,20 +66,17 @@ def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `cal_angle(self, other: Vector3) -> AnyAngle` -计算两个向量之间的夹角。 + +**説明**: 计算两个向量之间的夹角。 + +**返回**: 夹角 **變數説明**: - -- other: 另一个向量 - -**返回**: - -- 夹角 - +> - other: 另一个向量
- 源碼 + 源碼 ```python def cal_angle(self, other: 'Vector3') -> 'AnyAngle': @@ -104,24 +94,21 @@ def cal_angle(self, other: 'Vector3') -> 'AnyAngle': ### *method* `cross(self, other: Vector3) -> Vector3` -向量积 叉乘:v1 cross v2 -> v3 + +**説明**: 向量积 叉乘:v1 cross v2 -> v3 叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。 +**返回**: 行列式的结果 + **變數説明**: - -- other: - -**返回**: - -- 行列式的结果 - +> - other:
- 源碼 + 源碼 ```python def cross(self, other: 'Vector3') -> 'Vector3': @@ -151,22 +138,18 @@ def cross(self, other: 'Vector3') -> 'Vector3': ### *method* `is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool` -判断两个向量是否近似平行。 + +**説明**: 判断两个向量是否近似平行。 + +**返回**: 是否近似平行 **變數説明**: - -- other: 另一个向量 - -- epsilon: 允许的误差 - -**返回**: - -- 是否近似平行 - +> - other: 另一个向量 +> - epsilon: 允许的误差
- 源碼 + 源碼 ```python def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: @@ -185,20 +168,17 @@ def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool: ### *method* `is_parallel(self, other: Vector3) -> bool` -判断两个向量是否平行。 + +**説明**: 判断两个向量是否平行。 + +**返回**: 是否平行 **變數説明**: - -- other: 另一个向量 - -**返回**: - -- 是否平行 - +> - other: 另一个向量
- 源碼 + 源碼 ```python def is_parallel(self, other: 'Vector3') -> bool: @@ -216,14 +196,14 @@ def is_parallel(self, other: 'Vector3') -> bool: ### *method* `normalize(self)` -将向量归一化。 + +**説明**: 将向量归一化。 自体归一化,不返回值。 -
- 源碼 + 源碼 ```python def normalize(self): @@ -245,10 +225,8 @@ def normalize(self): - -
- 源碼 + 源碼 ```python @property @@ -265,16 +243,14 @@ def np_array(self) -> 'np.ndarray': ### *method* `length(self) -> float` -向量的模。 -**返回**: - -- 模 +**説明**: 向量的模。 +**返回**: 模
- 源碼 + 源碼 ```python @property @@ -292,16 +268,14 @@ def length(self) -> float: ### *method* `unit(self) -> Vector3` -获取该向量的单位向量。 -**返回**: - -- 单位向量 +**説明**: 获取该向量的单位向量。 +**返回**: 单位向量
- 源碼 + 源碼 ```python @property @@ -319,7 +293,7 @@ def unit(self) -> 'Vector3':
- 源碼 + 源碼 ```python def __abs__(self): @@ -332,7 +306,7 @@ def __abs__(self):
- 源碼 + 源碼 ```python @overload @@ -346,7 +320,7 @@ def __add__(self, other: 'Vector3') -> 'Vector3':
- 源碼 + 源碼 ```python @overload @@ -358,18 +332,17 @@ def __add__(self, other: 'Point3') -> 'Point3': ### *method* `self + other` -V + P -> P + +**説明**: V + P -> P V + V -> V **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __add__(self, other): @@ -394,20 +367,17 @@ def __add__(self, other): ### *method* `__eq__(self, other)` -判断两个向量是否相等。 + +**説明**: 判断两个向量是否相等。 + +**返回**: 是否相等 **變數説明**: - -- other: - -**返回**: - -- 是否相等 - +> - other:
- 源碼 + 源碼 ```python def __eq__(self, other): @@ -425,16 +395,16 @@ def __eq__(self, other): ### *method* `self + other: Point3 => Point3` -P + V -> P + +**説明**: P + V -> P 别去点那边实现了。 :param other: :return: -
- 源碼 + 源碼 ```python def __radd__(self, other: 'Point3') -> 'Point3': @@ -454,7 +424,7 @@ def __radd__(self, other: 'Point3') -> 'Point3':
- 源碼 + 源碼 ```python @overload @@ -468,7 +438,7 @@ def __sub__(self, other: 'Vector3') -> 'Vector3':
- 源碼 + 源碼 ```python @overload @@ -480,18 +450,17 @@ def __sub__(self, other: 'Point3') -> 'Point3': ### *method* `self - other` -V - P -> P + +**説明**: V - P -> P V - V -> V **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __sub__(self, other): @@ -515,16 +484,15 @@ def __sub__(self, other): ### *method* `self - other: Point3` -P - V -> P + +**説明**: P - V -> P **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __rsub__(self, other: 'Point3'): @@ -547,7 +515,7 @@ def __rsub__(self, other: 'Point3'):
- 源碼 + 源碼 ```python @overload @@ -561,7 +529,7 @@ def __mul__(self, other: 'Vector3') -> 'Vector3':
- 源碼 + 源碼 ```python @overload @@ -573,16 +541,15 @@ def __mul__(self, other: RealNumber) -> 'Vector3': ### *method* `self * other: int | float | Vector3 => Vector3` -数组运算 非点乘。点乘使用@,叉乘使用cross。 + +**説明**: 数组运算 非点乘。点乘使用@,叉乘使用cross。 **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __mul__(self, other: 'int | float | Vector3') -> 'Vector3': @@ -606,7 +573,7 @@ def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
- 源碼 + 源碼 ```python def __rmul__(self, other: 'RealNumber') -> 'Vector3': @@ -617,16 +584,15 @@ def __rmul__(self, other: 'RealNumber') -> 'Vector3': ### *method* `self @ other: Vector3 => RealNumber` -点乘。 + +**説明**: 点乘。 **變數説明**: - -- other: - +> - other:
- 源碼 + 源碼 ```python def __matmul__(self, other: 'Vector3') -> 'RealNumber': @@ -644,7 +610,7 @@ def __matmul__(self, other: 'Vector3') -> 'RealNumber':
- 源碼 + 源碼 ```python def __truediv__(self, other: RealNumber) -> 'Vector3': @@ -656,7 +622,7 @@ def __truediv__(self, other: RealNumber) -> 'Vector3':
- 源碼 + 源碼 ```python def __neg__(self): diff --git a/docs/zht/api/presets/model/index.md b/docs/zht/api/presets/model/index.md index e0059b6..a7286eb 100644 --- a/docs/zht/api/presets/model/index.md +++ b/docs/zht/api/presets/model/index.md @@ -6,22 +6,18 @@ title: mbcp.presets.model ### *method* `sphere(radius: float, density: float)` -生成球体上的点集。 + +**説明**: 生成球体上的点集。 + +**返回**: List[Point3]: 球体上的点集。 **變數説明**: - -- radius: - -- density: - -**返回**: - -- List[Point3]: 球体上的点集。 - +> - radius: +> - density:
- 源碼 + 源碼 ```python @staticmethod diff --git a/litedoc/docstring/docstring.py b/litedoc/docstring/docstring.py index 241a56f..4348a31 100644 --- a/litedoc/docstring/docstring.py +++ b/litedoc/docstring/docstring.py @@ -122,28 +122,32 @@ class Docstring(BaseModel): """ PREFIX = "" * indent ret = "" - ret += self.desc + "\n\n" + # ret += self.desc + "\n\n" # print(self.reduction()) # print(self.desc, self.return_) - if self.args: - ret += PREFIX + f"**{get_text(lang, 'docstring.args')}**:\n\n" - for arg in self.args: - ret += PREFIX + f"- {arg.name}: {arg.type} {arg.desc}\n\n" - if self.attrs: - ret += PREFIX + f"**{get_text(lang, 'docstring.attrs')}**:\n\n" - for attr in self.attrs: - ret += PREFIX + f"- {attr.name}: {attr.type} {attr.desc}\n\n" + # 单数属性 + if self.desc: + ret += PREFIX + f"\n**{get_text(lang, 'desc')}**: {self.desc}\n" if self.return_ is not None: - ret += PREFIX + f"**{get_text(lang, 'docstring.return')}**:\n\n" - ret += PREFIX + f"- {self.return_.desc}\n\n" + ret += PREFIX + f"\n**{get_text(lang, 'docstring.return')}**: {self.return_.desc}\n" + + # 复数属性 + if self.args: + ret += PREFIX + f"\n**{get_text(lang, 'docstring.args')}**:\n" + for arg in self.args: + ret += PREFIX + f"> - {arg.name}: {arg.type} {arg.desc}\n" + if self.attrs: + ret += PREFIX + f"\n**{get_text(lang, 'docstring.attrs')}**:\n" + for attr in self.attrs: + ret += PREFIX + f"> - {attr.name}: {attr.type} {attr.desc}\n" if self.raise_: - ret += PREFIX + f"**{get_text(lang, 'docstring.raises')}**:\n\n" + ret += PREFIX + f"\n**{get_text(lang, 'docstring.raises')}**:\n" for exception in self.raise_: - ret += PREFIX + f"- {exception.name} {exception.desc}\n\n" + ret += PREFIX + f"> - {exception.name} {exception.desc}\n" if self.example: - ret += PREFIX + f"**{get_text(lang, 'docstring.example')}**:\n\n" + ret += PREFIX + f"\n**{get_text(lang, 'docstring.example')}**:\n" for example in self.example: - ret += PREFIX + f"- {example.desc}\n **{get_text(lang, 'docs.input')}**: {example.input}\n **{get_text(lang, 'docs.output')}**: {example.output}\n\n" + ret += PREFIX + f" - {example.desc}\n> **{get_text(lang, 'docs.input')}**: {example.input}\n> **{get_text(lang, 'docs.output')}**: {example.output}\n" return ret def __str__(self): diff --git a/litedoc/syntax/node.py b/litedoc/syntax/node.py index d748928..4891b10 100644 --- a/litedoc/syntax/node.py +++ b/litedoc/syntax/node.py @@ -245,7 +245,7 @@ class FunctionNode(BaseModel): else: pass # 源码展示 - md += PREFIX + f"\n
\n {get_text(lang, 'src')} \n\n```python\n{self.src}\n```\n
\n\n" + md += PREFIX + f"\n
\n {get_text(lang, 'src')} \n\n```python\n{self.src}\n```\n
\n\n" return md