From c6275ef2ba863e066a28cde6a09551508751b675 Mon Sep 17 00:00:00 2001 From: snowykami Date: Fri, 6 Sep 2024 07:44:53 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20docs=20from=20@=20snowykami/mb?= =?UTF-8?q?cp@114d262b68c78005341f464ed32c73ff6393a96c=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 6 +- api/index.html | 8 +- api/mp_math/angle.html | 8 +- api/mp_math/const.html | 8 +- api/mp_math/equation.html | 8 +- api/mp_math/function.html | 8 +- api/mp_math/index.html | 8 +- api/mp_math/line.html | 8 +- api/mp_math/mp_math_typing.html | 8 +- api/mp_math/plane.html | 63 +++-- api/mp_math/point.html | 8 +- api/mp_math/segment.html | 8 +- api/mp_math/utils.html | 8 +- api/mp_math/vector.html | 83 ++++--- api/particle/index.html | 8 +- api/presets/index.html | 8 +- api/presets/model/index.html | 8 +- assets/api_mp_math_plane.md.DQhjzD06.js | 206 ---------------- assets/api_mp_math_plane.md.DQhjzD06.lean.js | 1 - assets/api_mp_math_plane.md.dDWoDJrS.js | 227 ++++++++++++++++++ assets/api_mp_math_plane.md.dDWoDJrS.lean.js | 1 + assets/api_mp_math_vector.md.B1Wu6c9G.js | 197 --------------- assets/api_mp_math_vector.md.B1Wu6c9G.lean.js | 1 - assets/api_mp_math_vector.md.BzTv8qws.js | 176 ++++++++++++++ assets/api_mp_math_vector.md.BzTv8qws.lean.js | 1 + assets/{app.DM0bI7a8.js => app.BOTpTV4k.js} | 2 +- assets/chunks/@localSearchIndexen.BXFpxQIZ.js | 1 + assets/chunks/@localSearchIndexen.DvmHd6md.js | 1 - assets/chunks/@localSearchIndexja.BL-t7QiB.js | 1 + assets/chunks/@localSearchIndexja.Bd7c0e5S.js | 1 - .../chunks/@localSearchIndexroot.C2iqEqiL.js | 1 + .../chunks/@localSearchIndexroot.DykGT4mA.js | 1 - .../chunks/@localSearchIndexzht.BMfCbOB2.js | 1 + .../chunks/@localSearchIndexzht.SGog2D3Y.js | 1 - ...gnfhmU.js => VPLocalSearchBox.DvzdawYQ.js} | 2 +- .../{theme.CvV0lUYF.js => theme.Uf1cjNk7.js} | 4 +- assets/en_api_mp_math_plane.md.BqUredjB.js | 227 ++++++++++++++++++ .../en_api_mp_math_plane.md.BqUredjB.lean.js | 1 + assets/en_api_mp_math_plane.md.op2OK8nC.js | 206 ---------------- .../en_api_mp_math_plane.md.op2OK8nC.lean.js | 1 - assets/en_api_mp_math_vector.md.DpzqycDg.js | 197 --------------- .../en_api_mp_math_vector.md.DpzqycDg.lean.js | 1 - assets/en_api_mp_math_vector.md.OzaLDP6e.js | 176 ++++++++++++++ .../en_api_mp_math_vector.md.OzaLDP6e.lean.js | 1 + assets/ja_api_mp_math_plane.md.D8ltDTI9.js | 206 ---------------- .../ja_api_mp_math_plane.md.D8ltDTI9.lean.js | 1 - assets/ja_api_mp_math_plane.md.DmM6KUUe.js | 227 ++++++++++++++++++ .../ja_api_mp_math_plane.md.DmM6KUUe.lean.js | 1 + assets/ja_api_mp_math_vector.md.D_iXI2nw.js | 197 --------------- .../ja_api_mp_math_vector.md.D_iXI2nw.lean.js | 1 - assets/ja_api_mp_math_vector.md.DuAJ8ZJo.js | 176 ++++++++++++++ .../ja_api_mp_math_vector.md.DuAJ8ZJo.lean.js | 1 + ...-differential-euqtion_index.md.Dd2-7I9S.js | 1 + ...erential-euqtion_index.md.Dd2-7I9S.lean.js | 1 + assets/style.Bh0M9mVm.css | 1 - assets/style.Czi07tLB.css | 1 + assets/zht_api_mp_math_plane.md.C-9IgWh_.js | 206 ---------------- .../zht_api_mp_math_plane.md.C-9IgWh_.lean.js | 1 - assets/zht_api_mp_math_plane.md.DHKntbKb.js | 227 ++++++++++++++++++ .../zht_api_mp_math_plane.md.DHKntbKb.lean.js | 1 + assets/zht_api_mp_math_vector.md.DoP7bI-7.js | 176 ++++++++++++++ ...zht_api_mp_math_vector.md.DoP7bI-7.lean.js | 1 + assets/zht_api_mp_math_vector.md.hAG56fdm.js | 197 --------------- ...zht_api_mp_math_vector.md.hAG56fdm.lean.js | 1 - demo/best-practice.html | 8 +- demo/index.html | 8 +- en/api/index.html | 8 +- en/api/mp_math/angle.html | 8 +- en/api/mp_math/const.html | 8 +- en/api/mp_math/equation.html | 8 +- en/api/mp_math/function.html | 8 +- en/api/mp_math/index.html | 8 +- en/api/mp_math/line.html | 8 +- en/api/mp_math/mp_math_typing.html | 8 +- en/api/mp_math/plane.html | 63 +++-- en/api/mp_math/point.html | 8 +- en/api/mp_math/segment.html | 8 +- en/api/mp_math/utils.html | 8 +- en/api/mp_math/vector.html | 83 ++++--- en/api/particle/index.html | 8 +- en/api/presets/index.html | 8 +- en/api/presets/model/index.html | 8 +- en/demo/best-practice.html | 8 +- en/guide/index.html | 8 +- en/index.html | 8 +- en/refer/index.html | 8 +- guide/index.html | 8 +- hashmap.json | 2 +- index.html | 8 +- ja/api/index.html | 8 +- ja/api/mp_math/angle.html | 8 +- ja/api/mp_math/const.html | 8 +- ja/api/mp_math/equation.html | 8 +- ja/api/mp_math/function.html | 8 +- ja/api/mp_math/index.html | 8 +- ja/api/mp_math/line.html | 8 +- ja/api/mp_math/mp_math_typing.html | 8 +- ja/api/mp_math/plane.html | 63 +++-- ja/api/mp_math/point.html | 8 +- ja/api/mp_math/segment.html | 8 +- ja/api/mp_math/utils.html | 8 +- ja/api/mp_math/vector.html | 83 ++++--- ja/api/particle/index.html | 8 +- ja/api/presets/index.html | 8 +- ja/api/presets/model/index.html | 8 +- ja/demo/best-practice.html | 8 +- ja/guide/index.html | 8 +- ja/index.html | 8 +- ja/refer/index.html | 8 +- refer/7-differential-euqtion/index.html | 25 ++ refer/function/curry.html | 10 +- refer/function/function.html | 10 +- refer/index.html | 10 +- sitemap.xml | 2 +- zht/api/index.html | 8 +- zht/api/mp_math/angle.html | 8 +- zht/api/mp_math/const.html | 8 +- zht/api/mp_math/equation.html | 8 +- zht/api/mp_math/function.html | 8 +- zht/api/mp_math/index.html | 8 +- zht/api/mp_math/line.html | 8 +- zht/api/mp_math/mp_math_typing.html | 8 +- zht/api/mp_math/plane.html | 63 +++-- zht/api/mp_math/point.html | 8 +- zht/api/mp_math/segment.html | 8 +- zht/api/mp_math/utils.html | 8 +- zht/api/mp_math/vector.html | 83 ++++--- zht/api/particle/index.html | 8 +- zht/api/presets/index.html | 8 +- zht/api/presets/model/index.html | 8 +- zht/demo/best-practice.html | 8 +- zht/guide/index.html | 8 +- zht/index.html | 8 +- zht/refer/index.html | 8 +- 134 files changed, 2296 insertions(+), 2189 deletions(-) delete mode 100644 assets/api_mp_math_plane.md.DQhjzD06.js delete mode 100644 assets/api_mp_math_plane.md.DQhjzD06.lean.js create mode 100644 assets/api_mp_math_plane.md.dDWoDJrS.js create mode 100644 assets/api_mp_math_plane.md.dDWoDJrS.lean.js delete mode 100644 assets/api_mp_math_vector.md.B1Wu6c9G.js delete mode 100644 assets/api_mp_math_vector.md.B1Wu6c9G.lean.js create mode 100644 assets/api_mp_math_vector.md.BzTv8qws.js create mode 100644 assets/api_mp_math_vector.md.BzTv8qws.lean.js rename assets/{app.DM0bI7a8.js => app.BOTpTV4k.js} (95%) create mode 100644 assets/chunks/@localSearchIndexen.BXFpxQIZ.js delete mode 100644 assets/chunks/@localSearchIndexen.DvmHd6md.js create mode 100644 assets/chunks/@localSearchIndexja.BL-t7QiB.js delete mode 100644 assets/chunks/@localSearchIndexja.Bd7c0e5S.js create mode 100644 assets/chunks/@localSearchIndexroot.C2iqEqiL.js delete mode 100644 assets/chunks/@localSearchIndexroot.DykGT4mA.js create mode 100644 assets/chunks/@localSearchIndexzht.BMfCbOB2.js delete mode 100644 assets/chunks/@localSearchIndexzht.SGog2D3Y.js rename assets/chunks/{VPLocalSearchBox.CUgnfhmU.js => VPLocalSearchBox.DvzdawYQ.js} (99%) rename assets/chunks/{theme.CvV0lUYF.js => theme.Uf1cjNk7.js} (99%) create mode 100644 assets/en_api_mp_math_plane.md.BqUredjB.js create mode 100644 assets/en_api_mp_math_plane.md.BqUredjB.lean.js delete mode 100644 assets/en_api_mp_math_plane.md.op2OK8nC.js delete mode 100644 assets/en_api_mp_math_plane.md.op2OK8nC.lean.js delete mode 100644 assets/en_api_mp_math_vector.md.DpzqycDg.js delete mode 100644 assets/en_api_mp_math_vector.md.DpzqycDg.lean.js create mode 100644 assets/en_api_mp_math_vector.md.OzaLDP6e.js create mode 100644 assets/en_api_mp_math_vector.md.OzaLDP6e.lean.js delete mode 100644 assets/ja_api_mp_math_plane.md.D8ltDTI9.js delete mode 100644 assets/ja_api_mp_math_plane.md.D8ltDTI9.lean.js create mode 100644 assets/ja_api_mp_math_plane.md.DmM6KUUe.js create mode 100644 assets/ja_api_mp_math_plane.md.DmM6KUUe.lean.js delete mode 100644 assets/ja_api_mp_math_vector.md.D_iXI2nw.js delete mode 100644 assets/ja_api_mp_math_vector.md.D_iXI2nw.lean.js create mode 100644 assets/ja_api_mp_math_vector.md.DuAJ8ZJo.js create mode 100644 assets/ja_api_mp_math_vector.md.DuAJ8ZJo.lean.js create mode 100644 assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.js create mode 100644 assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.lean.js delete mode 100644 assets/style.Bh0M9mVm.css create mode 100644 assets/style.Czi07tLB.css delete mode 100644 assets/zht_api_mp_math_plane.md.C-9IgWh_.js delete mode 100644 assets/zht_api_mp_math_plane.md.C-9IgWh_.lean.js create mode 100644 assets/zht_api_mp_math_plane.md.DHKntbKb.js create mode 100644 assets/zht_api_mp_math_plane.md.DHKntbKb.lean.js create mode 100644 assets/zht_api_mp_math_vector.md.DoP7bI-7.js create mode 100644 assets/zht_api_mp_math_vector.md.DoP7bI-7.lean.js delete mode 100644 assets/zht_api_mp_math_vector.md.hAG56fdm.js delete mode 100644 assets/zht_api_mp_math_vector.md.hAG56fdm.lean.js create mode 100644 refer/7-differential-euqtion/index.html diff --git a/404.html b/404.html index 670edb4..8572951 100644 --- a/404.html +++ b/404.html @@ -6,9 +6,9 @@ 404 | MBCP 文档 - + - + @@ -16,7 +16,7 @@
- + \ No newline at end of file diff --git a/api/index.html b/api/index.html index 557156d..82df417 100644 --- a/api/index.html +++ b/api/index.html @@ -6,10 +6,10 @@ mbcp | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模块 mbcp

本模块是主模块,提供了一些工具 可导入

mbcp.mp_math:数学工具

mbcp.particle:粒子生成工具

mbcp.presets:预设

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/api/mp_math/angle.html b/api/mp_math/angle.html index d4428d3..848d457 100644 --- a/api/mp_math/angle.html +++ b/api/mp_math/angle.html @@ -6,10 +6,10 @@ mbcp.mp_math.angle | MBCP 文档 - + - - + + @@ -117,7 +117,7 @@ if isinstance(other, AnyAngle): return self.radian / other.radian return AnyAngle(self.radian / other, is_radian=True) - + \ No newline at end of file diff --git a/api/mp_math/const.html b/api/mp_math/const.html index dc1c25a..e3993b1 100644 --- a/api/mp_math/const.html +++ b/api/mp_math/const.html @@ -6,10 +6,10 @@ mbcp.mp_math.const | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模块 mbcp.mp_math.const

本模块定义了一些常用的常量

var PI

  • 说明: 常量 π

  • 默认值: math.pi

var E

  • 说明: 自然对数的底 exp(1)

  • 默认值: math.e

var GOLDEN_RATIO

  • 说明: 黄金分割比

  • 默认值: (1 + math.sqrt(5)) / 2

var GAMMA

  • 说明: 欧拉常数

  • 默认值: 0.5772156649015329

var EPSILON

  • 说明: 精度误差

  • 默认值: 0.0001

var APPROX

  • 说明: 约等于判定误差

  • 默认值: 0.001

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/api/mp_math/equation.html b/api/mp_math/equation.html index ad41426..bf860ef 100644 --- a/api/mp_math/equation.html +++ b/api/mp_math/equation.html @@ -6,10 +6,10 @@ mbcp.mp_math.equation | MBCP 文档 - + - - + + @@ -83,7 +83,7 @@ return high_order_partial_derivative_func else: raise ValueError('Invalid var type') - + \ No newline at end of file diff --git a/api/mp_math/function.html b/api/mp_math/function.html index 4e57bc9..24881a3 100644 --- a/api/mp_math/function.html +++ b/api/mp_math/function.html @@ -6,10 +6,10 @@ mbcp.mp_math.function | MBCP 文档 - + - - + + @@ -60,7 +60,7 @@ """@litedoc-hide""" return func(*args, *args2) return curried_func - + \ No newline at end of file diff --git a/api/mp_math/index.html b/api/mp_math/index.html index 91aa36d..4a196e5 100644 --- a/api/mp_math/index.html +++ b/api/mp_math/index.html @@ -6,10 +6,10 @@ mbcp.mp_math | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模块 mbcp.mp_math

本包定义了一些常用的导入,可直接从mbcp.mp_math导入使用 导入的类有:

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/api/mp_math/line.html b/api/mp_math/line.html index 945d2d5..ec26be4 100644 --- a/api/mp_math/line.html +++ b/api/mp_math/line.html @@ -6,10 +6,10 @@ mbcp.mp_math.line | MBCP 文档 - + - - + + @@ -192,7 +192,7 @@ [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价 """ return self.direction.is_parallel(other.direction) and (self.point - other.point).is_parallel(self.direction) - + \ No newline at end of file diff --git a/api/mp_math/mp_math_typing.html b/api/mp_math/mp_math_typing.html index 1257d08..a1b12dc 100644 --- a/api/mp_math/mp_math_typing.html +++ b/api/mp_math/mp_math_typing.html @@ -6,10 +6,10 @@ mbcp.mp_math.mp_math_typing | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模块 mbcp.mp_math.mp_math_typing

本模块用于内部类型提示

var RealNumber

  • 说明: 实数

  • 类型: TypeAlias

  • 默认值: int | float

var Number

  • 说明: 数

  • 类型: TypeAlias

  • 默认值: RealNumber | complex

var SingleVar

  • 说明: 单变量

  • 默认值: TypeVar('SingleVar', bound=Number)

var ArrayVar

  • 说明: 数组变量

  • 默认值: TypeVar('ArrayVar', bound=Iterable[Number])

var Var

  • 说明: 变量

  • 类型: TypeAlias

  • 默认值: SingleVar | ArrayVar

var OneSingleVarFunc

  • 说明: 一元单变量函数

  • 类型: TypeAlias

  • 默认值: Callable[[SingleVar], SingleVar]

var OneArrayFunc

  • 说明: 一元数组函数

  • 类型: TypeAlias

  • 默认值: Callable[[ArrayVar], ArrayVar]

var OneVarFunc

  • 说明: 一元函数

  • 类型: TypeAlias

  • 默认值: OneSingleVarFunc | OneArrayFunc

var TwoSingleVarsFunc

  • 说明: 二元单变量函数

  • 类型: TypeAlias

  • 默认值: Callable[[SingleVar, SingleVar], SingleVar]

var TwoArraysFunc

  • 说明: 二元数组函数

  • 类型: TypeAlias

  • 默认值: Callable[[ArrayVar, ArrayVar], ArrayVar]

var TwoVarsFunc

  • 说明: 二元函数

  • 类型: TypeAlias

  • 默认值: TwoSingleVarsFunc | TwoArraysFunc

var ThreeSingleVarsFunc

  • 说明: 三元单变量函数

  • 类型: TypeAlias

  • 默认值: Callable[[SingleVar, SingleVar, SingleVar], SingleVar]

var ThreeArraysFunc

  • 说明: 三元数组函数

  • 类型: TypeAlias

  • 默认值: Callable[[ArrayVar, ArrayVar, ArrayVar], ArrayVar]

var ThreeVarsFunc

  • 说明: 三元函数

  • 类型: TypeAlias

  • 默认值: ThreeSingleVarsFunc | ThreeArraysFunc

var MultiSingleVarsFunc

  • 说明: 多元单变量函数

  • 类型: TypeAlias

  • 默认值: Callable[..., SingleVar]

var MultiArraysFunc

  • 说明: 多元数组函数

  • 类型: TypeAlias

  • 默认值: Callable[..., ArrayVar]

var MultiVarsFunc

  • 说明: 多元函数

  • 类型: TypeAlias

  • 默认值: MultiSingleVarsFunc | MultiArraysFunc

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/api/mp_math/plane.html b/api/mp_math/plane.html index 046e74c..879a5a4 100644 --- a/api/mp_math/plane.html +++ b/api/mp_math/plane.html @@ -6,12 +6,12 @@ mbcp.mp_math.plane | MBCP 文档 - + - - + + - + @@ -48,9 +48,19 @@ k = other.c / self.c return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k) else: - return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

说明: 计算平面与平面之间的夹角。

参数:

返回: AnyAngle: 夹角

引发:

源代码在GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

说明: 计算平面与平面之间的夹角。

TIP

平面间夹角计算公式:

θ=arccos(n1n2|n1||n2|)

其中 n1n2 分别为两个平面的法向量

TIP

平面与直线夹角计算公式:

θ=arccos(nd|n||d|)

其中 n 为平面的法向量,d 为直线的方向向量

参数:

返回: AnyAngle: 夹角

引发:

源代码在GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
     """
         计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n1 \\cdot n2}{|n1| \\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n \\cdot d}{|n| \\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
         Args:
             other ([`Line3`](./line#class-line3) | [`Plane3`](./plane#class-plane3)): 另一个平面或直线
         Returns:
@@ -63,7 +73,7 @@
     elif isinstance(other, Plane3):
         return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

说明: 计算平面与平面或点之间的距离。

参数:

返回: float: 距离

引发:

源代码在GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

说明: 计算平面与平面或点之间的距离。

参数:

返回: float: 距离

引发:

源代码在GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
     """
         计算平面与平面或点之间的距离。
         Args:
@@ -78,9 +88,20 @@
     elif isinstance(other, Point3):
         return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

说明: 计算两平面的交线。

参数:

返回: Line3: 交线

引发:

源代码在GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

说明: 计算两平面的交线。

TIP

计算两平面交线的一般步骤:

  1. 求两平面的法向量的叉乘得到方向向量
d=n1×n2
  1. 寻找直线上的一点,依次假设x=0, y=0, z=0,并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示
{x=x0+dty=y0+dtz=z0+dt

xx0m=yy0n=zz0p

参数:

返回: Line3: 交线

引发:

源代码在GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
     """
         计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\begin{cases} x = x_0 + dt \\\\ y = y_0 + dt \\\\ z = z_0 + dt \\end{cases} $$
+
+        $$ \\frac{x - x_0}{m} = \\frac{y - y_0}{n} = \\frac{z - z_0}{p} $$
+        :::
+
         Args:
             other ([`Plane3`](./plane#class-plane3)): 另一个平面
         Returns:
@@ -104,7 +125,7 @@
         A = np.array([[self.a, self.b], [other.a, other.b]])
         B = np.array([-self.d, -other.d])
         x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

说明: 计算平面与直线的交点。

参数:

返回: Point3: 交点

引发:

源代码在GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

说明: 计算平面与直线的交点。

参数:

返回: Point3: 交点

引发:

源代码在GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
     """
         计算平面与直线的交点。
         Args:
@@ -118,7 +139,7 @@
         raise ValueError('The plane and the line are parallel or coincident.')
     x, y, z = other.get_parametric_equations()
     t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

说明: 计算平行于该平面且过指定点的平面。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

说明: 计算平行于该平面且过指定点的平面。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
     """
         计算平行于该平面且过指定点的平面。
         Args:
@@ -126,7 +147,7 @@
         Returns:
             [`Plane3`](./plane#class-plane3): 平面
         """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

说明: 判断两个平面是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

说明: 判断两个平面是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
     """
         判断两个平面是否平行。
         Args:
@@ -134,14 +155,14 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

说明: 平面的法向量。

返回: Vector3: 法向量

源代码在GitHub上查看
python
@property
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

说明: 平面的法向量。

返回: Vector3: 法向量

源代码在GitHub上查看
python
@property
 def normal(self) -> 'Vector3':
     """
         平面的法向量。
         Returns:
             [`Vector3`](./vector#class-vector3): 法向量
         """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

说明: 工厂函数 由点和法向量构造平面(点法式构造)。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
@classmethod
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

说明: 工厂函数 由点和法向量构造平面(点法式构造)。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
@classmethod
 def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
     """
         工厂函数 由点和法向量构造平面(点法式构造)。
@@ -153,7 +174,7 @@
         """
     a, b, c = (normal.x, normal.y, normal.z)
     d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

说明: 工厂函数 由三点构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

说明: 工厂函数 由三点构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
 def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
     """
         工厂函数 由三点构造平面。
@@ -167,7 +188,7 @@
     v1 = p2 - p1
     v2 = p3 - p1
     normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

说明: 工厂函数 由两直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

说明: 工厂函数 由两直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
 def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
     """
         工厂函数 由两直线构造平面。
@@ -181,7 +202,7 @@
     v2 = l2.point - l1.point
     if v2 == zero_vector3:
         v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

说明: 工厂函数 由点和直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

说明: 工厂函数 由点和直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
 def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
     """
         工厂函数 由点和直线构造平面。
@@ -191,11 +212,11 @@
         Returns:
             平面
         """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源代码在GitHub上查看
python
@overload
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源代码在GitHub上查看
python
@overload
 def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源代码在GitHub上查看
python
@overload
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源代码在GitHub上查看
python
@overload
 def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

说明: 取两平面的交集(人话:交线)

参数:

返回: Line3 | Point3 | None: 交集

引发:

源代码在GitHub上查看
python
def __and__(self, other):
+    ...

method __and__(self, other)

说明: 取两平面的交集(人话:交线)

参数:

返回: Line3 | Point3 | None: 交集

引发:

源代码在GitHub上查看
python
def __and__(self, other):
     """
         取两平面的交集(人话:交线)
         Args:
@@ -214,7 +235,7 @@
             return None
         return self.cal_intersection_point3(other)
     else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

说明: 判断两个平面是否等价。

参数:

返回: bool: 是否等价

源代码在GitHub上查看
python
def __eq__(self, other) -> bool:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

说明: 判断两个平面是否等价。

参数:

返回: bool: 是否等价

源代码在GitHub上查看
python
def __eq__(self, other) -> bool:
     """
         判断两个平面是否等价。
         Args:
@@ -222,9 +243,9 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
         """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源代码在GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源代码在GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
     return self.cal_intersection_point3(other)
- + \ No newline at end of file diff --git a/api/mp_math/point.html b/api/mp_math/point.html index 685b5eb..1c8cf0d 100644 --- a/api/mp_math/point.html +++ b/api/mp_math/point.html @@ -6,10 +6,10 @@ mbcp.mp_math.point | MBCP 文档 - + - - + + @@ -70,7 +70,7 @@ """ from .vector import Vector3 return Vector3(self.x - other.x, self.y - other.y, self.z - other.z) - + \ No newline at end of file diff --git a/api/mp_math/segment.html b/api/mp_math/segment.html index 01974fd..e12f835 100644 --- a/api/mp_math/segment.html +++ b/api/mp_math/segment.html @@ -6,10 +6,10 @@ mbcp.mp_math.segment | MBCP 文档 - + - - + + @@ -33,7 +33,7 @@ self.length = self.direction.length '中心点' self.midpoint = Point3((self.p1.x + self.p2.x) / 2, (self.p1.y + self.p2.y) / 2, (self.p1.z + self.p2.z) / 2) - + \ No newline at end of file diff --git a/api/mp_math/utils.html b/api/mp_math/utils.html index 56dc6ed..b5af2c5 100644 --- a/api/mp_math/utils.html +++ b/api/mp_math/utils.html @@ -6,10 +6,10 @@ mbcp.mp_math.utils | MBCP 文档 - + - - + + @@ -87,7 +87,7 @@ return f'-{abs(x)}' else: return '' - + \ No newline at end of file diff --git a/api/mp_math/vector.html b/api/mp_math/vector.html index 76d759a..b21d4a5 100644 --- a/api/mp_math/vector.html +++ b/api/mp_math/vector.html @@ -6,12 +6,12 @@ mbcp.mp_math.vector | MBCP 文档 - + - - + + - + @@ -38,35 +38,34 @@ Returns: [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等 """ - return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

说明: 计算两个向量之间的夹角。

参数:

返回: AnyAngle: 夹角

源代码在GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

说明: 计算两个向量之间的夹角。

TIP

向量夹角计算公式:

θ=arccos(v1v2|v1||v2|)

参数:

返回: AnyAngle: 夹角

源代码在GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
     """
         计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\theta = \\arccos(\\frac{v1 \\cdot v2}{|v1| \\cdot |v2|})$$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`AnyAngle`](./angle#class-anyangle): 夹角
         """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

说明: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

参数:

返回: Vector3: 叉乘结果

源代码在GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

说明: 向量积 叉乘:v1 x v2 -> v3

TIP

叉乘运算法则为:

v1×v2=(v1yv2zv1zv2y,v1zv2xv1xv2z,v1xv2yv1yv2x)

转换为行列式形式:

v1×v2=|ijkv1xv1yv1zv2xv2yv2z|

参数:

返回: Vector3: 叉乘结果

源代码在GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
     """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        ``i  j  k``
-
-        ``x1 y1 z1``
-
-        ``x2 y2 z2``
+        向量积 叉乘:v1 x v2 -> v3
 
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\times v2 = (v1_y \\cdot v2_z - v1_z \\cdot v2_y, v1_z \\cdot v2_x - v1_x \\cdot v2_z, v1_x \\cdot v2_y - v1_y \\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\times v2 = \\begin{vmatrix} i & j & k \\\\ v1_x & v1_y & v1_z \\\\ v2_x & v2_y & v2_z \\end{vmatrix} $$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`Vector3`](#class-vector3): 叉乘结果
         """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

说明: 判断两个向量是否近似平行。

参数:

返回: bool: 是否近似平行

源代码在GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

说明: 判断两个向量是否近似平行。

参数:

返回: bool: 是否近似平行

源代码在GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
     """
         判断两个向量是否近似平行。
         Args:
@@ -75,7 +74,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
         """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

说明: 判断两个向量是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

说明: 判断两个向量是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
     """
         判断两个向量是否平行。
         Args:
@@ -83,7 +82,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

说明: 将向量归一化。

自体归一化,不返回值。

源代码在GitHub上查看
python
def normalize(self):
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

说明: 将向量归一化。

自体归一化,不返回值。

源代码在GitHub上查看
python
def normalize(self):
     """
         将向量归一化。
 
@@ -92,33 +91,33 @@
     length = self.length
     self.x /= length
     self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源代码在GitHub上查看
python
@property
+    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源代码在GitHub上查看
python
@property
 def np_array(self) -> 'np.ndarray':
     """
         返回numpy数组
         Returns:
             [`np.ndarray`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
         """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

说明: 向量的模。

返回: float: 模

源代码在GitHub上查看
python
@property
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

说明: 向量的模。

返回: float: 模

源代码在GitHub上查看
python
@property
 def length(self) -> float:
     """
         向量的模。
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 模
         """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

说明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源代码在GitHub上查看
python
@property
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

说明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源代码在GitHub上查看
python
@property
 def unit(self) -> 'Vector3':
     """
         获取该向量的单位向量。
         Returns:
             [`Vector3`](#class-vector3): 单位向量
         """
-    return self / self.length

method __abs__(self)

源代码在GitHub上查看
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
+    return self / self.length

method __abs__(self)

源代码在GitHub上查看
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
 def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

源代码在GitHub上查看
python
@overload
+    ...

@overload

method self + other: Point3 => Point3

源代码在GitHub上查看
python
@overload
 def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

说明: V + P -> P

V + V -> V

参数:

返回: Vector3 | Point3: 新的向量或点

源代码在GitHub上查看
python
def __add__(self, other):
+    ...

method self + other

说明: V + P -> P

V + V -> V

参数:

返回: Vector3 | Point3: 新的向量或点

源代码在GitHub上查看
python
def __add__(self, other):
     """
         V + P -> P
 
@@ -133,7 +132,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

说明: 判断两个向量是否相等。

参数:

返回: bool: 是否相等

源代码在GitHub上查看
python
def __eq__(self, other):
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

说明: 判断两个向量是否相等。

参数:

返回: bool: 是否相等

源代码在GitHub上查看
python
def __eq__(self, other):
     """
         判断两个向量是否相等。
         Args:
@@ -141,7 +140,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
         """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

说明: P + V -> P

别去点那边实现了。

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

说明: P + V -> P

别去点那边实现了。

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
     """
         P + V -> P
 
@@ -151,11 +150,11 @@
         Returns:
             [`Point3`](./point#class-point3): 新的点
         """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
 def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

源代码在GitHub上查看
python
@overload
+    ...

@overload

method self - other: Point3 => Point3

源代码在GitHub上查看
python
@overload
 def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

说明: V - P -> P

V - V -> V

参数:

返回: Vector3 | Point3: 新的向量

源代码在GitHub上查看
python
def __sub__(self, other):
+    ...

method self - other

说明: V - P -> P

V - V -> V

参数:

返回: Vector3 | Point3: 新的向量

源代码在GitHub上查看
python
def __sub__(self, other):
     """
         V - P -> P
 
@@ -170,7 +169,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
     else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

说明: P - V -> P

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __rsub__(self, other: 'Point3'):
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

说明: P - V -> P

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __rsub__(self, other: 'Point3'):
     """
         P - V -> P
         Args:
@@ -181,11 +180,11 @@
     if isinstance(other, Point3):
         return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
 def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
@overload
+    ...

@overload

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
@overload
 def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

说明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

参数:

返回: Vector3: 数组运算结果

源代码在GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

说明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

参数:

返回: Vector3: 数组运算结果

源代码在GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
     """
         数组运算 非点乘。点乘使用@,叉乘使用cross。
         Args:
@@ -198,8 +197,8 @@
     elif isinstance(other, (float, int)):
         return Vector3(self.x * other, self.y * other, self.z * other)
     else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

说明: 点乘。

参数:

返回: float: 点乘结果

源代码在GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

说明: 点乘。

参数:

返回: float: 点乘结果

源代码在GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
     """
         点乘。
         Args:
@@ -207,15 +206,15 @@
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
         """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源代码在GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

说明: 取负。

返回: Vector3: 负向量

源代码在GitHub上查看
python
def __neg__(self) -> 'Vector3':
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源代码在GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

说明: 取负。

返回: Vector3: 负向量

源代码在GitHub上查看
python
def __neg__(self) -> 'Vector3':
     """
         取负。
         Returns:
             [`Vector3`](#class-vector3): 负向量
         """
     return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

var x_axis

var y_axis

var z_axis

- + \ No newline at end of file diff --git a/api/particle/index.html b/api/particle/index.html index 3f8e5d1..6bf7659 100644 --- a/api/particle/index.html +++ b/api/particle/index.html @@ -6,10 +6,10 @@ mbcp.particle | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/api/presets/index.html b/api/presets/index.html index a0ca1b8..ab0a6b0 100644 --- a/api/presets/index.html +++ b/api/presets/index.html @@ -6,10 +6,10 @@ mbcp.presets | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/api/presets/model/index.html b/api/presets/model/index.html index 3f92def..d64cce4 100644 --- a/api/presets/model/index.html +++ b/api/presets/model/index.html @@ -6,10 +6,10 @@ mbcp.presets.model | MBCP 文档 - + - - + + @@ -36,7 +36,7 @@ y_array = radius * np.sin(phi_list) * np.sin(theta_list) z_array = radius * np.cos(phi_list) return [Point3(x_array[i], y_array[i], z_array[i]) for i in range(num)] - + \ No newline at end of file diff --git a/assets/api_mp_math_plane.md.DQhjzD06.js b/assets/api_mp_math_plane.md.DQhjzD06.js deleted file mode 100644 index 81624c4..0000000 --- a/assets/api_mp_math_plane.md.DQhjzD06.js +++ /dev/null @@ -1,206 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/plane.md","filePath":"zh/api/mp_math/plane.md"}'),l={name:"api/mp_math/plane.md"},t=n(`

模块 mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

说明: 平面方程:ax + by + cz + d = 0

参数:

源代码在GitHub上查看
python
def __init__(self, a: float, b: float, c: float, d: float):
-    """
-        平面方程:ax + by + cz + d = 0
-        Args:
-            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
-            b (\`float\`): y系数
-            c (\`float\`): z系数
-            d (\`float\`): 常数项
-        """
-    self.a = a
-    self.b = b
-    self.c = c
-    self.d = d

method approx(self, other: Plane3) -> bool

说明: 判断两个平面是否近似相等。

参数:

返回: bool: 是否近似相等

源代码在GitHub上查看
python
def approx(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否近似相等。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    if self.a != 0:
-        k = other.a / self.a
-        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.b != 0:
-        k = other.b / self.b
-        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.c != 0:
-        k = other.c / self.c
-        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
-    else:
-        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

说明: 计算平面与平面之间的夹角。

参数:

返回: AnyAngle: 夹角

引发:

源代码在GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
-    """
-        计算平面与平面之间的夹角。
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Line3):
-        return self.normal.cal_angle(other.direction).complementary
-    elif isinstance(other, Plane3):
-        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

说明: 计算平面与平面或点之间的距离。

参数:

返回: float: 距离

引发:

源代码在GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
-    """
-        计算平面与平面或点之间的距离。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        return 0
-    elif isinstance(other, Point3):
-        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

说明: 计算两平面的交线。

参数:

返回: Line3: 交线

引发:

源代码在GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
-    """
-        计算两平面的交线。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`Line3\`](./line#class-line3): 交线
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
-        """
-    if self.normal.is_parallel(other.normal):
-        raise ValueError('Planes are parallel and have no intersection.')
-    direction = self.normal.cross(other.normal)
-    x, y, z = (0, 0, 0)
-    if self.a != 0 and other.a != 0:
-        A = np.array([[self.b, self.c], [other.b, other.c]])
-        B = np.array([-self.d, -other.d])
-        y, z = np.linalg.solve(A, B)
-    elif self.b != 0 and other.b != 0:
-        A = np.array([[self.a, self.c], [other.a, other.c]])
-        B = np.array([-self.d, -other.d])
-        x, z = np.linalg.solve(A, B)
-    elif self.c != 0 and other.c != 0:
-        A = np.array([[self.a, self.b], [other.a, other.b]])
-        B = np.array([-self.d, -other.d])
-        x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

说明: 计算平面与直线的交点。

参数:

返回: Point3: 交点

引发:

源代码在GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
-    """
-        计算平面与直线的交点。
-        Args:
-            other ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            [\`Point3\`](./point#class-point3): 交点
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
-        """
-    if self.normal @ other.direction == 0:
-        raise ValueError('The plane and the line are parallel or coincident.')
-    x, y, z = other.get_parametric_equations()
-    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

说明: 计算平行于该平面且过指定点的平面。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
-    """
-        计算平行于该平面且过指定点的平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 指定点
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

说明: 判断两个平面是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否平行。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

说明: 平面的法向量。

返回: Vector3: 法向量

源代码在GitHub上查看
python
@property
-def normal(self) -> 'Vector3':
-    """
-        平面的法向量。
-        Returns:
-            [\`Vector3\`](./vector#class-vector3): 法向量
-        """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

说明: 工厂函数 由点和法向量构造平面(点法式构造)。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
@classmethod
-def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
-    """
-        工厂函数 由点和法向量构造平面(点法式构造)。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    a, b, c = (normal.x, normal.y, normal.z)
-    d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

说明: 工厂函数 由三点构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
-def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
-    """
-        工厂函数 由三点构造平面。
-        Args:
-            p1 ([\`Point3\`](./point#class-point3)): 点1
-            p2 (\`Point3\`): 点2
-            p3 (\`Point3\`): 点3
-        Returns:
-            平面
-        """
-    v1 = p2 - p1
-    v2 = p3 - p1
-    normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

说明: 工厂函数 由两直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
-def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由两直线构造平面。
-        Args:
-            l1 ([\`Line3\`](./line#class-line3)): 直线
-            l2 (\`Line3\`): 直线
-        Returns:
-            平面
-        """
-    v1 = l1.direction
-    v2 = l2.point - l1.point
-    if v2 == zero_vector3:
-        v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

说明: 工厂函数 由点和直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
-def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由点和直线构造平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            line ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            平面
-        """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源代码在GitHub上查看
python
@overload
-def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源代码在GitHub上查看
python
@overload
-def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

说明: 取两平面的交集(人话:交线)

参数:

返回: Line3 | Point3 | None: 交集

引发:

源代码在GitHub上查看
python
def __and__(self, other):
-    """
-        取两平面的交集(人话:交线)
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        if self.normal.is_parallel(other.normal):
-            return None
-        return self.cal_intersection_line3(other)
-    elif isinstance(other, Line3):
-        if self.normal @ other.direction == 0:
-            return None
-        return self.cal_intersection_point3(other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

说明: 判断两个平面是否等价。

参数:

返回: bool: 是否等价

源代码在GitHub上查看
python
def __eq__(self, other) -> bool:
-    """
-        判断两个平面是否等价。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
-        """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源代码在GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
-    return self.cal_intersection_point3(other)
`,113),h=[t];function p(e,k,r,o,d,E){return a(),i("div",null,h)}const F=s(l,[["render",p]]);export{y as __pageData,F as default}; diff --git a/assets/api_mp_math_plane.md.DQhjzD06.lean.js b/assets/api_mp_math_plane.md.DQhjzD06.lean.js deleted file mode 100644 index 217bc99..0000000 --- a/assets/api_mp_math_plane.md.DQhjzD06.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/plane.md","filePath":"zh/api/mp_math/plane.md"}'),l={name:"api/mp_math/plane.md"},t=n("",113),h=[t];function p(e,k,r,o,d,E){return a(),i("div",null,h)}const F=s(l,[["render",p]]);export{y as __pageData,F as default}; diff --git a/assets/api_mp_math_plane.md.dDWoDJrS.js b/assets/api_mp_math_plane.md.dDWoDJrS.js new file mode 100644 index 0000000..57cde13 --- /dev/null +++ b/assets/api_mp_math_plane.md.dDWoDJrS.js @@ -0,0 +1,227 @@ +import{_ as l,c as a,j as s,a as n,a4 as t,o as i}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/plane.md","filePath":"zh/api/mp_math/plane.md"}'),e={name:"api/mp_math/plane.md"},h=t(`

模块 mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

说明: 平面方程:ax + by + cz + d = 0

参数:

源代码在GitHub上查看
python
def __init__(self, a: float, b: float, c: float, d: float):
+    """
+        平面方程:ax + by + cz + d = 0
+        Args:
+            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
+            b (\`float\`): y系数
+            c (\`float\`): z系数
+            d (\`float\`): 常数项
+        """
+    self.a = a
+    self.b = b
+    self.c = c
+    self.d = d

method approx(self, other: Plane3) -> bool

说明: 判断两个平面是否近似相等。

参数:

返回: bool: 是否近似相等

源代码在GitHub上查看
python
def approx(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否近似相等。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
+        """
+    if self.a != 0:
+        k = other.a / self.a
+        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.b != 0:
+        k = other.b / self.b
+        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.c != 0:
+        k = other.c / self.c
+        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
+    else:
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

说明: 计算平面与平面之间的夹角。

`,16),p={class:"tip custom-block"},k=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t('',1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t('',1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t('',1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},L={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},A=t('',1),D=[A],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),M={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},j={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},R=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),z=[R],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t(`

参数:

返回: AnyAngle: 夹角

引发:

源代码在GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+    """
+        计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n1 \\\\cdot n2}{|n1| \\\\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n \\\\cdot d}{|n| \\\\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Line3):
+        return self.normal.cal_angle(other.direction).complementary
+    elif isinstance(other, Plane3):
+        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

说明: 计算平面与平面或点之间的距离。

参数:

返回: float: 距离

引发:

源代码在GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+    """
+        计算平面与平面或点之间的距离。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        return 0
+    elif isinstance(other, Point3):
+        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

说明: 计算两平面的交线。

`,16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t('',1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},as={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},is={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t('',1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t('',1),ks=[ps],rs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t('',1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t('',1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t('',1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t(`

参数:

返回: Line3: 交线

引发:

源代码在GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+    """
+        计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\\\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\\\begin{cases} x = x_0 + dt \\\\\\\\ y = y_0 + dt \\\\\\\\ z = z_0 + dt \\\\end{cases} $$
+
+        $$ \\\\frac{x - x_0}{m} = \\\\frac{y - y_0}{n} = \\\\frac{z - z_0}{p} $$
+        :::
+
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`Line3\`](./line#class-line3): 交线
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
+        """
+    if self.normal.is_parallel(other.normal):
+        raise ValueError('Planes are parallel and have no intersection.')
+    direction = self.normal.cross(other.normal)
+    x, y, z = (0, 0, 0)
+    if self.a != 0 and other.a != 0:
+        A = np.array([[self.b, self.c], [other.b, other.c]])
+        B = np.array([-self.d, -other.d])
+        y, z = np.linalg.solve(A, B)
+    elif self.b != 0 and other.b != 0:
+        A = np.array([[self.a, self.c], [other.a, other.c]])
+        B = np.array([-self.d, -other.d])
+        x, z = np.linalg.solve(A, B)
+    elif self.c != 0 and other.c != 0:
+        A = np.array([[self.a, self.b], [other.a, other.b]])
+        B = np.array([-self.d, -other.d])
+        x, y = np.linalg.solve(A, B)
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

说明: 计算平面与直线的交点。

参数:

返回: Point3: 交点

引发:

源代码在GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    """
+        计算平面与直线的交点。
+        Args:
+            other ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            [\`Point3\`](./point#class-point3): 交点
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
+        """
+    if self.normal @ other.direction == 0:
+        raise ValueError('The plane and the line are parallel or coincident.')
+    x, y, z = other.get_parametric_equations()
+    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

说明: 计算平行于该平面且过指定点的平面。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    """
+        计算平行于该平面且过指定点的平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 指定点
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

说明: 判断两个平面是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否平行。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

说明: 平面的法向量。

返回: Vector3: 法向量

源代码在GitHub上查看
python
@property
+def normal(self) -> 'Vector3':
+    """
+        平面的法向量。
+        Returns:
+            [\`Vector3\`](./vector#class-vector3): 法向量
+        """
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

说明: 工厂函数 由点和法向量构造平面(点法式构造)。

参数:

返回: Plane3: 平面

源代码在GitHub上查看
python
@classmethod
+def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
+    """
+        工厂函数 由点和法向量构造平面(点法式构造)。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    a, b, c = (normal.x, normal.y, normal.z)
+    d = -a * point.x - b * point.y - c * point.z
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

说明: 工厂函数 由三点构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
+def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
+    """
+        工厂函数 由三点构造平面。
+        Args:
+            p1 ([\`Point3\`](./point#class-point3)): 点1
+            p2 (\`Point3\`): 点2
+            p3 (\`Point3\`): 点3
+        Returns:
+            平面
+        """
+    v1 = p2 - p1
+    v2 = p3 - p1
+    normal = v1.cross(v2)
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

说明: 工厂函数 由两直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
+def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由两直线构造平面。
+        Args:
+            l1 ([\`Line3\`](./line#class-line3)): 直线
+            l2 (\`Line3\`): 直线
+        Returns:
+            平面
+        """
+    v1 = l1.direction
+    v2 = l2.point - l1.point
+    if v2 == zero_vector3:
+        v2 = l2.get_point(1) - l1.point
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

说明: 工厂函数 由点和直线构造平面。

参数:

返回: 平面

源代码在GitHub上查看
python
@classmethod
+def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由点和直线构造平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            line ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            平面
+        """
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源代码在GitHub上查看
python
@overload
+def __and__(self, other: 'Line3') -> 'Point3 | None':
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源代码在GitHub上查看
python
@overload
+def __and__(self, other: 'Plane3') -> 'Line3 | None':
+    ...

method __and__(self, other)

说明: 取两平面的交集(人话:交线)

参数:

返回: Line3 | Point3 | None: 交集

引发:

源代码在GitHub上查看
python
def __and__(self, other):
+    """
+        取两平面的交集(人话:交线)
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        if self.normal.is_parallel(other.normal):
+            return None
+        return self.cal_intersection_line3(other)
+    elif isinstance(other, Line3):
+        if self.normal @ other.direction == 0:
+            return None
+        return self.cal_intersection_point3(other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

说明: 判断两个平面是否等价。

参数:

返回: bool: 是否等价

源代码在GitHub上查看
python
def __eq__(self, other) -> bool:
+    """
+        判断两个平面是否等价。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
+        """
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源代码在GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.cal_intersection_point3(other)
`,81);function ws(Hs,Ls,As,Ds,vs,Ms){return i(),a("div",null,[h,s("div",p,[k,r,s("mjx-container",o,[(i(),a("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(i(),a("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(i(),a("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(i(),a("svg",L,D)),v]),s("p",null,[n("其中 "),s("mjx-container",M,[(i(),a("svg",V,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(i(),a("svg",j,z)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(i(),a("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",as,[(i(),a("svg",is,ns)),ls]),n(", "),s("mjx-container",es,[(i(),a("svg",hs,ks)),rs]),n(", "),s("mjx-container",os,[(i(),a("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(i(),a("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(i(),a("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/api_mp_math_plane.md.dDWoDJrS.lean.js b/assets/api_mp_math_plane.md.dDWoDJrS.lean.js new file mode 100644 index 0000000..344f31b --- /dev/null +++ b/assets/api_mp_math_plane.md.dDWoDJrS.lean.js @@ -0,0 +1 @@ +import{_ as l,c as a,j as s,a as n,a4 as t,o as i}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/plane.md","filePath":"zh/api/mp_math/plane.md"}'),e={name:"api/mp_math/plane.md"},h=t("",16),p={class:"tip custom-block"},k=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t("",1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t("",1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t("",1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},L={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},A=t("",1),D=[A],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),M={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},j={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},R=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),z=[R],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t("",16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t("",1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},as={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},is={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t("",1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t("",1),ks=[ps],rs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t("",1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t("",1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t("",1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t("",81);function ws(Hs,Ls,As,Ds,vs,Ms){return i(),a("div",null,[h,s("div",p,[k,r,s("mjx-container",o,[(i(),a("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(i(),a("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(i(),a("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(i(),a("svg",L,D)),v]),s("p",null,[n("其中 "),s("mjx-container",M,[(i(),a("svg",V,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(i(),a("svg",j,z)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(i(),a("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",as,[(i(),a("svg",is,ns)),ls]),n(", "),s("mjx-container",es,[(i(),a("svg",hs,ks)),rs]),n(", "),s("mjx-container",os,[(i(),a("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(i(),a("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(i(),a("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/api_mp_math_vector.md.B1Wu6c9G.js b/assets/api_mp_math_vector.md.B1Wu6c9G.js deleted file mode 100644 index 8028ac2..0000000 --- a/assets/api_mp_math_vector.md.B1Wu6c9G.js +++ /dev/null @@ -1,197 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/vector.md","filePath":"zh/api/mp_math/vector.md"}'),n={name:"api/mp_math/vector.md"},e=t(`

模块 mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

说明: 3维向量

参数:

源代码在GitHub上查看
python
def __init__(self, x: float, y: float, z: float):
-    """
-        3维向量
-        Args:
-            x ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量
-            y (\`float\`): y轴分量
-            z (\`float\`): z轴分量
-        """
-    self.x = x
-    self.y = y
-    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

说明: 判断两个向量是否近似相等。

参数:

返回: bool: 是否近似相等

源代码在GitHub上查看
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

说明: 计算两个向量之间的夹角。

参数:

返回: AnyAngle: 夹角

源代码在GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
-    """
-        计算两个向量之间的夹角。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

说明: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

参数:

返回: Vector3: 叉乘结果

源代码在GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
-    """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        \`\`i  j  k\`\`
-
-        \`\`x1 y1 z1\`\`
-
-        \`\`x2 y2 z2\`\`
-
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`Vector3\`](#class-vector3): 叉乘结果
-        """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

说明: 判断两个向量是否近似平行。

参数:

返回: bool: 是否近似平行

源代码在GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
-        """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

说明: 判断两个向量是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
-    """
-        判断两个向量是否平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

说明: 将向量归一化。

自体归一化,不返回值。

源代码在GitHub上查看
python
def normalize(self):
-    """
-        将向量归一化。
-
-        自体归一化,不返回值。
-        """
-    length = self.length
-    self.x /= length
-    self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源代码在GitHub上查看
python
@property
-def np_array(self) -> 'np.ndarray':
-    """
-        返回numpy数组
-        Returns:
-            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
-        """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

说明: 向量的模。

返回: float: 模

源代码在GitHub上查看
python
@property
-def length(self) -> float:
-    """
-        向量的模。
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
-        """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

说明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源代码在GitHub上查看
python
@property
-def unit(self) -> 'Vector3':
-    """
-        获取该向量的单位向量。
-        Returns:
-            [\`Vector3\`](#class-vector3): 单位向量
-        """
-    return self / self.length

method __abs__(self)

源代码在GitHub上查看
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
-def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

源代码在GitHub上查看
python
@overload
-def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

说明: V + P -> P

V + V -> V

参数:

返回: Vector3 | Point3: 新的向量或点

源代码在GitHub上查看
python
def __add__(self, other):
-    """
-        V + P -> P
-
-        V + V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

说明: 判断两个向量是否相等。

参数:

返回: bool: 是否相等

源代码在GitHub上查看
python
def __eq__(self, other):
-    """
-        判断两个向量是否相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
-        """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

说明: P + V -> P

别去点那边实现了。

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
-    """
-        P + V -> P
-
-        别去点那边实现了。
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
-def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

源代码在GitHub上查看
python
@overload
-def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

说明: V - P -> P

V - V -> V

参数:

返回: Vector3 | Point3: 新的向量

源代码在GitHub上查看
python
def __sub__(self, other):
-    """
-        V - P -> P
-
-        V - V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
-    else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

说明: P - V -> P

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __rsub__(self, other: 'Point3'):
-    """
-        P - V -> P
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    if isinstance(other, Point3):
-        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
-def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
@overload
-def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

说明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

参数:

返回: Vector3: 数组运算结果

源代码在GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
-    """
-        数组运算 非点乘。点乘使用@,叉乘使用cross。
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
-        Returns:
-            [\`Vector3\`](#class-vector): 数组运算结果
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
-    elif isinstance(other, (float, int)):
-        return Vector3(self.x * other, self.y * other, self.z * other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

说明: 点乘。

参数:

返回: float: 点乘结果

源代码在GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
-    """
-        点乘。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
-        """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源代码在GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

说明: 取负。

返回: Vector3: 负向量

源代码在GitHub上查看
python
def __neg__(self) -> 'Vector3':
-    """
-        取负。
-        Returns:
-            [\`Vector3\`](#class-vector3): 负向量
-        """
-    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

var x_axis

var y_axis

var z_axis

`,138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/api_mp_math_vector.md.B1Wu6c9G.lean.js b/assets/api_mp_math_vector.md.B1Wu6c9G.lean.js deleted file mode 100644 index 76a19a4..0000000 --- a/assets/api_mp_math_vector.md.B1Wu6c9G.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/vector.md","filePath":"zh/api/mp_math/vector.md"}'),n={name:"api/mp_math/vector.md"},e=t("",138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/api_mp_math_vector.md.BzTv8qws.js b/assets/api_mp_math_vector.md.BzTv8qws.js new file mode 100644 index 0000000..22017a8 --- /dev/null +++ b/assets/api_mp_math_vector.md.BzTv8qws.js @@ -0,0 +1,176 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/vector.md","filePath":"zh/api/mp_math/vector.md"}'),l={name:"api/mp_math/vector.md"},e=a('

模块 mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

说明: 3维向量

参数:

源代码在GitHub上查看
python
def __init__(self, x: float, y: float, z: float):\n    """\n        3维向量\n        Args:\n            x ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量\n            y (`float`): y轴分量\n            z (`float`): z轴分量\n        """\n    self.x = x\n    self.y = y\n    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

说明: 判断两个向量是否近似相等。

参数:

返回: bool: 是否近似相等

源代码在GitHub上查看
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:\n    """\n        判断两个向量是否近似相等。\n        Args:\n            other ([`Vector3`](#class-vector3)): 另一个向量\n            epsilon ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): 误差\n\n        Returns:\n            [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等\n        """\n    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

说明: 计算两个向量之间的夹角。

',16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a('',1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a(`

参数:

返回: AnyAngle: 夹角

源代码在GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    """
+        计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{v1 \\\\cdot v2}{|v1| \\\\cdot |v2|})$$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        """
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

说明: 向量积 叉乘:v1 x v2 -> v3

`,6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a('',1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a('',1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a(`

参数:

返回: Vector3: 叉乘结果

源代码在GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    """
+        向量积 叉乘:v1 x v2 -> v3
+
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\\\times v2 = (v1_y \\\\cdot v2_z - v1_z \\\\cdot v2_y, v1_z \\\\cdot v2_x - v1_x \\\\cdot v2_z, v1_x \\\\cdot v2_y - v1_y \\\\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\\\times v2 = \\\\begin{vmatrix} i & j & k \\\\\\\\ v1_x & v1_y & v1_z \\\\\\\\ v2_x & v2_y & v2_z \\\\end{vmatrix} $$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`Vector3\`](#class-vector3): 叉乘结果
+        """
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

说明: 判断两个向量是否近似平行。

参数:

返回: bool: 是否近似平行

源代码在GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    """
+        判断两个向量是否近似平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
+        """
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

说明: 判断两个向量是否平行。

参数:

返回: bool: 是否平行

源代码在GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
+    """
+        判断两个向量是否平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

说明: 将向量归一化。

自体归一化,不返回值。

源代码在GitHub上查看
python
def normalize(self):
+    """
+        将向量归一化。
+
+        自体归一化,不返回值。
+        """
+    length = self.length
+    self.x /= length
+    self.y /= length
+    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源代码在GitHub上查看
python
@property
+def np_array(self) -> 'np.ndarray':
+    """
+        返回numpy数组
+        Returns:
+            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
+        """
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

说明: 向量的模。

返回: float: 模

源代码在GitHub上查看
python
@property
+def length(self) -> float:
+    """
+        向量的模。
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
+        """
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

说明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源代码在GitHub上查看
python
@property
+def unit(self) -> 'Vector3':
+    """
+        获取该向量的单位向量。
+        Returns:
+            [\`Vector3\`](#class-vector3): 单位向量
+        """
+    return self / self.length

method __abs__(self)

源代码在GitHub上查看
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
+def __add__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self + other: Point3 => Point3

源代码在GitHub上查看
python
@overload
+def __add__(self, other: 'Point3') -> 'Point3':
+    ...

method self + other

说明: V + P -> P

V + V -> V

参数:

返回: Vector3 | Point3: 新的向量或点

源代码在GitHub上查看
python
def __add__(self, other):
+    """
+        V + P -> P
+
+        V + V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

说明: 判断两个向量是否相等。

参数:

返回: bool: 是否相等

源代码在GitHub上查看
python
def __eq__(self, other):
+    """
+        判断两个向量是否相等。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
+        """
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

说明: P + V -> P

别去点那边实现了。

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    """
+        P + V -> P
+
+        别去点那边实现了。
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
+def __sub__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self - other: Point3 => Point3

源代码在GitHub上查看
python
@overload
+def __sub__(self, other: 'Point3') -> 'Point3':
+    ...

method self - other

说明: V - P -> P

V - V -> V

参数:

返回: Vector3 | Point3: 新的向量

源代码在GitHub上查看
python
def __sub__(self, other):
+    """
+        V - P -> P
+
+        V - V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
+    else:
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

说明: P - V -> P

参数:

返回: Point3: 新的点

源代码在GitHub上查看
python
def __rsub__(self, other: 'Point3'):
+    """
+        P - V -> P
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    if isinstance(other, Point3):
+        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源代码在GitHub上查看
python
@overload
+def __mul__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
@overload
+def __mul__(self, other: RealNumber) -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

说明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

参数:

返回: Vector3: 数组运算结果

源代码在GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    """
+        数组运算 非点乘。点乘使用@,叉乘使用cross。
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
+        Returns:
+            [\`Vector3\`](#class-vector): 数组运算结果
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
+    elif isinstance(other, (float, int)):
+        return Vector3(self.x * other, self.y * other, self.z * other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源代码在GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

说明: 点乘。

参数:

返回: float: 点乘结果

源代码在GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+    """
+        点乘。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
+        """
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源代码在GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

说明: 取负。

返回: Vector3: 负向量

源代码在GitHub上查看
python
def __neg__(self) -> 'Vector3':
+    """
+        取负。
+        Returns:
+            [\`Vector3\`](#class-vector3): 负向量
+        """
+    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

var x_axis

var y_axis

var z_axis

`,115);function q(D,A,w,L,M,P){return t(),i("div",null,[e,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(l,[["render",q]]);export{z as __pageData,R as default}; diff --git a/assets/api_mp_math_vector.md.BzTv8qws.lean.js b/assets/api_mp_math_vector.md.BzTv8qws.lean.js new file mode 100644 index 0000000..0723699 --- /dev/null +++ b/assets/api_mp_math_vector.md.BzTv8qws.lean.js @@ -0,0 +1 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"api/mp_math/vector.md","filePath":"zh/api/mp_math/vector.md"}'),l={name:"api/mp_math/vector.md"},e=a("",16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a("",1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a("",6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a("",1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a("",1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a("",115);function q(D,A,w,L,M,P){return t(),i("div",null,[e,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(l,[["render",q]]);export{z as __pageData,R as default}; diff --git a/assets/app.DM0bI7a8.js b/assets/app.BOTpTV4k.js similarity index 95% rename from assets/app.DM0bI7a8.js rename to assets/app.BOTpTV4k.js index feab222..d89ae92 100644 --- a/assets/app.DM0bI7a8.js +++ b/assets/app.BOTpTV4k.js @@ -1 +1 @@ -import{t as p}from"./chunks/theme.CvV0lUYF.js";import{U as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as y,d as P,u as v,y as C,x as b,af as w,ag as E,ah as R,ai as S}from"./chunks/framework.DpC1ZpOZ.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),E(),R(),s.setup&&s.setup(),()=>S(s.Layout)}});async function x(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function D(){return g(T)}function _(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&x().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{x as createApp}; +import{t as p}from"./chunks/theme.Uf1cjNk7.js";import{U as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as y,d as P,u as v,y as C,x as b,af as w,ag as E,ah as R,ai as S}from"./chunks/framework.DpC1ZpOZ.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),E(),R(),s.setup&&s.setup(),()=>S(s.Layout)}});async function x(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function D(){return g(T)}function _(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&x().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{x as createApp}; diff --git a/assets/chunks/@localSearchIndexen.BXFpxQIZ.js b/assets/chunks/@localSearchIndexen.BXFpxQIZ.js new file mode 100644 index 0000000..61c17e4 --- /dev/null +++ b/assets/chunks/@localSearchIndexen.BXFpxQIZ.js @@ -0,0 +1 @@ +const t='{"documentCount":160,"nextId":160,"documentIds":{"0":"/en/api/#module-mbcp","1":"/en/api/mp_math/const.html#module-mbcp-mp-math-const","2":"/en/api/mp_math/const.html#var-pi","3":"/en/api/mp_math/const.html#var-e","4":"/en/api/mp_math/const.html#var-golden-ratio","5":"/en/api/mp_math/const.html#var-gamma","6":"/en/api/mp_math/const.html#var-epsilon","7":"/en/api/mp_math/const.html#var-approx","8":"/en/api/mp_math/angle.html#module-mbcp-mp-math-angle","9":"/en/api/mp_math/angle.html#class-angle","10":"/en/api/mp_math/angle.html#class-anyangle-angle","11":"/en/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","12":"/en/api/mp_math/angle.html#method-complementary-self-anyangle","13":"/en/api/mp_math/angle.html#method-supplementary-self-anyangle","14":"/en/api/mp_math/angle.html#method-degree-self-float","15":"/en/api/mp_math/angle.html#method-minimum-positive-self-anyangle","16":"/en/api/mp_math/angle.html#method-maximum-negative-self-anyangle","17":"/en/api/mp_math/angle.html#method-sin-self-float","18":"/en/api/mp_math/angle.html#method-cos-self-float","19":"/en/api/mp_math/angle.html#method-tan-self-float","20":"/en/api/mp_math/angle.html#method-cot-self-float","21":"/en/api/mp_math/angle.html#method-sec-self-float","22":"/en/api/mp_math/angle.html#method-csc-self-float","23":"/en/api/mp_math/angle.html#method-self-other-anyangle-anyangle","24":"/en/api/mp_math/angle.html#method-eq-self-other","25":"/en/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","26":"/en/api/mp_math/angle.html#method-self-other-float-anyangle","27":"/en/api/mp_math/angle.html#method-self-other-float-anyangle-1","28":"/en/api/mp_math/angle.html#method-self-other-anyangle-float","29":"/en/api/mp_math/angle.html#method-self-other","30":"/en/api/mp_math/equation.html#module-mbcp-mp-math-equation","31":"/en/api/mp_math/equation.html#class-curveequation","32":"/en/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/en/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/en/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/en/api/mp_math/function.html#module-mbcp-mp-math-function","36":"/en/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/en/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/en/api/mp_math/#module-mbcp-mp-math","39":"/en/api/mp_math/line.html#module-mbcp-mp-math-line","40":"/en/api/mp_math/line.html#class-line3","41":"/en/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/en/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/en/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/en/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/en/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/en/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/en/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/en/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/en/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/en/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/en/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/en/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/en/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/en/api/mp_math/line.html#method-simplify-self","55":"/en/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/en/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/en/api/mp_math/line.html#method-eq-self-other-bool","58":"/en/api/mp_math/mp_math_typing.html#module-mbcp-mp-math-mp-math-typing","59":"/en/api/mp_math/mp_math_typing.html#var-realnumber","60":"/en/api/mp_math/mp_math_typing.html#var-number","61":"/en/api/mp_math/mp_math_typing.html#var-singlevar","62":"/en/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/en/api/mp_math/mp_math_typing.html#var-var","64":"/en/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/en/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/en/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/en/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/en/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/en/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/en/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/en/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/en/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/en/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/en/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/en/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/en/api/mp_math/plane.html#module-mbcp-mp-math-plane","77":"/en/api/mp_math/plane.html#class-plane3","78":"/en/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/en/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/en/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/en/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/en/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/en/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/en/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/en/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/en/api/mp_math/plane.html#method-normal-self-vector3","87":"/en/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/en/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/en/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/en/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/en/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/en/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/en/api/mp_math/plane.html#method-and-self-other","94":"/en/api/mp_math/plane.html#method-eq-self-other-bool","95":"/en/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/en/api/mp_math/point.html#module-mbcp-mp-math-point","97":"/en/api/mp_math/point.html#class-point3","98":"/en/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/en/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/en/api/mp_math/point.html#method-self-other-vector3-point3","101":"/en/api/mp_math/point.html#method-self-other-point3-point3","102":"/en/api/mp_math/point.html#method-self-other","103":"/en/api/mp_math/point.html#method-eq-self-other","104":"/en/api/mp_math/point.html#method-self-other-point3-vector3","105":"/en/api/mp_math/segment.html#module-mbcp-mp-math-segment","106":"/en/api/mp_math/segment.html#class-segment3","107":"/en/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","108":"/en/api/mp_math/utils.html#module-mbcp-mp-math-utils","109":"/en/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/en/api/mp_math/utils.html#class-approx","111":"/en/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/en/api/mp_math/utils.html#method-eq-self-other","113":"/en/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/en/api/mp_math/utils.html#method-ne-self-other","115":"/en/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/en/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/en/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/en/api/mp_math/vector.html#module-mbcp-mp-math-vector","119":"/en/api/mp_math/vector.html#class-vector3","120":"/en/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/en/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/en/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/en/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/en/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/en/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/en/api/mp_math/vector.html#method-normalize-self","127":"/en/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/en/api/mp_math/vector.html#method-length-self-float","129":"/en/api/mp_math/vector.html#method-unit-self-vector3","130":"/en/api/mp_math/vector.html#method-abs-self","131":"/en/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/en/api/mp_math/vector.html#method-self-other-point3-point3","133":"/en/api/mp_math/vector.html#method-self-other","134":"/en/api/mp_math/vector.html#method-eq-self-other","135":"/en/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/en/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/en/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/en/api/mp_math/vector.html#method-self-other-1","139":"/en/api/mp_math/vector.html#method-self-other-point3","140":"/en/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/en/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/en/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/en/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/en/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/en/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/en/api/mp_math/vector.html#method-self-vector3","147":"/en/api/mp_math/vector.html#var-zero-vector3","148":"/en/api/mp_math/vector.html#var-x-axis","149":"/en/api/mp_math/vector.html#var-y-axis","150":"/en/api/mp_math/vector.html#var-z-axis","151":"/en/api/particle/#module-mbcp-particle","152":"/en/api/presets/#module-mbcp-presets","153":"/en/api/presets/model/#module-mbcp-presets-model","154":"/en/api/presets/model/#class-geometricmodels","155":"/en/api/presets/model/#method-sphere-radius-float-density-float","156":"/en/demo/best-practice.html#best-practice","157":"/en/demo/best-practice.html#works","158":"/en/guide/#开始不了一点","159":"/en/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,7],"3":[2,5,8],"4":[3,5,10],"5":[2,5,6],"6":[2,5,6],"7":[2,5,6],"8":[5,1,2],"9":[2,5,1],"10":[4,5,1],"11":[11,9,28],"12":[5,9,27],"13":[5,9,26],"14":[5,9,23],"15":[6,9,24],"16":[6,9,26],"17":[5,9,21],"18":[5,9,21],"19":[5,9,21],"20":[5,9,23],"21":[5,9,23],"22":[5,9,23],"23":[7,9,18],"24":[5,9,14],"25":[6,9,17],"26":[7,9,19],"27":[7,9,16],"28":[7,9,16],"29":[3,9,18],"30":[5,1,2],"31":[2,5,1],"32":[9,7,29],"33":[10,7,38],"34":[14,5,76],"35":[5,1,2],"36":[13,5,72],"37":[7,5,65],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,28],"42":[11,7,46],"43":[8,7,31],"44":[10,7,65],"45":[8,7,62],"46":[8,7,32],"47":[8,7,38],"48":[9,7,45],"49":[14,7,46],"50":[8,7,39],"51":[8,7,42],"52":[8,7,38],"53":[8,7,45],"54":[4,7,30],"55":[10,7,39],"56":[9,7,54],"57":[6,7,47],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,39],"79":[7,7,48],"80":[10,7,94],"81":[10,7,68],"82":[9,7,105],"83":[9,7,70],"84":[9,7,33],"85":[8,7,40],"86":[5,7,28],"87":[10,7,48],"88":[11,7,42],"89":[10,7,47],"90":[10,7,38],"91":[9,7,18],"92":[9,7,18],"93":[5,7,72],"94":[6,7,38],"95":[7,7,18],"96":[5,1,2],"97":[2,5,1],"98":[8,7,29],"99":[11,7,48],"100":[8,7,16],"101":[7,7,15],"102":[4,7,37],"103":[5,7,40],"104":[7,7,39],"105":[5,1,2],"106":[2,5,1],"107":[7,7,35],"108":[5,1,2],"109":[7,5,34],"110":[2,5,1],"111":[6,7,23],"112":[5,7,34],"113":[7,7,18],"114":[5,7,14],"115":[11,5,43],"116":[11,5,46],"117":[12,5,52],"118":[5,1,3],"119":[2,5,1],"120":[8,7,32],"121":[11,7,47],"122":[8,7,49],"123":[6,7,53],"124":[13,7,46],"125":[8,7,40],"126":[4,7,20],"127":[6,7,34],"128":[5,7,36],"129":[5,7,24],"130":[4,7,13],"131":[7,7,15],"132":[7,7,15],"133":[4,7,49],"134":[5,7,40],"135":[7,7,34],"136":[6,7,15],"137":[6,7,15],"138":[3,7,48],"139":[4,7,45],"140":[6,7,15],"141":[7,7,16],"142":[9,7,58],"143":[7,7,16],"144":[7,7,41],"145":[7,7,18],"146":[5,7,24],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,51],"156":[2,1,1],"157":[1,2,25],"158":[1,1,2],"159":[1,1,7]},"averageFieldLength":[5.749999999999999,5.931249999999998,25.187500000000004],"storedFields":{"0":{"title":"Module mbcp","titles":[]},"1":{"title":"Module mbcp.mp_math.const","titles":[]},"2":{"title":"var PI","titles":["Module mbcp.mp_math.const"]},"3":{"title":"var E","titles":["Module mbcp.mp_math.const"]},"4":{"title":"var GOLDEN_RATIO","titles":["Module mbcp.mp_math.const"]},"5":{"title":"var GAMMA","titles":["Module mbcp.mp_math.const"]},"6":{"title":"var EPSILON","titles":["Module mbcp.mp_math.const"]},"7":{"title":"var APPROX","titles":["Module mbcp.mp_math.const"]},"8":{"title":"Module mbcp.mp_math.angle","titles":[]},"9":{"title":"class Angle","titles":["Module mbcp.mp_math.angle"]},"10":{"title":"class AnyAngle(Angle)","titles":["Module mbcp.mp_math.angle"]},"11":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method complementary(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method supplementary(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method degree(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method minimum_positive(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method maximum_negative(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method sin(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method cos(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method tan(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method cot(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method sec(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method csc(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"method self + other: AnyAngle => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"24":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"25":{"title":"method self - other: AnyAngle => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"26":{"title":"method self * other: float => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"27":{"title":"method self / other: float => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"28":{"title":"method self / other: AnyAngle => float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"29":{"title":"method self / other","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"30":{"title":"Module mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["Module mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["Module mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["Module mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["Module mbcp.mp_math.equation"]},"35":{"title":"Module mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["Module mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["Module mbcp.mp_math.function"]},"38":{"title":"Module mbcp.mp_math","titles":[]},"39":{"title":"Module mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["Module mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["Module mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["Module mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["Module mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["Module mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["Module mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["Module mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["Module mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["Module mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["Module mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["Module mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"58":{"title":"Module mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["Module mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["Module mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["Module mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["Module mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["Module mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"76":{"title":"Module mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["Module mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["Module mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["Module mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["Module mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["Module mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["Module mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["Module mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["Module mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["Module mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["Module mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"96":{"title":"Module mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["Module mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["Module mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["Module mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["Module mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["Module mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["Module mbcp.mp_math.point","class Point3"]},"105":{"title":"Module mbcp.mp_math.segment","titles":[]},"106":{"title":"class Segment3","titles":["Module mbcp.mp_math.segment"]},"107":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["Module mbcp.mp_math.segment","class Segment3"]},"108":{"title":"Module mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["Module mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["Module mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["Module mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["Module mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["Module mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["Module mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["Module mbcp.mp_math.utils"]},"118":{"title":"Module mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["Module mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["Module mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["Module mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["Module mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["Module mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["Module mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["Module mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["Module mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["Module mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["Module mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["Module mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["Module mbcp.mp_math.vector"]},"151":{"title":"Module mbcp.particle","titles":[]},"152":{"title":"Module mbcp.presets","titles":[]},"153":{"title":"Module mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["Module mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["Module mbcp.presets.model","class GeometricModels"]},"156":{"title":"Best Practice","titles":[]},"157":{"title":"Works","titles":["Best Practice"]},"158":{"title":"开始不了一点","titles":[]},"159":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["∫12x111",{"2":{"158":1}}],["开始不了一点",{"0":{"158":1}}],["红石音乐",{"2":{"157":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["works",{"0":{"157":1}}],["warning",{"2":{"34":2}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["返回numpy数组",{"2":{"127":1}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["转换为行列式形式",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘运算法则为",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["向量夹角计算公式",{"2":{"122":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"159":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["中心点",{"2":{"107":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"107":1}}],["线段的另一个端点",{"2":{"107":2}}],["线段的一个端点",{"2":{"107":2}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["或包装一个实数",{"2":{"115":2}}],["或",{"2":{"82":1}}],["或整数元组",{"2":{"34":2}}],["依次假设$x=0$",{"2":{"82":1}}],["依次假设x=0",{"2":{"82":1}}],["并代入两平面方程求出合适的点",{"2":{"82":2}}],["并对向量单位化",{"2":{"54":2}}],["寻找直线上的一点",{"2":{"82":2}}],["为直线的方向向量",{"2":{"80":2}}],["为平面的法向量",{"2":{"80":2}}],["分别为两个平面的法向量",{"2":{"80":2}}],["和",{"2":{"80":2}}],["其中",{"2":{"80":4}}],["θ=arccos⁡",{"2":{"80":2,"122":1}}],["k",{"2":{"79":12,"123":1}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"2":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面与直线夹角计算公式",{"2":{"80":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面间夹角计算公式",{"2":{"80":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"60":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["实数",{"2":{"59":1,"111":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"3":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"13":2}}],["两角的和为90°",{"2":{"12":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线最终可用参数方程或点向式表示",{"2":{"82":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"99":2,"115":2,"121":2}}],["是否为弧度",{"2":{"11":2}}],["误差",{"2":{"42":2,"49":2,"99":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"107":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"107":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"1":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"105":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"8":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"159":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["best",{"0":{"156":1},"1":{"157":1}}],["begin",{"2":{"82":1,"123":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"11":1,"116":1,"117":1}}],["bool",{"0":{"11":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"99":3,"103":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["dt",{"2":{"82":3}}],["d=n1×n2",{"2":{"82":1}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"80":2,"81":1,"82":7,"83":1,"87":2}}],["documentation",{"2":{"159":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"107":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"14":1},"2":{"14":1}}],["def",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"27":1,"28":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["default",{"2":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["description",{"2":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["$z=0$",{"2":{"82":1}}],["$y=0$",{"2":{"82":1}}],["$d$",{"2":{"80":1}}],["$n$",{"2":{"80":1}}],["$n2$",{"2":{"80":1}}],["$n1$",{"2":{"80":1}}],["$$",{"2":{"80":4,"82":6,"122":2,"123":4}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面交线的一般步骤",{"2":{"82":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["求两平面的法向量的叉乘得到方向向量",{"2":{"82":2}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"107":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"111":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"103":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"16":1},"2":{"16":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["n",{"2":{"80":2,"82":1}}],["n⋅d|n|⋅|d|",{"2":{"80":1}}],["n2",{"2":{"80":2,"82":1}}],["n1",{"2":{"80":2,"82":1}}],["n1⋅n2|n1|⋅|n2|",{"2":{"80":1}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"33":2,"34":1,"37":2}}],["|v2|",{"2":{"122":1}}],["|v1|",{"2":{"122":1}}],["|d|",{"2":{"80":1}}],["|n|",{"2":{"80":1}}],["|n2|",{"2":{"80":1}}],["|n1|",{"2":{"80":1}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z=0",{"2":{"82":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y=0",{"2":{"82":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1,"123":6}}],["x−x0m=y−y0n=z−z0p",{"2":{"82":1}}],["x=x0+dty=y0+dtz=z0+dt或",{"2":{"82":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":12,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["to",{"2":{"159":1}}],["times",{"2":{"82":1,"123":2}}],["tip",{"2":{"36":2,"37":2,"80":4,"82":2,"122":2,"123":2}}],["the",{"2":{"83":2,"159":1}}],["theta",{"2":{"80":2,"122":1,"155":3}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"113":1},"2":{"34":1,"44":1,"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2,"147":1,"148":1,"149":1,"150":1}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"27":1,"28":1,"29":1,"145":1}}],["tan",{"0":{"19":1},"2":{"19":2,"20":1}}],["正割值",{"2":{"21":4}}],["正切值",{"2":{"19":4}}],["正弦值",{"2":{"17":4}}],["余割值",{"2":{"22":4}}],["余切值",{"2":{"20":4}}],["余弦值",{"2":{"18":4}}],["余角",{"2":{"12":4}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"16":2}}],["最大负角",{"2":{"16":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"15":2}}],["最小正角",{"2":{"15":2}}],["弧度",{"2":{"14":2}}],["角度",{"2":{"14":2}}],["角度或弧度值",{"2":{"11":2}}],["补角",{"2":{"13":4}}],[">",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"25":1,"26":1,"27":1,"28":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"159":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["returns",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["return",{"2":{"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":1,"24":1,"25":1,"26":1,"29":2,"33":3,"34":5,"36":2,"37":5,"42":2,"43":2,"44":6,"45":2,"46":2,"47":2,"48":2,"49":2,"50":2,"51":2,"52":2,"53":2,"55":2,"56":4,"57":2,"79":5,"80":3,"81":3,"82":2,"83":2,"84":2,"85":2,"86":2,"87":2,"88":2,"89":2,"90":2,"93":5,"94":2,"95":1,"99":2,"102":2,"103":2,"104":2,"109":2,"112":2,"114":1,"115":2,"116":4,"117":4,"121":2,"122":2,"123":2,"124":2,"125":2,"127":2,"128":2,"129":2,"130":1,"133":3,"134":2,"135":2,"138":3,"139":2,"142":3,"143":1,"144":2,"145":1,"146":2,"155":2}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"12":1,"13":1,"16":1,"23":1,"25":1,"26":1,"29":1,"80":1,"122":1}}],["radian",{"0":{"11":1},"2":{"11":6,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":2,"24":2,"25":2,"26":1,"29":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":2,"44":2,"45":2,"80":2,"81":2,"82":2,"83":2,"93":2}}],["ratio",{"0":{"4":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["overload",{"2":{"26":1,"27":2,"28":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"23":2,"24":2,"25":2,"26":2,"27":1,"28":1,"29":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["on",{"0":{"52":1},"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":2,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["or",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":2,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":2,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["vmatrix",{"2":{"123":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"122":1,"123":13}}],["v1x⋅v2y−v1y⋅v2x",{"2":{"123":1}}],["v1z⋅v2x−v1x⋅v2z",{"2":{"123":1}}],["v1y⋅v2z−v1z⋅v2y",{"2":{"123":1}}],["v1×v2=|ijkv1xv1yv1zv2xv2yv2z|",{"2":{"123":1}}],["v1×v2=",{"2":{"123":1}}],["v1⋅v2|v1|⋅|v2|",{"2":{"122":1}}],["v1",{"2":{"57":4,"88":2,"89":2,"122":1,"123":13}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["view",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"11":1,"111":1},"2":{"11":5,"111":5,"112":6,"113":1}}],["var",{"0":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["默认为否",{"2":{"11":2}}],["任意角度",{"2":{"11":2,"38":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3,"80":2,"82":3,"122":1}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"11":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"99":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"11":1,"14":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"26":1,"27":1,"28":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"11":1,"14":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"26":1,"27":1,"28":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"98":7,"99":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"11":1,"23":1,"25":1,"26":1,"27":1,"28":1,"34":1,"36":1,"42":1,"49":1,"99":1,"100":1,"101":1,"104":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"11":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"80":2,"82":23,"83":2,"87":2,"88":3,"89":3,"98":3,"107":5,"111":1,"120":3,"122":1,"123":2,"126":4,"155":7}}],["improve",{"2":{"159":1}}],["import",{"2":{"104":1}}],["i",{"2":{"123":1,"155":4,"157":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"11":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1},"2":{"11":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1}}],["if",{"2":{"11":1,"29":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"29":1,"34":2,"44":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"11":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"11":4,"12":1,"13":1,"16":1,"23":1,"25":1,"26":1,"29":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["source",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"17":1},"2":{"17":2,"22":1,"155":3}}],["sub",{"2":{"25":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"13":1},"2":{"13":1}}],["segment",{"0":{"105":1},"1":{"106":1,"107":1}}],["segment3",{"0":{"106":1},"1":{"107":1},"2":{"38":1}}],["sec",{"0":{"21":1},"2":{"21":1}}],["self",{"0":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"11":3,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":1,"28":1,"29":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"107":15,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["sqrt",{"2":{"4":1,"128":1,"155":1}}],["can",{"2":{"157":1}}],["cases",{"2":{"82":2}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cdot",{"2":{"80":4,"122":2,"123":6}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"9":1,"10":1,"31":1,"40":1,"77":1,"97":1,"106":1,"110":1,"119":1,"154":1},"1":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"107":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":1,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"22":1},"2":{"22":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"12":1},"2":{"12":1,"80":1}}],["com",{"2":{"37":1}}],["cot",{"0":{"20":1},"2":{"20":1}}],["cos",{"0":{"18":1},"2":{"18":2,"21":1,"155":2}}],["code",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"1":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1}}],["all",{"2":{"99":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["arccos",{"2":{"80":2,"122":1,"155":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"11":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["arguments",{"2":{"11":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"99":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["add",{"2":{"23":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"10":1,"12":1,"13":1,"15":1,"16":1,"23":2,"25":2,"26":1,"27":1,"28":1,"43":1,"80":1,"122":1},"1":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1},"2":{"12":2,"13":2,"15":2,"16":2,"23":3,"25":3,"26":2,"27":1,"28":1,"29":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"8":1,"9":1,"10":1,"43":1,"80":1,"122":1},"1":{"9":1,"10":1,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2,"23":2,"24":2,"25":2,"26":2,"27":2,"28":2,"29":2},"2":{"43":3,"80":3,"122":2}}],["approx",{"0":{"7":1,"42":2,"49":1,"79":1,"99":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"24":1,"42":3,"49":2,"79":10,"94":1,"99":1,"103":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["约等于判定误差",{"2":{"7":1}}],["精度误差",{"2":{"6":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"7":1}}],["0001",{"2":{"6":1}}],["0",{"0":{"115":2},"2":{"5":1,"6":1,"7":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":15,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"5":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gt",{"0":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"25":1,"26":1,"27":1,"28":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["github",{"2":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["gamma",{"0":{"5":1}}],["golden",{"0":{"4":1}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"4":1,"12":1,"15":1,"16":1,"34":1,"36":3,"37":2,"45":1,"81":3,"82":1,"107":3,"128":3,"155":2}}],["5772156649015329",{"2":{"5":1}}],["5",{"2":{"4":1,"81":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"23":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"4":1,"23":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"82":3,"83":5,"102":7,"107":3,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["黄金分割比",{"2":{"4":1}}],["1e",{"0":{"49":1}}],["180",{"2":{"11":1,"14":1}}],["1",{"2":{"3":1,"4":1,"20":1,"21":1,"22":1,"33":1,"37":2,"82":1,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"6":1,"34":2,"36":2,"42":1,"49":1,"99":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"99":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["end",{"2":{"82":1,"123":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":2}}],["exp",{"2":{"3":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"11":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"24":1,"57":1,"94":1,"103":1,"112":1,"134":1},"2":{"24":1,"57":1,"94":1,"103":1,"112":1,"114":1,"134":1}}],["e",{"0":{"3":1},"2":{"3":1}}],["π",{"2":{"2":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"107":1},"2":{"55":4,"57":2,"88":4,"107":9}}],["p1",{"0":{"55":1,"88":1,"107":1},"2":{"55":5,"57":2,"88":6,"107":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"82":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"107":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"107":7,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"15":1},"2":{"12":1,"13":1,"15":1}}],["python",{"2":{"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"27":1,"28":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"11":1,"23":1,"24":1,"25":1,"26":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["practice",{"0":{"156":1},"1":{"157":1}}],["property",{"2":{"11":1,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"2":1},"2":{"2":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["提供了一些工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["module",{"0":{"0":1,"1":1,"8":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}],["midpoint",{"2":{"107":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"15":1},"2":{"12":1,"13":1,"15":1}}],["m",{"2":{"82":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"26":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"8":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"2":1,"3":1,"4":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"16":1},"2":{"16":1}}],["method",{"0":{"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"8":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"8":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexen.DvmHd6md.js b/assets/chunks/@localSearchIndexen.DvmHd6md.js deleted file mode 100644 index 7bd9ee5..0000000 --- a/assets/chunks/@localSearchIndexen.DvmHd6md.js +++ /dev/null @@ -1 +0,0 @@ -const t='{"documentCount":160,"nextId":160,"documentIds":{"0":"/en/api/#module-mbcp","1":"/en/api/mp_math/angle.html#module-mbcp-mp-math-angle","2":"/en/api/mp_math/angle.html#class-angle","3":"/en/api/mp_math/angle.html#class-anyangle-angle","4":"/en/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/en/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/en/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/en/api/mp_math/angle.html#method-degree-self-float","8":"/en/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/en/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/en/api/mp_math/angle.html#method-sin-self-float","11":"/en/api/mp_math/angle.html#method-cos-self-float","12":"/en/api/mp_math/angle.html#method-tan-self-float","13":"/en/api/mp_math/angle.html#method-cot-self-float","14":"/en/api/mp_math/angle.html#method-sec-self-float","15":"/en/api/mp_math/angle.html#method-csc-self-float","16":"/en/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/en/api/mp_math/angle.html#method-eq-self-other","18":"/en/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/en/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/en/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/en/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/en/api/mp_math/angle.html#method-self-other","23":"/en/api/mp_math/const.html#module-mbcp-mp-math-const","24":"/en/api/mp_math/const.html#var-pi","25":"/en/api/mp_math/const.html#var-e","26":"/en/api/mp_math/const.html#var-golden-ratio","27":"/en/api/mp_math/const.html#var-gamma","28":"/en/api/mp_math/const.html#var-epsilon","29":"/en/api/mp_math/const.html#var-approx","30":"/en/api/mp_math/equation.html#module-mbcp-mp-math-equation","31":"/en/api/mp_math/equation.html#class-curveequation","32":"/en/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/en/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/en/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/en/api/mp_math/function.html#module-mbcp-mp-math-function","36":"/en/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/en/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/en/api/mp_math/#module-mbcp-mp-math","39":"/en/api/mp_math/line.html#module-mbcp-mp-math-line","40":"/en/api/mp_math/line.html#class-line3","41":"/en/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/en/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/en/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/en/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/en/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/en/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/en/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/en/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/en/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/en/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/en/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/en/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/en/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/en/api/mp_math/line.html#method-simplify-self","55":"/en/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/en/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/en/api/mp_math/line.html#method-eq-self-other-bool","58":"/en/api/mp_math/mp_math_typing.html#module-mbcp-mp-math-mp-math-typing","59":"/en/api/mp_math/mp_math_typing.html#var-realnumber","60":"/en/api/mp_math/mp_math_typing.html#var-number","61":"/en/api/mp_math/mp_math_typing.html#var-singlevar","62":"/en/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/en/api/mp_math/mp_math_typing.html#var-var","64":"/en/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/en/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/en/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/en/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/en/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/en/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/en/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/en/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/en/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/en/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/en/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/en/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/en/api/mp_math/plane.html#module-mbcp-mp-math-plane","77":"/en/api/mp_math/plane.html#class-plane3","78":"/en/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/en/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/en/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/en/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/en/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/en/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/en/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/en/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/en/api/mp_math/plane.html#method-normal-self-vector3","87":"/en/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/en/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/en/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/en/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/en/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/en/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/en/api/mp_math/plane.html#method-and-self-other","94":"/en/api/mp_math/plane.html#method-eq-self-other-bool","95":"/en/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/en/api/mp_math/point.html#module-mbcp-mp-math-point","97":"/en/api/mp_math/point.html#class-point3","98":"/en/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/en/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/en/api/mp_math/point.html#method-self-other-vector3-point3","101":"/en/api/mp_math/point.html#method-self-other-point3-point3","102":"/en/api/mp_math/point.html#method-self-other","103":"/en/api/mp_math/point.html#method-eq-self-other","104":"/en/api/mp_math/point.html#method-self-other-point3-vector3","105":"/en/api/mp_math/segment.html#module-mbcp-mp-math-segment","106":"/en/api/mp_math/segment.html#class-segment3","107":"/en/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","108":"/en/api/mp_math/utils.html#module-mbcp-mp-math-utils","109":"/en/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/en/api/mp_math/utils.html#class-approx","111":"/en/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/en/api/mp_math/utils.html#method-eq-self-other","113":"/en/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/en/api/mp_math/utils.html#method-ne-self-other","115":"/en/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/en/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/en/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/en/api/mp_math/vector.html#module-mbcp-mp-math-vector","119":"/en/api/mp_math/vector.html#class-vector3","120":"/en/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/en/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/en/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/en/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/en/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/en/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/en/api/mp_math/vector.html#method-normalize-self","127":"/en/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/en/api/mp_math/vector.html#method-length-self-float","129":"/en/api/mp_math/vector.html#method-unit-self-vector3","130":"/en/api/mp_math/vector.html#method-abs-self","131":"/en/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/en/api/mp_math/vector.html#method-self-other-point3-point3","133":"/en/api/mp_math/vector.html#method-self-other","134":"/en/api/mp_math/vector.html#method-eq-self-other","135":"/en/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/en/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/en/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/en/api/mp_math/vector.html#method-self-other-1","139":"/en/api/mp_math/vector.html#method-self-other-point3","140":"/en/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/en/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/en/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/en/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/en/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/en/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/en/api/mp_math/vector.html#method-self-vector3","147":"/en/api/mp_math/vector.html#var-zero-vector3","148":"/en/api/mp_math/vector.html#var-x-axis","149":"/en/api/mp_math/vector.html#var-y-axis","150":"/en/api/mp_math/vector.html#var-z-axis","151":"/en/api/particle/#module-mbcp-particle","152":"/en/api/presets/#module-mbcp-presets","153":"/en/api/presets/model/#module-mbcp-presets-model","154":"/en/api/presets/model/#class-geometricmodels","155":"/en/api/presets/model/#method-sphere-radius-float-density-float","156":"/en/demo/best-practice.html#best-practice","157":"/en/demo/best-practice.html#works","158":"/en/guide/#开始不了一点","159":"/en/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,28],"5":[5,9,27],"6":[5,9,26],"7":[5,9,23],"8":[6,9,24],"9":[6,9,26],"10":[5,9,21],"11":[5,9,21],"12":[5,9,21],"13":[5,9,23],"14":[5,9,23],"15":[5,9,23],"16":[7,9,18],"17":[5,9,14],"18":[6,9,17],"19":[7,9,19],"20":[7,9,16],"21":[7,9,16],"22":[3,9,18],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,29],"33":[10,7,38],"34":[14,5,76],"35":[5,1,2],"36":[13,5,72],"37":[7,5,65],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,28],"42":[11,7,46],"43":[8,7,31],"44":[10,7,65],"45":[8,7,62],"46":[8,7,32],"47":[8,7,38],"48":[9,7,45],"49":[14,7,46],"50":[8,7,39],"51":[8,7,42],"52":[8,7,38],"53":[8,7,45],"54":[4,7,30],"55":[10,7,39],"56":[9,7,54],"57":[6,7,47],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,39],"79":[7,7,48],"80":[10,7,64],"81":[10,7,68],"82":[9,7,73],"83":[9,7,70],"84":[9,7,33],"85":[8,7,40],"86":[5,7,28],"87":[10,7,48],"88":[11,7,42],"89":[10,7,47],"90":[10,7,38],"91":[9,7,18],"92":[9,7,18],"93":[5,7,72],"94":[6,7,38],"95":[7,7,18],"96":[5,1,2],"97":[2,5,1],"98":[8,7,29],"99":[11,7,48],"100":[8,7,16],"101":[7,7,15],"102":[4,7,37],"103":[5,7,40],"104":[7,7,39],"105":[5,1,2],"106":[2,5,1],"107":[7,7,35],"108":[5,1,2],"109":[7,5,34],"110":[2,5,1],"111":[6,7,23],"112":[5,7,34],"113":[7,7,18],"114":[5,7,14],"115":[11,5,43],"116":[11,5,46],"117":[12,5,52],"118":[5,1,3],"119":[2,5,1],"120":[8,7,32],"121":[11,7,47],"122":[8,7,34],"123":[6,7,46],"124":[13,7,46],"125":[8,7,40],"126":[4,7,20],"127":[6,7,34],"128":[5,7,36],"129":[5,7,24],"130":[4,7,13],"131":[7,7,15],"132":[7,7,15],"133":[4,7,49],"134":[5,7,40],"135":[7,7,34],"136":[6,7,15],"137":[6,7,15],"138":[3,7,48],"139":[4,7,45],"140":[6,7,15],"141":[7,7,16],"142":[9,7,58],"143":[7,7,16],"144":[7,7,41],"145":[7,7,18],"146":[5,7,24],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,51],"156":[2,1,1],"157":[1,2,25],"158":[1,1,2],"159":[1,1,7]},"averageFieldLength":[5.749999999999999,5.931249999999998,24.6625],"storedFields":{"0":{"title":"Module mbcp","titles":[]},"1":{"title":"Module mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["Module mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["Module mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["Module mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"Module mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["Module mbcp.mp_math.const"]},"25":{"title":"var E","titles":["Module mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["Module mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["Module mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["Module mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["Module mbcp.mp_math.const"]},"30":{"title":"Module mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["Module mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["Module mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["Module mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["Module mbcp.mp_math.equation"]},"35":{"title":"Module mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["Module mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["Module mbcp.mp_math.function"]},"38":{"title":"Module mbcp.mp_math","titles":[]},"39":{"title":"Module mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["Module mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["Module mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["Module mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["Module mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["Module mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["Module mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["Module mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["Module mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["Module mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["Module mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["Module mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["Module mbcp.mp_math.line","class Line3"]},"58":{"title":"Module mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["Module mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["Module mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["Module mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["Module mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["Module mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["Module mbcp.mp_math.mp_math_typing"]},"76":{"title":"Module mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["Module mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["Module mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["Module mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["Module mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["Module mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["Module mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["Module mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["Module mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["Module mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["Module mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["Module mbcp.mp_math.plane","class Plane3"]},"96":{"title":"Module mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["Module mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["Module mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["Module mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["Module mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["Module mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["Module mbcp.mp_math.point","class Point3"]},"105":{"title":"Module mbcp.mp_math.segment","titles":[]},"106":{"title":"class Segment3","titles":["Module mbcp.mp_math.segment"]},"107":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["Module mbcp.mp_math.segment","class Segment3"]},"108":{"title":"Module mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["Module mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["Module mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["Module mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["Module mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["Module mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["Module mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["Module mbcp.mp_math.utils"]},"118":{"title":"Module mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["Module mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["Module mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["Module mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["Module mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["Module mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["Module mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["Module mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["Module mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["Module mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["Module mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["Module mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["Module mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["Module mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["Module mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["Module mbcp.mp_math.vector"]},"151":{"title":"Module mbcp.particle","titles":[]},"152":{"title":"Module mbcp.presets","titles":[]},"153":{"title":"Module mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["Module mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["Module mbcp.presets.model","class GeometricModels"]},"156":{"title":"Best Practice","titles":[]},"157":{"title":"Works","titles":["Best Practice"]},"158":{"title":"开始不了一点","titles":[]},"159":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["∫12x111",{"2":{"158":1}}],["开始不了一点",{"0":{"158":1}}],["红石音乐",{"2":{"157":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["works",{"0":{"157":1}}],["warning",{"2":{"34":2}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["返回numpy数组",{"2":{"127":1}}],["返回如下行列式的结果",{"2":{"123":1}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["其余结果的模为平行四边形的面积",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘为0",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["或包装一个实数",{"2":{"115":2}}],["或整数元组",{"2":{"34":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"159":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["中心点",{"2":{"107":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"107":1}}],["线段的另一个端点",{"2":{"107":2}}],["线段的一个端点",{"2":{"107":2}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["k``",{"2":{"123":1}}],["k",{"2":{"79":12}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"60":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["实数",{"2":{"59":1,"111":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["并对向量单位化",{"2":{"54":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则两向量平行",{"2":{"123":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"99":2,"115":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"42":2,"49":2,"99":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"107":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"107":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"105":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"159":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["best",{"0":{"156":1},"1":{"157":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"4":1,"116":1,"117":1}}],["bool",{"0":{"4":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"99":3,"103":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"81":1,"82":6,"83":1,"87":2}}],["documentation",{"2":{"159":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"107":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["default",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["description",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"107":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["``x2",{"2":{"123":1}}],["``x1",{"2":{"123":1}}],["``i",{"2":{"123":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"111":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"103":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"33":2,"34":1,"37":2}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["z2``",{"2":{"123":1}}],["z1``",{"2":{"123":1}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y2",{"2":{"123":1}}],["y1",{"2":{"123":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"115":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":9,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["π",{"2":{"24":1}}],["to",{"2":{"159":1}}],["theta",{"2":{"155":3}}],["the",{"2":{"83":2,"159":1}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["tip",{"2":{"36":2,"37":2}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"113":1},"2":{"34":1,"44":1,"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2,"147":1,"148":1,"149":1,"150":1}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"42":1,"49":1,"99":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"99":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":2}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"57":1,"94":1,"103":1,"112":1,"134":1},"2":{"17":1,"57":1,"94":1,"103":1,"112":1,"114":1,"134":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"83":5,"102":7,"107":3,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"49":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"45":1,"81":3,"107":3,"128":3,"155":2}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"159":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["return",{"2":{"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":1,"17":1,"18":1,"19":1,"22":2,"33":3,"34":5,"36":2,"37":5,"42":2,"43":2,"44":6,"45":2,"46":2,"47":2,"48":2,"49":2,"50":2,"51":2,"52":2,"53":2,"55":2,"56":4,"57":2,"79":5,"80":3,"81":3,"82":2,"83":2,"84":2,"85":2,"86":2,"87":2,"88":2,"89":2,"90":2,"93":5,"94":2,"95":1,"99":2,"102":2,"103":2,"104":2,"109":2,"112":2,"114":1,"115":2,"116":4,"117":4,"121":2,"122":2,"123":2,"124":2,"125":2,"127":2,"128":2,"129":2,"130":1,"133":3,"134":2,"135":2,"138":3,"139":2,"142":3,"143":1,"144":2,"145":1,"146":2,"155":2}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":2,"44":2,"45":2,"80":2,"81":2,"82":2,"83":2,"93":2}}],["ratio",{"0":{"26":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["github",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["on",{"0":{"52":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":2,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["or",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":2,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":2,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"123":2}}],["v1",{"2":{"57":4,"88":2,"89":2,"123":2}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"4":1,"111":1},"2":{"4":5,"111":5,"112":6,"113":1}}],["view",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"40":1,"77":1,"97":1,"106":1,"110":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"107":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":3,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["code",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["source",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"105":1},"1":{"106":1,"107":1}}],["segment3",{"0":{"106":1},"1":{"107":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"107":15,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["默认为否",{"2":{"4":2}}],["all",{"2":{"99":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["arccos",{"2":{"155":1}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["arguments",{"2":{"4":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"99":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"42":2,"49":1,"79":1,"99":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"17":1,"42":3,"49":2,"79":10,"94":1,"99":1,"103":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"43":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"43":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"43":3,"80":3,"122":2}}],["任意角度",{"2":{"4":2,"38":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"99":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"98":7,"99":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"42":1,"49":1,"99":1,"100":1,"101":1,"104":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"82":17,"83":2,"87":2,"88":3,"89":3,"98":3,"107":5,"111":1,"120":3,"126":4,"155":7}}],["improve",{"2":{"159":1}}],["import",{"2":{"104":1}}],["i",{"2":{"155":4,"157":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1},"2":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"44":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"107":1},"2":{"55":4,"57":2,"88":4,"107":9}}],["p1",{"0":{"55":1,"88":1,"107":1},"2":{"55":5,"57":2,"88":6,"107":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"107":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"107":7,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["practice",{"0":{"156":1},"1":{"157":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["提供了一些工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["module",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}],["midpoint",{"2":{"107":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexja.BL-t7QiB.js b/assets/chunks/@localSearchIndexja.BL-t7QiB.js new file mode 100644 index 0000000..5040311 --- /dev/null +++ b/assets/chunks/@localSearchIndexja.BL-t7QiB.js @@ -0,0 +1 @@ +const t='{"documentCount":160,"nextId":160,"documentIds":{"0":"/ja/api/#モジュール-mbcp","1":"/ja/api/mp_math/angle.html#モジュール-mbcp-mp-math-angle","2":"/ja/api/mp_math/angle.html#class-angle","3":"/ja/api/mp_math/angle.html#class-anyangle-angle","4":"/ja/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/ja/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/ja/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/ja/api/mp_math/angle.html#method-degree-self-float","8":"/ja/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/ja/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/ja/api/mp_math/angle.html#method-sin-self-float","11":"/ja/api/mp_math/angle.html#method-cos-self-float","12":"/ja/api/mp_math/angle.html#method-tan-self-float","13":"/ja/api/mp_math/angle.html#method-cot-self-float","14":"/ja/api/mp_math/angle.html#method-sec-self-float","15":"/ja/api/mp_math/angle.html#method-csc-self-float","16":"/ja/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/ja/api/mp_math/angle.html#method-eq-self-other","18":"/ja/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/ja/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/ja/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/ja/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/ja/api/mp_math/angle.html#method-self-other","23":"/ja/api/mp_math/const.html#モジュール-mbcp-mp-math-const","24":"/ja/api/mp_math/const.html#var-pi","25":"/ja/api/mp_math/const.html#var-e","26":"/ja/api/mp_math/const.html#var-golden-ratio","27":"/ja/api/mp_math/const.html#var-gamma","28":"/ja/api/mp_math/const.html#var-epsilon","29":"/ja/api/mp_math/const.html#var-approx","30":"/ja/api/mp_math/equation.html#モジュール-mbcp-mp-math-equation","31":"/ja/api/mp_math/equation.html#class-curveequation","32":"/ja/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/ja/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/ja/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/ja/api/mp_math/function.html#モジュール-mbcp-mp-math-function","36":"/ja/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/ja/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/ja/api/mp_math/#モジュール-mbcp-mp-math","39":"/ja/api/mp_math/mp_math_typing.html#モジュール-mbcp-mp-math-mp-math-typing","40":"/ja/api/mp_math/mp_math_typing.html#var-realnumber","41":"/ja/api/mp_math/mp_math_typing.html#var-number","42":"/ja/api/mp_math/mp_math_typing.html#var-singlevar","43":"/ja/api/mp_math/mp_math_typing.html#var-arrayvar","44":"/ja/api/mp_math/mp_math_typing.html#var-var","45":"/ja/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","46":"/ja/api/mp_math/mp_math_typing.html#var-onearrayfunc","47":"/ja/api/mp_math/mp_math_typing.html#var-onevarfunc","48":"/ja/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","49":"/ja/api/mp_math/mp_math_typing.html#var-twoarraysfunc","50":"/ja/api/mp_math/mp_math_typing.html#var-twovarsfunc","51":"/ja/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","52":"/ja/api/mp_math/mp_math_typing.html#var-threearraysfunc","53":"/ja/api/mp_math/mp_math_typing.html#var-threevarsfunc","54":"/ja/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","55":"/ja/api/mp_math/mp_math_typing.html#var-multiarraysfunc","56":"/ja/api/mp_math/mp_math_typing.html#var-multivarsfunc","57":"/ja/api/mp_math/line.html#モジュール-mbcp-mp-math-line","58":"/ja/api/mp_math/line.html#class-line3","59":"/ja/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","60":"/ja/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","61":"/ja/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","62":"/ja/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","63":"/ja/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","64":"/ja/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","65":"/ja/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","66":"/ja/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","67":"/ja/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","68":"/ja/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","69":"/ja/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","70":"/ja/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","71":"/ja/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","72":"/ja/api/mp_math/line.html#method-simplify-self","73":"/ja/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","74":"/ja/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","75":"/ja/api/mp_math/line.html#method-eq-self-other-bool","76":"/ja/api/mp_math/plane.html#モジュール-mbcp-mp-math-plane","77":"/ja/api/mp_math/plane.html#class-plane3","78":"/ja/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/ja/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/ja/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/ja/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/ja/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/ja/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/ja/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/ja/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/ja/api/mp_math/plane.html#method-normal-self-vector3","87":"/ja/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/ja/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/ja/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/ja/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/ja/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/ja/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/ja/api/mp_math/plane.html#method-and-self-other","94":"/ja/api/mp_math/plane.html#method-eq-self-other-bool","95":"/ja/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/ja/api/mp_math/point.html#モジュール-mbcp-mp-math-point","97":"/ja/api/mp_math/point.html#class-point3","98":"/ja/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/ja/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/ja/api/mp_math/point.html#method-self-other-vector3-point3","101":"/ja/api/mp_math/point.html#method-self-other-point3-point3","102":"/ja/api/mp_math/point.html#method-self-other","103":"/ja/api/mp_math/point.html#method-eq-self-other","104":"/ja/api/mp_math/point.html#method-self-other-point3-vector3","105":"/ja/api/mp_math/segment.html#モジュール-mbcp-mp-math-segment","106":"/ja/api/mp_math/segment.html#class-segment3","107":"/ja/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","108":"/ja/api/mp_math/utils.html#モジュール-mbcp-mp-math-utils","109":"/ja/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/ja/api/mp_math/utils.html#class-approx","111":"/ja/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/ja/api/mp_math/utils.html#method-eq-self-other","113":"/ja/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/ja/api/mp_math/utils.html#method-ne-self-other","115":"/ja/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/ja/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/ja/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/ja/api/mp_math/vector.html#モジュール-mbcp-mp-math-vector","119":"/ja/api/mp_math/vector.html#class-vector3","120":"/ja/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/ja/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/ja/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/ja/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/ja/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/ja/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/ja/api/mp_math/vector.html#method-normalize-self","127":"/ja/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/ja/api/mp_math/vector.html#method-length-self-float","129":"/ja/api/mp_math/vector.html#method-unit-self-vector3","130":"/ja/api/mp_math/vector.html#method-abs-self","131":"/ja/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/ja/api/mp_math/vector.html#method-self-other-point3-point3","133":"/ja/api/mp_math/vector.html#method-self-other","134":"/ja/api/mp_math/vector.html#method-eq-self-other","135":"/ja/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/ja/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/ja/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/ja/api/mp_math/vector.html#method-self-other-1","139":"/ja/api/mp_math/vector.html#method-self-other-point3","140":"/ja/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/ja/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/ja/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/ja/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/ja/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/ja/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/ja/api/mp_math/vector.html#method-self-vector3","147":"/ja/api/mp_math/vector.html#var-zero-vector3","148":"/ja/api/mp_math/vector.html#var-x-axis","149":"/ja/api/mp_math/vector.html#var-y-axis","150":"/ja/api/mp_math/vector.html#var-z-axis","151":"/ja/api/particle/#モジュール-mbcp-particle","152":"/ja/api/presets/#モジュール-mbcp-presets","153":"/ja/api/presets/model/#モジュール-mbcp-presets-model","154":"/ja/api/presets/model/#class-geometricmodels","155":"/ja/api/presets/model/#method-sphere-radius-float-density-float","156":"/ja/demo/best-practice.html#ベストプラクティス","157":"/ja/demo/best-practice.html#作品","158":"/ja/guide/#开始不了一点","159":"/ja/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,25],"5":[5,9,24],"6":[5,9,23],"7":[5,9,20],"8":[6,9,21],"9":[6,9,23],"10":[5,9,18],"11":[5,9,18],"12":[5,9,18],"13":[5,9,20],"14":[5,9,20],"15":[5,9,20],"16":[7,9,15],"17":[5,9,11],"18":[6,9,14],"19":[7,9,16],"20":[7,9,13],"21":[7,9,13],"22":[3,9,15],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,26],"33":[10,7,35],"34":[14,5,74],"35":[5,1,2],"36":[13,5,69],"37":[7,5,63],"38":[4,1,20],"39":[5,1,2],"40":[2,5,9],"41":[2,5,9],"42":[2,5,7],"43":[2,5,8],"44":[2,5,9],"45":[2,5,8],"46":[2,5,8],"47":[2,5,9],"48":[2,5,8],"49":[2,5,8],"50":[2,5,9],"51":[2,5,8],"52":[2,5,8],"53":[2,5,9],"54":[2,5,8],"55":[2,5,8],"56":[2,5,9],"57":[5,1,2],"58":[2,5,1],"59":[8,7,25],"60":[11,7,43],"61":[8,7,28],"62":[10,7,63],"63":[8,7,60],"64":[8,7,29],"65":[8,7,35],"66":[9,7,42],"67":[14,7,43],"68":[8,7,36],"69":[8,7,39],"70":[8,7,36],"71":[8,7,42],"72":[4,7,27],"73":[10,7,36],"74":[9,7,52],"75":[6,7,44],"76":[5,1,2],"77":[2,5,1],"78":[9,7,36],"79":[7,7,45],"80":[10,7,92],"81":[10,7,66],"82":[9,7,103],"83":[9,7,69],"84":[9,7,30],"85":[8,7,37],"86":[5,7,25],"87":[10,7,45],"88":[11,7,39],"89":[10,7,44],"90":[10,7,35],"91":[9,7,15],"92":[9,7,15],"93":[5,7,70],"94":[6,7,35],"95":[7,7,15],"96":[5,1,2],"97":[2,5,1],"98":[8,7,26],"99":[11,7,45],"100":[8,7,13],"101":[7,7,12],"102":[4,7,34],"103":[5,7,37],"104":[7,7,36],"105":[5,1,2],"106":[2,5,1],"107":[7,7,32],"108":[5,1,2],"109":[7,5,31],"110":[2,5,1],"111":[6,7,20],"112":[5,7,31],"113":[7,7,15],"114":[5,7,11],"115":[11,5,40],"116":[11,5,43],"117":[12,5,49],"118":[5,1,3],"119":[2,5,1],"120":[8,7,29],"121":[11,7,44],"122":[8,7,46],"123":[6,7,50],"124":[13,7,43],"125":[8,7,37],"126":[4,7,17],"127":[6,7,31],"128":[5,7,33],"129":[5,7,21],"130":[4,7,10],"131":[7,7,12],"132":[7,7,12],"133":[4,7,46],"134":[5,7,37],"135":[7,7,31],"136":[6,7,12],"137":[6,7,12],"138":[3,7,45],"139":[4,7,42],"140":[6,7,12],"141":[7,7,13],"142":[9,7,55],"143":[7,7,13],"144":[7,7,38],"145":[7,7,15],"146":[5,7,21],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,48],"156":[1,1,1],"157":[1,1,25],"158":[1,1,2],"159":[1,1,7]},"averageFieldLength":[5.743749999999997,5.924999999999998,23.33125],"storedFields":{"0":{"title":"モジュール mbcp","titles":[]},"1":{"title":"モジュール mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["モジュール mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["モジュール mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"モジュール mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["モジュール mbcp.mp_math.const"]},"25":{"title":"var E","titles":["モジュール mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["モジュール mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["モジュール mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["モジュール mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["モジュール mbcp.mp_math.const"]},"30":{"title":"モジュール mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["モジュール mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["モジュール mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["モジュール mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["モジュール mbcp.mp_math.equation"]},"35":{"title":"モジュール mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["モジュール mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["モジュール mbcp.mp_math.function"]},"38":{"title":"モジュール mbcp.mp_math","titles":[]},"39":{"title":"モジュール mbcp.mp_math.mp_math_typing","titles":[]},"40":{"title":"var RealNumber","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"41":{"title":"var Number","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"42":{"title":"var SingleVar","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"43":{"title":"var ArrayVar","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"44":{"title":"var Var","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"45":{"title":"var OneSingleVarFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"46":{"title":"var OneArrayFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"47":{"title":"var OneVarFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"48":{"title":"var TwoSingleVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"49":{"title":"var TwoArraysFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"50":{"title":"var TwoVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"51":{"title":"var ThreeSingleVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"52":{"title":"var ThreeArraysFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"53":{"title":"var ThreeVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"54":{"title":"var MultiSingleVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"55":{"title":"var MultiArraysFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"56":{"title":"var MultiVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"57":{"title":"モジュール mbcp.mp_math.line","titles":[]},"58":{"title":"class Line3","titles":["モジュール mbcp.mp_math.line"]},"59":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["モジュール mbcp.mp_math.line","class Line3"]},"60":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"61":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["モジュール mbcp.mp_math.line","class Line3"]},"62":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["モジュール mbcp.mp_math.line","class Line3"]},"63":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"64":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"65":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"66":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["モジュール mbcp.mp_math.line","class Line3"]},"67":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"68":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"69":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"70":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"71":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"72":{"title":"method simplify(self)","titles":["モジュール mbcp.mp_math.line","class Line3"]},"73":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"74":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["モジュール mbcp.mp_math.line","class Line3"]},"75":{"title":"method __eq__(self, other) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"76":{"title":"モジュール mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["モジュール mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"96":{"title":"モジュール mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["モジュール mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["モジュール mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["モジュール mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["モジュール mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["モジュール mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["モジュール mbcp.mp_math.point","class Point3"]},"105":{"title":"モジュール mbcp.mp_math.segment","titles":[]},"106":{"title":"class Segment3","titles":["モジュール mbcp.mp_math.segment"]},"107":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["モジュール mbcp.mp_math.segment","class Segment3"]},"108":{"title":"モジュール mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["モジュール mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["モジュール mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["モジュール mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["モジュール mbcp.mp_math.utils"]},"118":{"title":"モジュール mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["モジュール mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["モジュール mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["モジュール mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["モジュール mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["モジュール mbcp.mp_math.vector"]},"151":{"title":"モジュール mbcp.particle","titles":[]},"152":{"title":"モジュール mbcp.presets","titles":[]},"153":{"title":"モジュール mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["モジュール mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["モジュール mbcp.presets.model","class GeometricModels"]},"156":{"title":"ベストプラクティス","titles":[]},"157":{"title":"作品","titles":["ベストプラクティス"]},"158":{"title":"开始不了一点","titles":[]},"159":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["∫12x111",{"2":{"158":1}}],["开始不了一点",{"0":{"158":1}}],["红石音乐",{"2":{"157":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["作品",{"0":{"157":1}}],["ベストプラクティス",{"0":{"156":1},"1":{"157":1}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"42":1}}],["模",{"2":{"128":2}}],["返回numpy数组",{"2":{"127":1}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["转换为行列式形式",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘运算法则为",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["向量夹角计算公式",{"2":{"122":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"66":2}}],["获取直线上的点",{"2":{"65":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"159":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"62":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["中心点",{"2":{"107":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"107":1}}],["线段的另一个端点",{"2":{"107":2}}],["线段的一个端点",{"2":{"107":2}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["或包装一个实数",{"2":{"115":2}}],["或",{"2":{"82":1}}],["或整数元组",{"2":{"34":2}}],["依次假设$x=0$",{"2":{"82":1}}],["依次假设x=0",{"2":{"82":1}}],["并代入两平面方程求出合适的点",{"2":{"82":2}}],["并对向量单位化",{"2":{"72":2}}],["寻找直线上的一点",{"2":{"82":2}}],["为直线的方向向量",{"2":{"80":2}}],["为平面的法向量",{"2":{"80":2}}],["分别为两个平面的法向量",{"2":{"80":2}}],["和",{"2":{"80":2}}],["其中",{"2":{"80":4}}],["θ=arccos⁡",{"2":{"80":2,"122":1}}],["k",{"2":{"79":12,"123":1}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面与直线夹角计算公式",{"2":{"80":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面间夹角计算公式",{"2":{"80":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"74":2}}],["∧",{"2":{"75":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"74":2}}],["交集",{"2":{"74":2,"93":2}}],["交点",{"2":{"63":2,"83":2}}],["重合线返回自身",{"2":{"74":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"73":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"59":2}}],["工厂函数",{"2":{"73":2,"87":2,"88":2,"89":2,"90":2}}],["处理",{"2":{"72":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"72":2}}],["按照可行性一次对x",{"2":{"72":2}}],["不返回值",{"2":{"72":2,"126":2}}],["不支持的类型",{"2":{"62":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"72":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"72":2}}],["简化直线方程",{"2":{"72":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"71":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"71":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"75":2}}],["判断两条直线是否共面",{"2":{"71":2}}],["判断两条直线是否共线",{"2":{"69":2}}],["判断两条直线是否平行",{"2":{"68":2}}],["判断两条直线是否近似平行",{"2":{"67":2}}],["判断两条直线是否近似相等",{"2":{"60":2}}],["判断点是否在直线上",{"2":{"70":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"68":2,"69":2,"71":2}}],["另一条直线或点",{"2":{"62":2}}],["另一条直线",{"2":{"60":2,"61":2,"63":2,"67":2,"74":2,"75":2}}],["则同一个t对应的点不同",{"2":{"65":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"65":2}}],["同一条直线",{"2":{"65":2}}],["垂线",{"2":{"64":2}}],["指定点",{"2":{"64":2,"84":2}}],["直线最终可用参数方程或点向式表示",{"2":{"82":2}}],["直线",{"2":{"73":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"63":2}}],["直线平行",{"2":{"63":2}}],["直线上的一点",{"2":{"59":2}}],["距离",{"2":{"62":2,"81":2}}],["夹角",{"2":{"61":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"75":2,"94":2}}],["是否共面",{"2":{"71":2}}],["是否共线",{"2":{"69":2}}],["是否在直线上",{"2":{"70":2}}],["是否平行",{"2":{"68":2,"85":2,"125":2}}],["是否近似平行",{"2":{"67":2,"124":2}}],["是否近似相等",{"2":{"60":2,"79":2,"99":2,"115":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"60":2,"67":2,"99":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"59":2,"107":1}}],["多元函数",{"2":{"56":1}}],["多元数组函数",{"2":{"55":1}}],["多元单变量函数",{"2":{"54":1}}],["二元函数",{"2":{"50":1}}],["二元数组函数",{"2":{"49":1}}],["二元单变量函数",{"2":{"48":1}}],["一元函数",{"2":{"47":1}}],["一元数组函数",{"2":{"46":1}}],["一元单变量函数",{"2":{"45":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"44":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"43":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"41":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["タイプ",{"2":{"40":1,"41":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"147":1,"148":1,"149":1,"150":1}}],["实数",{"2":{"40":1,"111":2}}],["三元数组函数",{"2":{"52":1}}],["三元单变量函数",{"2":{"51":1}}],["三元函数",{"2":{"36":2,"53":1}}],["三维空间中的线段",{"2":{"107":2}}],["三维空间中的直线",{"2":{"59":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"39":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"105":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"57":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"159":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"75":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["begin",{"2":{"82":1,"123":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"43":1}}],["bound=number",{"2":{"42":1}}],["bool=false",{"2":{"4":1,"116":1,"117":1}}],["bool",{"0":{"4":1,"60":1,"67":1,"68":1,"69":1,"70":1,"71":1,"75":1,"79":1,"85":1,"94":1,"99":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"60":3,"67":3,"68":3,"69":3,"70":3,"71":3,"75":3,"79":3,"85":3,"94":3,"99":3,"103":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["例",{"2":{"37":1}}],["例外",{"2":{"34":1,"62":1,"63":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["dt",{"2":{"82":3}}],["d=n1×n2",{"2":{"82":1}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"80":2,"81":1,"82":7,"83":1,"87":2}}],["documentation",{"2":{"159":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"63":2}}],["distance",{"0":{"62":1,"81":1},"2":{"62":1,"81":1}}],["direction",{"0":{"59":1},"2":{"59":5,"60":1,"61":2,"62":8,"63":6,"64":1,"65":1,"66":3,"67":2,"68":2,"69":1,"70":1,"71":2,"72":4,"73":2,"75":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"107":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"73":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["$z=0$",{"2":{"82":1}}],["$y=0$",{"2":{"82":1}}],["$d$",{"2":{"80":1}}],["$n$",{"2":{"80":1}}],["$n2$",{"2":{"80":1}}],["$n1$",{"2":{"80":1}}],["$$",{"2":{"80":4,"82":6,"122":2,"123":4}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"73":2,"88":2}}],["点1",{"2":{"73":2,"88":2}}],["点",{"2":{"36":2,"65":2,"70":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面交线的一般步骤",{"2":{"82":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"74":2}}],["计算两条直线的交点",{"2":{"63":2}}],["计算直线经过指定点p的垂线",{"2":{"64":2}}],["计算直线和直线或点之间的距离",{"2":{"62":2}}],["计算直线和直线之间的夹角",{"2":{"61":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["vmatrix",{"2":{"123":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"75":2,"88":2,"89":4,"122":1,"123":13}}],["v1x⋅v2y−v1y⋅v2x",{"2":{"123":1}}],["v1z⋅v2x−v1x⋅v2z",{"2":{"123":1}}],["v1y⋅v2z−v1z⋅v2y",{"2":{"123":1}}],["v1×v2=|ijkv1xv1yv1zv2xv2yv2z|",{"2":{"123":1}}],["v1×v2=",{"2":{"123":1}}],["v1⋅v2|v1|⋅|v2|",{"2":{"122":1}}],["v1",{"2":{"75":4,"88":2,"89":2,"122":1,"123":13}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"59":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"59":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"59":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":2,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"65":1,"66":1}}],["valueerror",{"2":{"34":3,"63":4,"82":3,"83":3}}],["value",{"0":{"4":1,"111":1},"2":{"4":5,"111":5,"112":6,"113":1}}],["求两平面的法向量的叉乘得到方向向量",{"2":{"82":2}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"66":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"62":5,"63":1,"80":2,"107":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"63":2,"89":1}}],["line",{"0":{"57":1,"90":2},"1":{"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"60":1,"61":1,"62":1,"63":1,"64":1,"67":1,"68":1,"69":1,"71":1,"73":1,"74":2,"75":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"58":1,"60":1,"61":1,"62":1,"63":1,"64":1,"67":1,"68":1,"69":1,"71":1,"73":1,"74":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"38":1,"60":3,"61":3,"62":4,"63":3,"64":4,"67":3,"68":3,"69":3,"71":3,"73":3,"74":6,"75":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"74":1,"93":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"59":1,"62":1,"63":1,"64":1,"65":1,"70":1,"73":2,"74":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"66":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"65":1,"111":1}}],["`tuple`",{"2":{"66":1}}],["`typeerror`",{"2":{"62":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"61":1,"80":1,"122":1}}],["`bool`",{"2":{"60":1,"67":1,"68":1,"69":1,"70":1,"71":1,"75":1,"79":1,"85":1,"94":1,"99":1,"103":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"60":1,"62":1,"67":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"60":1,"61":1,"62":1,"63":1,"64":1,"67":1,"68":1,"69":1,"71":1,"73":1,"74":2,"75":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"63":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"59":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["warning",{"2":{"34":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"41":1},"2":{"43":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["n",{"2":{"80":2,"82":1}}],["n⋅d|n|⋅|d|",{"2":{"80":1}}],["n2",{"2":{"80":2,"82":1}}],["n1",{"2":{"80":2,"82":1}}],["n1⋅n2|n1|⋅|n2|",{"2":{"80":1}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"72":1,"126":1}}],["none",{"0":{"74":1,"91":1,"92":1},"2":{"74":4,"91":1,"92":1,"93":4}}],["not",{"2":{"62":1,"63":4,"74":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["参数方程",{"2":{"66":2}}],["参数t",{"2":{"65":2}}],["参数",{"2":{"33":2,"34":1,"37":2}}],["|v2|",{"2":{"122":1}}],["|v1|",{"2":{"122":1}}],["|d|",{"2":{"80":1}}],["|n|",{"2":{"80":1}}],["|n2|",{"2":{"80":1}}],["|n1|",{"2":{"80":1}}],["|",{"0":{"33":1,"34":1,"62":1,"74":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"40":1,"41":1,"44":1,"47":1,"50":1,"53":1,"56":1,"62":3,"74":6,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z=0",{"2":{"82":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"66":2,"72":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y=0",{"2":{"82":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"66":2,"72":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1,"123":6}}],["x−x0m=y−y0n=z−z0p",{"2":{"82":1}}],["x=x0+dty=y0+dtz=z0+dt或",{"2":{"82":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"66":2,"72":2,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":12,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"67":1},"2":{"67":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"115":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"62":2,"71":1,"72":8,"78":2,"79":3,"81":2,"82":15,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["デフォルト",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"147":1,"148":1,"149":1,"150":1}}],["π",{"2":{"24":1}}],["to",{"2":{"159":1}}],["times",{"2":{"82":1,"123":2}}],["tip",{"2":{"36":2,"37":2,"80":4,"82":2,"122":2,"123":2}}],["the",{"2":{"83":2,"159":1}}],["theta",{"2":{"80":2,"122":1,"155":3}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"53":1}}],["threearraysfunc",{"0":{"52":1},"2":{"53":1}}],["threesinglevarsfunc",{"0":{"36":1,"51":1},"2":{"36":3,"53":1}}],["two",{"0":{"73":1,"89":1},"2":{"73":1,"89":1}}],["twovarsfunc",{"0":{"50":1}}],["twoarraysfunc",{"0":{"49":1},"2":{"50":1}}],["twosinglevarsfunc",{"0":{"48":1},"2":{"50":1}}],["typeerror",{"2":{"62":3,"63":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["typevar",{"2":{"42":1,"43":1}}],["typealias",{"2":{"40":1,"41":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1}}],["type",{"0":{"113":1},"2":{"34":1,"62":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2}}],["typing",{"0":{"39":1},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1},"2":{"32":3,"34":1,"36":1,"37":2,"65":1,"66":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"66":1},"2":{"33":2,"34":2,"66":3}}],["t",{"0":{"33":1,"65":1},"2":{"33":10,"65":4,"66":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["on",{"0":{"70":1},"2":{"70":1}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"46":1},"2":{"47":1}}],["onesinglevarfunc",{"0":{"45":1,"66":3},"2":{"47":1,"66":7}}],["onevarfunc",{"0":{"32":3,"37":1,"47":1},"2":{"32":9,"37":1}}],["or",{"2":{"74":1,"83":1}}],["org",{"2":{"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"60":1,"61":1,"62":1,"63":1,"67":1,"68":1,"69":1,"71":1,"74":1,"75":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"60":5,"61":4,"62":13,"63":9,"67":4,"68":4,"69":5,"71":5,"74":7,"75":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"60":1,"67":1,"99":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"60":5,"67":4,"99":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["end",{"2":{"82":1,"123":1}}],["exceptions",{"2":{"62":1,"63":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":1}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"62":3,"74":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"62":2,"74":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"66":1},"2":{"66":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"75":1,"94":1,"103":1,"112":1,"134":1},"2":{"17":1,"75":1,"94":1,"103":1,"112":1,"114":1,"134":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"63":1,"65":1,"66":3,"78":6,"81":5,"82":3,"83":5,"102":7,"107":3,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"67":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"82":1,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"66":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"72":1},"2":{"72":1}}],["singlevar",{"0":{"42":1},"2":{"42":1,"44":1,"45":2,"48":3,"51":4,"54":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"105":1},"1":{"106":1,"107":1}}],["segment3",{"0":{"106":1},"1":{"107":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"59":3,"60":4,"61":2,"62":13,"63":8,"64":3,"65":3,"66":7,"67":2,"68":2,"69":4,"70":3,"71":3,"72":8,"74":6,"75":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"107":15,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"63":1,"81":3,"82":1,"107":3,"128":3,"155":2}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"159":1},"2":{"127":1}}],["realnumber",{"0":{"40":1,"65":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"41":1,"65":3,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["return",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"22":2,"33":2,"34":4,"36":1,"37":4,"60":1,"61":1,"62":5,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":3,"75":1,"79":4,"80":2,"81":2,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":4,"94":1,"95":1,"99":1,"102":1,"103":1,"104":1,"109":1,"112":2,"114":1,"115":1,"116":3,"117":3,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"130":1,"133":2,"134":1,"135":1,"138":2,"139":1,"142":2,"143":1,"144":1,"145":1,"146":1,"155":1}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"62":1,"63":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":1,"62":1,"63":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["ratio",{"0":{"26":1}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["戻り値",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":1,"36":1,"37":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"65":1,"66":1},"2":{"34":2,"65":1,"66":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["githubで表示",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cases",{"2":{"82":2}}],["cal",{"0":{"36":1,"61":1,"62":1,"63":1,"64":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"61":2,"62":1,"63":1,"64":1,"74":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"45":1,"46":1,"48":1,"49":1,"51":1,"52":1,"54":1,"55":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cdot",{"2":{"80":4,"122":2,"123":6}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"72":1,"73":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"58":1,"77":1,"97":1,"106":1,"110":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"59":2,"60":1,"61":2,"62":2,"63":2,"64":2,"65":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":3,"74":3,"75":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"107":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"73":1,"87":1,"88":1,"89":1,"90":1},"2":{"73":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"62":4,"63":3,"64":1,"71":1,"82":1,"88":1,"89":1,"123":1,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"69":1},"2":{"69":1,"74":1}}],["coplanar",{"0":{"71":1},"2":{"62":1,"63":2,"71":1,"74":1}}],["complex",{"2":{"41":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"74":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["all",{"2":{"99":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["abs",{"0":{"130":1},"2":{"62":1,"81":1,"99":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"43":1},"2":{"43":1,"44":1,"46":2,"49":3,"52":4,"55":1}}],["arccos",{"2":{"80":2,"122":1,"155":1}}],["area",{"2":{"155":2}}],["are",{"2":{"63":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"60":2,"67":1,"79":1,"99":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"17":1,"60":3,"67":2,"79":10,"94":1,"99":1,"103":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"74":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"60":1,"63":2,"69":1,"74":1,"75":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"61":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"61":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"61":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"61":3,"80":3,"122":2}}],["または",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["ソースコード",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["默认为否",{"2":{"4":2}}],["引数",{"2":{"4":1,"32":1,"33":1,"34":1,"36":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"67":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["任意角度",{"2":{"4":2,"38":1}}],["説明",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["from",{"0":{"73":1,"87":1,"88":1,"89":1,"90":1},"2":{"73":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3,"80":2,"82":3,"122":1}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"60":2,"62":1,"67":2,"68":1,"69":1,"70":1,"71":1,"75":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"67":1}}],["float=approx",{"2":{"60":1,"99":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"60":1,"62":1,"67":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"40":1,"60":2,"62":3,"67":2,"78":9,"81":3,"98":7,"99":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"62":1,"71":1,"72":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"60":1,"67":1,"99":1,"100":1,"101":1,"104":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"59":2,"72":3,"73":1,"78":6,"79":6,"80":2,"82":23,"83":2,"87":2,"88":3,"89":3,"98":3,"107":5,"111":1,"120":3,"122":1,"123":2,"126":4,"155":7}}],["improve",{"2":{"159":1}}],["import",{"2":{"104":1}}],["i",{"2":{"123":1,"155":4,"157":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"63":2}}],["intersection",{"0":{"63":1,"82":1,"83":1},"2":{"63":1,"74":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"40":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"59":1,"78":1,"98":1,"107":1,"111":1,"120":1},"2":{"4":1,"32":1,"59":1,"78":1,"98":1,"107":1,"111":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"62":2,"63":2,"72":3,"74":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"62":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"67":1,"68":1,"69":1,"70":1,"71":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"60":2,"62":2,"63":2,"67":2,"68":2,"69":3,"70":2,"71":1,"74":3,"75":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"73":1,"88":1,"107":1},"2":{"73":4,"75":2,"88":4,"107":9}}],["p1",{"0":{"73":1,"88":1,"107":1},"2":{"73":5,"75":2,"88":6,"107":9}}],["perpendicular",{"0":{"64":1},"2":{"64":1}}],["parametric",{"0":{"66":1},"2":{"66":1,"83":1}}],["parallel",{"0":{"67":1,"68":1,"84":1,"85":1,"124":1,"125":1},"2":{"60":2,"62":1,"63":2,"67":2,"68":2,"69":2,"70":1,"74":1,"75":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"82":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"73":1,"88":1},"2":{"73":1,"88":1}}],["point",{"0":{"59":1,"64":1,"65":1,"70":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"59":6,"60":2,"62":6,"63":4,"64":7,"65":3,"66":3,"69":2,"70":7,"71":2,"72":3,"73":2,"74":1,"75":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"59":1,"62":1,"63":1,"64":1,"65":1,"70":1,"73":2,"74":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"107":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"59":3,"62":4,"63":3,"64":3,"65":3,"70":3,"73":6,"74":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"107":7,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"60":2,"62":2,"63":1,"66":1,"67":2,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["midpoint",{"2":{"107":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["m",{"2":{"82":1}}],["multiarraysfunc",{"0":{"55":1},"2":{"56":1}}],["multisinglevarsfunc",{"0":{"54":1},"2":{"56":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"56":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":2,"57":1,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":2,"51":2,"52":2,"53":2,"54":2,"55":2,"56":2,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"65":1,"66":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":2,"57":1,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":2,"41":2,"42":2,"43":2,"44":2,"45":2,"46":2,"47":2,"48":2,"49":2,"50":2,"51":2,"52":2,"53":2,"54":2,"55":2,"56":2,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"65":1,"66":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"57":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3}}],["提供了一些工具",{"2":{"0":1}}],["モジュール",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"57":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"58":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexja.Bd7c0e5S.js b/assets/chunks/@localSearchIndexja.Bd7c0e5S.js deleted file mode 100644 index 4376f30..0000000 --- a/assets/chunks/@localSearchIndexja.Bd7c0e5S.js +++ /dev/null @@ -1 +0,0 @@ -const t='{"documentCount":160,"nextId":160,"documentIds":{"0":"/ja/api/#モジュール-mbcp","1":"/ja/api/mp_math/angle.html#モジュール-mbcp-mp-math-angle","2":"/ja/api/mp_math/angle.html#class-angle","3":"/ja/api/mp_math/angle.html#class-anyangle-angle","4":"/ja/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/ja/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/ja/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/ja/api/mp_math/angle.html#method-degree-self-float","8":"/ja/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/ja/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/ja/api/mp_math/angle.html#method-sin-self-float","11":"/ja/api/mp_math/angle.html#method-cos-self-float","12":"/ja/api/mp_math/angle.html#method-tan-self-float","13":"/ja/api/mp_math/angle.html#method-cot-self-float","14":"/ja/api/mp_math/angle.html#method-sec-self-float","15":"/ja/api/mp_math/angle.html#method-csc-self-float","16":"/ja/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/ja/api/mp_math/angle.html#method-eq-self-other","18":"/ja/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/ja/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/ja/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/ja/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/ja/api/mp_math/angle.html#method-self-other","23":"/ja/api/mp_math/const.html#モジュール-mbcp-mp-math-const","24":"/ja/api/mp_math/const.html#var-pi","25":"/ja/api/mp_math/const.html#var-e","26":"/ja/api/mp_math/const.html#var-golden-ratio","27":"/ja/api/mp_math/const.html#var-gamma","28":"/ja/api/mp_math/const.html#var-epsilon","29":"/ja/api/mp_math/const.html#var-approx","30":"/ja/api/mp_math/equation.html#モジュール-mbcp-mp-math-equation","31":"/ja/api/mp_math/equation.html#class-curveequation","32":"/ja/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/ja/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/ja/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/ja/api/mp_math/function.html#モジュール-mbcp-mp-math-function","36":"/ja/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/ja/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/ja/api/mp_math/#モジュール-mbcp-mp-math","39":"/ja/api/mp_math/line.html#モジュール-mbcp-mp-math-line","40":"/ja/api/mp_math/line.html#class-line3","41":"/ja/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/ja/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/ja/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/ja/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/ja/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/ja/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/ja/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/ja/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/ja/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/ja/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/ja/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/ja/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/ja/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/ja/api/mp_math/line.html#method-simplify-self","55":"/ja/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/ja/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/ja/api/mp_math/line.html#method-eq-self-other-bool","58":"/ja/api/mp_math/mp_math_typing.html#モジュール-mbcp-mp-math-mp-math-typing","59":"/ja/api/mp_math/mp_math_typing.html#var-realnumber","60":"/ja/api/mp_math/mp_math_typing.html#var-number","61":"/ja/api/mp_math/mp_math_typing.html#var-singlevar","62":"/ja/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/ja/api/mp_math/mp_math_typing.html#var-var","64":"/ja/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/ja/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/ja/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/ja/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/ja/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/ja/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/ja/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/ja/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/ja/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/ja/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/ja/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/ja/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/ja/api/mp_math/plane.html#モジュール-mbcp-mp-math-plane","77":"/ja/api/mp_math/plane.html#class-plane3","78":"/ja/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/ja/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/ja/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/ja/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/ja/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/ja/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/ja/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/ja/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/ja/api/mp_math/plane.html#method-normal-self-vector3","87":"/ja/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/ja/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/ja/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/ja/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/ja/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/ja/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/ja/api/mp_math/plane.html#method-and-self-other","94":"/ja/api/mp_math/plane.html#method-eq-self-other-bool","95":"/ja/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/ja/api/mp_math/segment.html#モジュール-mbcp-mp-math-segment","97":"/ja/api/mp_math/segment.html#class-segment3","98":"/ja/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","99":"/ja/api/mp_math/point.html#モジュール-mbcp-mp-math-point","100":"/ja/api/mp_math/point.html#class-point3","101":"/ja/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","102":"/ja/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","103":"/ja/api/mp_math/point.html#method-self-other-vector3-point3","104":"/ja/api/mp_math/point.html#method-self-other-point3-point3","105":"/ja/api/mp_math/point.html#method-self-other","106":"/ja/api/mp_math/point.html#method-eq-self-other","107":"/ja/api/mp_math/point.html#method-self-other-point3-vector3","108":"/ja/api/mp_math/utils.html#モジュール-mbcp-mp-math-utils","109":"/ja/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/ja/api/mp_math/utils.html#class-approx","111":"/ja/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/ja/api/mp_math/utils.html#method-eq-self-other","113":"/ja/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/ja/api/mp_math/utils.html#method-ne-self-other","115":"/ja/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/ja/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/ja/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/ja/api/mp_math/vector.html#モジュール-mbcp-mp-math-vector","119":"/ja/api/mp_math/vector.html#class-vector3","120":"/ja/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/ja/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/ja/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/ja/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/ja/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/ja/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/ja/api/mp_math/vector.html#method-normalize-self","127":"/ja/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/ja/api/mp_math/vector.html#method-length-self-float","129":"/ja/api/mp_math/vector.html#method-unit-self-vector3","130":"/ja/api/mp_math/vector.html#method-abs-self","131":"/ja/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/ja/api/mp_math/vector.html#method-self-other-point3-point3","133":"/ja/api/mp_math/vector.html#method-self-other","134":"/ja/api/mp_math/vector.html#method-eq-self-other","135":"/ja/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/ja/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/ja/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/ja/api/mp_math/vector.html#method-self-other-1","139":"/ja/api/mp_math/vector.html#method-self-other-point3","140":"/ja/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/ja/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/ja/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/ja/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/ja/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/ja/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/ja/api/mp_math/vector.html#method-self-vector3","147":"/ja/api/mp_math/vector.html#var-zero-vector3","148":"/ja/api/mp_math/vector.html#var-x-axis","149":"/ja/api/mp_math/vector.html#var-y-axis","150":"/ja/api/mp_math/vector.html#var-z-axis","151":"/ja/api/particle/#モジュール-mbcp-particle","152":"/ja/api/presets/#モジュール-mbcp-presets","153":"/ja/api/presets/model/#モジュール-mbcp-presets-model","154":"/ja/api/presets/model/#class-geometricmodels","155":"/ja/api/presets/model/#method-sphere-radius-float-density-float","156":"/ja/demo/best-practice.html#ベストプラクティス","157":"/ja/demo/best-practice.html#作品","158":"/ja/guide/#开始不了一点","159":"/ja/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,25],"5":[5,9,24],"6":[5,9,23],"7":[5,9,20],"8":[6,9,21],"9":[6,9,23],"10":[5,9,18],"11":[5,9,18],"12":[5,9,18],"13":[5,9,20],"14":[5,9,20],"15":[5,9,20],"16":[7,9,15],"17":[5,9,11],"18":[6,9,14],"19":[7,9,16],"20":[7,9,13],"21":[7,9,13],"22":[3,9,15],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,26],"33":[10,7,35],"34":[14,5,74],"35":[5,1,2],"36":[13,5,69],"37":[7,5,63],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,25],"42":[11,7,43],"43":[8,7,28],"44":[10,7,63],"45":[8,7,60],"46":[8,7,29],"47":[8,7,35],"48":[9,7,42],"49":[14,7,43],"50":[8,7,36],"51":[8,7,39],"52":[8,7,36],"53":[8,7,42],"54":[4,7,27],"55":[10,7,36],"56":[9,7,52],"57":[6,7,44],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,36],"79":[7,7,45],"80":[10,7,62],"81":[10,7,66],"82":[9,7,71],"83":[9,7,69],"84":[9,7,30],"85":[8,7,37],"86":[5,7,25],"87":[10,7,45],"88":[11,7,39],"89":[10,7,44],"90":[10,7,35],"91":[9,7,15],"92":[9,7,15],"93":[5,7,70],"94":[6,7,35],"95":[7,7,15],"96":[5,1,2],"97":[2,5,1],"98":[7,7,32],"99":[5,1,2],"100":[2,5,1],"101":[8,7,26],"102":[11,7,45],"103":[8,7,13],"104":[7,7,12],"105":[4,7,34],"106":[5,7,37],"107":[7,7,36],"108":[5,1,2],"109":[7,5,31],"110":[2,5,1],"111":[6,7,20],"112":[5,7,31],"113":[7,7,15],"114":[5,7,11],"115":[11,5,40],"116":[11,5,43],"117":[12,5,49],"118":[5,1,3],"119":[2,5,1],"120":[8,7,29],"121":[11,7,44],"122":[8,7,31],"123":[6,7,43],"124":[13,7,43],"125":[8,7,37],"126":[4,7,17],"127":[6,7,31],"128":[5,7,33],"129":[5,7,21],"130":[4,7,10],"131":[7,7,12],"132":[7,7,12],"133":[4,7,46],"134":[5,7,37],"135":[7,7,31],"136":[6,7,12],"137":[6,7,12],"138":[3,7,45],"139":[4,7,42],"140":[6,7,12],"141":[7,7,13],"142":[9,7,55],"143":[7,7,13],"144":[7,7,38],"145":[7,7,15],"146":[5,7,21],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,48],"156":[1,1,1],"157":[1,1,25],"158":[1,1,2],"159":[1,1,7]},"averageFieldLength":[5.7437499999999995,5.924999999999998,22.806250000000006],"storedFields":{"0":{"title":"モジュール mbcp","titles":[]},"1":{"title":"モジュール mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["モジュール mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["モジュール mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["モジュール mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"モジュール mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["モジュール mbcp.mp_math.const"]},"25":{"title":"var E","titles":["モジュール mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["モジュール mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["モジュール mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["モジュール mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["モジュール mbcp.mp_math.const"]},"30":{"title":"モジュール mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["モジュール mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["モジュール mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["モジュール mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["モジュール mbcp.mp_math.equation"]},"35":{"title":"モジュール mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["モジュール mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["モジュール mbcp.mp_math.function"]},"38":{"title":"モジュール mbcp.mp_math","titles":[]},"39":{"title":"モジュール mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["モジュール mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["モジュール mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["モジュール mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["モジュール mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["モジュール mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["モジュール mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["モジュール mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["モジュール mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["モジュール mbcp.mp_math.line","class Line3"]},"58":{"title":"モジュール mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["モジュール mbcp.mp_math.mp_math_typing"]},"76":{"title":"モジュール mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["モジュール mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["モジュール mbcp.mp_math.plane","class Plane3"]},"96":{"title":"モジュール mbcp.mp_math.segment","titles":[]},"97":{"title":"class Segment3","titles":["モジュール mbcp.mp_math.segment"]},"98":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["モジュール mbcp.mp_math.segment","class Segment3"]},"99":{"title":"モジュール mbcp.mp_math.point","titles":[]},"100":{"title":"class Point3","titles":["モジュール mbcp.mp_math.point"]},"101":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["モジュール mbcp.mp_math.point","class Point3"]},"102":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.point","class Point3"]},"103":{"title":"method self + other: Vector3 => Point3","titles":["モジュール mbcp.mp_math.point","class Point3"]},"104":{"title":"method self + other: Point3 => Point3","titles":["モジュール mbcp.mp_math.point","class Point3"]},"105":{"title":"method self + other","titles":["モジュール mbcp.mp_math.point","class Point3"]},"106":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.point","class Point3"]},"107":{"title":"method self - other: Point3 => Vector3","titles":["モジュール mbcp.mp_math.point","class Point3"]},"108":{"title":"モジュール mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["モジュール mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["モジュール mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["モジュール mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["モジュール mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["モジュール mbcp.mp_math.utils"]},"118":{"title":"モジュール mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["モジュール mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["モジュール mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["モジュール mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["モジュール mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["モジュール mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["モジュール mbcp.mp_math.vector"]},"151":{"title":"モジュール mbcp.particle","titles":[]},"152":{"title":"モジュール mbcp.presets","titles":[]},"153":{"title":"モジュール mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["モジュール mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["モジュール mbcp.presets.model","class GeometricModels"]},"156":{"title":"ベストプラクティス","titles":[]},"157":{"title":"作品","titles":["ベストプラクティス"]},"158":{"title":"开始不了一点","titles":[]},"159":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["∫12x111",{"2":{"158":1}}],["开始不了一点",{"0":{"158":1}}],["红石音乐",{"2":{"157":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["作品",{"0":{"157":1}}],["ベストプラクティス",{"0":{"156":1},"1":{"157":1}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["返回numpy数组",{"2":{"127":1}}],["返回如下行列式的结果",{"2":{"123":1}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["其余结果的模为平行四边形的面积",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘为0",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["或包装一个实数",{"2":{"115":2}}],["或整数元组",{"2":{"34":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"159":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"107":2,"138":2}}],["新的点",{"2":{"105":2,"135":2,"139":2}}],["中实现",{"2":{"107":2}}],["中心点",{"2":{"98":1}}],["已在",{"2":{"107":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"101":6}}],["笛卡尔坐标系中的点",{"2":{"101":2}}],["长度",{"2":{"98":1}}],["线段的另一个端点",{"2":{"98":2}}],["线段的一个端点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["k``",{"2":{"123":1}}],["k",{"2":{"79":12}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"60":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["タイプ",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["实数",{"2":{"59":1,"111":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["并对向量单位化",{"2":{"54":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"106":2}}],["判断两个点是否近似相等",{"2":{"102":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"105":2}}],["另一个点",{"2":{"102":2,"106":2,"107":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则两向量平行",{"2":{"123":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"106":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"102":2,"115":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"42":2,"49":2,"102":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"98":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"98":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"99":1}}],["本模块定义了三维空间中的线段类",{"2":{"96":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"159":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"4":1,"116":1,"117":1}}],["bool",{"0":{"4":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"102":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"102":3,"106":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["例",{"2":{"37":1}}],["例外",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"81":1,"82":6,"83":1,"87":2}}],["documentation",{"2":{"159":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"98":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"103":1,"104":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"123":2}}],["v1",{"2":{"57":4,"88":2,"89":2,"123":2}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"105":1,"107":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"103":1,"107":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"103":1,"105":2,"107":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"105":2,"107":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"4":1,"111":1},"2":{"4":5,"111":5,"112":6,"113":1}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"98":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["``x2",{"2":{"123":1}}],["``x1",{"2":{"123":1}}],["``i",{"2":{"123":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"98":2,"102":1,"105":2,"106":1,"107":1,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"111":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"102":1,"106":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"101":3,"102":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"105":1,"107":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["warning",{"2":{"34":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"33":2,"34":1,"37":2}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"105":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["z2``",{"2":{"123":1}}],["z1``",{"2":{"123":1}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"101":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":2,"101":7,"102":2,"105":2,"106":2,"107":2,"112":2,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y2",{"2":{"123":1}}],["y1",{"2":{"123":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"101":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":2,"101":7,"102":2,"105":2,"106":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"102":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"101":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":4,"83":4,"87":2,"98":2,"101":7,"102":2,"105":2,"106":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"115":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":9,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["デフォルト",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["π",{"2":{"24":1}}],["to",{"2":{"159":1}}],["theta",{"2":{"155":3}}],["the",{"2":{"83":2,"159":1}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["tip",{"2":{"36":2,"37":2}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"113":1},"2":{"34":1,"44":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["on",{"0":{"52":1},"2":{"52":1}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["or",{"2":{"56":1,"83":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"102":1,"103":2,"104":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"102":6,"103":1,"104":1,"105":6,"106":6,"107":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"42":1,"49":1,"102":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"102":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":1}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"57":1,"94":1,"106":1,"112":1,"134":1},"2":{"17":1,"57":1,"94":1,"106":1,"112":1,"114":1,"134":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"103":1,"104":1,"105":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"83":5,"98":3,"105":7,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"49":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"107":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"96":1},"1":{"97":1,"98":1}}],["segment3",{"0":{"97":1},"1":{"98":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":15,"101":4,"102":4,"103":1,"104":1,"105":4,"106":4,"107":4,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"45":1,"81":3,"98":3,"128":3,"155":2}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"159":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["return",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"22":2,"33":2,"34":4,"36":1,"37":4,"42":1,"43":1,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":3,"57":1,"79":4,"80":2,"81":2,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":4,"94":1,"95":1,"102":1,"105":1,"106":1,"107":1,"109":1,"112":2,"114":1,"115":1,"116":3,"117":3,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"130":1,"133":2,"134":1,"135":1,"138":2,"139":1,"142":2,"143":1,"144":1,"145":1,"146":1,"155":1}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"102":1,"105":1,"106":1,"107":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["ratio",{"0":{"26":1}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"102":1,"103":1,"104":1,"105":2,"107":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["戻り値",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"102":1,"105":1,"106":1,"107":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"102":1,"103":1,"104":1,"107":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"105":2,"107":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["githubで表示",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"40":1,"77":1,"97":1,"100":1,"110":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"98":2,"102":1,"105":3,"106":1,"107":3,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":3,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["all",{"2":{"102":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["arccos",{"2":{"155":1}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"101":1,"102":1,"105":1,"106":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"102":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"42":2,"49":1,"79":1,"102":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"17":1,"42":3,"49":2,"79":10,"94":1,"102":1,"106":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"103":1,"104":1,"105":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"106":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"43":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"43":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"43":3,"80":3,"122":2}}],["または",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["ソースコード",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["默认为否",{"2":{"4":2}}],["引数",{"2":{"4":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"101":1,"102":1,"105":1,"106":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["任意角度",{"2":{"4":2,"38":1}}],["説明",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"101":1,"102":1,"105":1,"106":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"107":1,"157":1}}],["frac",{"2":{"36":3}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"101":1,"102":2,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"102":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"101":3,"102":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"101":7,"102":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"42":1,"49":1,"102":1,"103":1,"104":1,"107":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"82":17,"83":2,"87":2,"88":3,"89":3,"98":5,"101":3,"111":1,"120":3,"126":4,"155":7}}],["improve",{"2":{"159":1}}],["import",{"2":{"107":1}}],["i",{"2":{"155":4,"157":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"41":1,"78":1,"98":1,"101":1,"111":1,"120":1},"2":{"4":1,"32":1,"41":1,"78":1,"98":1,"101":1,"111":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"44":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"98":1},"2":{"55":4,"57":2,"88":4,"98":9}}],["p1",{"0":{"55":1,"88":1,"98":1},"2":{"55":5,"57":2,"88":6,"98":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"105":10,"107":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"99":1},"1":{"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"98":2,"102":1,"105":2,"106":1,"107":1,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"98":2,"100":1,"102":1,"103":1,"104":2,"107":1,"132":2,"135":2,"137":2,"139":1},"1":{"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"98":7,"102":3,"103":1,"104":2,"105":5,"106":2,"107":3,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"101":1,"102":2,"103":1,"104":1,"106":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"105":1,"106":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["midpoint",{"2":{"98":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"99":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"99":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"99":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3}}],["提供了一些工具",{"2":{"0":1}}],["モジュール",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"99":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"100":1,"101":1,"102":1,"103":1,"104":1,"105":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexroot.C2iqEqiL.js b/assets/chunks/@localSearchIndexroot.C2iqEqiL.js new file mode 100644 index 0000000..e336745 --- /dev/null +++ b/assets/chunks/@localSearchIndexroot.C2iqEqiL.js @@ -0,0 +1 @@ +const t='{"documentCount":163,"nextId":163,"documentIds":{"0":"/api/#模块-mbcp","1":"/api/mp_math/angle.html#模块-mbcp-mp-math-angle","2":"/api/mp_math/angle.html#class-angle","3":"/api/mp_math/angle.html#class-anyangle-angle","4":"/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/api/mp_math/angle.html#method-degree-self-float","8":"/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/api/mp_math/angle.html#method-sin-self-float","11":"/api/mp_math/angle.html#method-cos-self-float","12":"/api/mp_math/angle.html#method-tan-self-float","13":"/api/mp_math/angle.html#method-cot-self-float","14":"/api/mp_math/angle.html#method-sec-self-float","15":"/api/mp_math/angle.html#method-csc-self-float","16":"/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/api/mp_math/angle.html#method-eq-self-other","18":"/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/api/mp_math/angle.html#method-self-other","23":"/api/mp_math/const.html#模块-mbcp-mp-math-const","24":"/api/mp_math/const.html#var-pi","25":"/api/mp_math/const.html#var-e","26":"/api/mp_math/const.html#var-golden-ratio","27":"/api/mp_math/const.html#var-gamma","28":"/api/mp_math/const.html#var-epsilon","29":"/api/mp_math/const.html#var-approx","30":"/api/mp_math/equation.html#模块-mbcp-mp-math-equation","31":"/api/mp_math/equation.html#class-curveequation","32":"/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/api/mp_math/function.html#模块-mbcp-mp-math-function","36":"/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/api/mp_math/#模块-mbcp-mp-math","39":"/api/mp_math/line.html#模块-mbcp-mp-math-line","40":"/api/mp_math/line.html#class-line3","41":"/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/api/mp_math/line.html#method-simplify-self","55":"/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/api/mp_math/line.html#method-eq-self-other-bool","58":"/api/mp_math/mp_math_typing.html#模块-mbcp-mp-math-mp-math-typing","59":"/api/mp_math/mp_math_typing.html#var-realnumber","60":"/api/mp_math/mp_math_typing.html#var-number","61":"/api/mp_math/mp_math_typing.html#var-singlevar","62":"/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/api/mp_math/mp_math_typing.html#var-var","64":"/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/api/mp_math/plane.html#模块-mbcp-mp-math-plane","77":"/api/mp_math/plane.html#class-plane3","78":"/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/api/mp_math/plane.html#method-normal-self-vector3","87":"/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/api/mp_math/plane.html#method-and-self-other","94":"/api/mp_math/plane.html#method-eq-self-other-bool","95":"/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/api/mp_math/point.html#模块-mbcp-mp-math-point","97":"/api/mp_math/point.html#class-point3","98":"/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/api/mp_math/point.html#method-self-other-vector3-point3","101":"/api/mp_math/point.html#method-self-other-point3-point3","102":"/api/mp_math/point.html#method-self-other","103":"/api/mp_math/point.html#method-eq-self-other","104":"/api/mp_math/point.html#method-self-other-point3-vector3","105":"/api/mp_math/segment.html#模块-mbcp-mp-math-segment","106":"/api/mp_math/segment.html#class-segment3","107":"/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","108":"/api/mp_math/utils.html#模块-mbcp-mp-math-utils","109":"/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/api/mp_math/utils.html#class-approx","111":"/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/api/mp_math/utils.html#method-eq-self-other","113":"/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/api/mp_math/utils.html#method-ne-self-other","115":"/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/api/mp_math/vector.html#模块-mbcp-mp-math-vector","119":"/api/mp_math/vector.html#class-vector3","120":"/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/api/mp_math/vector.html#method-normalize-self","127":"/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/api/mp_math/vector.html#method-length-self-float","129":"/api/mp_math/vector.html#method-unit-self-vector3","130":"/api/mp_math/vector.html#method-abs-self","131":"/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/api/mp_math/vector.html#method-self-other-point3-point3","133":"/api/mp_math/vector.html#method-self-other","134":"/api/mp_math/vector.html#method-eq-self-other","135":"/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/api/mp_math/vector.html#method-self-other-1","139":"/api/mp_math/vector.html#method-self-other-point3","140":"/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/api/mp_math/vector.html#method-self-vector3","147":"/api/mp_math/vector.html#var-zero-vector3","148":"/api/mp_math/vector.html#var-x-axis","149":"/api/mp_math/vector.html#var-y-axis","150":"/api/mp_math/vector.html#var-z-axis","151":"/api/particle/#模块-mbcp-particle","152":"/api/presets/#模块-mbcp-presets","153":"/api/presets/model/#模块-mbcp-presets-model","154":"/api/presets/model/#class-geometricmodels","155":"/api/presets/model/#method-sphere-radius-float-density-float","156":"/demo/best-practice.html#最佳实践","157":"/demo/best-practice.html#作品","158":"/demo/#demo","159":"/guide/#快速开始","160":"/guide/#安装","161":"/refer/7-differential-euqtion/#微分方程","162":"/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,25],"5":[5,9,24],"6":[5,9,23],"7":[5,9,20],"8":[6,9,21],"9":[6,9,23],"10":[5,9,18],"11":[5,9,18],"12":[5,9,18],"13":[5,9,20],"14":[5,9,20],"15":[5,9,20],"16":[7,9,15],"17":[5,9,11],"18":[6,9,14],"19":[7,9,16],"20":[7,9,13],"21":[7,9,13],"22":[3,9,15],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,26],"33":[10,7,34],"34":[14,5,73],"35":[5,1,2],"36":[13,5,69],"37":[7,5,62],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,25],"42":[11,7,43],"43":[8,7,28],"44":[10,7,63],"45":[8,7,60],"46":[8,7,29],"47":[8,7,35],"48":[9,7,42],"49":[14,7,43],"50":[8,7,36],"51":[8,7,39],"52":[8,7,36],"53":[8,7,42],"54":[4,7,27],"55":[10,7,36],"56":[9,7,52],"57":[6,7,44],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,36],"79":[7,7,45],"80":[10,7,92],"81":[10,7,66],"82":[9,7,102],"83":[9,7,69],"84":[9,7,30],"85":[8,7,37],"86":[5,7,25],"87":[10,7,45],"88":[11,7,39],"89":[10,7,44],"90":[10,7,35],"91":[9,7,15],"92":[9,7,15],"93":[5,7,70],"94":[6,7,35],"95":[7,7,15],"96":[5,1,2],"97":[2,5,1],"98":[8,7,26],"99":[11,7,45],"100":[8,7,13],"101":[7,7,12],"102":[4,7,34],"103":[5,7,37],"104":[7,7,36],"105":[5,1,2],"106":[2,5,1],"107":[7,7,32],"108":[5,1,2],"109":[7,5,31],"110":[2,5,1],"111":[6,7,20],"112":[5,7,31],"113":[7,7,15],"114":[5,7,11],"115":[11,5,40],"116":[11,5,43],"117":[12,5,49],"118":[5,1,3],"119":[2,5,1],"120":[8,7,29],"121":[11,7,44],"122":[8,7,46],"123":[6,7,50],"124":[13,7,43],"125":[8,7,37],"126":[4,7,17],"127":[6,7,31],"128":[5,7,33],"129":[5,7,21],"130":[4,7,10],"131":[7,7,12],"132":[7,7,12],"133":[4,7,46],"134":[5,7,37],"135":[7,7,31],"136":[6,7,12],"137":[6,7,12],"138":[3,7,45],"139":[4,7,42],"140":[6,7,12],"141":[7,7,13],"142":[9,7,55],"143":[7,7,13],"144":[7,7,38],"145":[7,7,15],"146":[5,7,21],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,48],"156":[1,1,1],"157":[1,1,25],"158":[1,1,1],"159":[1,1,6],"160":[1,1,4],"161":[1,1,1],"162":[1,1,7]},"averageFieldLength":[5.65644171779141,5.834355828220857,22.938650306748468],"storedFields":{"0":{"title":"模块 mbcp","titles":[]},"1":{"title":"模块 mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["模块 mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["模块 mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"模块 mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["模块 mbcp.mp_math.const"]},"25":{"title":"var E","titles":["模块 mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["模块 mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["模块 mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["模块 mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["模块 mbcp.mp_math.const"]},"30":{"title":"模块 mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["模块 mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["模块 mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["模块 mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["模块 mbcp.mp_math.equation"]},"35":{"title":"模块 mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["模块 mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["模块 mbcp.mp_math.function"]},"38":{"title":"模块 mbcp.mp_math","titles":[]},"39":{"title":"模块 mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["模块 mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["模块 mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["模块 mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["模块 mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["模块 mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["模块 mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["模块 mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["模块 mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["模块 mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["模块 mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["模块 mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"58":{"title":"模块 mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["模块 mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["模块 mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["模块 mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["模块 mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["模块 mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"76":{"title":"模块 mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["模块 mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"96":{"title":"模块 mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["模块 mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模块 mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["模块 mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["模块 mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["模块 mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["模块 mbcp.mp_math.point","class Point3"]},"105":{"title":"模块 mbcp.mp_math.segment","titles":[]},"106":{"title":"class Segment3","titles":["模块 mbcp.mp_math.segment"]},"107":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["模块 mbcp.mp_math.segment","class Segment3"]},"108":{"title":"模块 mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["模块 mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["模块 mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["模块 mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["模块 mbcp.mp_math.utils"]},"118":{"title":"模块 mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["模块 mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["模块 mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["模块 mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["模块 mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["模块 mbcp.mp_math.vector"]},"151":{"title":"模块 mbcp.particle","titles":[]},"152":{"title":"模块 mbcp.presets","titles":[]},"153":{"title":"模块 mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["模块 mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["模块 mbcp.presets.model","class GeometricModels"]},"156":{"title":"最佳实践","titles":[]},"157":{"title":"作品","titles":["最佳实践"]},"158":{"title":"demo","titles":[]},"159":{"title":"快速开始","titles":[]},"160":{"title":"安装","titles":["快速开始"]},"161":{"title":"微分方程","titles":[]},"162":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["微分方程",{"0":{"161":1}}],["安装",{"0":{"160":1}}],["兼容性优先",{"2":{"159":1}}],["把你项目所使用的python换成pypy",{"2":{"159":1}}],["建议",{"2":{"159":1}}],["快速开始",{"0":{"159":1},"1":{"160":1}}],["红石音乐",{"2":{"157":1}}],["这样可以提高性能",{"2":{"159":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["作品",{"0":{"157":1}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["模块",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["转换为行列式形式",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘运算法则为",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["向量夹角计算公式",{"2":{"122":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"162":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["中心点",{"2":{"107":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"107":1}}],["线段的另一个端点",{"2":{"107":2}}],["线段的一个端点",{"2":{"107":2}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["依次假设$x=0$",{"2":{"82":1}}],["依次假设x=0",{"2":{"82":1}}],["并代入两平面方程求出合适的点",{"2":{"82":2}}],["并对向量单位化",{"2":{"54":2}}],["寻找直线上的一点",{"2":{"82":2}}],["为直线的方向向量",{"2":{"80":2}}],["为平面的法向量",{"2":{"80":2}}],["分别为两个平面的法向量",{"2":{"80":2}}],["和",{"2":{"80":2}}],["其中",{"2":{"80":4}}],["θ=arccos⁡",{"2":{"80":2,"122":1}}],["k",{"2":{"79":12,"123":1}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面与直线夹角计算公式",{"2":{"80":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面间夹角计算公式",{"2":{"80":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"60":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["类型",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["实数",{"2":{"59":1,"111":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线最终可用参数方程或点向式表示",{"2":{"82":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"99":2,"115":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"42":2,"49":2,"99":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"107":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"107":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"105":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"162":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["begin",{"2":{"82":1,"123":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"4":1,"116":1,"117":1}}],["bool",{"0":{"4":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"99":3,"103":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["示例",{"2":{"37":1}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["dt",{"2":{"82":3}}],["d=n1×n2",{"2":{"82":1}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"80":2,"81":1,"82":7,"83":1,"87":2}}],["documentation",{"2":{"162":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"107":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["demo",{"0":{"158":1}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["$z=0$",{"2":{"82":1}}],["$y=0$",{"2":{"82":1}}],["$d$",{"2":{"80":1}}],["$n$",{"2":{"80":1}}],["$n2$",{"2":{"80":1}}],["$n1$",{"2":{"80":1}}],["$$",{"2":{"80":4,"82":6,"122":2,"123":4}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面交线的一般步骤",{"2":{"82":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["vmatrix",{"2":{"123":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"122":1,"123":13}}],["v1x⋅v2y−v1y⋅v2x",{"2":{"123":1}}],["v1z⋅v2x−v1x⋅v2z",{"2":{"123":1}}],["v1y⋅v2z−v1z⋅v2y",{"2":{"123":1}}],["v1×v2=|ijkv1xv1yv1zv2xv2yv2z|",{"2":{"123":1}}],["v1×v2=",{"2":{"123":1}}],["v1⋅v2|v1|⋅|v2|",{"2":{"122":1}}],["v1",{"2":{"57":4,"88":2,"89":2,"122":1,"123":13}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"4":1,"111":1},"2":{"4":5,"111":5,"112":6,"113":1}}],["求两平面的法向量的叉乘得到方向向量",{"2":{"82":2}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"107":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"111":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"103":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["引发",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["warning",{"2":{"34":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["n",{"2":{"80":2,"82":1}}],["n⋅d|n|⋅|d|",{"2":{"80":1}}],["n2",{"2":{"80":2,"82":1}}],["n1",{"2":{"80":2,"82":1}}],["n1⋅n2|n1|⋅|n2|",{"2":{"80":1}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["|v2|",{"2":{"122":1}}],["|v1|",{"2":{"122":1}}],["|d|",{"2":{"80":1}}],["|n|",{"2":{"80":1}}],["|n2|",{"2":{"80":1}}],["|n1|",{"2":{"80":1}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z=0",{"2":{"82":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y=0",{"2":{"82":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1,"123":6}}],["x−x0m=y−y0n=z−z0p",{"2":{"82":1}}],["x=x0+dty=y0+dtz=z0+dt或",{"2":{"82":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":12,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"115":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":15,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["默认值",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["默认为否",{"2":{"4":2}}],["π",{"2":{"24":1}}],["to",{"2":{"162":1}}],["times",{"2":{"82":1,"123":2}}],["tip",{"2":{"36":2,"37":2,"80":4,"82":2,"122":2,"123":2,"159":1}}],["the",{"2":{"83":2,"162":1}}],["theta",{"2":{"80":2,"122":1,"155":3}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"113":1},"2":{"34":1,"44":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["on",{"0":{"52":1},"2":{"52":1}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["or",{"2":{"56":1,"83":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"42":1,"49":1,"99":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"99":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["end",{"2":{"82":1,"123":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":1}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"57":1,"94":1,"103":1,"112":1,"134":1},"2":{"17":1,"57":1,"94":1,"103":1,"112":1,"114":1,"134":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"82":3,"83":5,"102":7,"107":3,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"49":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"82":1,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最佳实践",{"0":{"156":1},"1":{"157":1}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["shellpip",{"2":{"160":1}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"105":1},"1":{"106":1,"107":1}}],["segment3",{"0":{"106":1},"1":{"107":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"107":15,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"45":1,"81":3,"82":1,"107":3,"128":3,"155":2}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"162":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["return",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"22":2,"33":2,"34":4,"36":1,"37":4,"42":1,"43":1,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":3,"57":1,"79":4,"80":2,"81":2,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":4,"94":1,"95":1,"99":1,"102":1,"103":1,"104":1,"109":1,"112":2,"114":1,"115":1,"116":3,"117":3,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"130":1,"133":2,"134":1,"135":1,"138":2,"139":1,"142":2,"143":1,"144":1,"145":1,"146":1,"155":1}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["ratio",{"0":{"26":1}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["返回numpy数组",{"2":{"127":1}}],["返回",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cases",{"2":{"82":2}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cdot",{"2":{"80":4,"122":2,"123":6}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"40":1,"77":1,"97":1,"106":1,"110":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"107":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":1,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["all",{"2":{"99":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["arccos",{"2":{"80":2,"122":1,"155":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"99":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"42":2,"49":1,"79":1,"99":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"17":1,"42":3,"49":2,"79":10,"94":1,"99":1,"103":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"43":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"43":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"43":3,"80":3,"122":2}}],["在github上查看",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["或包装一个实数",{"2":{"115":2}}],["或整数元组",{"2":{"34":2}}],["或",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":2,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["源代码",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"4":1,"32":1,"33":3,"34":2,"36":1,"37":3,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["任意角度",{"2":{"4":2,"38":1}}],["说明",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3,"80":2,"82":3,"122":1}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"99":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"98":7,"99":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"42":1,"49":1,"99":1,"100":1,"101":1,"104":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"80":2,"82":23,"83":2,"87":2,"88":3,"89":3,"98":3,"107":5,"111":1,"120":3,"122":1,"123":2,"126":4,"155":7}}],["improve",{"2":{"162":1}}],["import",{"2":{"104":1}}],["i",{"2":{"123":1,"155":4,"157":1}}],["install",{"2":{"160":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1},"2":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"44":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"107":1},"2":{"55":4,"57":2,"88":4,"107":9}}],["p1",{"0":{"55":1,"88":1,"107":1},"2":{"55":5,"57":2,"88":6,"107":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"82":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"107":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"107":7,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["midpoint",{"2":{"107":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["m",{"2":{"82":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3,"160":1}}],["提供了一些工具",{"2":{"0":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexroot.DykGT4mA.js b/assets/chunks/@localSearchIndexroot.DykGT4mA.js deleted file mode 100644 index d387c30..0000000 --- a/assets/chunks/@localSearchIndexroot.DykGT4mA.js +++ /dev/null @@ -1 +0,0 @@ -const t='{"documentCount":162,"nextId":162,"documentIds":{"0":"/api/#模块-mbcp","1":"/api/mp_math/angle.html#模块-mbcp-mp-math-angle","2":"/api/mp_math/angle.html#class-angle","3":"/api/mp_math/angle.html#class-anyangle-angle","4":"/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/api/mp_math/angle.html#method-degree-self-float","8":"/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/api/mp_math/angle.html#method-sin-self-float","11":"/api/mp_math/angle.html#method-cos-self-float","12":"/api/mp_math/angle.html#method-tan-self-float","13":"/api/mp_math/angle.html#method-cot-self-float","14":"/api/mp_math/angle.html#method-sec-self-float","15":"/api/mp_math/angle.html#method-csc-self-float","16":"/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/api/mp_math/angle.html#method-eq-self-other","18":"/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/api/mp_math/angle.html#method-self-other","23":"/api/mp_math/const.html#模块-mbcp-mp-math-const","24":"/api/mp_math/const.html#var-pi","25":"/api/mp_math/const.html#var-e","26":"/api/mp_math/const.html#var-golden-ratio","27":"/api/mp_math/const.html#var-gamma","28":"/api/mp_math/const.html#var-epsilon","29":"/api/mp_math/const.html#var-approx","30":"/api/mp_math/equation.html#模块-mbcp-mp-math-equation","31":"/api/mp_math/equation.html#class-curveequation","32":"/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/api/mp_math/function.html#模块-mbcp-mp-math-function","36":"/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/api/mp_math/#模块-mbcp-mp-math","39":"/api/mp_math/line.html#模块-mbcp-mp-math-line","40":"/api/mp_math/line.html#class-line3","41":"/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/api/mp_math/line.html#method-simplify-self","55":"/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/api/mp_math/line.html#method-eq-self-other-bool","58":"/api/mp_math/mp_math_typing.html#模块-mbcp-mp-math-mp-math-typing","59":"/api/mp_math/mp_math_typing.html#var-realnumber","60":"/api/mp_math/mp_math_typing.html#var-number","61":"/api/mp_math/mp_math_typing.html#var-singlevar","62":"/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/api/mp_math/mp_math_typing.html#var-var","64":"/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/api/mp_math/plane.html#模块-mbcp-mp-math-plane","77":"/api/mp_math/plane.html#class-plane3","78":"/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/api/mp_math/plane.html#method-normal-self-vector3","87":"/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/api/mp_math/plane.html#method-and-self-other","94":"/api/mp_math/plane.html#method-eq-self-other-bool","95":"/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/api/mp_math/point.html#模块-mbcp-mp-math-point","97":"/api/mp_math/point.html#class-point3","98":"/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/api/mp_math/point.html#method-self-other-vector3-point3","101":"/api/mp_math/point.html#method-self-other-point3-point3","102":"/api/mp_math/point.html#method-self-other","103":"/api/mp_math/point.html#method-eq-self-other","104":"/api/mp_math/point.html#method-self-other-point3-vector3","105":"/api/mp_math/utils.html#模块-mbcp-mp-math-utils","106":"/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","107":"/api/mp_math/utils.html#class-approx","108":"/api/mp_math/utils.html#method-init-self-value-realnumber","109":"/api/mp_math/utils.html#method-eq-self-other","110":"/api/mp_math/utils.html#method-raise-type-error-self-other","111":"/api/mp_math/utils.html#method-ne-self-other","112":"/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","113":"/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","114":"/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","115":"/api/mp_math/segment.html#模块-mbcp-mp-math-segment","116":"/api/mp_math/segment.html#class-segment3","117":"/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","118":"/api/mp_math/vector.html#模块-mbcp-mp-math-vector","119":"/api/mp_math/vector.html#class-vector3","120":"/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/api/mp_math/vector.html#method-normalize-self","127":"/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/api/mp_math/vector.html#method-length-self-float","129":"/api/mp_math/vector.html#method-unit-self-vector3","130":"/api/mp_math/vector.html#method-abs-self","131":"/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/api/mp_math/vector.html#method-self-other-point3-point3","133":"/api/mp_math/vector.html#method-self-other","134":"/api/mp_math/vector.html#method-eq-self-other","135":"/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/api/mp_math/vector.html#method-self-other-1","139":"/api/mp_math/vector.html#method-self-other-point3","140":"/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/api/mp_math/vector.html#method-self-vector3","147":"/api/mp_math/vector.html#var-zero-vector3","148":"/api/mp_math/vector.html#var-x-axis","149":"/api/mp_math/vector.html#var-y-axis","150":"/api/mp_math/vector.html#var-z-axis","151":"/api/particle/#模块-mbcp-particle","152":"/api/presets/#模块-mbcp-presets","153":"/api/presets/model/#模块-mbcp-presets-model","154":"/api/presets/model/#class-geometricmodels","155":"/api/presets/model/#method-sphere-radius-float-density-float","156":"/demo/best-practice.html#最佳实践","157":"/demo/best-practice.html#作品","158":"/guide/#快速开始","159":"/guide/#安装","160":"/demo/#demo","161":"/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,25],"5":[5,9,24],"6":[5,9,23],"7":[5,9,20],"8":[6,9,21],"9":[6,9,23],"10":[5,9,18],"11":[5,9,18],"12":[5,9,18],"13":[5,9,20],"14":[5,9,20],"15":[5,9,20],"16":[7,9,15],"17":[5,9,11],"18":[6,9,14],"19":[7,9,16],"20":[7,9,13],"21":[7,9,13],"22":[3,9,15],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,26],"33":[10,7,34],"34":[14,5,73],"35":[5,1,2],"36":[13,5,69],"37":[7,5,62],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,25],"42":[11,7,43],"43":[8,7,28],"44":[10,7,63],"45":[8,7,60],"46":[8,7,29],"47":[8,7,35],"48":[9,7,42],"49":[14,7,43],"50":[8,7,36],"51":[8,7,39],"52":[8,7,36],"53":[8,7,42],"54":[4,7,27],"55":[10,7,36],"56":[9,7,52],"57":[6,7,44],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,36],"79":[7,7,45],"80":[10,7,62],"81":[10,7,66],"82":[9,7,71],"83":[9,7,69],"84":[9,7,30],"85":[8,7,37],"86":[5,7,25],"87":[10,7,45],"88":[11,7,39],"89":[10,7,44],"90":[10,7,35],"91":[9,7,15],"92":[9,7,15],"93":[5,7,70],"94":[6,7,35],"95":[7,7,15],"96":[5,1,2],"97":[2,5,1],"98":[8,7,26],"99":[11,7,45],"100":[8,7,13],"101":[7,7,12],"102":[4,7,34],"103":[5,7,37],"104":[7,7,36],"105":[5,1,2],"106":[7,5,31],"107":[2,5,1],"108":[6,7,20],"109":[5,7,31],"110":[7,7,15],"111":[5,7,11],"112":[11,5,40],"113":[11,5,43],"114":[12,5,49],"115":[5,1,2],"116":[2,5,1],"117":[7,7,32],"118":[5,1,3],"119":[2,5,1],"120":[8,7,29],"121":[11,7,44],"122":[8,7,31],"123":[6,7,43],"124":[13,7,43],"125":[8,7,37],"126":[4,7,17],"127":[6,7,31],"128":[5,7,33],"129":[5,7,21],"130":[4,7,10],"131":[7,7,12],"132":[7,7,12],"133":[4,7,46],"134":[5,7,37],"135":[7,7,31],"136":[6,7,12],"137":[6,7,12],"138":[3,7,45],"139":[4,7,42],"140":[6,7,12],"141":[7,7,13],"142":[9,7,55],"143":[7,7,13],"144":[7,7,38],"145":[7,7,15],"146":[5,7,21],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,48],"156":[1,1,1],"157":[1,1,25],"158":[1,1,6],"159":[1,1,4],"160":[1,1,1],"161":[1,1,7]},"averageFieldLength":[5.685185185185184,5.864197530864195,22.561728395061724],"storedFields":{"0":{"title":"模块 mbcp","titles":[]},"1":{"title":"模块 mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["模块 mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["模块 mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["模块 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"模块 mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["模块 mbcp.mp_math.const"]},"25":{"title":"var E","titles":["模块 mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["模块 mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["模块 mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["模块 mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["模块 mbcp.mp_math.const"]},"30":{"title":"模块 mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["模块 mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["模块 mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["模块 mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["模块 mbcp.mp_math.equation"]},"35":{"title":"模块 mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["模块 mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["模块 mbcp.mp_math.function"]},"38":{"title":"模块 mbcp.mp_math","titles":[]},"39":{"title":"模块 mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["模块 mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["模块 mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["模块 mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["模块 mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["模块 mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["模块 mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["模块 mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["模块 mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["模块 mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["模块 mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["模块 mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["模块 mbcp.mp_math.line","class Line3"]},"58":{"title":"模块 mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["模块 mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["模块 mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["模块 mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["模块 mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["模块 mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["模块 mbcp.mp_math.mp_math_typing"]},"76":{"title":"模块 mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["模块 mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["模块 mbcp.mp_math.plane","class Plane3"]},"96":{"title":"模块 mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["模块 mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模块 mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["模块 mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["模块 mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["模块 mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["模块 mbcp.mp_math.point","class Point3"]},"105":{"title":"模块 mbcp.mp_math.utils","titles":[]},"106":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["模块 mbcp.mp_math.utils"]},"107":{"title":"class Approx","titles":["模块 mbcp.mp_math.utils"]},"108":{"title":"method __init__(self, value: RealNumber)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"109":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"110":{"title":"method raise_type_error(self, other)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"111":{"title":"method __ne__(self, other)","titles":["模块 mbcp.mp_math.utils","class Approx"]},"112":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.utils"]},"113":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["模块 mbcp.mp_math.utils"]},"114":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["模块 mbcp.mp_math.utils"]},"115":{"title":"模块 mbcp.mp_math.segment","titles":[]},"116":{"title":"class Segment3","titles":["模块 mbcp.mp_math.segment"]},"117":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["模块 mbcp.mp_math.segment","class Segment3"]},"118":{"title":"模块 mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["模块 mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["模块 mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["模块 mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["模块 mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["模块 mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["模块 mbcp.mp_math.vector"]},"151":{"title":"模块 mbcp.particle","titles":[]},"152":{"title":"模块 mbcp.presets","titles":[]},"153":{"title":"模块 mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["模块 mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["模块 mbcp.presets.model","class GeometricModels"]},"156":{"title":"最佳实践","titles":[]},"157":{"title":"作品","titles":["最佳实践"]},"158":{"title":"快速开始","titles":[]},"159":{"title":"安装","titles":["快速开始"]},"160":{"title":"demo","titles":[]},"161":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["安装",{"0":{"159":1}}],["兼容性优先",{"2":{"158":1}}],["把你项目所使用的python换成pypy",{"2":{"158":1}}],["建议",{"2":{"158":1}}],["快速开始",{"0":{"158":1},"1":{"159":1}}],["红石音乐",{"2":{"157":1}}],["这样可以提高性能",{"2":{"158":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["作品",{"0":{"157":1}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["模块",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"115":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["其余结果的模为平行四边形的面积",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘为0",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["以及一些常用的向量",{"2":{"118":1}}],["中心点",{"2":{"117":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"117":1}}],["线段的另一个端点",{"2":{"117":2}}],["线段的一个端点",{"2":{"117":2}}],["格式化符号数",{"2":{"114":2}}],["quot",{"2":{"113":2,"114":4}}],["符号",{"2":{"113":2,"114":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"113":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"112":2}}],["用于近似比较对象",{"2":{"108":2}}],["限定在区间内的值",{"2":{"106":2}}],["值",{"2":{"106":2}}],["区间限定函数",{"2":{"106":2}}],["us",{"2":{"161":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"110":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"105":1},"1":{"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["k``",{"2":{"123":1}}],["k",{"2":{"79":12}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"112":2}}],["数1",{"2":{"112":2}}],["数",{"2":{"60":1,"113":2,"114":2}}],["数学工具",{"2":{"0":1}}],["类型",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["实数",{"2":{"59":1,"108":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["并对向量单位化",{"2":{"54":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"112":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则两向量平行",{"2":{"123":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"113":2,"114":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"99":2,"112":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"42":2,"49":2,"99":2,"112":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"117":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"117":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"105":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"115":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"161":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"4":1,"113":1,"114":1}}],["bool",{"0":{"4":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"112":1,"113":1,"114":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"99":3,"103":2,"112":3,"113":2,"114":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["示例",{"2":{"37":1}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"81":1,"82":6,"83":1,"87":2}}],["documentation",{"2":{"161":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"117":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["demo",{"0":{"160":1}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"123":2}}],["v1",{"2":{"57":4,"88":2,"89":2,"123":2}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"109":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"4":1,"108":1},"2":{"4":5,"108":5,"109":6,"110":1}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"117":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"109":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["``x2",{"2":{"123":1}}],["``x1",{"2":{"123":1}}],["``i",{"2":{"123":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`str`",{"2":{"113":1,"114":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"117":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"108":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"103":1,"112":1,"113":1,"114":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"106":4,"112":3,"113":1,"114":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["引发",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["warning",{"2":{"34":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"113":1,"114":1},"2":{"113":4,"114":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"111":1},"2":{"111":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"111":1,"113":1,"114":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["z2``",{"2":{"123":1}}],["z1``",{"2":{"123":1}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"109":2,"117":2,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y2",{"2":{"123":1}}],["y1",{"2":{"123":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"112":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"109":2,"112":4,"117":2,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"109":1,"112":1,"113":1,"114":1,"121":3,"124":1}}],["x26",{"2":{"93":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"106":1,"112":1,"113":1,"114":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"106":4,"109":2,"112":4,"113":5,"114":8,"117":2,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"112":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":9,"83":1,"93":1,"112":1,"113":2,"114":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"106":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"114":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["默认值",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["默认为否",{"2":{"4":2}}],["π",{"2":{"24":1}}],["to",{"2":{"161":1}}],["theta",{"2":{"155":3}}],["the",{"2":{"83":2,"161":1}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["tip",{"2":{"36":2,"37":2,"158":1}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"110":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"110":1},"2":{"34":1,"44":1,"80":2,"81":2,"93":2,"109":2,"110":4,"133":2,"138":2,"139":2,"142":2}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"108":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["only",{"0":{"113":1,"114":1},"2":{"113":4,"114":4}}],["on",{"0":{"52":1},"2":{"52":1}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["or",{"2":{"56":1,"83":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"109":1,"110":1,"111":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"109":9,"110":2,"111":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"42":1,"49":1,"99":1,"112":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"99":6,"112":4,"121":6,"124":4}}],["error",{"0":{"110":1},"2":{"109":2,"110":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":1}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"109":1,"113":1,"114":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"109":2,"113":2,"114":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"57":1,"94":1,"103":1,"109":1,"134":1},"2":{"17":1,"57":1,"94":1,"103":1,"109":1,"111":1,"134":1}}],["+1",{"2":{"114":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"83":5,"102":7,"113":3,"114":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"49":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"89":1,"114":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最佳实践",{"0":{"156":1},"1":{"157":1}}],["最大值",{"2":{"106":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"106":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["shellpip",{"2":{"159":1}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"113":1,"114":1},"2":{"113":3,"114":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["sign",{"0":{"113":1,"114":1},"2":{"113":1,"114":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"115":1},"1":{"116":1,"117":1}}],["segment3",{"0":{"116":1},"1":{"117":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"108":1,"109":1,"110":1,"111":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"108":2,"109":9,"110":2,"111":2,"117":15,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"45":1,"81":3,"117":3,"128":3,"155":2}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"161":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"108":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"108":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["return",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"22":2,"33":2,"34":4,"36":1,"37":4,"42":1,"43":1,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":3,"57":1,"79":4,"80":2,"81":2,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":4,"94":1,"95":1,"99":1,"102":1,"103":1,"104":1,"106":1,"109":2,"111":1,"112":1,"113":3,"114":3,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"130":1,"133":2,"134":1,"135":1,"138":2,"139":1,"142":2,"143":1,"144":1,"145":1,"146":1,"155":1}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"106":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"110":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"109":2,"110":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["ratio",{"0":{"26":1}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"106":1,"112":1,"113":2,"114":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["返回numpy数组",{"2":{"127":1}}],["返回如下行列式的结果",{"2":{"123":1}}],["返回",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"106":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"106":1},"2":{"106":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"40":1,"77":1,"97":1,"107":1,"116":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"108":1,"109":1,"110":1,"111":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"117":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":3,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["all",{"2":{"99":1,"109":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["arccos",{"2":{"155":1}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"106":1,"108":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"99":3,"109":1,"112":1,"114":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"42":2,"49":1,"79":1,"99":2,"107":1,"112":2,"121":2,"124":2},"1":{"108":1,"109":1,"110":1,"111":1},"2":{"17":1,"42":3,"49":2,"79":10,"94":1,"99":1,"103":3,"109":4,"112":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"110":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"43":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"43":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"43":3,"80":3,"122":2}}],["在github上查看",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["或包装一个实数",{"2":{"112":2}}],["或整数元组",{"2":{"34":2}}],["或",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["源代码",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"4":1,"32":1,"33":3,"34":2,"36":1,"37":3,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"106":1,"108":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["任意角度",{"2":{"4":2,"38":1}}],["说明",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"106":1,"108":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"110":1,"114":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"114":1},"2":{"114":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"106":1,"112":1,"113":1,"114":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"113":1,"114":1},"2":{"79":1}}],["float=0",{"2":{"112":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"99":1,"112":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"106":4,"112":3,"113":1,"114":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"98":7,"99":2,"106":9,"109":2,"112":5,"113":3,"114":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"42":1,"49":1,"99":1,"100":1,"101":1,"104":1,"112":2,"113":1,"114":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"82":17,"83":2,"87":2,"88":3,"89":3,"98":3,"108":1,"117":5,"120":3,"126":4,"155":7}}],["improve",{"2":{"161":1}}],["import",{"2":{"104":1}}],["i",{"2":{"155":4,"157":1}}],["install",{"2":{"159":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"109":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"41":1,"78":1,"98":1,"108":1,"117":1,"120":1},"2":{"4":1,"32":1,"41":1,"78":1,"98":1,"108":1,"117":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"109":3,"113":2,"114":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"44":2,"80":2,"81":2,"93":2,"109":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"117":1},"2":{"55":4,"57":2,"88":4,"117":9}}],["p1",{"0":{"55":1,"88":1,"117":1},"2":{"55":5,"57":2,"88":6,"117":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"109":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"117":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"117":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"109":1,"117":7,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"106":1,"112":2,"113":3,"114":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"106":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["midpoint",{"2":{"117":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"106":1},"2":{"106":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"115":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"108":1,"122":1,"128":1}}],["max",{"0":{"106":1},"2":{"106":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"108":1,"109":1,"110":1,"111":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"115":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"108":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"115":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"108":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3,"159":1}}],["提供了一些工具",{"2":{"0":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexzht.BMfCbOB2.js b/assets/chunks/@localSearchIndexzht.BMfCbOB2.js new file mode 100644 index 0000000..aac5cc9 --- /dev/null +++ b/assets/chunks/@localSearchIndexzht.BMfCbOB2.js @@ -0,0 +1 @@ +const t='{"documentCount":160,"nextId":160,"documentIds":{"0":"/zht/api/#模組-mbcp","1":"/zht/api/mp_math/angle.html#模組-mbcp-mp-math-angle","2":"/zht/api/mp_math/angle.html#class-angle","3":"/zht/api/mp_math/angle.html#class-anyangle-angle","4":"/zht/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/zht/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/zht/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/zht/api/mp_math/angle.html#method-degree-self-float","8":"/zht/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/zht/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/zht/api/mp_math/angle.html#method-sin-self-float","11":"/zht/api/mp_math/angle.html#method-cos-self-float","12":"/zht/api/mp_math/angle.html#method-tan-self-float","13":"/zht/api/mp_math/angle.html#method-cot-self-float","14":"/zht/api/mp_math/angle.html#method-sec-self-float","15":"/zht/api/mp_math/angle.html#method-csc-self-float","16":"/zht/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/zht/api/mp_math/angle.html#method-eq-self-other","18":"/zht/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/zht/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/zht/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/zht/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/zht/api/mp_math/angle.html#method-self-other","23":"/zht/api/mp_math/const.html#模組-mbcp-mp-math-const","24":"/zht/api/mp_math/const.html#var-pi","25":"/zht/api/mp_math/const.html#var-e","26":"/zht/api/mp_math/const.html#var-golden-ratio","27":"/zht/api/mp_math/const.html#var-gamma","28":"/zht/api/mp_math/const.html#var-epsilon","29":"/zht/api/mp_math/const.html#var-approx","30":"/zht/api/mp_math/equation.html#模組-mbcp-mp-math-equation","31":"/zht/api/mp_math/equation.html#class-curveequation","32":"/zht/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/zht/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/zht/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/zht/api/mp_math/function.html#模組-mbcp-mp-math-function","36":"/zht/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/zht/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/zht/api/mp_math/#模組-mbcp-mp-math","39":"/zht/api/mp_math/line.html#模組-mbcp-mp-math-line","40":"/zht/api/mp_math/line.html#class-line3","41":"/zht/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/zht/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/zht/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/zht/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/zht/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/zht/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/zht/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/zht/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/zht/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/zht/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/zht/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/zht/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/zht/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/zht/api/mp_math/line.html#method-simplify-self","55":"/zht/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/zht/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/zht/api/mp_math/line.html#method-eq-self-other-bool","58":"/zht/api/mp_math/mp_math_typing.html#模組-mbcp-mp-math-mp-math-typing","59":"/zht/api/mp_math/mp_math_typing.html#var-realnumber","60":"/zht/api/mp_math/mp_math_typing.html#var-number","61":"/zht/api/mp_math/mp_math_typing.html#var-singlevar","62":"/zht/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/zht/api/mp_math/mp_math_typing.html#var-var","64":"/zht/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/zht/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/zht/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/zht/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/zht/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/zht/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/zht/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/zht/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/zht/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/zht/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/zht/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/zht/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/zht/api/mp_math/plane.html#模組-mbcp-mp-math-plane","77":"/zht/api/mp_math/plane.html#class-plane3","78":"/zht/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/zht/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/zht/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/zht/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/zht/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/zht/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/zht/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/zht/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/zht/api/mp_math/plane.html#method-normal-self-vector3","87":"/zht/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/zht/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/zht/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/zht/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/zht/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/zht/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/zht/api/mp_math/plane.html#method-and-self-other","94":"/zht/api/mp_math/plane.html#method-eq-self-other-bool","95":"/zht/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/zht/api/mp_math/point.html#模組-mbcp-mp-math-point","97":"/zht/api/mp_math/point.html#class-point3","98":"/zht/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/zht/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/zht/api/mp_math/point.html#method-self-other-vector3-point3","101":"/zht/api/mp_math/point.html#method-self-other-point3-point3","102":"/zht/api/mp_math/point.html#method-self-other","103":"/zht/api/mp_math/point.html#method-eq-self-other","104":"/zht/api/mp_math/point.html#method-self-other-point3-vector3","105":"/zht/api/mp_math/segment.html#模組-mbcp-mp-math-segment","106":"/zht/api/mp_math/segment.html#class-segment3","107":"/zht/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","108":"/zht/api/mp_math/utils.html#模組-mbcp-mp-math-utils","109":"/zht/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/zht/api/mp_math/utils.html#class-approx","111":"/zht/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/zht/api/mp_math/utils.html#method-eq-self-other","113":"/zht/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/zht/api/mp_math/utils.html#method-ne-self-other","115":"/zht/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/zht/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/zht/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/zht/api/mp_math/vector.html#模組-mbcp-mp-math-vector","119":"/zht/api/mp_math/vector.html#class-vector3","120":"/zht/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/zht/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/zht/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/zht/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/zht/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/zht/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/zht/api/mp_math/vector.html#method-normalize-self","127":"/zht/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/zht/api/mp_math/vector.html#method-length-self-float","129":"/zht/api/mp_math/vector.html#method-unit-self-vector3","130":"/zht/api/mp_math/vector.html#method-abs-self","131":"/zht/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/zht/api/mp_math/vector.html#method-self-other-point3-point3","133":"/zht/api/mp_math/vector.html#method-self-other","134":"/zht/api/mp_math/vector.html#method-eq-self-other","135":"/zht/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/zht/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/zht/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/zht/api/mp_math/vector.html#method-self-other-1","139":"/zht/api/mp_math/vector.html#method-self-other-point3","140":"/zht/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/zht/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/zht/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/zht/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/zht/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/zht/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/zht/api/mp_math/vector.html#method-self-vector3","147":"/zht/api/mp_math/vector.html#var-zero-vector3","148":"/zht/api/mp_math/vector.html#var-x-axis","149":"/zht/api/mp_math/vector.html#var-y-axis","150":"/zht/api/mp_math/vector.html#var-z-axis","151":"/zht/api/particle/#模組-mbcp-particle","152":"/zht/api/presets/#模組-mbcp-presets","153":"/zht/api/presets/model/#模組-mbcp-presets-model","154":"/zht/api/presets/model/#class-geometricmodels","155":"/zht/api/presets/model/#method-sphere-radius-float-density-float","156":"/zht/demo/best-practice.html#最佳實踐","157":"/zht/demo/best-practice.html#作品","158":"/zht/guide/#开始不了一点","159":"/zht/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,25],"5":[5,9,24],"6":[5,9,23],"7":[5,9,20],"8":[6,9,21],"9":[6,9,23],"10":[5,9,18],"11":[5,9,18],"12":[5,9,18],"13":[5,9,20],"14":[5,9,20],"15":[5,9,20],"16":[7,9,15],"17":[5,9,11],"18":[6,9,14],"19":[7,9,16],"20":[7,9,13],"21":[7,9,13],"22":[3,9,15],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,26],"33":[10,7,35],"34":[14,5,74],"35":[5,1,2],"36":[13,5,69],"37":[7,5,63],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,25],"42":[11,7,43],"43":[8,7,28],"44":[10,7,63],"45":[8,7,60],"46":[8,7,29],"47":[8,7,35],"48":[9,7,42],"49":[14,7,43],"50":[8,7,36],"51":[8,7,39],"52":[8,7,36],"53":[8,7,42],"54":[4,7,27],"55":[10,7,36],"56":[9,7,52],"57":[6,7,44],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,36],"79":[7,7,45],"80":[10,7,92],"81":[10,7,66],"82":[9,7,102],"83":[9,7,69],"84":[9,7,30],"85":[8,7,37],"86":[5,7,25],"87":[10,7,45],"88":[11,7,39],"89":[10,7,44],"90":[10,7,35],"91":[9,7,15],"92":[9,7,15],"93":[5,7,70],"94":[6,7,35],"95":[7,7,15],"96":[5,1,2],"97":[2,5,1],"98":[8,7,26],"99":[11,7,45],"100":[8,7,13],"101":[7,7,12],"102":[4,7,34],"103":[5,7,37],"104":[7,7,36],"105":[5,1,2],"106":[2,5,1],"107":[7,7,32],"108":[5,1,2],"109":[7,5,31],"110":[2,5,1],"111":[6,7,20],"112":[5,7,31],"113":[7,7,15],"114":[5,7,11],"115":[11,5,40],"116":[11,5,43],"117":[12,5,49],"118":[5,1,3],"119":[2,5,1],"120":[8,7,29],"121":[11,7,44],"122":[8,7,46],"123":[6,7,50],"124":[13,7,43],"125":[8,7,37],"126":[4,7,17],"127":[6,7,31],"128":[5,7,33],"129":[5,7,21],"130":[4,7,10],"131":[7,7,12],"132":[7,7,12],"133":[4,7,46],"134":[5,7,37],"135":[7,7,31],"136":[6,7,12],"137":[6,7,12],"138":[3,7,45],"139":[4,7,42],"140":[6,7,12],"141":[7,7,13],"142":[9,7,55],"143":[7,7,13],"144":[7,7,38],"145":[7,7,15],"146":[5,7,21],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,48],"156":[1,1,1],"157":[1,1,25],"158":[1,1,2],"159":[1,1,7]},"averageFieldLength":[5.7437499999999995,5.924999999999998,23.325000000000003],"storedFields":{"0":{"title":"模組 mbcp","titles":[]},"1":{"title":"模組 mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["模組 mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["模組 mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"模組 mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["模組 mbcp.mp_math.const"]},"25":{"title":"var E","titles":["模組 mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["模組 mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["模組 mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["模組 mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["模組 mbcp.mp_math.const"]},"30":{"title":"模組 mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["模組 mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["模組 mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["模組 mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["模組 mbcp.mp_math.equation"]},"35":{"title":"模組 mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["模組 mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["模組 mbcp.mp_math.function"]},"38":{"title":"模組 mbcp.mp_math","titles":[]},"39":{"title":"模組 mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["模組 mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["模組 mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["模組 mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["模組 mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["模組 mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["模組 mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["模組 mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["模組 mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["模組 mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["模組 mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["模組 mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"58":{"title":"模組 mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["模組 mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["模組 mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["模組 mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["模組 mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["模組 mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"76":{"title":"模組 mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["模組 mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"96":{"title":"模組 mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["模組 mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模組 mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["模組 mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["模組 mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["模組 mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["模組 mbcp.mp_math.point","class Point3"]},"105":{"title":"模組 mbcp.mp_math.segment","titles":[]},"106":{"title":"class Segment3","titles":["模組 mbcp.mp_math.segment"]},"107":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["模組 mbcp.mp_math.segment","class Segment3"]},"108":{"title":"模組 mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["模組 mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["模組 mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["模組 mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["模組 mbcp.mp_math.utils"]},"118":{"title":"模組 mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["模組 mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["模組 mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["模組 mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["模組 mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["模組 mbcp.mp_math.vector"]},"151":{"title":"模組 mbcp.particle","titles":[]},"152":{"title":"模組 mbcp.presets","titles":[]},"153":{"title":"模組 mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["模組 mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["模組 mbcp.presets.model","class GeometricModels"]},"156":{"title":"最佳實踐","titles":[]},"157":{"title":"作品","titles":["最佳實踐"]},"158":{"title":"开始不了一点","titles":[]},"159":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["∫12x111",{"2":{"158":1}}],["开始不了一点",{"0":{"158":1}}],["红石音乐",{"2":{"157":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["作品",{"0":{"157":1}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["模組",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["转换为行列式形式",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘运算法则为",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["向量夹角计算公式",{"2":{"122":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"159":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["中心点",{"2":{"107":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"107":1}}],["线段的另一个端点",{"2":{"107":2}}],["线段的一个端点",{"2":{"107":2}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["依次假设$x=0$",{"2":{"82":1}}],["依次假设x=0",{"2":{"82":1}}],["并代入两平面方程求出合适的点",{"2":{"82":2}}],["并对向量单位化",{"2":{"54":2}}],["寻找直线上的一点",{"2":{"82":2}}],["为直线的方向向量",{"2":{"80":2}}],["为平面的法向量",{"2":{"80":2}}],["分别为两个平面的法向量",{"2":{"80":2}}],["和",{"2":{"80":2}}],["其中",{"2":{"80":4}}],["θ=arccos⁡",{"2":{"80":2,"122":1}}],["k",{"2":{"79":12,"123":1}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面与直线夹角计算公式",{"2":{"80":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面间夹角计算公式",{"2":{"80":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"60":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["類型",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["实数",{"2":{"59":1,"111":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线最终可用参数方程或点向式表示",{"2":{"82":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"99":2,"115":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"42":2,"49":2,"99":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"107":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"107":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"105":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"159":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["begin",{"2":{"82":1,"123":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"4":1,"116":1,"117":1}}],["bool",{"0":{"4":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"99":3,"103":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["範例",{"2":{"37":1}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["dt",{"2":{"82":3}}],["d=n1×n2",{"2":{"82":1}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"80":2,"81":1,"82":7,"83":1,"87":2}}],["documentation",{"2":{"159":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"107":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["$z=0$",{"2":{"82":1}}],["$y=0$",{"2":{"82":1}}],["$d$",{"2":{"80":1}}],["$n$",{"2":{"80":1}}],["$n2$",{"2":{"80":1}}],["$n1$",{"2":{"80":1}}],["$$",{"2":{"80":4,"82":6,"122":2,"123":4}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面交线的一般步骤",{"2":{"82":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["vmatrix",{"2":{"123":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"122":1,"123":13}}],["v1x⋅v2y−v1y⋅v2x",{"2":{"123":1}}],["v1z⋅v2x−v1x⋅v2z",{"2":{"123":1}}],["v1y⋅v2z−v1z⋅v2y",{"2":{"123":1}}],["v1×v2=|ijkv1xv1yv1zv2xv2yv2z|",{"2":{"123":1}}],["v1×v2=",{"2":{"123":1}}],["v1⋅v2|v1|⋅|v2|",{"2":{"122":1}}],["v1",{"2":{"57":4,"88":2,"89":2,"122":1,"123":13}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"4":1,"111":1},"2":{"4":5,"111":5,"112":6,"113":1}}],["求两平面的法向量的叉乘得到方向向量",{"2":{"82":2}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"107":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"111":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"103":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["抛出",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["warning",{"2":{"34":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["n",{"2":{"80":2,"82":1}}],["n⋅d|n|⋅|d|",{"2":{"80":1}}],["n2",{"2":{"80":2,"82":1}}],["n1",{"2":{"80":2,"82":1}}],["n1⋅n2|n1|⋅|n2|",{"2":{"80":1}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"33":2,"34":1,"37":2}}],["|v2|",{"2":{"122":1}}],["|v1|",{"2":{"122":1}}],["|d|",{"2":{"80":1}}],["|n|",{"2":{"80":1}}],["|n2|",{"2":{"80":1}}],["|n1|",{"2":{"80":1}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z=0",{"2":{"82":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y=0",{"2":{"82":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":10,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1,"123":6}}],["x−x0m=y−y0n=z−z0p",{"2":{"82":1}}],["x=x0+dty=y0+dtz=z0+dt或",{"2":{"82":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":8,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":12,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"115":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":15,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["默認值",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["默认为否",{"2":{"4":2}}],["π",{"2":{"24":1}}],["to",{"2":{"159":1}}],["times",{"2":{"82":1,"123":2}}],["tip",{"2":{"36":2,"37":2,"80":4,"82":2,"122":2,"123":2}}],["the",{"2":{"83":2,"159":1}}],["theta",{"2":{"80":2,"122":1,"155":3}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"113":1},"2":{"34":1,"44":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["on",{"0":{"52":1},"2":{"52":1}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["or",{"2":{"56":1,"83":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"42":1,"49":1,"99":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"99":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["end",{"2":{"82":1,"123":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":1}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"57":1,"94":1,"103":1,"112":1,"134":1},"2":{"17":1,"57":1,"94":1,"103":1,"112":1,"114":1,"134":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"82":3,"83":5,"102":7,"107":3,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"49":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"82":1,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最佳實踐",{"0":{"156":1},"1":{"157":1}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"105":1},"1":{"106":1,"107":1}}],["segment3",{"0":{"106":1},"1":{"107":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"107":15,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"45":1,"81":3,"82":1,"107":3,"128":3,"155":2}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"159":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["return",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"22":2,"33":2,"34":4,"36":1,"37":4,"42":1,"43":1,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":3,"57":1,"79":4,"80":2,"81":2,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":4,"94":1,"95":1,"99":1,"102":1,"103":1,"104":1,"109":1,"112":2,"114":1,"115":1,"116":3,"117":3,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"130":1,"133":2,"134":1,"135":1,"138":2,"139":1,"142":2,"143":1,"144":1,"145":1,"146":1,"155":1}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["ratio",{"0":{"26":1}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["返回numpy数组",{"2":{"127":1}}],["返回",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cases",{"2":{"82":2}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cdot",{"2":{"80":4,"122":2,"123":6}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"40":1,"77":1,"97":1,"106":1,"110":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"107":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":1,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["all",{"2":{"99":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["arccos",{"2":{"80":2,"122":1,"155":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"99":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"42":2,"49":1,"79":1,"99":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"17":1,"42":3,"49":2,"79":10,"94":1,"99":1,"103":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"43":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"43":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"43":3,"80":3,"122":2}}],["於github上查看",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["或包装一个实数",{"2":{"115":2}}],["或整数元组",{"2":{"34":2}}],["或",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":2,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["源碼",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["變數説明",{"2":{"4":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["任意角度",{"2":{"4":2,"38":1}}],["説明",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3,"80":2,"82":3,"122":1}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"99":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"98":7,"99":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"42":1,"49":1,"99":1,"100":1,"101":1,"104":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"80":2,"82":23,"83":2,"87":2,"88":3,"89":3,"98":3,"107":5,"111":1,"120":3,"122":1,"123":2,"126":4,"155":7}}],["improve",{"2":{"159":1}}],["import",{"2":{"104":1}}],["i",{"2":{"123":1,"155":4,"157":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1},"2":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"44":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"107":1},"2":{"55":4,"57":2,"88":4,"107":9}}],["p1",{"0":{"55":1,"88":1,"107":1},"2":{"55":5,"57":2,"88":6,"107":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"82":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"107":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"107":7,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["midpoint",{"2":{"107":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["m",{"2":{"82":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3}}],["提供了一些工具",{"2":{"0":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/@localSearchIndexzht.SGog2D3Y.js b/assets/chunks/@localSearchIndexzht.SGog2D3Y.js deleted file mode 100644 index 2d50842..0000000 --- a/assets/chunks/@localSearchIndexzht.SGog2D3Y.js +++ /dev/null @@ -1 +0,0 @@ -const t='{"documentCount":160,"nextId":160,"documentIds":{"0":"/zht/api/#模組-mbcp","1":"/zht/api/mp_math/angle.html#模組-mbcp-mp-math-angle","2":"/zht/api/mp_math/angle.html#class-angle","3":"/zht/api/mp_math/angle.html#class-anyangle-angle","4":"/zht/api/mp_math/angle.html#method-init-self-value-float-is-radian-bool-false","5":"/zht/api/mp_math/angle.html#method-complementary-self-anyangle","6":"/zht/api/mp_math/angle.html#method-supplementary-self-anyangle","7":"/zht/api/mp_math/angle.html#method-degree-self-float","8":"/zht/api/mp_math/angle.html#method-minimum-positive-self-anyangle","9":"/zht/api/mp_math/angle.html#method-maximum-negative-self-anyangle","10":"/zht/api/mp_math/angle.html#method-sin-self-float","11":"/zht/api/mp_math/angle.html#method-cos-self-float","12":"/zht/api/mp_math/angle.html#method-tan-self-float","13":"/zht/api/mp_math/angle.html#method-cot-self-float","14":"/zht/api/mp_math/angle.html#method-sec-self-float","15":"/zht/api/mp_math/angle.html#method-csc-self-float","16":"/zht/api/mp_math/angle.html#method-self-other-anyangle-anyangle","17":"/zht/api/mp_math/angle.html#method-eq-self-other","18":"/zht/api/mp_math/angle.html#method-self-other-anyangle-anyangle-1","19":"/zht/api/mp_math/angle.html#method-self-other-float-anyangle","20":"/zht/api/mp_math/angle.html#method-self-other-float-anyangle-1","21":"/zht/api/mp_math/angle.html#method-self-other-anyangle-float","22":"/zht/api/mp_math/angle.html#method-self-other","23":"/zht/api/mp_math/const.html#模組-mbcp-mp-math-const","24":"/zht/api/mp_math/const.html#var-pi","25":"/zht/api/mp_math/const.html#var-e","26":"/zht/api/mp_math/const.html#var-golden-ratio","27":"/zht/api/mp_math/const.html#var-gamma","28":"/zht/api/mp_math/const.html#var-epsilon","29":"/zht/api/mp_math/const.html#var-approx","30":"/zht/api/mp_math/equation.html#模組-mbcp-mp-math-equation","31":"/zht/api/mp_math/equation.html#class-curveequation","32":"/zht/api/mp_math/equation.html#method-init-self-x-func-onevarfunc-y-func-onevarfunc-z-func-onevarfunc","33":"/zht/api/mp_math/equation.html#method-call-self-t-var-point3-tuple-point3","34":"/zht/api/mp_math/equation.html#func-get-partial-derivative-func-func-multivarsfunc-var-int-tuple-int-epsilon-number-epsilon-multivarsfunc","35":"/zht/api/mp_math/function.html#模組-mbcp-mp-math-function","36":"/zht/api/mp_math/function.html#func-cal-gradient-3vf-func-threesinglevarsfunc-p-point3-epsilon-float-epsilon-vector3","37":"/zht/api/mp_math/function.html#func-curry-func-multivarsfunc-args-var-onevarfunc","38":"/zht/api/mp_math/#模組-mbcp-mp-math","39":"/zht/api/mp_math/line.html#模組-mbcp-mp-math-line","40":"/zht/api/mp_math/line.html#class-line3","41":"/zht/api/mp_math/line.html#method-init-self-point-point3-direction-vector3","42":"/zht/api/mp_math/line.html#method-approx-self-other-line3-epsilon-float-approx-bool","43":"/zht/api/mp_math/line.html#method-cal-angle-self-other-line3-anyangle","44":"/zht/api/mp_math/line.html#method-cal-distance-self-other-line3-point3-float","45":"/zht/api/mp_math/line.html#method-cal-intersection-self-other-line3-point3","46":"/zht/api/mp_math/line.html#method-cal-perpendicular-self-point-point3-line3","47":"/zht/api/mp_math/line.html#method-get-point-self-t-realnumber-point3","48":"/zht/api/mp_math/line.html#method-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc","49":"/zht/api/mp_math/line.html#method-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool","50":"/zht/api/mp_math/line.html#method-is-parallel-self-other-line3-bool","51":"/zht/api/mp_math/line.html#method-is-collinear-self-other-line3-bool","52":"/zht/api/mp_math/line.html#method-is-point-on-self-point-point3-bool","53":"/zht/api/mp_math/line.html#method-is-coplanar-self-other-line3-bool","54":"/zht/api/mp_math/line.html#method-simplify-self","55":"/zht/api/mp_math/line.html#method-from-two-points-cls-p1-point3-p2-point3-line3","56":"/zht/api/mp_math/line.html#method-and-self-other-line3-line3-point3-none","57":"/zht/api/mp_math/line.html#method-eq-self-other-bool","58":"/zht/api/mp_math/mp_math_typing.html#模組-mbcp-mp-math-mp-math-typing","59":"/zht/api/mp_math/mp_math_typing.html#var-realnumber","60":"/zht/api/mp_math/mp_math_typing.html#var-number","61":"/zht/api/mp_math/mp_math_typing.html#var-singlevar","62":"/zht/api/mp_math/mp_math_typing.html#var-arrayvar","63":"/zht/api/mp_math/mp_math_typing.html#var-var","64":"/zht/api/mp_math/mp_math_typing.html#var-onesinglevarfunc","65":"/zht/api/mp_math/mp_math_typing.html#var-onearrayfunc","66":"/zht/api/mp_math/mp_math_typing.html#var-onevarfunc","67":"/zht/api/mp_math/mp_math_typing.html#var-twosinglevarsfunc","68":"/zht/api/mp_math/mp_math_typing.html#var-twoarraysfunc","69":"/zht/api/mp_math/mp_math_typing.html#var-twovarsfunc","70":"/zht/api/mp_math/mp_math_typing.html#var-threesinglevarsfunc","71":"/zht/api/mp_math/mp_math_typing.html#var-threearraysfunc","72":"/zht/api/mp_math/mp_math_typing.html#var-threevarsfunc","73":"/zht/api/mp_math/mp_math_typing.html#var-multisinglevarsfunc","74":"/zht/api/mp_math/mp_math_typing.html#var-multiarraysfunc","75":"/zht/api/mp_math/mp_math_typing.html#var-multivarsfunc","76":"/zht/api/mp_math/plane.html#模組-mbcp-mp-math-plane","77":"/zht/api/mp_math/plane.html#class-plane3","78":"/zht/api/mp_math/plane.html#method-init-self-a-float-b-float-c-float-d-float","79":"/zht/api/mp_math/plane.html#method-approx-self-other-plane3-bool","80":"/zht/api/mp_math/plane.html#method-cal-angle-self-other-line3-plane3-anyangle","81":"/zht/api/mp_math/plane.html#method-cal-distance-self-other-plane3-point3-float","82":"/zht/api/mp_math/plane.html#method-cal-intersection-line3-self-other-plane3-line3","83":"/zht/api/mp_math/plane.html#method-cal-intersection-point3-self-other-line3-point3","84":"/zht/api/mp_math/plane.html#method-cal-parallel-plane3-self-point-point3-plane3","85":"/zht/api/mp_math/plane.html#method-is-parallel-self-other-plane3-bool","86":"/zht/api/mp_math/plane.html#method-normal-self-vector3","87":"/zht/api/mp_math/plane.html#method-from-point-and-normal-cls-point-point3-normal-vector3-plane3","88":"/zht/api/mp_math/plane.html#method-from-three-points-cls-p1-point3-p2-point3-p3-point3-plane3","89":"/zht/api/mp_math/plane.html#method-from-two-lines-cls-l1-line3-l2-line3-plane3","90":"/zht/api/mp_math/plane.html#method-from-point-and-line-cls-point-point3-line-line3-plane3","91":"/zht/api/mp_math/plane.html#method-and-self-other-line3-point3-none","92":"/zht/api/mp_math/plane.html#method-and-self-other-plane3-line3-none","93":"/zht/api/mp_math/plane.html#method-and-self-other","94":"/zht/api/mp_math/plane.html#method-eq-self-other-bool","95":"/zht/api/mp_math/plane.html#method-rand-self-other-line3-point3","96":"/zht/api/mp_math/point.html#模組-mbcp-mp-math-point","97":"/zht/api/mp_math/point.html#class-point3","98":"/zht/api/mp_math/point.html#method-init-self-x-float-y-float-z-float","99":"/zht/api/mp_math/point.html#method-approx-self-other-point3-epsilon-float-approx-bool","100":"/zht/api/mp_math/point.html#method-self-other-vector3-point3","101":"/zht/api/mp_math/point.html#method-self-other-point3-point3","102":"/zht/api/mp_math/point.html#method-self-other","103":"/zht/api/mp_math/point.html#method-eq-self-other","104":"/zht/api/mp_math/point.html#method-self-other-point3-vector3","105":"/zht/api/mp_math/segment.html#模組-mbcp-mp-math-segment","106":"/zht/api/mp_math/segment.html#class-segment3","107":"/zht/api/mp_math/segment.html#method-init-self-p1-point3-p2-point3","108":"/zht/api/mp_math/utils.html#模組-mbcp-mp-math-utils","109":"/zht/api/mp_math/utils.html#func-clamp-x-float-min-float-max-float-float","110":"/zht/api/mp_math/utils.html#class-approx","111":"/zht/api/mp_math/utils.html#method-init-self-value-realnumber","112":"/zht/api/mp_math/utils.html#method-eq-self-other","113":"/zht/api/mp_math/utils.html#method-raise-type-error-self-other","114":"/zht/api/mp_math/utils.html#method-ne-self-other","115":"/zht/api/mp_math/utils.html#func-approx-x-float-y-float-0-0-epsilon-float-approx-bool","116":"/zht/api/mp_math/utils.html#func-sign-x-float-only-neg-bool-false-str","117":"/zht/api/mp_math/utils.html#func-sign-format-x-float-only-neg-bool-false-str","118":"/zht/api/mp_math/vector.html#模組-mbcp-mp-math-vector","119":"/zht/api/mp_math/vector.html#class-vector3","120":"/zht/api/mp_math/vector.html#method-init-self-x-float-y-float-z-float","121":"/zht/api/mp_math/vector.html#method-approx-self-other-vector3-epsilon-float-approx-bool","122":"/zht/api/mp_math/vector.html#method-cal-angle-self-other-vector3-anyangle","123":"/zht/api/mp_math/vector.html#method-cross-self-other-vector3-vector3","124":"/zht/api/mp_math/vector.html#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool","125":"/zht/api/mp_math/vector.html#method-is-parallel-self-other-vector3-bool","126":"/zht/api/mp_math/vector.html#method-normalize-self","127":"/zht/api/mp_math/vector.html#method-np-array-self-np-ndarray","128":"/zht/api/mp_math/vector.html#method-length-self-float","129":"/zht/api/mp_math/vector.html#method-unit-self-vector3","130":"/zht/api/mp_math/vector.html#method-abs-self","131":"/zht/api/mp_math/vector.html#method-self-other-vector3-vector3","132":"/zht/api/mp_math/vector.html#method-self-other-point3-point3","133":"/zht/api/mp_math/vector.html#method-self-other","134":"/zht/api/mp_math/vector.html#method-eq-self-other","135":"/zht/api/mp_math/vector.html#method-self-other-point3-point3-1","136":"/zht/api/mp_math/vector.html#method-self-other-vector3-vector3-1","137":"/zht/api/mp_math/vector.html#method-self-other-point3-point3-2","138":"/zht/api/mp_math/vector.html#method-self-other-1","139":"/zht/api/mp_math/vector.html#method-self-other-point3","140":"/zht/api/mp_math/vector.html#method-self-other-vector3-vector3-2","141":"/zht/api/mp_math/vector.html#method-self-other-realnumber-vector3","142":"/zht/api/mp_math/vector.html#method-self-other-int-float-vector3-vector3","143":"/zht/api/mp_math/vector.html#method-self-other-realnumber-vector3-1","144":"/zht/api/mp_math/vector.html#method-self-other-vector3-realnumber","145":"/zht/api/mp_math/vector.html#method-self-other-realnumber-vector3-2","146":"/zht/api/mp_math/vector.html#method-self-vector3","147":"/zht/api/mp_math/vector.html#var-zero-vector3","148":"/zht/api/mp_math/vector.html#var-x-axis","149":"/zht/api/mp_math/vector.html#var-y-axis","150":"/zht/api/mp_math/vector.html#var-z-axis","151":"/zht/api/particle/#模組-mbcp-particle","152":"/zht/api/presets/#模組-mbcp-presets","153":"/zht/api/presets/model/#模組-mbcp-presets-model","154":"/zht/api/presets/model/#class-geometricmodels","155":"/zht/api/presets/model/#method-sphere-radius-float-density-float","156":"/zht/demo/best-practice.html#最佳實踐","157":"/zht/demo/best-practice.html#作品","158":"/zht/guide/#开始不了一点","159":"/zht/refer/#reference"},"fieldIds":{"title":0,"titles":1,"text":2},"fieldLength":{"0":[2,1,12],"1":[5,1,2],"2":[2,5,1],"3":[4,5,1],"4":[11,9,25],"5":[5,9,24],"6":[5,9,23],"7":[5,9,20],"8":[6,9,21],"9":[6,9,23],"10":[5,9,18],"11":[5,9,18],"12":[5,9,18],"13":[5,9,20],"14":[5,9,20],"15":[5,9,20],"16":[7,9,15],"17":[5,9,11],"18":[6,9,14],"19":[7,9,16],"20":[7,9,13],"21":[7,9,13],"22":[3,9,15],"23":[5,1,2],"24":[2,5,7],"25":[2,5,8],"26":[3,5,10],"27":[2,5,6],"28":[2,5,6],"29":[2,5,6],"30":[5,1,2],"31":[2,5,1],"32":[9,7,26],"33":[10,7,35],"34":[14,5,74],"35":[5,1,2],"36":[13,5,69],"37":[7,5,63],"38":[4,1,20],"39":[5,1,2],"40":[2,5,1],"41":[8,7,25],"42":[11,7,43],"43":[8,7,28],"44":[10,7,63],"45":[8,7,60],"46":[8,7,29],"47":[8,7,35],"48":[9,7,42],"49":[14,7,43],"50":[8,7,36],"51":[8,7,39],"52":[8,7,36],"53":[8,7,42],"54":[4,7,27],"55":[10,7,36],"56":[9,7,52],"57":[6,7,44],"58":[5,1,2],"59":[2,5,9],"60":[2,5,9],"61":[2,5,7],"62":[2,5,8],"63":[2,5,9],"64":[2,5,8],"65":[2,5,8],"66":[2,5,9],"67":[2,5,8],"68":[2,5,8],"69":[2,5,9],"70":[2,5,8],"71":[2,5,8],"72":[2,5,9],"73":[2,5,8],"74":[2,5,8],"75":[2,5,9],"76":[5,1,2],"77":[2,5,1],"78":[9,7,36],"79":[7,7,45],"80":[10,7,62],"81":[10,7,66],"82":[9,7,71],"83":[9,7,69],"84":[9,7,30],"85":[8,7,37],"86":[5,7,25],"87":[10,7,45],"88":[11,7,39],"89":[10,7,44],"90":[10,7,35],"91":[9,7,15],"92":[9,7,15],"93":[5,7,70],"94":[6,7,35],"95":[7,7,15],"96":[5,1,2],"97":[2,5,1],"98":[8,7,26],"99":[11,7,45],"100":[8,7,13],"101":[7,7,12],"102":[4,7,34],"103":[5,7,37],"104":[7,7,36],"105":[5,1,2],"106":[2,5,1],"107":[7,7,32],"108":[5,1,2],"109":[7,5,31],"110":[2,5,1],"111":[6,7,20],"112":[5,7,31],"113":[7,7,15],"114":[5,7,11],"115":[11,5,40],"116":[11,5,43],"117":[12,5,49],"118":[5,1,3],"119":[2,5,1],"120":[8,7,29],"121":[11,7,44],"122":[8,7,31],"123":[6,7,43],"124":[13,7,43],"125":[8,7,37],"126":[4,7,17],"127":[6,7,31],"128":[5,7,33],"129":[5,7,21],"130":[4,7,10],"131":[7,7,12],"132":[7,7,12],"133":[4,7,46],"134":[5,7,37],"135":[7,7,31],"136":[6,7,12],"137":[6,7,12],"138":[3,7,45],"139":[4,7,42],"140":[6,7,12],"141":[7,7,13],"142":[9,7,55],"143":[7,7,13],"144":[7,7,38],"145":[7,7,15],"146":[5,7,21],"147":[3,5,7],"148":[3,5,8],"149":[3,5,8],"150":[3,5,8],"151":[3,1,2],"152":[3,1,2],"153":[4,1,2],"154":[2,4,2],"155":[6,6,48],"156":[1,1,1],"157":[1,1,25],"158":[1,1,2],"159":[1,1,7]},"averageFieldLength":[5.7437499999999995,5.924999999999998,22.806250000000006],"storedFields":{"0":{"title":"模組 mbcp","titles":[]},"1":{"title":"模組 mbcp.mp_math.angle","titles":[]},"2":{"title":"class Angle","titles":["模組 mbcp.mp_math.angle"]},"3":{"title":"class AnyAngle(Angle)","titles":["模組 mbcp.mp_math.angle"]},"4":{"title":"method __init__(self, value: float, is_radian: bool = False)","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"5":{"title":"method complementary(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"6":{"title":"method supplementary(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"7":{"title":"method degree(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"8":{"title":"method minimum_positive(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"9":{"title":"method maximum_negative(self) -> AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"10":{"title":"method sin(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"11":{"title":"method cos(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"12":{"title":"method tan(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"13":{"title":"method cot(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"14":{"title":"method sec(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"15":{"title":"method csc(self) -> float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"16":{"title":"method self + other: AnyAngle => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"17":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"18":{"title":"method self - other: AnyAngle => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"19":{"title":"method self * other: float => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"20":{"title":"method self / other: float => AnyAngle","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"21":{"title":"method self / other: AnyAngle => float","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"22":{"title":"method self / other","titles":["模組 mbcp.mp_math.angle","class AnyAngle(Angle)"]},"23":{"title":"模組 mbcp.mp_math.const","titles":[]},"24":{"title":"var PI","titles":["模組 mbcp.mp_math.const"]},"25":{"title":"var E","titles":["模組 mbcp.mp_math.const"]},"26":{"title":"var GOLDEN_RATIO","titles":["模組 mbcp.mp_math.const"]},"27":{"title":"var GAMMA","titles":["模組 mbcp.mp_math.const"]},"28":{"title":"var EPSILON","titles":["模組 mbcp.mp_math.const"]},"29":{"title":"var APPROX","titles":["模組 mbcp.mp_math.const"]},"30":{"title":"模組 mbcp.mp_math.equation","titles":[]},"31":{"title":"class CurveEquation","titles":["模組 mbcp.mp_math.equation"]},"32":{"title":"method __init__(self, x_func: OneVarFunc, y_func: OneVarFunc, z_func: OneVarFunc)","titles":["模組 mbcp.mp_math.equation","class CurveEquation"]},"33":{"title":"method __call__(self, *t: Var) -> Point3 | tuple[Point3, ...]","titles":["模組 mbcp.mp_math.equation","class CurveEquation"]},"34":{"title":"func get_partial_derivative_func(func: MultiVarsFunc, var: int | tuple[int, ...], epsilon: Number = EPSILON) -> MultiVarsFunc","titles":["模組 mbcp.mp_math.equation"]},"35":{"title":"模組 mbcp.mp_math.function","titles":[]},"36":{"title":"func cal_gradient_3vf(func: ThreeSingleVarsFunc, p: Point3, epsilon: float = EPSILON) -> Vector3","titles":["模組 mbcp.mp_math.function"]},"37":{"title":"func curry(func: MultiVarsFunc, *args: Var) -> OneVarFunc","titles":["模組 mbcp.mp_math.function"]},"38":{"title":"模組 mbcp.mp_math","titles":[]},"39":{"title":"模組 mbcp.mp_math.line","titles":[]},"40":{"title":"class Line3","titles":["模組 mbcp.mp_math.line"]},"41":{"title":"method __init__(self, point: Point3, direction: Vector3)","titles":["模組 mbcp.mp_math.line","class Line3"]},"42":{"title":"method approx(self, other: Line3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"43":{"title":"method cal_angle(self, other: Line3) -> AnyAngle","titles":["模組 mbcp.mp_math.line","class Line3"]},"44":{"title":"method cal_distance(self, other: Line3 | Point3) -> float","titles":["模組 mbcp.mp_math.line","class Line3"]},"45":{"title":"method cal_intersection(self, other: Line3) -> Point3","titles":["模組 mbcp.mp_math.line","class Line3"]},"46":{"title":"method cal_perpendicular(self, point: Point3) -> Line3","titles":["模組 mbcp.mp_math.line","class Line3"]},"47":{"title":"method get_point(self, t: RealNumber) -> Point3","titles":["模組 mbcp.mp_math.line","class Line3"]},"48":{"title":"method get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]","titles":["模組 mbcp.mp_math.line","class Line3"]},"49":{"title":"method is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"50":{"title":"method is_parallel(self, other: Line3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"51":{"title":"method is_collinear(self, other: Line3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"52":{"title":"method is_point_on(self, point: Point3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"53":{"title":"method is_coplanar(self, other: Line3) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"54":{"title":"method simplify(self)","titles":["模組 mbcp.mp_math.line","class Line3"]},"55":{"title":"method from_two_points(cls, p1: Point3, p2: Point3) -> Line3","titles":["模組 mbcp.mp_math.line","class Line3"]},"56":{"title":"method __and__(self, other: Line3) -> Line3 | Point3 | None","titles":["模組 mbcp.mp_math.line","class Line3"]},"57":{"title":"method __eq__(self, other) -> bool","titles":["模組 mbcp.mp_math.line","class Line3"]},"58":{"title":"模組 mbcp.mp_math.mp_math_typing","titles":[]},"59":{"title":"var RealNumber","titles":["模組 mbcp.mp_math.mp_math_typing"]},"60":{"title":"var Number","titles":["模組 mbcp.mp_math.mp_math_typing"]},"61":{"title":"var SingleVar","titles":["模組 mbcp.mp_math.mp_math_typing"]},"62":{"title":"var ArrayVar","titles":["模組 mbcp.mp_math.mp_math_typing"]},"63":{"title":"var Var","titles":["模組 mbcp.mp_math.mp_math_typing"]},"64":{"title":"var OneSingleVarFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"65":{"title":"var OneArrayFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"66":{"title":"var OneVarFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"67":{"title":"var TwoSingleVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"68":{"title":"var TwoArraysFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"69":{"title":"var TwoVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"70":{"title":"var ThreeSingleVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"71":{"title":"var ThreeArraysFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"72":{"title":"var ThreeVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"73":{"title":"var MultiSingleVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"74":{"title":"var MultiArraysFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"75":{"title":"var MultiVarsFunc","titles":["模組 mbcp.mp_math.mp_math_typing"]},"76":{"title":"模組 mbcp.mp_math.plane","titles":[]},"77":{"title":"class Plane3","titles":["模組 mbcp.mp_math.plane"]},"78":{"title":"method __init__(self, a: float, b: float, c: float, d: float)","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"79":{"title":"method approx(self, other: Plane3) -> bool","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"80":{"title":"method cal_angle(self, other: Line3 | Plane3) -> AnyAngle","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"81":{"title":"method cal_distance(self, other: Plane3 | Point3) -> float","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"82":{"title":"method cal_intersection_line3(self, other: Plane3) -> Line3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"83":{"title":"method cal_intersection_point3(self, other: Line3) -> Point3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"84":{"title":"method cal_parallel_plane3(self, point: Point3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"85":{"title":"method is_parallel(self, other: Plane3) -> bool","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"86":{"title":"method normal(self) -> Vector3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"87":{"title":"method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"88":{"title":"method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"89":{"title":"method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"90":{"title":"method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"91":{"title":"method __and__(self, other: Line3) -> Point3 | None","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"92":{"title":"method __and__(self, other: Plane3) -> Line3 | None","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"93":{"title":"method __and__(self, other)","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"94":{"title":"method __eq__(self, other) -> bool","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"95":{"title":"method __rand__(self, other: Line3) -> Point3","titles":["模組 mbcp.mp_math.plane","class Plane3"]},"96":{"title":"模組 mbcp.mp_math.point","titles":[]},"97":{"title":"class Point3","titles":["模組 mbcp.mp_math.point"]},"98":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模組 mbcp.mp_math.point","class Point3"]},"99":{"title":"method approx(self, other: Point3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.point","class Point3"]},"100":{"title":"method self + other: Vector3 => Point3","titles":["模組 mbcp.mp_math.point","class Point3"]},"101":{"title":"method self + other: Point3 => Point3","titles":["模組 mbcp.mp_math.point","class Point3"]},"102":{"title":"method self + other","titles":["模組 mbcp.mp_math.point","class Point3"]},"103":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.point","class Point3"]},"104":{"title":"method self - other: Point3 => Vector3","titles":["模組 mbcp.mp_math.point","class Point3"]},"105":{"title":"模組 mbcp.mp_math.segment","titles":[]},"106":{"title":"class Segment3","titles":["模組 mbcp.mp_math.segment"]},"107":{"title":"method __init__(self, p1: Point3, p2: Point3)","titles":["模組 mbcp.mp_math.segment","class Segment3"]},"108":{"title":"模組 mbcp.mp_math.utils","titles":[]},"109":{"title":"func clamp(x: float, min_: float, max_: float) -> float","titles":["模組 mbcp.mp_math.utils"]},"110":{"title":"class Approx","titles":["模組 mbcp.mp_math.utils"]},"111":{"title":"method __init__(self, value: RealNumber)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"112":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"113":{"title":"method raise_type_error(self, other)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"114":{"title":"method __ne__(self, other)","titles":["模組 mbcp.mp_math.utils","class Approx"]},"115":{"title":"func approx(x: float, y: float = 0.0, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.utils"]},"116":{"title":"func sign(x: float, only_neg: bool = False) -> str","titles":["模組 mbcp.mp_math.utils"]},"117":{"title":"func sign_format(x: float, only_neg: bool = False) -> str","titles":["模組 mbcp.mp_math.utils"]},"118":{"title":"模組 mbcp.mp_math.vector","titles":[]},"119":{"title":"class Vector3","titles":["模組 mbcp.mp_math.vector"]},"120":{"title":"method __init__(self, x: float, y: float, z: float)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"121":{"title":"method approx(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"122":{"title":"method cal_angle(self, other: Vector3) -> AnyAngle","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"123":{"title":"method cross(self, other: Vector3) -> Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"124":{"title":"method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"125":{"title":"method is_parallel(self, other: Vector3) -> bool","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"126":{"title":"method normalize(self)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"127":{"title":"method np_array(self) -> np.ndarray","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"128":{"title":"method length(self) -> float","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"129":{"title":"method unit(self) -> Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"130":{"title":"method __abs__(self)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"131":{"title":"method self + other: Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"132":{"title":"method self + other: Point3 => Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"133":{"title":"method self + other","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"134":{"title":"method __eq__(self, other)","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"135":{"title":"method self + other: Point3 => Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"136":{"title":"method self - other: Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"137":{"title":"method self - other: Point3 => Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"138":{"title":"method self - other","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"139":{"title":"method self - other: Point3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"140":{"title":"method self * other: Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"141":{"title":"method self * other: RealNumber => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"142":{"title":"method self * other: int | float | Vector3 => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"143":{"title":"method self * other: RealNumber => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"144":{"title":"method self @ other: Vector3 => RealNumber","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"145":{"title":"method self / other: RealNumber => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"146":{"title":"method - self => Vector3","titles":["模組 mbcp.mp_math.vector","class Vector3"]},"147":{"title":"var zero_vector3","titles":["模組 mbcp.mp_math.vector"]},"148":{"title":"var x_axis","titles":["模組 mbcp.mp_math.vector"]},"149":{"title":"var y_axis","titles":["模組 mbcp.mp_math.vector"]},"150":{"title":"var z_axis","titles":["模組 mbcp.mp_math.vector"]},"151":{"title":"模組 mbcp.particle","titles":[]},"152":{"title":"模組 mbcp.presets","titles":[]},"153":{"title":"模組 mbcp.presets.model","titles":[]},"154":{"title":"class GeometricModels","titles":["模組 mbcp.presets.model"]},"155":{"title":"method sphere(radius: float, density: float)","titles":["模組 mbcp.presets.model","class GeometricModels"]},"156":{"title":"最佳實踐","titles":[]},"157":{"title":"作品","titles":["最佳實踐"]},"158":{"title":"开始不了一点","titles":[]},"159":{"title":"Reference","titles":[]}},"dirtCount":0,"index":[["∫12x111",{"2":{"158":1}}],["开始不了一点",{"0":{"158":1}}],["红石音乐",{"2":{"157":1}}],["这么可爱真是抱歉",{"2":{"157":1}}],["这玩意不太稳定",{"2":{"34":2}}],["轻涟",{"2":{"157":1}}],["芙宁娜pv曲",{"2":{"157":1}}],["有点甜~",{"2":{"157":1}}],["有关函数柯里化",{"2":{"37":2}}],["星穹铁道",{"2":{"157":1}}],["崩坏",{"2":{"157":1}}],["使一颗心免于哀伤",{"2":{"157":1}}],["总有一条蜿蜒在童话镇里",{"2":{"157":1}}],["童话镇~",{"2":{"157":1}}],["特效红石音乐",{"2":{"157":2}}],["作品",{"0":{"157":1}}],["4",{"2":{"155":1}}],["球体上的点集",{"2":{"155":2}}],["生成球体上的点集",{"2":{"155":2}}],["几何模型点集",{"2":{"153":1}}],["零向量",{"2":{"147":1}}],["负向量",{"2":{"146":2}}],["取负",{"2":{"146":2}}],["取两平面的交集",{"2":{"93":2}}],["非点乘",{"2":{"142":2}}],["别去点那边实现了",{"2":{"135":2}}],["单位向量",{"2":{"129":2}}],["单变量",{"2":{"61":1}}],["模",{"2":{"128":2}}],["模組",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1}}],["向量的模",{"2":{"128":2}}],["向量积",{"2":{"123":2}}],["将向量归一化",{"2":{"126":2}}],["j",{"2":{"123":1}}],["其余结果的模为平行四边形的面积",{"2":{"123":2}}],["叉乘使用cross",{"2":{"142":2}}],["叉乘结果",{"2":{"123":2}}],["叉乘为0",{"2":{"123":2}}],["叉乘",{"2":{"123":2}}],["以及一些常用的向量",{"2":{"118":1}}],["格式化符号数",{"2":{"117":2}}],["quot",{"2":{"116":2,"117":4}}],["符号",{"2":{"116":2,"117":2}}],["获取该向量的单位向量",{"2":{"129":2}}],["获取数的符号",{"2":{"116":2}}],["获取直线的参数方程",{"2":{"48":2}}],["获取直线上的点",{"2":{"47":2}}],["用于判断是否近似于0",{"2":{"115":2}}],["用于近似比较对象",{"2":{"111":2}}],["限定在区间内的值",{"2":{"109":2}}],["值",{"2":{"109":2}}],["区间限定函数",{"2":{"109":2}}],["us",{"2":{"159":1}}],["unit",{"0":{"129":1},"2":{"129":1}}],["unsupported",{"2":{"44":1,"80":1,"81":1,"93":1,"113":1,"133":1,"138":1,"139":1,"142":1}}],["utils",{"0":{"108":1},"1":{"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1}}],["中心点",{"2":{"107":1}}],["中实现",{"2":{"104":2}}],["长度",{"2":{"107":1}}],["线段的另一个端点",{"2":{"107":2}}],["线段的一个端点",{"2":{"107":2}}],["新的向量或点",{"2":{"133":2}}],["新的向量",{"2":{"104":2,"138":2}}],["新的点",{"2":{"102":2,"135":2,"139":2}}],["已在",{"2":{"104":2}}],["已知一个函数$f",{"2":{"36":1}}],["已知一个函数f",{"2":{"36":1}}],["坐标",{"2":{"98":6}}],["笛卡尔坐标系中的点",{"2":{"98":2}}],["人话",{"2":{"93":2}}],["法向量",{"2":{"86":2,"87":2}}],["k``",{"2":{"123":1}}],["k",{"2":{"79":12}}],["常数项",{"2":{"78":2}}],["常量",{"2":{"24":1}}],["平面上一点",{"2":{"87":2,"90":2}}],["平面的法向量",{"2":{"86":2}}],["平面",{"2":{"84":2,"87":2,"88":2,"89":2,"90":2}}],["平面与直线平行或重合",{"2":{"83":2}}],["平面平行且无交线",{"2":{"82":2}}],["平面方程",{"2":{"78":2}}],["平行线返回none",{"2":{"56":2}}],["多元函数",{"2":{"75":1}}],["多元数组函数",{"2":{"74":1}}],["多元单变量函数",{"2":{"73":1}}],["二元函数",{"2":{"69":1}}],["二元数组函数",{"2":{"68":1}}],["二元单变量函数",{"2":{"67":1}}],["一元函数",{"2":{"66":1}}],["一元数组函数",{"2":{"65":1}}],["一元单变量函数",{"2":{"64":1}}],["一阶偏导",{"2":{"34":2}}],["变量",{"2":{"63":1}}],["变量位置",{"2":{"34":2}}],["数组运算结果",{"2":{"142":2}}],["数组运算",{"2":{"142":2}}],["数组变量",{"2":{"62":1}}],["数2",{"2":{"115":2}}],["数1",{"2":{"115":2}}],["数",{"2":{"60":1,"116":2,"117":2}}],["数学工具",{"2":{"0":1}}],["類型",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["实数",{"2":{"59":1,"111":2}}],["∧",{"2":{"57":2}}],["交线",{"2":{"82":2,"93":2}}],["交线返回交点",{"2":{"56":2}}],["交集",{"2":{"56":2,"93":2}}],["交点",{"2":{"45":2,"83":2}}],["重合线返回自身",{"2":{"56":2}}],["由点和直线构造平面",{"2":{"90":2}}],["由点和法向量构造平面",{"2":{"87":2}}],["由两直线构造平面",{"2":{"89":2}}],["由两点构造直线",{"2":{"55":2}}],["由三点构造平面",{"2":{"88":2}}],["由一个点和一个方向向量确定",{"2":{"41":2}}],["工厂函数",{"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["并对向量单位化",{"2":{"54":2}}],["处理",{"2":{"54":2}}],["处的梯度向量为",{"2":{"36":1}}],["化",{"2":{"54":2}}],["按照可行性一次对x",{"2":{"54":2}}],["不返回值",{"2":{"54":2,"126":2}}],["不支持的类型",{"2":{"44":2,"80":2,"81":2,"93":2}}],["自体归一化",{"2":{"126":2}}],["自体简化",{"2":{"54":2}}],["自然对数的底",{"2":{"25":1}}],["等价相等",{"2":{"54":2}}],["简化直线方程",{"2":{"54":2}}],["两直线方向向量的叉乘与两直线上任意一点的向量的点积为0",{"2":{"53":2}}],["两角的和为180°",{"2":{"6":2}}],["两角的和为90°",{"2":{"5":2}}],["充要条件",{"2":{"53":2}}],["判断两个向量是否相等",{"2":{"134":2}}],["判断两个向量是否平行",{"2":{"125":2}}],["判断两个向量是否近似平行",{"2":{"124":2}}],["判断两个向量是否近似相等",{"2":{"121":2}}],["判断两个数是否近似相等",{"2":{"115":2}}],["判断两个点是否相等",{"2":{"103":2}}],["判断两个点是否近似相等",{"2":{"99":2}}],["判断两个平面是否等价",{"2":{"94":2}}],["判断两个平面是否平行",{"2":{"85":2}}],["判断两个平面是否近似相等",{"2":{"79":2}}],["判断两条直线是否等价",{"2":{"57":2}}],["判断两条直线是否共面",{"2":{"53":2}}],["判断两条直线是否共线",{"2":{"51":2}}],["判断两条直线是否平行",{"2":{"50":2}}],["判断两条直线是否近似平行",{"2":{"49":2}}],["判断两条直线是否近似相等",{"2":{"42":2}}],["判断点是否在直线上",{"2":{"52":2}}],["另一个向量或数",{"2":{"142":2}}],["另一个向量或点",{"2":{"133":2,"138":2}}],["另一个向量",{"2":{"121":2,"122":2,"123":2,"124":2,"125":2,"134":2,"144":2}}],["另一个点或向量",{"2":{"102":2}}],["另一个点",{"2":{"99":2,"103":2,"104":2,"135":2,"139":2}}],["另一个平面或点",{"2":{"81":2}}],["另一个平面或直线",{"2":{"80":2,"93":2}}],["另一个平面",{"2":{"79":2,"82":2,"85":2,"94":2}}],["另一",{"2":{"50":2,"51":2,"53":2}}],["另一条直线或点",{"2":{"44":2}}],["另一条直线",{"2":{"42":2,"43":2,"45":2,"49":2,"56":2,"57":2}}],["则两向量平行",{"2":{"123":2}}],["则同一个t对应的点不同",{"2":{"47":2}}],["则其在点$",{"2":{"36":1}}],["则其在点",{"2":{"36":1}}],["但起始点和方向向量不同",{"2":{"47":2}}],["同一条直线",{"2":{"47":2}}],["垂线",{"2":{"46":2}}],["指定点",{"2":{"46":2,"84":2}}],["直线",{"2":{"55":2,"83":2,"89":4,"90":2}}],["直线不共面",{"2":{"45":2}}],["直线平行",{"2":{"45":2}}],["直线上的一点",{"2":{"41":2}}],["距离",{"2":{"44":2,"81":2}}],["夹角",{"2":{"43":2,"80":2,"122":2}}],["是否只返回负数的符号",{"2":{"116":2,"117":2}}],["是否相等",{"2":{"103":2,"134":2}}],["是否等价",{"2":{"57":2,"94":2}}],["是否共面",{"2":{"53":2}}],["是否共线",{"2":{"51":2}}],["是否在直线上",{"2":{"52":2}}],["是否平行",{"2":{"50":2,"85":2,"125":2}}],["是否近似平行",{"2":{"49":2,"124":2}}],["是否近似相等",{"2":{"42":2,"79":2,"99":2,"115":2,"121":2}}],["是否为弧度",{"2":{"4":2}}],["误差",{"2":{"42":2,"49":2,"99":2,"115":2,"121":2,"124":2}}],["方向向量",{"2":{"41":2,"107":1}}],["三元数组函数",{"2":{"71":1}}],["三元单变量函数",{"2":{"70":1}}],["三元函数",{"2":{"36":2,"72":1}}],["三维空间中的线段",{"2":{"107":2}}],["三维空间中的直线",{"2":{"41":2}}],["三维向量",{"2":{"38":1}}],["三维线段",{"2":{"38":1}}],["三维点",{"2":{"38":1}}],["三维平面",{"2":{"38":1}}],["三维直线",{"2":{"38":1}}],["导入的类有",{"2":{"38":1}}],["本包定义了一些常用的导入",{"2":{"38":1}}],["本模块塞了一些预设",{"2":{"152":1}}],["本模块用于内部类型提示",{"2":{"58":1}}],["本模块定义了粒子生成相关的工具",{"2":{"151":1}}],["本模块定义了3维向量的类vector3",{"2":{"118":1}}],["本模块定义了一些常用的工具函数",{"2":{"108":1}}],["本模块定义了一些常用的常量",{"2":{"23":1}}],["本模块定义了三维空间中点的类",{"2":{"96":1}}],["本模块定义了三维空间中的线段类",{"2":{"105":1}}],["本模块定义了三维空间中的平面类",{"2":{"76":1}}],["本模块定义了三维空间中的直线类",{"2":{"39":1}}],["本模块定义了方程相关的类和函数以及一些常用的数学函数",{"2":{"30":1}}],["本模块定义了角度相关的类",{"2":{"1":1}}],["本模块是主模块",{"2":{"0":1}}],["help",{"2":{"159":1}}],["heart",{"2":{"157":1}}],["have",{"2":{"82":1}}],["html",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["https",{"2":{"37":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["high",{"2":{"34":2}}],["hide",{"2":{"34":2,"37":1}}],["6",{"2":{"37":2}}],["3维向量",{"2":{"120":2}}],["3a",{"2":{"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["355859667",{"2":{"37":1}}],["3",{"2":{"37":2,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["3vf",{"0":{"36":1},"2":{"36":1}}],["breaking",{"2":{"157":1}}],["by",{"2":{"78":2}}],["bound=iterable",{"2":{"62":1}}],["bound=number",{"2":{"61":1}}],["bool=false",{"2":{"4":1,"116":1,"117":1}}],["bool",{"0":{"4":1,"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1},"2":{"42":3,"49":3,"50":3,"51":3,"52":3,"53":3,"57":3,"79":3,"85":3,"94":3,"99":3,"103":2,"115":3,"116":2,"117":2,"121":3,"124":3,"125":3,"134":2}}],["b",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["範例",{"2":{"37":1}}],["柯里化后的函数",{"2":{"37":2}}],["柯理化",{"2":{"37":2}}],["函数式编程",{"2":{"37":1}}],["函数",{"2":{"37":2}}],["对多参数函数进行柯里化",{"2":{"37":2}}],["d",{"0":{"78":1},"2":{"78":7,"79":6,"81":1,"82":6,"83":1,"87":2}}],["documentation",{"2":{"159":1}}],["doc",{"2":{"127":1}}],["docs",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["do",{"2":{"45":2}}],["distance",{"0":{"44":1,"81":1},"2":{"44":1,"81":1}}],["direction",{"0":{"41":1},"2":{"41":5,"42":1,"43":2,"44":8,"45":6,"46":1,"47":1,"48":3,"49":2,"50":2,"51":1,"52":1,"53":2,"54":4,"55":2,"57":3,"80":1,"82":2,"83":4,"89":1,"90":1,"93":1,"107":2}}],["dz",{"2":{"36":2}}],["dy",{"2":{"36":2}}],["dx",{"2":{"36":2}}],["density",{"0":{"155":1},"2":{"155":4}}],["derivative",{"0":{"34":1},"2":{"34":6}}],["degree",{"0":{"7":1},"2":{"7":1}}],["def",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"34":2,"37":2,"55":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"100":1,"101":1,"127":1,"128":1,"129":1,"131":1,"132":1,"136":1,"137":1,"140":1,"141":1,"155":1}}],["$处的梯度向量为",{"2":{"36":1}}],["$",{"2":{"36":3}}],["梯度",{"2":{"36":2}}],["点乘结果",{"2":{"144":2}}],["点乘",{"2":{"144":2}}],["点乘使用",{"2":{"142":2}}],["点3",{"2":{"88":2}}],["点法式构造",{"2":{"87":2}}],["点2",{"2":{"55":2,"88":2}}],["点1",{"2":{"55":2,"88":2}}],["点",{"2":{"36":2,"47":2,"52":2}}],["∂f∂z",{"2":{"36":1}}],["∂f∂y",{"2":{"36":1}}],["∂f∂x",{"2":{"36":1}}],["∇f",{"2":{"36":1}}],["计算平行于该平面且过指定点的平面",{"2":{"84":2}}],["计算平面与直线的交点",{"2":{"83":2}}],["计算平面与平面或点之间的距离",{"2":{"81":2}}],["计算平面与平面之间的夹角",{"2":{"80":2}}],["计算两个向量之间的夹角",{"2":{"122":2}}],["计算两平面的交线",{"2":{"82":2}}],["计算两条直线点集合的交集",{"2":{"56":2}}],["计算两条直线的交点",{"2":{"45":2}}],["计算直线经过指定点p的垂线",{"2":{"46":2}}],["计算直线和直线或点之间的距离",{"2":{"44":2}}],["计算直线和直线之间的夹角",{"2":{"43":2}}],["计算三元函数在某点的梯度向量",{"2":{"36":2}}],["计算曲线上的点",{"2":{"33":2}}],["v3",{"2":{"123":2}}],["v2",{"2":{"57":2,"88":2,"89":4,"123":2}}],["v1",{"2":{"57":4,"88":2,"89":2,"123":2}}],["vector",{"0":{"118":1},"1":{"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"41":1,"86":1,"87":1,"102":1,"104":3,"142":1}}],["vector3",{"0":{"36":1,"41":1,"86":1,"87":1,"100":1,"104":1,"119":1,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"131":2,"136":2,"140":2,"141":1,"142":2,"143":1,"144":1,"145":1,"146":1,"147":1},"1":{"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"36":2,"38":1,"41":3,"86":4,"87":3,"89":1,"100":1,"102":2,"104":7,"112":2,"121":3,"122":3,"123":7,"124":3,"125":4,"129":3,"131":2,"133":7,"134":2,"136":2,"138":7,"139":1,"140":2,"141":1,"142":9,"143":1,"144":3,"145":2,"146":4,"147":2,"148":2,"149":2,"150":2}}],["v",{"2":{"34":2,"102":2,"104":4,"133":8,"135":2,"138":8,"139":2}}],["var",{"0":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"33":1,"34":1,"37":1,"59":1,"60":1,"61":1,"62":1,"63":2,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1},"2":{"32":3,"33":1,"34":14,"36":1,"37":7,"47":1,"48":1}}],["valueerror",{"2":{"34":3,"45":4,"82":3,"83":3}}],["value",{"0":{"4":1,"111":1},"2":{"4":5,"111":5,"112":6,"113":1}}],["求高阶偏导函数",{"2":{"34":1}}],["求n元函数一阶偏导函数",{"2":{"34":2}}],["l2",{"0":{"89":1},"2":{"89":5}}],["l1",{"0":{"89":1},"2":{"89":7}}],["lambda",{"2":{"48":3}}],["left",{"2":{"36":1}}],["length",{"0":{"128":1},"2":{"44":5,"45":1,"80":2,"107":2,"122":2,"124":1,"126":5,"128":1,"129":1,"130":1}}],["len",{"2":{"33":1}}],["linalg",{"2":{"82":3}}],["lines",{"0":{"89":1},"2":{"45":2,"89":1}}],["line",{"0":{"39":1,"90":2},"1":{"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":2,"89":1,"90":6,"93":2}}],["line3",{"0":{"40":1,"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"80":1,"82":2,"83":1,"89":2,"90":1,"91":1,"92":1,"95":1},"1":{"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1},"2":{"38":1,"42":3,"43":3,"44":4,"45":3,"46":4,"49":3,"50":3,"51":3,"53":3,"55":3,"56":6,"57":2,"80":4,"82":5,"83":3,"89":5,"90":3,"91":1,"92":1,"93":6,"95":1,"112":1}}],["library",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["list",{"2":{"34":8,"155":10}}],["litedoc",{"2":{"34":2,"37":1}}],["`np",{"2":{"127":1}}],["`none`",{"2":{"56":1,"93":1}}],["``x2",{"2":{"123":1}}],["``x1",{"2":{"123":1}}],["``i",{"2":{"123":1}}],["```",{"2":{"37":1}}],["```python",{"2":{"37":1}}],["`str`",{"2":{"116":1,"117":1}}],["`plane3`",{"2":{"79":1,"80":1,"81":1,"82":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["`point3`",{"2":{"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":1,"84":1,"87":1,"88":3,"90":1,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["`onesinglevarfunc`",{"2":{"48":3}}],["`onevarfunc`",{"2":{"32":3}}],["`realnumber`",{"2":{"47":1,"111":1}}],["`tuple`",{"2":{"48":1}}],["`typeerror`",{"2":{"44":1,"80":1,"81":1,"93":1}}],["`threesinglevarsfunc`",{"2":{"36":1}}],["`anyangle`",{"2":{"43":1,"80":1,"122":1}}],["`bool`",{"2":{"42":1,"49":1,"50":1,"51":1,"52":1,"53":1,"57":1,"79":1,"85":1,"94":1,"99":1,"103":1,"115":1,"116":1,"117":1,"121":1,"124":1,"125":1,"134":1}}],["`float`",{"2":{"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"144":1}}],["`line3`",{"2":{"42":1,"43":1,"44":1,"45":1,"46":1,"49":1,"50":1,"51":1,"53":1,"55":1,"56":2,"57":1,"80":1,"82":1,"83":1,"89":2,"90":1,"93":2}}],["`valueerror`",{"2":{"45":2,"82":1,"83":1}}],["`var`",{"2":{"37":1}}],["`vector3`",{"2":{"41":1,"86":1,"87":1,"102":1,"104":2,"121":1,"122":1,"123":2,"124":1,"125":1,"129":1,"133":2,"134":1,"138":2,"142":2,"144":1,"146":1}}],["`multivarsfunc`",{"2":{"34":1,"37":1}}],["无效变量类型",{"2":{"34":2}}],["抛出",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["偏导函数",{"2":{"34":2}}],["偏移量",{"2":{"34":2,"36":2}}],["高阶偏导数值",{"2":{"34":1}}],["高阶偏导",{"2":{"34":2}}],["可愛くてごめん",{"2":{"157":1}}],["可直接从mbcp",{"2":{"38":1}}],["可参考",{"2":{"37":1}}],["可参考函数式编程",{"2":{"37":1}}],["可为整数",{"2":{"34":2}}],["可导入",{"2":{"0":1}}],["因此该函数的稳定性有待提升",{"2":{"34":2}}],["目前数学界对于一个函数的导函数并没有通解的说法",{"2":{"34":2}}],["目标点",{"2":{"33":2}}],["warning",{"2":{"34":2}}],["慎用",{"2":{"34":2}}],["num",{"2":{"155":5}}],["numpy",{"2":{"127":2}}],["numpy数组",{"2":{"127":2}}],["number=epsilon",{"2":{"34":1}}],["number",{"0":{"34":1,"60":1},"2":{"62":1}}],["ndarray`",{"2":{"127":1}}],["ndarray",{"0":{"127":1},"2":{"127":3}}],["neg",{"0":{"116":1,"117":1},"2":{"116":4,"117":4,"146":1}}],["negative",{"0":{"9":1},"2":{"9":1}}],["ne",{"0":{"114":1},"2":{"114":1}}],["np",{"0":{"127":2},"2":{"82":9,"127":4,"155":9}}],["no",{"2":{"82":1}}],["normal",{"0":{"86":1,"87":2},"2":{"80":5,"82":4,"83":1,"84":2,"85":2,"86":1,"87":7,"88":3,"89":1,"90":1,"93":3}}],["normalize",{"0":{"126":1},"2":{"54":1,"126":1}}],["none",{"0":{"56":1,"91":1,"92":1},"2":{"56":4,"91":1,"92":1,"93":4}}],["not",{"2":{"44":1,"45":4,"56":1,"114":1,"116":1,"117":1}}],["nabla",{"2":{"36":1}}],["n元函数",{"2":{"34":2}}],["参数方程",{"2":{"48":2}}],["参数t",{"2":{"47":2}}],["参数",{"2":{"33":2,"34":1,"37":2}}],["|",{"0":{"33":1,"34":1,"44":1,"56":2,"80":1,"81":1,"91":1,"92":1,"142":2},"2":{"33":1,"34":1,"44":3,"56":6,"59":1,"60":1,"63":1,"66":1,"69":1,"72":1,"75":1,"80":3,"81":3,"91":1,"92":1,"93":6,"102":2,"133":4,"138":4,"142":4}}],["曲线方程",{"2":{"32":2,"38":1}}],["z轴单位向量",{"2":{"150":1}}],["z轴分量",{"2":{"120":2}}],["z2``",{"2":{"123":1}}],["z1``",{"2":{"123":1}}],["zero",{"0":{"147":1},"2":{"89":1,"125":1}}],["z系数",{"2":{"78":2}}],["zhihu",{"2":{"37":1}}],["zhuanlan",{"2":{"37":1}}],["z0",{"2":{"36":2}}],["zip",{"2":{"33":1}}],["z函数",{"2":{"32":2}}],["z",{"0":{"32":1,"98":1,"120":1,"150":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["y轴单位向量",{"2":{"149":1}}],["y轴分量",{"2":{"120":2}}],["y2",{"2":{"123":1}}],["y1",{"2":{"123":1}}],["y系数",{"2":{"78":2}}],["y0",{"2":{"36":2}}],["y函数",{"2":{"32":2}}],["y",{"0":{"32":1,"98":1,"115":1,"120":1,"149":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":4,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"112":2,"115":4,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["x轴单位向量",{"2":{"148":1}}],["x轴分量",{"2":{"120":2}}],["x3c",{"2":{"99":3,"112":1,"115":1,"116":1,"117":1,"121":3,"124":1}}],["x26",{"2":{"93":1}}],["x系数",{"2":{"78":2}}],["x0",{"2":{"36":2}}],["x函数",{"2":{"32":2}}],["x",{"0":{"32":1,"98":1,"109":1,"115":1,"116":1,"117":1,"120":1,"148":1},"2":{"32":5,"33":4,"36":11,"48":2,"54":2,"81":1,"82":4,"83":4,"87":2,"98":7,"99":2,"102":2,"103":2,"104":2,"107":2,"109":4,"112":2,"115":4,"116":5,"117":8,"120":5,"121":2,"123":4,"126":1,"127":1,"128":1,"133":4,"134":2,"135":2,"138":4,"139":2,"142":3,"144":2,"145":1,"146":1,"155":2}}],["约等于判定误差",{"2":{"29":1}}],["精度误差",{"2":{"28":1}}],["06",{"0":{"49":1},"2":{"49":1}}],["001",{"2":{"29":1}}],["0001",{"2":{"28":1}}],["0",{"0":{"115":2},"2":{"27":1,"28":1,"29":1,"33":3,"36":6,"44":2,"53":1,"54":8,"78":2,"79":3,"81":2,"82":9,"83":1,"93":1,"115":1,"116":2,"117":4,"147":3,"148":2,"149":2,"150":2,"155":2}}],["欧拉常数",{"2":{"27":1}}],["5772156649015329",{"2":{"27":1}}],["5",{"2":{"26":1,"81":1}}],["黄金分割比",{"2":{"26":1}}],["geometricmodels",{"0":{"154":1},"1":{"155":1}}],["generated",{"2":{"127":1}}],["get",{"0":{"34":1,"47":1,"48":1},"2":{"34":2,"47":1,"48":1,"83":1,"89":1}}],["gradient",{"0":{"36":1},"2":{"36":1}}],["gamma",{"0":{"27":1}}],["golden",{"0":{"26":1}}],["gt",{"0":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"102":2,"104":2,"117":3,"123":1,"133":2,"135":1,"138":2,"139":1}}],["默認值",{"2":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"147":1,"148":1,"149":1,"150":1}}],["默认为否",{"2":{"4":2}}],["π",{"2":{"24":1}}],["to",{"2":{"159":1}}],["theta",{"2":{"155":3}}],["the",{"2":{"83":2,"159":1}}],["three",{"0":{"88":1},"2":{"88":1}}],["threevarsfunc",{"0":{"72":1}}],["threearraysfunc",{"0":{"71":1},"2":{"72":1}}],["threesinglevarsfunc",{"0":{"36":1,"70":1},"2":{"36":3,"72":1}}],["twovarsfunc",{"0":{"69":1}}],["twoarraysfunc",{"0":{"68":1},"2":{"69":1}}],["twosinglevarsfunc",{"0":{"67":1},"2":{"69":1}}],["two",{"0":{"55":1,"89":1},"2":{"55":1,"89":1}}],["tip",{"2":{"36":2,"37":2}}],["typevar",{"2":{"61":1,"62":1}}],["typealias",{"2":{"59":1,"60":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1}}],["typeerror",{"2":{"44":3,"45":1,"80":3,"81":3,"93":3,"113":1,"133":1,"138":1,"139":1,"142":1}}],["type",{"0":{"113":1},"2":{"34":1,"44":1,"80":2,"81":2,"93":2,"112":2,"113":4,"133":2,"138":2,"139":2,"142":2}}],["typing",{"0":{"58":1},"1":{"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1},"2":{"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"111":1}}],["tuple",{"0":{"33":1,"34":1,"48":1},"2":{"33":2,"34":2,"48":3}}],["t",{"0":{"33":1,"47":1},"2":{"33":10,"47":4,"48":6,"83":4}}],["truediv",{"2":{"20":1,"21":1,"22":1,"145":1}}],["tan",{"0":{"12":1},"2":{"12":2,"13":1}}],["operand",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["only",{"0":{"116":1,"117":1},"2":{"116":4,"117":4}}],["on",{"0":{"52":1},"2":{"52":1}}],["one",{"2":{"157":1}}],["onearrayfunc",{"0":{"65":1},"2":{"66":1}}],["onesinglevarfunc",{"0":{"48":3,"64":1},"2":{"48":7,"66":1}}],["onevarfunc",{"0":{"32":3,"37":1,"66":1},"2":{"32":9,"37":1}}],["or",{"2":{"56":1,"83":1}}],["org",{"2":{"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"93":2,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":1,"134":1,"142":1,"144":1}}],["order",{"2":{"34":2}}],["overload",{"2":{"19":1,"20":2,"21":1,"90":1,"91":2,"92":1,"99":1,"100":2,"101":1,"130":1,"131":2,"132":1,"135":1,"136":2,"137":1,"139":1,"140":2,"141":1}}],["other",{"0":{"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"42":1,"43":1,"44":1,"45":1,"49":1,"50":1,"51":1,"53":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"91":1,"92":1,"93":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"112":1,"113":1,"114":1,"121":1,"122":1,"123":1,"124":1,"125":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1},"2":{"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":4,"42":5,"43":4,"44":13,"45":9,"49":4,"50":4,"51":5,"53":5,"56":7,"57":5,"79":15,"80":9,"81":9,"82":17,"83":11,"85":4,"91":1,"92":1,"93":10,"94":4,"95":2,"99":6,"100":1,"101":1,"102":6,"103":6,"104":6,"112":9,"113":2,"114":2,"121":6,"122":5,"123":9,"124":4,"125":4,"131":1,"132":1,"133":12,"134":6,"135":6,"136":1,"137":1,"138":12,"139":8,"140":1,"141":1,"142":12,"143":2,"144":6,"145":4}}],["ep",{"2":{"157":1}}],["epsilon",{"0":{"28":1,"34":2,"36":2,"42":1,"49":1,"99":1,"115":1,"121":1,"124":1},"2":{"34":7,"36":12,"42":5,"49":4,"99":6,"115":4,"121":6,"124":4}}],["error",{"0":{"113":1},"2":{"112":2,"113":1}}],["exceptions",{"2":{"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["examples",{"2":{"37":1}}],["exp",{"2":{"25":1}}],["elif",{"2":{"34":1,"44":3,"56":1,"79":2,"80":1,"81":1,"82":2,"93":1,"112":1,"116":1,"117":1,"133":1,"138":1,"142":1}}],["else",{"2":{"4":1,"33":1,"34":1,"44":2,"56":1,"79":1,"80":1,"81":1,"93":1,"112":2,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1}}],["e",{"0":{"25":1},"2":{"25":1}}],["equations",{"0":{"48":1},"2":{"48":1,"83":1}}],["equation",{"0":{"30":1},"1":{"31":1,"32":1,"33":1,"34":1}}],["eq",{"0":{"17":1,"57":1,"94":1,"103":1,"112":1,"134":1},"2":{"17":1,"57":1,"94":1,"103":1,"112":1,"114":1,"134":1}}],["+1",{"2":{"117":2}}],["+=",{"2":{"34":1}}],["+",{"0":{"16":1,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1,"135":1},"2":{"16":1,"26":1,"36":3,"37":4,"45":1,"47":1,"48":3,"78":6,"81":5,"83":5,"102":7,"107":3,"116":3,"117":3,"128":2,"133":11,"135":5,"144":2,"155":1}}],["1e",{"0":{"49":1}}],["1",{"2":{"13":1,"14":1,"15":1,"25":1,"26":1,"33":1,"37":2,"89":1,"117":6,"148":1,"149":1,"150":1,"155":4}}],["180",{"2":{"4":1,"7":1}}],["正割值",{"2":{"14":4}}],["正切值",{"2":{"12":4}}],["正弦值",{"2":{"10":4}}],["余割值",{"2":{"15":4}}],["余切值",{"2":{"13":4}}],["余弦值",{"2":{"11":4}}],["余角",{"2":{"5":4}}],["最佳實踐",{"0":{"156":1},"1":{"157":1}}],["最大值",{"2":{"109":2}}],["最大负角度",{"2":{"9":2}}],["最大负角",{"2":{"9":2}}],["最小值",{"2":{"109":2}}],["最小正角度",{"2":{"8":2}}],["最小正角",{"2":{"8":2}}],["弧度",{"2":{"7":2}}],["角度",{"2":{"7":2}}],["角度或弧度值",{"2":{"4":2}}],["补角",{"2":{"6":4}}],["sphere",{"0":{"155":1},"2":{"155":1}}],["stop",{"2":{"157":1}}],["staticmethod",{"2":{"154":1,"155":1}}],["stable",{"2":{"127":1}}],["str",{"0":{"116":1,"117":1},"2":{"116":3,"117":3}}],["stdtypes",{"2":{"48":1}}],["s",{"2":{"93":1,"133":1,"138":1,"139":1,"142":1}}],["solve",{"2":{"82":3}}],["sign",{"0":{"116":1,"117":1},"2":{"116":1,"117":1}}],["simplify",{"0":{"54":1},"2":{"54":1}}],["singlevar",{"0":{"61":1},"2":{"61":1,"63":1,"64":2,"67":3,"70":4,"73":1}}],["sin",{"0":{"10":1},"2":{"10":2,"15":1,"155":3}}],["sqrt",{"2":{"26":1,"128":1,"155":1}}],["sub",{"2":{"18":1,"104":1,"136":1,"137":1,"138":1}}],["supplementary",{"0":{"6":1},"2":{"6":1}}],["segment",{"0":{"105":1},"1":{"106":1,"107":1}}],["segment3",{"0":{"106":1},"1":{"107":1},"2":{"38":1}}],["sec",{"0":{"14":1},"2":{"14":1}}],["self",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":3,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":1,"21":1,"22":3,"32":4,"33":7,"41":3,"42":4,"43":2,"44":13,"45":8,"46":3,"47":3,"48":7,"49":2,"50":2,"51":4,"52":3,"53":3,"54":8,"56":6,"57":4,"78":5,"79":16,"80":4,"81":8,"82":15,"83":9,"84":2,"85":2,"86":4,"91":1,"92":1,"93":5,"94":2,"95":2,"98":4,"99":4,"100":1,"101":1,"102":4,"103":4,"104":4,"107":15,"111":2,"112":9,"113":2,"114":2,"120":4,"121":4,"122":3,"123":7,"124":2,"125":2,"126":5,"127":4,"128":4,"129":3,"130":2,"131":1,"132":1,"133":7,"134":4,"135":4,"136":1,"137":1,"138":7,"139":4,"140":1,"141":1,"142":7,"143":2,"144":4,"145":4,"146":4}}],["255万个粒子",{"2":{"157":1}}],["2",{"2":{"5":1,"8":1,"9":1,"26":1,"34":1,"36":3,"37":2,"45":1,"81":3,"107":3,"128":3,"155":2}}],["rmul",{"2":{"143":1}}],["rsub",{"2":{"139":1}}],["right",{"2":{"36":1}}],["reference",{"0":{"159":1},"2":{"127":1}}],["realnumber",{"0":{"47":1,"59":1,"111":1,"141":1,"143":1,"144":1,"145":1},"2":{"47":3,"60":1,"111":3,"141":1,"143":1,"144":1,"145":1}}],["result",{"2":{"34":4}}],["return",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"22":2,"33":2,"34":4,"36":1,"37":4,"42":1,"43":1,"44":5,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":3,"57":1,"79":4,"80":2,"81":2,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":4,"94":1,"95":1,"99":1,"102":1,"103":1,"104":1,"109":1,"112":2,"114":1,"115":1,"116":3,"117":3,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"130":1,"133":2,"134":1,"135":1,"138":2,"139":1,"142":2,"143":1,"144":1,"145":1,"146":1,"155":1}}],["returns",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":2,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["range",{"2":{"155":2}}],["rand",{"0":{"95":1},"2":{"95":1}}],["radius",{"0":{"155":1},"2":{"155":7}}],["radian=true",{"2":{"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"80":1,"122":1}}],["radian",{"0":{"4":1},"2":{"4":6,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":2,"17":2,"18":2,"19":1,"22":3}}],["radd",{"2":{"135":1}}],["raise",{"0":{"113":1},"2":{"34":1,"44":1,"45":2,"80":1,"81":1,"82":1,"83":1,"93":1,"112":2,"113":2,"133":1,"138":1,"139":1,"142":1}}],["raises",{"2":{"34":1,"44":1,"45":1,"80":1,"81":1,"82":1,"83":1,"93":1}}],["ratio",{"0":{"26":1}}],[">",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"18":1,"19":1,"20":1,"21":1,"33":1,"34":5,"36":3,"37":6,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"94":1,"95":1,"99":1,"100":1,"101":1,"102":2,"104":3,"109":1,"115":1,"116":2,"117":5,"121":1,"122":1,"123":2,"124":1,"125":1,"127":1,"128":1,"129":1,"131":1,"132":1,"133":2,"135":2,"136":1,"137":1,"138":2,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["返回numpy数组",{"2":{"127":1}}],["返回如下行列式的结果",{"2":{"123":1}}],["返回",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"33":1,"34":1,"36":1,"37":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"99":1,"102":1,"103":1,"104":1,"109":1,"115":1,"116":1,"117":1,"121":1,"122":1,"123":1,"124":1,"125":1,"127":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"155":1}}],["can",{"2":{"157":1}}],["cal",{"0":{"36":1,"43":1,"44":1,"45":1,"46":1,"80":1,"81":1,"82":1,"83":1,"84":1,"122":1},"2":{"36":1,"43":2,"44":1,"45":1,"46":1,"56":1,"80":2,"81":1,"82":1,"83":1,"84":1,"93":2,"95":1,"122":1}}],["callable",{"2":{"64":1,"65":1,"67":1,"68":1,"70":1,"71":1,"73":1,"74":1}}],["call",{"0":{"33":1},"2":{"33":1}}],["cz",{"2":{"78":2}}],["clamp",{"0":{"109":1},"2":{"109":1,"155":1}}],["classmethod",{"2":{"54":1,"55":1,"86":1,"87":2,"88":2,"89":2,"90":1}}],["class",{"0":{"2":1,"3":1,"31":1,"40":1,"77":1,"97":1,"106":1,"110":1,"119":1,"154":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1},"2":{"36":1,"41":2,"42":1,"43":2,"44":2,"45":2,"46":2,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":3,"56":3,"57":1,"79":1,"80":3,"81":2,"82":2,"83":2,"84":2,"85":1,"86":1,"87":3,"88":1,"89":1,"90":2,"93":4,"94":1,"99":1,"102":3,"103":1,"104":3,"107":2,"121":1,"122":2,"123":2,"124":1,"125":1,"129":1,"133":4,"134":1,"135":2,"138":4,"139":2,"142":2,"144":1,"146":1}}],["cls",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":2,"87":2,"88":2,"89":2,"90":2}}],["cross",{"0":{"123":1},"2":{"44":4,"45":3,"46":1,"53":1,"82":1,"88":1,"89":1,"123":3,"124":1,"125":1}}],["c",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":6,"83":2,"86":1,"87":3}}],["curried",{"2":{"37":6}}],["currying",{"2":{"37":2}}],["curry",{"0":{"37":1},"2":{"37":3}}],["curveequation",{"0":{"31":1},"1":{"32":1,"33":1},"2":{"38":1}}],["csc",{"0":{"15":1},"2":{"15":1}}],["coincident",{"2":{"83":1}}],["collinear",{"0":{"51":1},"2":{"51":1,"56":1}}],["coplanar",{"0":{"53":1},"2":{"44":1,"45":2,"53":1,"56":1}}],["complex",{"2":{"60":1}}],["complementary",{"0":{"5":1},"2":{"5":1,"80":1}}],["com",{"2":{"37":1}}],["constants",{"2":{"56":1,"93":1}}],["const",{"0":{"23":1},"1":{"24":1,"25":1,"26":1,"27":1,"28":1,"29":1}}],["cot",{"0":{"13":1},"2":{"13":1}}],["cos",{"0":{"11":1},"2":{"11":2,"14":1,"155":2}}],["all",{"2":{"99":1,"112":1,"121":1}}],["acos",{"2":{"80":1,"122":1}}],["axis",{"0":{"148":1,"149":1,"150":1}}],["ax",{"2":{"78":2}}],["arccos",{"2":{"155":1}}],["array",{"0":{"127":1},"2":{"82":6,"127":2,"155":6}}],["arrayvar",{"0":{"62":1},"2":{"62":1,"63":1,"65":2,"68":3,"71":4,"74":1}}],["area",{"2":{"155":2}}],["are",{"2":{"45":2,"82":1,"83":1}}],["args2",{"2":{"37":2}}],["args",{"0":{"37":1},"2":{"4":1,"32":1,"33":1,"34":14,"36":1,"37":5,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["abs",{"0":{"130":1},"2":{"44":1,"81":1,"99":3,"112":1,"115":1,"117":1,"121":3,"130":1}}],["a",{"0":{"78":1},"2":{"37":4,"78":5,"79":7,"81":2,"82":12,"83":2,"86":1,"87":3}}],["aaa",{"2":{"35":1}}],["approx",{"0":{"29":1,"42":2,"49":1,"79":1,"99":2,"110":1,"115":2,"121":2,"124":2},"1":{"111":1,"112":1,"113":1,"114":1},"2":{"17":1,"42":3,"49":2,"79":10,"94":1,"99":1,"103":3,"112":4,"115":1,"121":1,"124":1,"125":1,"134":3}}],["add",{"2":{"16":1,"37":8,"100":1,"101":1,"102":1,"131":1,"132":1,"133":1}}],["and",{"0":{"56":1,"87":1,"90":1,"91":1,"92":1,"93":1},"2":{"42":1,"45":2,"51":1,"56":1,"57":1,"79":6,"82":4,"83":1,"84":1,"87":1,"88":1,"89":1,"90":2,"91":1,"92":1,"93":2,"103":2,"113":1,"133":1,"134":2,"138":1,"139":1,"142":1}}],["anyangle",{"0":{"3":1,"5":1,"6":1,"8":1,"9":1,"16":2,"18":2,"19":1,"20":1,"21":1,"43":1,"80":1,"122":1},"1":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1},"2":{"5":2,"6":2,"8":2,"9":2,"16":3,"18":3,"19":2,"20":1,"21":1,"22":2,"38":1,"43":3,"80":4,"122":4}}],["angle",{"0":{"1":1,"2":1,"3":1,"43":1,"80":1,"122":1},"1":{"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":2,"16":2,"17":2,"18":2,"19":2,"20":2,"21":2,"22":2},"2":{"43":3,"80":3,"122":2}}],["於github上查看",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["或包装一个实数",{"2":{"115":2}}],["或整数元组",{"2":{"34":2}}],["或",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["源碼",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["變數説明",{"2":{"4":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"49":1,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"155":1}}],["任意角度",{"2":{"4":2,"38":1}}],["説明",{"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"32":1,"33":1,"34":1,"36":1,"37":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"93":1,"94":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"128":1,"129":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"144":1,"146":1,"147":1,"148":1,"149":1,"150":1,"155":1}}],["from",{"0":{"55":1,"87":1,"88":1,"89":1,"90":1},"2":{"55":1,"84":1,"87":1,"88":2,"89":2,"90":2,"104":1,"157":1}}],["frac",{"2":{"36":3}}],["f",{"2":{"36":4,"80":1,"81":1,"93":1,"113":1,"117":3,"133":1,"138":1,"139":1,"142":1}}],["format",{"0":{"117":1},"2":{"117":1}}],["for",{"2":{"33":1,"34":1,"93":1,"133":1,"138":1,"139":1,"142":1,"155":2}}],["functions",{"2":{"42":2,"44":1,"49":2,"50":1,"51":1,"52":1,"53":1,"57":1,"78":1,"79":1,"81":1,"85":1,"94":1,"98":1,"99":2,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"128":1,"134":1,"142":1,"144":1}}],["function",{"0":{"35":1},"1":{"36":1,"37":1}}],["func",{"0":{"32":3,"34":3,"36":2,"37":2,"109":1,"115":1,"116":1,"117":1},"2":{"32":15,"33":6,"34":16,"36":9,"37":6}}],["false",{"0":{"4":1,"116":1,"117":1},"2":{"79":1}}],["float=0",{"2":{"115":1}}],["float=1e",{"2":{"49":1}}],["float=approx",{"2":{"42":1,"99":1,"115":1,"121":1,"124":1}}],["float=epsilon",{"2":{"36":1}}],["float",{"0":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"36":1,"42":1,"44":1,"49":1,"78":4,"81":1,"98":3,"99":1,"109":4,"115":3,"116":1,"117":1,"120":3,"121":1,"124":1,"128":1,"142":1,"155":2},"2":{"4":1,"7":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"19":1,"20":1,"21":1,"42":2,"44":3,"49":2,"59":1,"78":9,"81":3,"98":7,"99":2,"109":9,"112":2,"115":5,"116":3,"117":3,"120":7,"121":2,"124":2,"128":3,"142":4,"144":2,"155":2}}],["==",{"2":{"33":1,"44":1,"53":1,"54":3,"83":1,"89":1,"93":1}}],["=",{"0":{"4":1,"16":1,"18":1,"19":1,"20":1,"21":1,"34":1,"36":1,"42":1,"49":1,"99":1,"100":1,"101":1,"104":1,"115":2,"116":1,"117":1,"121":1,"124":1,"131":1,"132":1,"135":1,"136":1,"137":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1},"2":{"4":2,"32":3,"34":5,"36":5,"37":2,"41":2,"54":3,"55":1,"78":6,"79":6,"82":17,"83":2,"87":2,"88":3,"89":3,"98":3,"107":5,"111":1,"120":3,"126":4,"155":7}}],["improve",{"2":{"159":1}}],["import",{"2":{"104":1}}],["i",{"2":{"155":4,"157":1}}],["invalid",{"2":{"34":1}}],["intersect",{"2":{"45":2}}],["intersection",{"0":{"45":1,"82":1,"83":1},"2":{"45":1,"56":1,"82":2,"83":1,"93":2,"95":1}}],["int",{"0":{"34":2,"142":1},"2":{"34":3,"37":8,"59":1,"112":2,"142":2,"155":1}}],["in",{"2":{"33":1,"34":1,"155":2}}],["init",{"0":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1},"2":{"4":1,"32":1,"41":1,"78":1,"98":1,"107":1,"111":1,"120":1}}],["if",{"2":{"4":1,"22":1,"33":1,"34":1,"44":2,"45":2,"54":3,"56":1,"79":1,"80":1,"81":1,"82":2,"83":1,"89":1,"93":3,"112":3,"116":2,"117":2,"133":1,"138":1,"139":1,"142":1,"157":1}}],["isinstance",{"2":{"22":1,"34":2,"44":2,"80":2,"81":2,"93":2,"112":4,"133":2,"138":2,"139":1,"142":2}}],["is",{"0":{"4":1,"49":1,"50":1,"51":1,"52":1,"53":1,"85":1,"124":1,"125":1},"2":{"4":4,"5":1,"6":1,"9":1,"16":1,"18":1,"19":1,"22":1,"42":2,"44":2,"45":2,"49":2,"50":2,"51":3,"52":2,"53":1,"56":3,"57":2,"80":1,"82":1,"85":2,"93":1,"122":1,"124":1,"125":1}}],["预设",{"2":{"0":1}}],["phi",{"2":{"155":5}}],["p3",{"0":{"88":1},"2":{"88":4}}],["p2",{"0":{"55":1,"88":1,"107":1},"2":{"55":4,"57":2,"88":4,"107":9}}],["p1",{"0":{"55":1,"88":1,"107":1},"2":{"55":5,"57":2,"88":6,"107":9}}],["perpendicular",{"0":{"46":1},"2":{"46":1}}],["parametric",{"0":{"48":1},"2":{"48":1,"83":1}}],["parallel",{"0":{"49":1,"50":1,"84":1,"85":1,"124":1,"125":1},"2":{"42":2,"44":1,"45":2,"49":2,"50":2,"51":2,"52":1,"56":1,"57":2,"82":2,"83":1,"84":1,"85":2,"93":1,"124":1,"125":1}}],["partial",{"0":{"34":1},"2":{"34":6,"36":6}}],["particle",{"0":{"151":1},"2":{"0":1}}],["planes",{"2":{"82":1}}],["plane",{"0":{"76":1},"1":{"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"87":1,"93":1,"94":1}}],["plane3",{"0":{"77":1,"79":1,"80":1,"81":1,"82":1,"84":2,"85":1,"87":1,"88":1,"89":1,"90":1,"92":1},"1":{"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1},"2":{"38":1,"79":3,"80":4,"81":4,"82":3,"84":5,"85":3,"87":3,"88":1,"89":1,"90":1,"92":1,"93":4,"94":2,"112":1}}],["plus",{"2":{"34":3}}],["p",{"0":{"36":1},"2":{"36":21,"37":1,"102":10,"104":8,"133":4,"135":4,"138":4,"139":4}}],["points",{"0":{"55":1,"88":1},"2":{"55":1,"88":1}}],["point",{"0":{"41":1,"46":1,"47":1,"52":2,"84":1,"87":2,"90":2,"96":1},"1":{"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"36":1,"41":6,"42":2,"44":6,"45":4,"46":7,"47":3,"48":3,"51":2,"52":7,"53":2,"54":3,"55":2,"56":1,"57":2,"81":1,"83":4,"84":6,"87":8,"88":2,"89":6,"90":7,"93":1,"99":1,"102":2,"103":1,"104":1,"107":2,"133":2,"135":2,"138":2,"139":2}}],["point3",{"0":{"33":2,"36":1,"41":1,"44":1,"45":1,"46":1,"47":1,"52":1,"55":2,"56":1,"81":1,"83":2,"84":1,"87":1,"88":3,"90":1,"91":1,"95":1,"97":1,"99":1,"100":1,"101":2,"104":1,"107":2,"132":2,"135":2,"137":2,"139":1},"1":{"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1},"2":{"33":4,"36":3,"38":1,"41":3,"44":4,"45":3,"46":3,"47":3,"52":3,"55":6,"56":3,"81":4,"82":1,"83":5,"84":3,"87":3,"88":7,"90":3,"91":1,"93":3,"95":2,"99":3,"100":1,"101":2,"102":5,"103":2,"104":3,"107":7,"112":1,"132":2,"133":6,"135":7,"137":2,"138":6,"139":7,"155":3}}],["positive",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["python",{"2":{"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"20":1,"21":1,"42":2,"44":2,"45":1,"48":1,"49":2,"50":1,"51":1,"52":1,"53":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":2,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":2,"94":1,"98":1,"99":2,"100":1,"101":1,"103":1,"109":1,"115":2,"116":3,"117":3,"120":1,"121":2,"124":2,"125":1,"127":1,"128":2,"129":1,"131":1,"132":1,"134":1,"136":1,"137":1,"140":1,"141":1,"142":1,"144":1,"155":1}}],["pythondef",{"2":{"4":1,"16":1,"17":1,"18":1,"19":1,"22":1,"32":1,"33":1,"34":1,"36":1,"37":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"93":1,"94":1,"95":1,"98":1,"99":1,"102":1,"103":1,"104":1,"107":1,"109":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"130":1,"133":1,"134":1,"135":1,"138":1,"139":1,"142":1,"143":1,"144":1,"145":1,"146":1}}],["property",{"2":{"4":1,"5":2,"6":2,"7":2,"8":2,"9":2,"10":2,"11":2,"12":2,"13":2,"14":2,"15":1,"85":1,"86":1,"126":1,"127":2,"128":2,"129":1}}],["presets",{"0":{"152":1,"153":1},"1":{"154":1,"155":1},"2":{"0":1}}],["pi",{"0":{"24":1},"2":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"24":1,"155":2}}],["粒子生成工具",{"2":{"0":1}}],["mc特效红石音乐",{"2":{"157":1}}],["model",{"0":{"153":1},"1":{"154":1,"155":1}}],["midpoint",{"2":{"107":1}}],["minecraft",{"2":{"157":1}}],["min",{"0":{"109":1},"2":{"109":5}}],["minus",{"2":{"34":3}}],["minimum",{"0":{"8":1},"2":{"5":1,"6":1,"8":1}}],["multiarraysfunc",{"0":{"74":1},"2":{"75":1}}],["multisinglevarsfunc",{"0":{"73":1},"2":{"75":1}}],["multivarsfunc",{"0":{"34":2,"37":1,"75":1},"2":{"34":4,"37":3}}],["mul",{"2":{"19":1,"140":1,"141":1,"142":1,"143":1}}],["matmul",{"2":{"144":1}}],["math导入使用",{"2":{"38":1}}],["math",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"24":1,"25":1,"26":1,"32":3,"34":1,"36":1,"37":2,"47":1,"48":1,"80":1,"111":1,"122":1,"128":1}}],["max",{"0":{"109":1},"2":{"109":5}}],["maximum",{"0":{"9":1},"2":{"9":1}}],["method",{"0":{"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"32":1,"33":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"107":1,"111":1,"112":1,"113":1,"114":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"155":1}}],["mp",{"0":{"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":2,"76":1,"96":1,"105":1,"108":1,"118":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":2,"60":2,"61":2,"62":2,"63":2,"64":2,"65":2,"66":2,"67":2,"68":2,"69":2,"70":2,"71":2,"72":2,"73":2,"74":2,"75":2,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1},"2":{"0":1,"32":3,"34":1,"36":1,"37":2,"38":1,"47":1,"48":1,"111":1}}],["mbcp",{"0":{"0":1,"1":1,"23":1,"30":1,"35":1,"38":1,"39":1,"58":1,"76":1,"96":1,"105":1,"108":1,"118":1,"151":1,"152":1,"153":1},"1":{"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"31":1,"32":1,"33":1,"34":1,"36":1,"37":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":1,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":1,"60":1,"61":1,"62":1,"63":1,"64":1,"65":1,"66":1,"67":1,"68":1,"69":1,"70":1,"71":1,"72":1,"73":1,"74":1,"75":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"84":1,"85":1,"86":1,"87":1,"88":1,"89":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"97":1,"98":1,"99":1,"100":1,"101":1,"102":1,"103":1,"104":1,"106":1,"107":1,"109":1,"110":1,"111":1,"112":1,"113":1,"114":1,"115":1,"116":1,"117":1,"119":1,"120":1,"121":1,"122":1,"123":1,"124":1,"125":1,"126":1,"127":1,"128":1,"129":1,"130":1,"131":1,"132":1,"133":1,"134":1,"135":1,"136":1,"137":1,"138":1,"139":1,"140":1,"141":1,"142":1,"143":1,"144":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"154":1,"155":1},"2":{"0":3}}],["提供了一些工具",{"2":{"0":1}}]],"serializationVersion":2}';export{t as default}; diff --git a/assets/chunks/VPLocalSearchBox.CUgnfhmU.js b/assets/chunks/VPLocalSearchBox.DvzdawYQ.js similarity index 99% rename from assets/chunks/VPLocalSearchBox.CUgnfhmU.js rename to assets/chunks/VPLocalSearchBox.DvzdawYQ.js index faa5e70..8016275 100644 --- a/assets/chunks/VPLocalSearchBox.CUgnfhmU.js +++ b/assets/chunks/VPLocalSearchBox.DvzdawYQ.js @@ -1,4 +1,4 @@ -var Ot=Object.defineProperty;var Rt=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Me=(a,e,t)=>Rt(a,typeof e!="symbol"?e+"":e,t);import{X as ye,s as ne,h as ve,aj as tt,ak as Ct,al as Mt,v as $e,am as At,d as Lt,G as we,an as st,ao as Dt,ap as zt,x as Pt,aq as Vt,y as Ae,R as de,Q as _e,ar as jt,as as $t,Y as Bt,U as Wt,a1 as Kt,o as Q,b as Jt,j as x,a2 as Ut,k as D,at as qt,au as Gt,av as Qt,c as Z,n as nt,e as xe,E as it,F as rt,a as he,t as fe,aw as Ht,p as Yt,l as Zt,ax as at,ay as Xt,a8 as es,ae as ts,az as ss,_ as ns}from"./framework.DpC1ZpOZ.js";import{u as is,c as rs}from"./theme.CvV0lUYF.js";const as={en:()=>ye(()=>import("./@localSearchIndexen.DvmHd6md.js"),[]),ja:()=>ye(()=>import("./@localSearchIndexja.Bd7c0e5S.js"),[]),root:()=>ye(()=>import("./@localSearchIndexroot.DykGT4mA.js"),[]),zht:()=>ye(()=>import("./@localSearchIndexzht.SGog2D3Y.js"),[])};/*! +var Ot=Object.defineProperty;var Rt=(a,e,t)=>e in a?Ot(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var Me=(a,e,t)=>Rt(a,typeof e!="symbol"?e+"":e,t);import{X as ye,s as ne,h as ve,aj as tt,ak as Ct,al as Mt,v as $e,am as At,d as Lt,G as we,an as st,ao as Dt,ap as zt,x as Pt,aq as Vt,y as Ae,R as de,Q as _e,ar as jt,as as $t,Y as Bt,U as Wt,a1 as Kt,o as Q,b as Jt,j as x,a2 as Ut,k as D,at as qt,au as Gt,av as Qt,c as Z,n as nt,e as xe,E as it,F as rt,a as he,t as fe,aw as Ht,p as Yt,l as Zt,ax as at,ay as Xt,a8 as es,ae as ts,az as ss,_ as ns}from"./framework.DpC1ZpOZ.js";import{u as is,c as rs}from"./theme.Uf1cjNk7.js";const as={en:()=>ye(()=>import("./@localSearchIndexen.BXFpxQIZ.js"),[]),ja:()=>ye(()=>import("./@localSearchIndexja.BL-t7QiB.js"),[]),root:()=>ye(()=>import("./@localSearchIndexroot.C2iqEqiL.js"),[]),zht:()=>ye(()=>import("./@localSearchIndexzht.BMfCbOB2.js"),[])};/*! * tabbable 6.2.0 * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE */var gt=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ne=gt.join(","),bt=typeof Element>"u",re=bt?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,ke=!bt&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a==null?void 0:a.ownerDocument},Fe=function a(e,t){var s;t===void 0&&(t=!0);var n=e==null||(s=e.getAttribute)===null||s===void 0?void 0:s.call(e,"inert"),r=n===""||n==="true",i=r||t&&e&&a(e.parentNode);return i},os=function(e){var t,s=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return s===""||s==="true"},yt=function(e,t,s){if(Fe(e))return[];var n=Array.prototype.slice.apply(e.querySelectorAll(Ne));return t&&re.call(e,Ne)&&n.unshift(e),n=n.filter(s),n},wt=function a(e,t,s){for(var n=[],r=Array.from(e);r.length;){var i=r.shift();if(!Fe(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),c=o.length?o:i.children,l=a(c,!0,s);s.flatten?n.push.apply(n,l):n.push({scopeParent:i,candidates:l})}else{var h=re.call(i,Ne);h&&s.filter(i)&&(t||!e.includes(i))&&n.push(i);var v=i.shadowRoot||typeof s.getShadowRoot=="function"&&s.getShadowRoot(i),f=!Fe(v,!1)&&(!s.shadowRootFilter||s.shadowRootFilter(i));if(v&&f){var b=a(v===!0?i.children:v.children,!0,s);s.flatten?n.push.apply(n,b):n.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return n},_t=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},ie=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||os(e))&&!_t(e)?0:e.tabIndex},cs=function(e,t){var s=ie(e);return s<0&&t&&!_t(e)?0:s},ls=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},xt=function(e){return e.tagName==="INPUT"},us=function(e){return xt(e)&&e.type==="hidden"},ds=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(s){return s.tagName==="SUMMARY"});return t},hs=function(e,t){for(var s=0;ssummary:first-of-type"),i=r?e.parentElement:e;if(re.call(i,"details:not([open]) *"))return!0;if(!s||s==="full"||s==="legacy-full"){if(typeof n=="function"){for(var o=e;e;){var c=e.parentElement,l=ke(e);if(c&&!c.shadowRoot&&n(c)===!0)return ot(e);e.assignedSlot?e=e.assignedSlot:!c&&l!==e.ownerDocument?e=l.host:e=c}e=o}if(ms(e))return!e.getClientRects().length;if(s!=="legacy-full")return!0}else if(s==="non-zero-area")return ot(e);return!1},bs=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var s=0;s=0)},ws=function a(e){var t=[],s=[];return e.forEach(function(n,r){var i=!!n.scopeParent,o=i?n.scopeParent:n,c=cs(o,i),l=i?a(n.candidates):o;c===0?i?t.push.apply(t,l):t.push(o):s.push({documentOrder:r,tabIndex:c,item:n,isScope:i,content:l})}),s.sort(ls).reduce(function(n,r){return r.isScope?n.push.apply(n,r.content):n.push(r.content),n},[]).concat(t)},_s=function(e,t){t=t||{};var s;return t.getShadowRoot?s=wt([e],t.includeContainer,{filter:Be.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:ys}):s=yt(e,t.includeContainer,Be.bind(null,t)),ws(s)},xs=function(e,t){t=t||{};var s;return t.getShadowRoot?s=wt([e],t.includeContainer,{filter:Oe.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):s=yt(e,t.includeContainer,Oe.bind(null,t)),s},ae=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,Ne)===!1?!1:Be(t,e)},Ss=gt.concat("iframe").join(","),Le=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return re.call(e,Ss)===!1?!1:Oe(t,e)};/*! diff --git a/assets/chunks/theme.CvV0lUYF.js b/assets/chunks/theme.Uf1cjNk7.js similarity index 99% rename from assets/chunks/theme.CvV0lUYF.js rename to assets/chunks/theme.Uf1cjNk7.js index dd0ca1b..e385464 100644 --- a/assets/chunks/theme.CvV0lUYF.js +++ b/assets/chunks/theme.Uf1cjNk7.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.CUgnfhmU.js","assets/chunks/framework.DpC1ZpOZ.js"])))=>i.map(i=>d[i]); -import{d as _,o as a,c,r as l,n as N,a as O,t as I,b as k,w as d,e as f,T as ve,_ as b,u as Ge,i as Ue,f as je,g as pe,h as y,j as v,k as r,p as C,l as H,m as K,q as ie,s as w,v as G,x as Z,y as W,z as he,A as fe,B as ze,C as qe,D as R,F as M,E,G as Pe,H as x,I as m,J as F,K as Ve,L as ee,M as q,N as te,O as Ke,P as Le,Q as le,R as We,S as Se,U as oe,V as Re,W as Je,X as Xe,Y as Te,Z as Ie,$ as Ye,a0 as Qe,a1 as Ze,a2 as xe,a3 as et}from"./framework.DpC1ZpOZ.js";const tt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[O(I(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},nt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),k(ve,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",ot)):f("",!0)]),_:1}))}}),st=b(nt,[["__scopeId","data-v-daa1937f"]]),P=Ge;function at(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function _e(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(Ue(o)||o.startsWith("#")||!n.startsWith("http")||!je(e))return o;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return pe(u)}function X({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:s,theme:n,hash:i}=P(),u=y(()=>{var p,g;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,g])=>u.value.label===g.label?[]:{text:g.label,link:rt(g.link||(p==="root"?"/":`/${p}/`),n.value.i18nRouting!==!1&&o,s.value.relativePath.slice(u.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:u}}function rt(o,e,t,s){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const it=o=>(C("data-v-2aa14331"),o=o(),H(),o),lt={class:"NotFound"},ct={class:"code"},ut={class:"title"},dt=it(()=>v("div",{class:"divider"},null,-1)),vt={class:"quote"},pt={class:"action"},ht=["href","aria-label"],ft=_({__name:"NotFound",setup(o){const{theme:e}=P(),{currentLang:t}=X();return(s,n)=>{var i,u,h,p,g;return a(),c("div",lt,[v("p",ct,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),v("h1",ut,I(((u=r(e).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),dt,v("blockquote",vt,I(((h=r(e).notFound)==null?void 0:h.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",pt,[v("a",{class:"link",href:r(pe)(r(t).link),"aria-label":((p=r(e).notFound)==null?void 0:p.linkLabel)??"go to home"},I(((g=r(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,ht)])])}}}),_t=b(ft,[["__scopeId","data-v-2aa14331"]]);function we(o,e){if(Array.isArray(o))return Y(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ce(n))),s=t?o[t]:[];return Array.isArray(s)?Y(s):Y(s.items,s.base)}function mt(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function kt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):K(o,e.link)?!0:e.items?ue(o,e.items):!1}function Y(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=Y(s.items,n)),s})}function U(){const{frontmatter:o,page:e,theme:t}=P(),s=ie("(min-width: 960px)"),n=w(!1),i=y(()=>{const B=t.value.sidebar,S=e.value.relativePath;return B?we(B,S):[]}),u=w(i.value);G(i,(B,S)=>{JSON.stringify(B)!==JSON.stringify(S)&&(u.value=i.value)});const h=y(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=y(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),L=y(()=>h.value&&s.value),$=y(()=>h.value?mt(u.value):[]);function V(){n.value=!0}function T(){n.value=!1}function A(){n.value?T():V()}return{isOpen:n,sidebar:u,sidebarGroups:$,hasSidebar:h,hasAside:g,leftAside:p,isSidebarEnabled:L,open:V,close:T,toggle:A}}function $t(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),W(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function bt(o){const{page:e,hash:t}=P(),s=w(!1),n=y(()=>o.value.collapsed!=null),i=y(()=>!!o.value.link),u=w(!1),h=()=>{u.value=K(e.value.relativePath,o.value.link)};G([e,o,t],h),W(h);const p=y(()=>u.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),g=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),fe(()=>{(u.value||p.value)&&(s.value=!1)});function L(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:i,isActiveLink:u,hasActiveLink:p,hasChildren:g,toggle:L}}function gt(){const{hasSidebar:o}=U(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ne(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function me(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:s}});return Pt(e,o)}function yt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=s&&u.level<=n),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const g=o[p];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),ze(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,g=document.body.offsetHeight,L=Math.abs(h+p-g)<1,$=de.map(({element:T,link:A})=>({link:A,top:Lt(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,A)=>T.top-A.top);if(!$.length){u(null);return}if(h<1){u(null);return}if(L){u($[$.length-1].link);return}let V=null;for(const{link:T,top:A}of $){if(A>h+qe()+4)break;V=T}u(V)}function u(h){n&&n.classList.remove("active"),h==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const St=["href","title"],Tt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const s=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(s));n==null||n.focus({preventScroll:!0})}return(t,s)=>{const n=R("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,St),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Me=b(Tt,[["__scopeId","data-v-b9c884bb"]]),It={class:"content"},wt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Nt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=P(),s=Pe([]);x(()=>{s.value=me(e.value.outline??t.value.outline)});const n=w(),i=w();return Vt(n,i),(u,h)=>(a(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n},[v("div",It,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",wt,I(r(Ne)(r(t))),1),m(Me,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),Mt=b(Nt,[["__scopeId","data-v-d34649dc"]]),At={class:"VPDocAsideCarbonAds"},Bt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",At,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ct=o=>(C("data-v-8951c20f"),o=o(),H(),o),Ht={class:"VPDocAside"},Et=Ct(()=>v("div",{class:"spacer"},null,-1)),Ft=_({__name:"VPDocAside",setup(o){const{theme:e}=P();return(t,s)=>(a(),c("div",Ht,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Mt),l(t.$slots,"aside-outline-after",{},void 0,!0),Et,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Bt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Dt=b(Ft,[["__scopeId","data-v-8951c20f"]]);function Ot(){const{theme:o,page:e}=P();return y(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Gt(){const{page:o,theme:e,frontmatter:t}=P();return y(()=>{var g,L,$,V,T,A,B,S;const s=we(e.value.sidebar,o.value.relativePath),n=kt(s),i=Ut(n,j=>j.link.replace(/[?#].*$/,"")),u=i.findIndex(j=>K(o.value.relativePath,j.link)),h=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??(($=i[u-1])==null?void 0:$.docFooterText)??((V=i[u-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=i[u-1])==null?void 0:T.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[u+1])==null?void 0:A.docFooterText)??((B=i[u+1])==null?void 0:B.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[u+1])==null?void 0:S.link)}}})}function Ut(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Ve.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(F(t.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?r(_e)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:d(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),jt={class:"VPLastUpdated"},zt=["datetime"],qt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:s}=P(),n=y(()=>new Date(t.value.lastUpdated)),i=y(()=>n.value.toISOString()),u=w("");return W(()=>{Z(()=>{var h,p,g;u.value=new Intl.DateTimeFormat((p=(h=e.value.lastUpdated)==null?void 0:h.formatOptions)!=null&&p.forceLocale?s.value:void 0,((g=e.value.lastUpdated)==null?void 0:g.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(h,p)=>{var g;return a(),c("p",jt,[O(I(((g=r(e).lastUpdated)==null?void 0:g.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:i.value},I(u.value),9,zt)])}}}),Kt=b(qt,[["__scopeId","data-v-19bf19fb"]]),Ae=o=>(C("data-v-28deee4a"),o=o(),H(),o),Wt={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Jt={key:0,class:"edit-link"},Xt=Ae(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Yt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Zt=Ae(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),xt={class:"pager"},eo=["innerHTML"],to=["innerHTML"],oo={class:"pager"},no=["innerHTML"],so=["innerHTML"],ao=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=P(),n=Ot(),i=Gt(),u=y(()=>e.value.editLink&&s.value.editLink!==!1),h=y(()=>t.value.lastUpdated),p=y(()=>u.value||h.value||i.value.prev||i.value.next);return(g,L)=>{var $,V,T,A;return p.value?(a(),c("footer",Wt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Rt,[u.value?(a(),c("div",Jt,[m(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:d(()=>[Xt,O(" "+I(r(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",Yt,[m(Kt)])):f("",!0)])):f("",!0),($=r(i).prev)!=null&&$.link||(V=r(i).next)!=null&&V.link?(a(),c("nav",Qt,[Zt,v("div",xt,[(T=r(i).prev)!=null&&T.link?(a(),k(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:d(()=>{var B;return[v("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,eo),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,to)]}),_:1},8,["href"])):f("",!0)]),v("div",oo,[(A=r(i).next)!=null&&A.link?(a(),k(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:d(()=>{var B;return[v("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,no),v("span",{class:"title",innerHTML:r(i).next.text},null,8,so)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),ro=b(ao,[["__scopeId","data-v-28deee4a"]]),io=o=>(C("data-v-01c90815"),o=o(),H(),o),lo={class:"container"},co=io(()=>v("div",{class:"aside-curtain"},null,-1)),uo={class:"aside-container"},vo={class:"aside-content"},po={class:"content"},ho={class:"content-container"},fo={class:"main"},_o=_({__name:"VPDoc",setup(o){const{theme:e}=P(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:i}=U(),u=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const g=R("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(s),"has-aside":r(n)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",lo,[r(n)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[co,v("div",uo,[v("div",vo,[m(Dt,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",po,[v("div",ho,[l(h.$slots,"doc-before",{},void 0,!0),v("main",fo,[m(g,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(ro,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),mo=b(_o,[["__scopeId","data-v-01c90815"]]),ko=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Ve.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(n,i)=>(a(),k(F(s.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?r(_e)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[O(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),$o=b(ko,[["__scopeId","data-v-f549f0f3"]]),bo=["src","alt"],go=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=R("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,bo)):(a(),c(M,{key:1},[m(s,q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Q=b(go,[["__scopeId","data-v-cc63e071"]]),yo=o=>(C("data-v-e302b8ce"),o=o(),H(),o),Po={class:"container"},Vo={class:"main"},Lo={key:0,class:"name"},So=["innerHTML"],To=["innerHTML"],Io=["innerHTML"],wo={key:0,class:"actions"},No={key:0,class:"image"},Mo={class:"image-container"},Ao=yo(()=>v("div",{class:"image-bg"},null,-1)),Bo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[v("div",Po,[v("div",Vo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",Lo,[v("span",{innerHTML:t.name,class:"clip"},null,8,So)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,To)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Io)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",wo,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m($o,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",No,[v("div",Mo,[Ao,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Co=b(Bo,[["__scopeId","data-v-e302b8ce"]]),Ho=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=P();return(t,s)=>r(e).hero?(a(),k(Co,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Eo=o=>(C("data-v-f77e80b4"),o=o(),H(),o),Fo={class:"box"},Do={key:0,class:"icon"},Oo=["innerHTML"],Go=["innerHTML"],Uo=["innerHTML"],jo={key:4,class:"link-text"},zo={class:"link-text-value"},qo=Eo(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Ko=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),k(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Fo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Do,[m(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Oo)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Go),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Uo)):f("",!0),e.linkText?(a(),c("div",jo,[v("p",zo,[O(I(e.linkText)+" ",1),qo])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Wo=b(Ko,[["__scopeId","data-v-f77e80b4"]]),Ro={key:0,class:"VPFeatures"},Jo={class:"container"},Xo={class:"items"},Yo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),c("div",Ro,[v("div",Jo,[v("div",Xo,[(a(!0),c(M,null,E(s.features,i=>(a(),c("div",{key:i.title,class:N(["item",[t.value]])},[m(Wo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),Qo=b(Yo,[["__scopeId","data-v-8e833103"]]),Zo=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=P();return(t,s)=>r(e).features?(a(),k(Qo,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),xo=_({__name:"VPHomeContent",setup(o){const{width:e}=Ke({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:Le(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),en=b(xo,[["__scopeId","data-v-90605523"]]),tn={class:"VPHome"},on=_({__name:"VPHome",setup(o){const{frontmatter:e}=P();return(t,s)=>{const n=R("Content");return a(),c("div",tn,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Ho,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(Zo),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(en,{key:0},{default:d(()=>[m(n)]),_:1})):(a(),k(n,{key:1}))])}}}),nn=b(on,[["__scopeId","data-v-55977d12"]]),sn={},an={class:"VPPage"};function rn(o,e){const t=R("Content");return a(),c("div",an,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const ln=b(sn,[["render",rn]]),cn=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=P(),{hasSidebar:s}=U();return(n,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(_t)],!0):r(t).layout==="page"?(a(),k(ln,{key:1},{"page-top":d(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(nn,{key:2},{"home-hero-before":d(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(F(r(t).layout),{key:3})):(a(),k(mo,{key:4},{"doc-top":d(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),un=b(cn,[["__scopeId","data-v-fc04087f"]]),dn={class:"container"},vn=["innerHTML"],pn=["innerHTML"],hn=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=U();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(s)}])},[v("div",dn,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,vn)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,pn)):f("",!0)])],2)):f("",!0)}}),fn=b(hn,[["__scopeId","data-v-d69bcf5d"]]);function _n(){const{theme:o,frontmatter:e}=P(),t=Pe([]),s=y(()=>t.value.length>0);return x(()=>{t.value=me(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const mn=o=>(C("data-v-9dd5e197"),o=o(),H(),o),kn={class:"menu-text"},$n=mn(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),bn={class:"header"},gn={class:"outline"},yn=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=P(),s=w(!1),n=w(0),i=w(),u=w();function h($){var V;(V=i.value)!=null&&V.contains($.target)||(s.value=!1)}G(s,$=>{if($){document.addEventListener("click",h);return}document.removeEventListener("click",h)}),le("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function p(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g($){$.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,V)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[$.headers.length>0?(a(),c("button",{key:0,onClick:p,class:N({open:s.value})},[v("span",kn,I(r(Ne)(r(t))),1),$n],2)):(a(),c("button",{key:1,onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:d(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:g},[v("div",bn,[v("a",{class:"top-link",href:"#",onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)]),v("div",gn,[m(Me,{headers:$.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Pn=b(yn,[["__scopeId","data-v-9dd5e197"]]),Vn=o=>(C("data-v-9c649187"),o=o(),H(),o),Ln={class:"container"},Sn=["aria-expanded"],Tn=Vn(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),In={class:"menu-text"},wn=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=U(),{headers:n}=_n(),{y:i}=Se(),u=w(0);W(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=me(t.value.outline??e.value.outline)});const h=y(()=>n.value.length===0),p=y(()=>h.value&&!s.value),g=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:h.value,fixed:p.value}));return(L,$)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N(g.value)},[v("div",Ln,[r(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=V=>L.$emit("open-menu"))},[Tn,v("span",In,I(r(e).sidebarMenuLabel||"Menu"),1)],8,Sn)):f("",!0),m(Pn,{headers:r(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Nn=b(wn,[["__scopeId","data-v-9c649187"]]);function Mn(){const o=w(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=ee();return G(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const An={},Bn={class:"VPSwitch",type:"button",role:"switch"},Cn={class:"check"},Hn={key:0,class:"icon"};function En(o,e){return a(),c("button",Bn,[v("span",Cn,[o.$slots.default?(a(),c("span",Hn,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Fn=b(An,[["render",En],["__scopeId","data-v-846fe538"]]),Be=o=>(C("data-v-3125216b"),o=o(),H(),o),Dn=Be(()=>v("span",{class:"vpi-sun sun"},null,-1)),On=Be(()=>v("span",{class:"vpi-moon moon"},null,-1)),Gn=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=P(),s=te("toggle-appearance",()=>{e.value=!e.value}),n=w("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,u)=>(a(),k(Fn,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:d(()=>[Dn,On]),_:1},8,["title","aria-checked","onClick"]))}}),ke=b(Gn,[["__scopeId","data-v-3125216b"]]),Un={key:0,class:"VPNavBarAppearance"},jn=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=P();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",Un,[m(ke)])):f("",!0)}}),zn=b(jn,[["__scopeId","data-v-864d2abc"]]),$e=w();let Ce=!1,re=0;function qn(o){const e=w(!1);if(oe){!Ce&&Kn(),re++;const t=G($e,s=>{var n,i,u;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});he(()=>{t(),re--,re||Wn()})}return Re(e)}function Kn(){document.addEventListener("focusin",He),Ce=!0,$e.value=document.activeElement}function Wn(){document.removeEventListener("focusin",He)}function He(){$e.value=document.activeElement}const Rn={class:"VPMenuLink"},Jn=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,s)=>(a(),c("div",Rn,[m(D,{class:N({active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[O(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=b(Jn,[["__scopeId","data-v-25a54821"]]),Xn={class:"VPMenuGroup"},Yn={key:0,class:"title"},Qn=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Xn,[e.text?(a(),c("p",Yn,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}}),Zn=b(Qn,[["__scopeId","data-v-4dd03e28"]]),xn={class:"VPMenu"},es={key:0,class:"items"},ts=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",xn,[e.items?(a(),c("div",es,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:JSON.stringify(s)},["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):"component"in s?(a(),k(F(s.component),q({key:1,ref_for:!0},s.props),null,16)):(a(),k(Zn,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),os=b(ts,[["__scopeId","data-v-809b8af7"]]),ns=o=>(C("data-v-00660109"),o=o(),H(),o),ss=["aria-expanded","aria-label"],as={key:0,class:"text"},rs=["innerHTML"],is=ns(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),ls={key:1,class:"vpi-more-horizontal icon"},cs={class:"menu"},us=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();qn({el:t,onBlur:s});function s(){e.value=!1}return(n,i)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[n.button||n.icon?(a(),c("span",as,[n.icon?(a(),c("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,rs)):f("",!0),is])):(a(),c("span",ls))],8,ss),v("div",cs,[m(os,{items:n.items},{default:d(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=b(us,[["__scopeId","data-v-00660109"]]),ds=["href","aria-label","innerHTML"],vs=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,n)=>(a(),c("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,ds))}}),ps=b(vs,[["__scopeId","data-v-15a5c40e"]]),hs={class:"VPSocialLinks"},fs=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",hs,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:i})=>(a(),k(ps,{key:s,icon:n,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=b(fs,[["__scopeId","data-v-100434c4"]]),_s={key:0,class:"group translations"},ms={class:"trans-title"},ks={key:1,class:"group"},$s={class:"item appearance"},bs={class:"label"},gs={class:"appearance-action"},ys={key:2,class:"group"},Ps={class:"item social-links"},Vs=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=P(),{localeLinks:s,currentLang:n}=X({correspondingLink:!0}),i=y(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),k(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[r(s).length&&r(n).label?(a(),c("div",_s,[v("p",ms,I(r(n).label),1),(a(!0),c(M,null,E(r(s),p=>(a(),k(ne,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",ks,[v("div",$s,[v("p",bs,I(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",gs,[m(ke)])])])):f("",!0),r(t).socialLinks?(a(),c("div",ys,[v("div",Ps,[m(ge,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Ls=b(Vs,[["__scopeId","data-v-60cefd62"]]),Ss=o=>(C("data-v-e047a1f2"),o=o(),H(),o),Ts=["aria-expanded"],Is=Ss(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),ws=[Is],Ns=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},ws,10,Ts))}}),Ms=b(Ns,[["__scopeId","data-v-e047a1f2"]]),As=["innerHTML"],Bs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,s)=>(a(),k(D,{class:N({VPNavBarMenuLink:!0,active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,As)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Cs=b(Bs,[["__scopeId","data-v-9a0da802"]]),Hs=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=P(),s=i=>"component"in i?!1:"link"in i?K(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),n=y(()=>s(e.item));return(i,u)=>(a(),k(be,{class:N({VPNavBarMenuGroup:!0,active:r(K)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Es=o=>(C("data-v-bf53b681"),o=o(),H(),o),Fs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ds=Es(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Os=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=P();return(t,s)=>r(e).nav?(a(),c("nav",Fs,[Ds,(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:JSON.stringify(n)},["link"in n?(a(),k(Cs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(F(n.component),q({key:1,ref_for:!0},n.props),null,16)):(a(),k(Hs,{key:2,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),Gs=b(Os,[["__scopeId","data-v-bf53b681"]]);function Us(o){const{localeIndex:e,theme:t}=P();function s(n){var A,B,S;const i=n.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((S=(B=u.locales)==null?void 0:B[e.value])==null?void 0:S.translations)||null,g=h&&u.translations||null;let L=p,$=g,V=o;const T=i.pop();for(const j of i){let z=null;const J=V==null?void 0:V[j];J&&(z=V=J);const se=$==null?void 0:$[j];se&&(z=$=se);const ae=L==null?void 0:L[j];ae&&(z=L=ae),J||(V=z),se||($=z),ae||(L=z)}return(L==null?void 0:L[T])??($==null?void 0:$[T])??(V==null?void 0:V[T])??""}return s}const js=["aria-label"],zs={class:"DocSearch-Button-Container"},qs=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Ks={class:"DocSearch-Button-Placeholder"},Ws=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=_({__name:"VPNavBarSearchButton",setup(o){const t=Us({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",zs,[qs,v("span",Ks,I(r(t)("button.buttonText")),1)]),Ws],8,js))}}),Rs={class:"VPNavBarSearch"},Js={id:"local-search"},Xs={key:1,id:"docsearch"},Ys=_({__name:"VPNavBarSearch",setup(o){const e=Je(()=>Xe(()=>import("./VPLocalSearchBox.CUgnfhmU.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=P(),n=w(!1),i=w(!1);W(()=>{});function u(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p($){const V=$.target,T=V.tagName;return V.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const g=w(!1);le("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),g.value=!0)}),le("/",$=>{p($)||($.preventDefault(),g.value=!0)});const L="local";return($,V)=>{var T;return a(),c("div",Rs,[r(L)==="local"?(a(),c(M,{key:0},[g.value?(a(),k(r(e),{key:0,onClose:V[0]||(V[0]=A=>g.value=!1)})):f("",!0),v("div",Js,[m(ye,{onClick:V[1]||(V[1]=A=>g.value=!0)})])],64)):r(L)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((T=r(s).search)==null?void 0:T.options)??r(s).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",Xs,[m(ye,{onClick:u})]))],64)):f("",!0)])}}}),Qs=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=P();return(t,s)=>r(e).socialLinks?(a(),k(ge,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Zs=b(Qs,[["__scopeId","data-v-2c606308"]]),xs=["href","rel","target"],ea={key:1},ta={key:2},oa=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=P(),{hasSidebar:s}=U(),{currentLang:n}=X(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,g)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(s)}])},[v("a",{class:"title",href:i.value??r(_e)(r(n).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Q,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",ea,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",ta,I(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,xs)],2))}}),na=b(oa,[["__scopeId","data-v-606a7e0f"]]),sa={class:"items"},aa={class:"title"},ra=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=P(),{localeLinks:t,currentLang:s}=X({correspondingLink:!0});return(n,i)=>r(t).length&&r(s).label?(a(),k(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",sa,[v("p",aa,I(r(s).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),k(ne,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ia=b(ra,[["__scopeId","data-v-912817b1"]]),la=o=>(C("data-v-da0688be"),o=o(),H(),o),ca={class:"wrapper"},ua={class:"container"},da={class:"title"},va={class:"content"},pa={class:"content-body"},ha=la(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),fa=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Se(),{hasSidebar:s}=U(),{frontmatter:n}=P(),i=w({});return fe(()=>{i.value={"has-sidebar":s.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(u,h)=>(a(),c("div",{class:N(["VPNavBar",i.value])},[v("div",ca,[v("div",ua,[v("div",da,[m(na,null,{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",va,[v("div",pa,[l(u.$slots,"nav-bar-content-before",{},void 0,!0),m(Ys,{class:"search"}),m(Gs,{class:"menu"}),m(ia,{class:"translations"}),m(zn,{class:"appearance"}),m(Zs,{class:"social-links"}),m(Ls,{class:"extra"}),l(u.$slots,"nav-bar-content-after",{},void 0,!0),m(Ms,{class:"hamburger",active:u.isScreenOpen,onClick:h[0]||(h[0]=p=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),ha],2))}}),_a=b(fa,[["__scopeId","data-v-da0688be"]]),ma={key:0,class:"VPNavScreenAppearance"},ka={class:"text"},$a=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=P();return(s,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",ma,[v("p",ka,I(r(t).darkModeSwitchLabel||"Appearance"),1),m(ke)])):f("",!0)}}),ba=b($a,[["__scopeId","data-v-dfcc1536"]]),ga=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),k(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),ya=b(ga,[["__scopeId","data-v-8cd41455"]]),Pa=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),k(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[O(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=b(Pa,[["__scopeId","data-v-b8c7c580"]]),Va={class:"VPNavScreenMenuGroupSection"},La={key:0,class:"title"},Sa=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Va,[e.text?(a(),c("p",La,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),k(Ee,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ta=b(Sa,[["__scopeId","data-v-a3e7a51c"]]),Ia=o=>(C("data-v-90f695a2"),o=o(),H(),o),wa=["aria-controls","aria-expanded"],Na=["innerHTML"],Ma=Ia(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Aa=["id"],Ba={key:0,class:"item"},Ca={key:1,class:"item"},Ha={key:2,class:"group"},Ea=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:i.text},null,8,Na),Ma],8,wa),v("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:JSON.stringify(h)},["link"in h?(a(),c("div",Ba,[m(Ee,{item:h},null,8,["item"])])):"component"in h?(a(),c("div",Ca,[(a(),k(F(h.component),q({ref_for:!0},h.props,{"screen-menu":""}),null,16))])):(a(),c("div",Ha,[m(Ta,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Aa)],2))}}),Fa=b(Ea,[["__scopeId","data-v-90f695a2"]]),Da={key:0,class:"VPNavScreenMenu"},Oa=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=P();return(t,s)=>r(e).nav?(a(),c("nav",Da,[(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:JSON.stringify(n)},["link"in n?(a(),k(ya,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(F(n.component),q({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(Fa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ga=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=P();return(t,s)=>r(e).socialLinks?(a(),k(ge,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Fe=o=>(C("data-v-95c61444"),o=o(),H(),o),Ua=Fe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),ja=Fe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),za={class:"list"},qa=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),s=w(!1);function n(){s.value=!s.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[v("button",{class:"title",onClick:n},[Ua,O(" "+I(r(t).label)+" ",1),ja]),v("ul",za,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:d(()=>[O(I(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Ka=b(qa,[["__scopeId","data-v-95c61444"]]),Wa={class:"container"},Ra=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Te(oe?document.body:null);return(s,n)=>(a(),k(ve,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:d(()=>[s.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",Wa,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Oa,{class:"menu"}),m(Ka,{class:"translations"}),m(ba,{class:"appearance"}),m(Ga,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ja=b(Ra,[["__scopeId","data-v-c14c1e21"]]),Xa={key:0,class:"VPNav"},Ya=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Mn(),{frontmatter:n}=P(),i=y(()=>n.value.navbar!==!1);return Ie("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Xa,[m(_a,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ja,{open:r(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Qa=b(Ya,[["__scopeId","data-v-e823d444"]]),De=o=>(C("data-v-a9cdba99"),o=o(),H(),o),Za=["role","tabindex"],xa=De(()=>v("div",{class:"indicator"},null,-1)),er=De(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),tr=[er],or={key:1,class:"items"},nr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=bt(y(()=>e.item)),g=y(()=>h.value?"section":"div"),L=y(()=>n.value?"a":"div"),$=y(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=y(()=>n.value?void 0:"button"),T=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":u.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&p()}function B(){e.item.link&&p()}return(S,j)=>{const z=R("VPSidebarItem",!0);return a(),k(F(g.value),{class:N(["VPSidebarItem",T.value])},{default:d(()=>[S.item.text?(a(),c("div",q({key:0,class:"item",role:V.value},Qe(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[xa,S.item.link?(a(),k(D,{key:0,tag:L.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:d(()=>[(a(),k(F($.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(F($.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Ye(B,["enter"]),tabindex:"0"},tr,32)):f("",!0)],16,Za)):f("",!0),S.item.items&&S.item.items.length?(a(),c("div",or,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,J=>(a(),k(z,{key:J.text,item:J,depth:S.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),sr=b(nr,[["__scopeId","data-v-a9cdba99"]]),ar=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=w(!0);let t=null;return W(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Ze(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,n)=>(a(!0),c(M,null,E(s.items,i=>(a(),c("div",{key:i.text,class:N(["group",{"no-transition":e.value}])},[m(sr,{item:i,depth:0},null,8,["item"])],2))),128))}}),rr=b(ar,[["__scopeId","data-v-72c67ed4"]]),Oe=o=>(C("data-v-59ceefa4"),o=o(),H(),o),ir=Oe(()=>v("div",{class:"curtain"},null,-1)),lr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},cr=Oe(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ur=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),s=o,n=w(null),i=Te(oe?document.body:null);G([s,n],()=>{var h;s.open?(i.value=!0,(h=n.value)==null||h.focus()):i.value=!1},{immediate:!0,flush:"post"});const u=w(0);return G(e,()=>{u.value+=1},{deep:!0}),(h,p)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:h.open}]),ref_key:"navEl",ref:n,onClick:p[0]||(p[0]=xe(()=>{},["stop"]))},[ir,v("nav",lr,[cr,l(h.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(rr,{items:r(e),key:u.value},null,8,["items"])),l(h.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),dr=b(ur,[["__scopeId","data-v-59ceefa4"]]),vr=_({__name:"VPSkipLink",setup(o){const e=ee(),t=w();G(()=>e.path,()=>t.value.focus());function s({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),pr=b(vr,[["__scopeId","data-v-e813112c"]]),hr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=U(),n=ee();G(()=>n.path,s),$t(e,s);const{frontmatter:i}=P(),u=et(),h=y(()=>!!u["home-hero-image"]);return Ie("hero-image-slot-exists",h),(p,g)=>{const L=R("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(pr),m(st,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),m(Qa,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Nn,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(dr,{open:r(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(un,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(fn),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(L,{key:1}))}}}),fr=b(hr,[["__scopeId","data-v-3b4648ff"]]),mr={Layout:fr,enhanceApp:({app:o})=>{o.component("Badge",tt)}};export{Us as c,mr as t,P as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPLocalSearchBox.DvzdawYQ.js","assets/chunks/framework.DpC1ZpOZ.js"])))=>i.map(i=>d[i]); +import{d as _,o as a,c,r as l,n as N,a as O,t as I,b as k,w as d,e as f,T as ve,_ as b,u as Ge,i as Ue,f as je,g as pe,h as y,j as v,k as r,p as C,l as H,m as K,q as ie,s as w,v as G,x as Z,y as W,z as he,A as fe,B as ze,C as qe,D as R,F as M,E,G as Pe,H as x,I as m,J as F,K as Ve,L as ee,M as q,N as te,O as Ke,P as Le,Q as le,R as We,S as Se,U as oe,V as Re,W as Je,X as Xe,Y as Te,Z as Ie,$ as Ye,a0 as Qe,a1 as Ze,a2 as xe,a3 as et}from"./framework.DpC1ZpOZ.js";const tt=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:N(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[O(I(e.text),1)])],2))}}),ot={key:0,class:"VPBackdrop"},nt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),k(ve,{name:"fade"},{default:d(()=>[e.show?(a(),c("div",ot)):f("",!0)]),_:1}))}}),st=b(nt,[["__scopeId","data-v-daa1937f"]]),P=Ge;function at(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function ce(o){return/^\//.test(o)?o:`/${o}`}function _e(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(Ue(o)||o.startsWith("#")||!n.startsWith("http")||!je(e))return o;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return pe(u)}function X({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:s,theme:n,hash:i}=P(),u=y(()=>{var p,g;return{label:(p=e.value.locales[t.value])==null?void 0:p.label,link:((g=e.value.locales[t.value])==null?void 0:g.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:y(()=>Object.entries(e.value.locales).flatMap(([p,g])=>u.value.label===g.label?[]:{text:g.label,link:rt(g.link||(p==="root"?"/":`/${p}/`),n.value.i18nRouting!==!1&&o,s.value.relativePath.slice(u.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:u}}function rt(o,e,t,s){return e?o.replace(/\/$/,"")+ce(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const it=o=>(C("data-v-2aa14331"),o=o(),H(),o),lt={class:"NotFound"},ct={class:"code"},ut={class:"title"},dt=it(()=>v("div",{class:"divider"},null,-1)),vt={class:"quote"},pt={class:"action"},ht=["href","aria-label"],ft=_({__name:"NotFound",setup(o){const{theme:e}=P(),{currentLang:t}=X();return(s,n)=>{var i,u,h,p,g;return a(),c("div",lt,[v("p",ct,I(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),v("h1",ut,I(((u=r(e).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),dt,v("blockquote",vt,I(((h=r(e).notFound)==null?void 0:h.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",pt,[v("a",{class:"link",href:r(pe)(r(t).link),"aria-label":((p=r(e).notFound)==null?void 0:p.linkLabel)??"go to home"},I(((g=r(e).notFound)==null?void 0:g.linkText)??"Take me home"),9,ht)])])}}}),_t=b(ft,[["__scopeId","data-v-2aa14331"]]);function we(o,e){if(Array.isArray(o))return Y(o);if(o==null)return[];e=ce(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ce(n))),s=t?o[t]:[];return Array.isArray(s)?Y(s):Y(s.items,s.base)}function mt(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function kt(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ue(o,e){return Array.isArray(e)?e.some(t=>ue(o,t)):K(o,e.link)?!0:e.items?ue(o,e.items):!1}function Y(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=Y(s.items,n)),s})}function U(){const{frontmatter:o,page:e,theme:t}=P(),s=ie("(min-width: 960px)"),n=w(!1),i=y(()=>{const B=t.value.sidebar,S=e.value.relativePath;return B?we(B,S):[]}),u=w(i.value);G(i,(B,S)=>{JSON.stringify(B)!==JSON.stringify(S)&&(u.value=i.value)});const h=y(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),p=y(()=>g?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),g=y(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),L=y(()=>h.value&&s.value),$=y(()=>h.value?mt(u.value):[]);function V(){n.value=!0}function T(){n.value=!1}function A(){n.value?T():V()}return{isOpen:n,sidebar:u,sidebarGroups:$,hasSidebar:h,hasAside:g,leftAside:p,isSidebarEnabled:L,open:V,close:T,toggle:A}}function $t(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),W(()=>{window.addEventListener("keyup",s)}),he(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function bt(o){const{page:e,hash:t}=P(),s=w(!1),n=y(()=>o.value.collapsed!=null),i=y(()=>!!o.value.link),u=w(!1),h=()=>{u.value=K(e.value.relativePath,o.value.link)};G([e,o,t],h),W(h);const p=y(()=>u.value?!0:o.value.items?ue(e.value.relativePath,o.value.items):!1),g=y(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),fe(()=>{(u.value||p.value)&&(s.value=!1)});function L(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:i,isActiveLink:u,hasActiveLink:p,hasChildren:g,toggle:L}}function gt(){const{hasSidebar:o}=U(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const de=[];function Ne(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function me(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:yt(t),link:"#"+t.id,level:s}});return Pt(e,o)}function yt(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Pt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=s&&u.level<=n),de.length=0;for(const{element:u,link:h}of o)de.push({element:u,link:h});const i=[];e:for(let u=0;u=0;p--){const g=o[p];if(g.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),ze(()=>{u(location.hash)}),he(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const h=window.scrollY,p=window.innerHeight,g=document.body.offsetHeight,L=Math.abs(h+p-g)<1,$=de.map(({element:T,link:A})=>({link:A,top:Lt(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,A)=>T.top-A.top);if(!$.length){u(null);return}if(h<1){u(null);return}if(L){u($[$.length-1].link);return}let V=null;for(const{link:T,top:A}of $){if(A>h+qe()+4)break;V=T}u(V)}function u(h){n&&n.classList.remove("active"),h==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(h)}"]`);const p=n;p?(p.classList.add("active"),e.value.style.top=p.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Lt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const St=["href","title"],Tt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const s=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(s));n==null||n.focus({preventScroll:!0})}return(t,s)=>{const n=R("VPDocOutlineItem",!0);return a(),c("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:h})=>(a(),c("li",null,[v("a",{class:"outline-link",href:u,onClick:e,title:h},I(h),9,St),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):f("",!0)]))),256))],2)}}}),Me=b(Tt,[["__scopeId","data-v-b9c884bb"]]),It={class:"content"},wt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},Nt=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=P(),s=Pe([]);x(()=>{s.value=me(e.value.outline??t.value.outline)});const n=w(),i=w();return Vt(n,i),(u,h)=>(a(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n},[v("div",It,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",wt,I(r(Ne)(r(t))),1),m(Me,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),Mt=b(Nt,[["__scopeId","data-v-d34649dc"]]),At={class:"VPDocAsideCarbonAds"},Bt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",At,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ct=o=>(C("data-v-8951c20f"),o=o(),H(),o),Ht={class:"VPDocAside"},Et=Ct(()=>v("div",{class:"spacer"},null,-1)),Ft=_({__name:"VPDocAside",setup(o){const{theme:e}=P();return(t,s)=>(a(),c("div",Ht,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(Mt),l(t.$slots,"aside-outline-after",{},void 0,!0),Et,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Bt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):f("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Dt=b(Ft,[["__scopeId","data-v-8951c20f"]]);function Ot(){const{theme:o,page:e}=P();return y(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Gt(){const{page:o,theme:e,frontmatter:t}=P();return y(()=>{var g,L,$,V,T,A,B,S;const s=we(e.value.sidebar,o.value.relativePath),n=kt(s),i=Ut(n,j=>j.link.replace(/[?#].*$/,"")),u=i.findIndex(j=>K(o.value.relativePath,j.link)),h=((g=e.value.docFooter)==null?void 0:g.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:h?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??(($=i[u-1])==null?void 0:$.docFooterText)??((V=i[u-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=i[u-1])==null?void 0:T.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[u+1])==null?void 0:A.docFooterText)??((B=i[u+1])==null?void 0:B.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[u+1])==null?void 0:S.link)}}})}function Ut(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.tag??(e.href?"a":"span")),s=y(()=>e.href&&Ve.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(F(t.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?r(_e)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:d(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),jt={class:"VPLastUpdated"},zt=["datetime"],qt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:s}=P(),n=y(()=>new Date(t.value.lastUpdated)),i=y(()=>n.value.toISOString()),u=w("");return W(()=>{Z(()=>{var h,p,g;u.value=new Intl.DateTimeFormat((p=(h=e.value.lastUpdated)==null?void 0:h.formatOptions)!=null&&p.forceLocale?s.value:void 0,((g=e.value.lastUpdated)==null?void 0:g.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(h,p)=>{var g;return a(),c("p",jt,[O(I(((g=r(e).lastUpdated)==null?void 0:g.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:i.value},I(u.value),9,zt)])}}}),Kt=b(qt,[["__scopeId","data-v-19bf19fb"]]),Ae=o=>(C("data-v-28deee4a"),o=o(),H(),o),Wt={key:0,class:"VPDocFooter"},Rt={key:0,class:"edit-info"},Jt={key:0,class:"edit-link"},Xt=Ae(()=>v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Yt={key:1,class:"last-updated"},Qt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Zt=Ae(()=>v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),xt={class:"pager"},eo=["innerHTML"],to=["innerHTML"],oo={class:"pager"},no=["innerHTML"],so=["innerHTML"],ao=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=P(),n=Ot(),i=Gt(),u=y(()=>e.value.editLink&&s.value.editLink!==!1),h=y(()=>t.value.lastUpdated),p=y(()=>u.value||h.value||i.value.prev||i.value.next);return(g,L)=>{var $,V,T,A;return p.value?(a(),c("footer",Wt,[l(g.$slots,"doc-footer-before",{},void 0,!0),u.value||h.value?(a(),c("div",Rt,[u.value?(a(),c("div",Jt,[m(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:d(()=>[Xt,O(" "+I(r(n).text),1)]),_:1},8,["href"])])):f("",!0),h.value?(a(),c("div",Yt,[m(Kt)])):f("",!0)])):f("",!0),($=r(i).prev)!=null&&$.link||(V=r(i).next)!=null&&V.link?(a(),c("nav",Qt,[Zt,v("div",xt,[(T=r(i).prev)!=null&&T.link?(a(),k(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:d(()=>{var B;return[v("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,eo),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,to)]}),_:1},8,["href"])):f("",!0)]),v("div",oo,[(A=r(i).next)!=null&&A.link?(a(),k(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:d(()=>{var B;return[v("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,no),v("span",{class:"title",innerHTML:r(i).next.text},null,8,so)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),ro=b(ao,[["__scopeId","data-v-28deee4a"]]),io=o=>(C("data-v-01c90815"),o=o(),H(),o),lo={class:"container"},co=io(()=>v("div",{class:"aside-curtain"},null,-1)),uo={class:"aside-container"},vo={class:"aside-content"},po={class:"content"},ho={class:"content-container"},fo={class:"main"},_o=_({__name:"VPDoc",setup(o){const{theme:e}=P(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:i}=U(),u=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(h,p)=>{const g=R("Content");return a(),c("div",{class:N(["VPDoc",{"has-sidebar":r(s),"has-aside":r(n)}])},[l(h.$slots,"doc-top",{},void 0,!0),v("div",lo,[r(n)?(a(),c("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[co,v("div",uo,[v("div",vo,[m(Dt,null,{"aside-top":d(()=>[l(h.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(h.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(h.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(h.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(h.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(h.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),v("div",po,[v("div",ho,[l(h.$slots,"doc-before",{},void 0,!0),v("main",fo,[m(g,{class:N(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(ro,null,{"doc-footer-before":d(()=>[l(h.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(h.$slots,"doc-after",{},void 0,!0)])])]),l(h.$slots,"doc-bottom",{},void 0,!0)],2)}}}),mo=b(_o,[["__scopeId","data-v-01c90815"]]),ko=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=y(()=>e.href&&Ve.test(e.href)),s=y(()=>e.tag||e.href?"a":"button");return(n,i)=>(a(),k(F(s.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?r(_e)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:d(()=>[O(I(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),$o=b(ko,[["__scopeId","data-v-f549f0f3"]]),bo=["src","alt"],go=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=R("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(pe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,bo)):(a(),c(M,{key:1},[m(s,q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Q=b(go,[["__scopeId","data-v-cc63e071"]]),yo=o=>(C("data-v-e302b8ce"),o=o(),H(),o),Po={class:"container"},Vo={class:"main"},Lo={key:0,class:"name"},So=["innerHTML"],To=["innerHTML"],Io=["innerHTML"],wo={key:0,class:"actions"},No={key:0,class:"image"},Mo={class:"image-container"},Ao=yo(()=>v("div",{class:"image-bg"},null,-1)),Bo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[v("div",Po,[v("div",Vo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",Lo,[v("span",{innerHTML:t.name,class:"clip"},null,8,So)])):f("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,To)):f("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Io)):f("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",wo,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m($o,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):f("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",No,[v("div",Mo,[Ao,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Co=b(Bo,[["__scopeId","data-v-e302b8ce"]]),Ho=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=P();return(t,s)=>r(e).hero?(a(),k(Co,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Eo=o=>(C("data-v-f77e80b4"),o=o(),H(),o),Fo={class:"box"},Do={key:0,class:"icon"},Oo=["innerHTML"],Go=["innerHTML"],Uo=["innerHTML"],jo={key:4,class:"link-text"},zo={class:"link-text-value"},qo=Eo(()=>v("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),Ko=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),k(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:d(()=>[v("article",Fo,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Do,[m(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Oo)):f("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,Go),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Uo)):f("",!0),e.linkText?(a(),c("div",jo,[v("p",zo,[O(I(e.linkText)+" ",1),qo])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Wo=b(Ko,[["__scopeId","data-v-f77e80b4"]]),Ro={key:0,class:"VPFeatures"},Jo={class:"container"},Xo={class:"items"},Yo=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=y(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),c("div",Ro,[v("div",Jo,[v("div",Xo,[(a(!0),c(M,null,E(s.features,i=>(a(),c("div",{key:i.title,class:N(["item",[t.value]])},[m(Wo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),Qo=b(Yo,[["__scopeId","data-v-8e833103"]]),Zo=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=P();return(t,s)=>r(e).features?(a(),k(Qo,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):f("",!0)}}),xo=_({__name:"VPHomeContent",setup(o){const{width:e}=Ke({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:Le(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),en=b(xo,[["__scopeId","data-v-90605523"]]),tn={class:"VPHome"},on=_({__name:"VPHome",setup(o){const{frontmatter:e}=P();return(t,s)=>{const n=R("Content");return a(),c("div",tn,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Ho,null,{"home-hero-info-before":d(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(Zo),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(en,{key:0},{default:d(()=>[m(n)]),_:1})):(a(),k(n,{key:1}))])}}}),nn=b(on,[["__scopeId","data-v-55977d12"]]),sn={},an={class:"VPPage"};function rn(o,e){const t=R("Content");return a(),c("div",an,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const ln=b(sn,[["render",rn]]),cn=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=P(),{hasSidebar:s}=U();return(n,i)=>(a(),c("div",{class:N(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(_t)],!0):r(t).layout==="page"?(a(),k(ln,{key:1},{"page-top":d(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(nn,{key:2},{"home-hero-before":d(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(F(r(t).layout),{key:3})):(a(),k(mo,{key:4},{"doc-top":d(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":d(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":d(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":d(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":d(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),un=b(cn,[["__scopeId","data-v-fc04087f"]]),dn={class:"container"},vn=["innerHTML"],pn=["innerHTML"],hn=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=U();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(s)}])},[v("div",dn,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,vn)):f("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,pn)):f("",!0)])],2)):f("",!0)}}),fn=b(hn,[["__scopeId","data-v-d69bcf5d"]]);function _n(){const{theme:o,frontmatter:e}=P(),t=Pe([]),s=y(()=>t.value.length>0);return x(()=>{t.value=me(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const mn=o=>(C("data-v-9dd5e197"),o=o(),H(),o),kn={class:"menu-text"},$n=mn(()=>v("span",{class:"vpi-chevron-right icon"},null,-1)),bn={class:"header"},gn={class:"outline"},yn=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=P(),s=w(!1),n=w(0),i=w(),u=w();function h($){var V;(V=i.value)!=null&&V.contains($.target)||(s.value=!1)}G(s,$=>{if($){document.addEventListener("click",h);return}document.removeEventListener("click",h)}),le("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function p(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function g($){$.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),We(()=>{s.value=!1}))}function L(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,V)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Le({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[$.headers.length>0?(a(),c("button",{key:0,onClick:p,class:N({open:s.value})},[v("span",kn,I(r(Ne)(r(t))),1),$n],2)):(a(),c("button",{key:1,onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)),m(ve,{name:"flyout"},{default:d(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:g},[v("div",bn,[v("a",{class:"top-link",href:"#",onClick:L},I(r(t).returnToTopLabel||"Return to top"),1)]),v("div",gn,[m(Me,{headers:$.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Pn=b(yn,[["__scopeId","data-v-9dd5e197"]]),Vn=o=>(C("data-v-9c649187"),o=o(),H(),o),Ln={class:"container"},Sn=["aria-expanded"],Tn=Vn(()=>v("span",{class:"vpi-align-left menu-icon"},null,-1)),In={class:"menu-text"},wn=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=U(),{headers:n}=_n(),{y:i}=Se(),u=w(0);W(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=me(t.value.outline??e.value.outline)});const h=y(()=>n.value.length===0),p=y(()=>h.value&&!s.value),g=y(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:h.value,fixed:p.value}));return(L,$)=>r(t).layout!=="home"&&(!p.value||r(i)>=u.value)?(a(),c("div",{key:0,class:N(g.value)},[v("div",Ln,[r(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:$[0]||($[0]=V=>L.$emit("open-menu"))},[Tn,v("span",In,I(r(e).sidebarMenuLabel||"Menu"),1)],8,Sn)):f("",!0),m(Pn,{headers:r(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):f("",!0)}}),Nn=b(wn,[["__scopeId","data-v-9c649187"]]);function Mn(){const o=w(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=ee();return G(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const An={},Bn={class:"VPSwitch",type:"button",role:"switch"},Cn={class:"check"},Hn={key:0,class:"icon"};function En(o,e){return a(),c("button",Bn,[v("span",Cn,[o.$slots.default?(a(),c("span",Hn,[l(o.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Fn=b(An,[["render",En],["__scopeId","data-v-846fe538"]]),Be=o=>(C("data-v-3125216b"),o=o(),H(),o),Dn=Be(()=>v("span",{class:"vpi-sun sun"},null,-1)),On=Be(()=>v("span",{class:"vpi-moon moon"},null,-1)),Gn=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=P(),s=te("toggle-appearance",()=>{e.value=!e.value}),n=w("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,u)=>(a(),k(Fn,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:d(()=>[Dn,On]),_:1},8,["title","aria-checked","onClick"]))}}),ke=b(Gn,[["__scopeId","data-v-3125216b"]]),Un={key:0,class:"VPNavBarAppearance"},jn=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=P();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",Un,[m(ke)])):f("",!0)}}),zn=b(jn,[["__scopeId","data-v-864d2abc"]]),$e=w();let Ce=!1,re=0;function qn(o){const e=w(!1);if(oe){!Ce&&Kn(),re++;const t=G($e,s=>{var n,i,u;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});he(()=>{t(),re--,re||Wn()})}return Re(e)}function Kn(){document.addEventListener("focusin",He),Ce=!0,$e.value=document.activeElement}function Wn(){document.removeEventListener("focusin",He)}function He(){$e.value=document.activeElement}const Rn={class:"VPMenuLink"},Jn=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,s)=>(a(),c("div",Rn,[m(D,{class:N({active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:d(()=>[O(I(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=b(Jn,[["__scopeId","data-v-25a54821"]]),Xn={class:"VPMenuGroup"},Yn={key:0,class:"title"},Qn=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Xn,[e.text?(a(),c("p",Yn,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}}),Zn=b(Qn,[["__scopeId","data-v-4dd03e28"]]),xn={class:"VPMenu"},es={key:0,class:"items"},ts=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",xn,[e.items?(a(),c("div",es,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:JSON.stringify(s)},["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):"component"in s?(a(),k(F(s.component),q({key:1,ref_for:!0},s.props),null,16)):(a(),k(Zn,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),os=b(ts,[["__scopeId","data-v-809b8af7"]]),ns=o=>(C("data-v-00660109"),o=o(),H(),o),ss=["aria-expanded","aria-label"],as={key:0,class:"text"},rs=["innerHTML"],is=ns(()=>v("span",{class:"vpi-chevron-down text-icon"},null,-1)),ls={key:1,class:"vpi-more-horizontal icon"},cs={class:"menu"},us=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=w(!1),t=w();qn({el:t,onBlur:s});function s(){e.value=!1}return(n,i)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[n.button||n.icon?(a(),c("span",as,[n.icon?(a(),c("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):f("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,rs)):f("",!0),is])):(a(),c("span",ls))],8,ss),v("div",cs,[m(os,{items:n.items},{default:d(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=b(us,[["__scopeId","data-v-00660109"]]),ds=["href","aria-label","innerHTML"],vs=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=y(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,n)=>(a(),c("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,ds))}}),ps=b(vs,[["__scopeId","data-v-15a5c40e"]]),hs={class:"VPSocialLinks"},fs=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",hs,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:i})=>(a(),k(ps,{key:s,icon:n,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ge=b(fs,[["__scopeId","data-v-100434c4"]]),_s={key:0,class:"group translations"},ms={class:"trans-title"},ks={key:1,class:"group"},$s={class:"item appearance"},bs={class:"label"},gs={class:"appearance-action"},ys={key:2,class:"group"},Ps={class:"item social-links"},Vs=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=P(),{localeLinks:s,currentLang:n}=X({correspondingLink:!0}),i=y(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,h)=>i.value?(a(),k(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:d(()=>[r(s).length&&r(n).label?(a(),c("div",_s,[v("p",ms,I(r(n).label),1),(a(!0),c(M,null,E(r(s),p=>(a(),k(ne,{key:p.link,item:p},null,8,["item"]))),128))])):f("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",ks,[v("div",$s,[v("p",bs,I(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",gs,[m(ke)])])])):f("",!0),r(t).socialLinks?(a(),c("div",ys,[v("div",Ps,[m(ge,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),Ls=b(Vs,[["__scopeId","data-v-60cefd62"]]),Ss=o=>(C("data-v-e047a1f2"),o=o(),H(),o),Ts=["aria-expanded"],Is=Ss(()=>v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)),ws=[Is],Ns=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},ws,10,Ts))}}),Ms=b(Ns,[["__scopeId","data-v-e047a1f2"]]),As=["innerHTML"],Bs=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,s)=>(a(),k(D,{class:N({VPNavBarMenuLink:!0,active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:d(()=>[v("span",{innerHTML:t.item.text},null,8,As)]),_:1},8,["class","href","noIcon","target","rel"]))}}),Cs=b(Bs,[["__scopeId","data-v-9a0da802"]]),Hs=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=P(),s=i=>"component"in i?!1:"link"in i?K(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),n=y(()=>s(e.item));return(i,u)=>(a(),k(be,{class:N({VPNavBarMenuGroup:!0,active:r(K)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Es=o=>(C("data-v-bf53b681"),o=o(),H(),o),Fs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ds=Es(()=>v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Os=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=P();return(t,s)=>r(e).nav?(a(),c("nav",Fs,[Ds,(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:JSON.stringify(n)},["link"in n?(a(),k(Cs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(F(n.component),q({key:1,ref_for:!0},n.props),null,16)):(a(),k(Hs,{key:2,item:n},null,8,["item"]))],64))),128))])):f("",!0)}}),Gs=b(Os,[["__scopeId","data-v-bf53b681"]]);function Us(o){const{localeIndex:e,theme:t}=P();function s(n){var A,B,S;const i=n.split("."),u=(A=t.value.search)==null?void 0:A.options,h=u&&typeof u=="object",p=h&&((S=(B=u.locales)==null?void 0:B[e.value])==null?void 0:S.translations)||null,g=h&&u.translations||null;let L=p,$=g,V=o;const T=i.pop();for(const j of i){let z=null;const J=V==null?void 0:V[j];J&&(z=V=J);const se=$==null?void 0:$[j];se&&(z=$=se);const ae=L==null?void 0:L[j];ae&&(z=L=ae),J||(V=z),se||($=z),ae||(L=z)}return(L==null?void 0:L[T])??($==null?void 0:$[T])??(V==null?void 0:V[T])??""}return s}const js=["aria-label"],zs={class:"DocSearch-Button-Container"},qs=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),Ks={class:"DocSearch-Button-Placeholder"},Ws=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=_({__name:"VPNavBarSearchButton",setup(o){const t=Us({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",zs,[qs,v("span",Ks,I(r(t)("button.buttonText")),1)]),Ws],8,js))}}),Rs={class:"VPNavBarSearch"},Js={id:"local-search"},Xs={key:1,id:"docsearch"},Ys=_({__name:"VPNavBarSearch",setup(o){const e=Je(()=>Xe(()=>import("./VPLocalSearchBox.DvzdawYQ.js"),__vite__mapDeps([0,1]))),t=()=>null,{theme:s}=P(),n=w(!1),i=w(!1);W(()=>{});function u(){n.value||(n.value=!0,setTimeout(h,16))}function h(){const $=new Event("keydown");$.key="k",$.metaKey=!0,window.dispatchEvent($),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||h()},16)}function p($){const V=$.target,T=V.tagName;return V.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const g=w(!1);le("k",$=>{($.ctrlKey||$.metaKey)&&($.preventDefault(),g.value=!0)}),le("/",$=>{p($)||($.preventDefault(),g.value=!0)});const L="local";return($,V)=>{var T;return a(),c("div",Rs,[r(L)==="local"?(a(),c(M,{key:0},[g.value?(a(),k(r(e),{key:0,onClose:V[0]||(V[0]=A=>g.value=!1)})):f("",!0),v("div",Js,[m(ye,{onClick:V[1]||(V[1]=A=>g.value=!0)})])],64)):r(L)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((T=r(s).search)==null?void 0:T.options)??r(s).algolia,onVnodeBeforeMount:V[2]||(V[2]=A=>i.value=!0)},null,8,["algolia"])):f("",!0),i.value?f("",!0):(a(),c("div",Xs,[m(ye,{onClick:u})]))],64)):f("",!0)])}}}),Qs=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=P();return(t,s)=>r(e).socialLinks?(a(),k(ge,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Zs=b(Qs,[["__scopeId","data-v-2c606308"]]),xs=["href","rel","target"],ea={key:1},ta={key:2},oa=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=P(),{hasSidebar:s}=U(),{currentLang:n}=X(),i=y(()=>{var p;return typeof t.value.logoLink=="string"?t.value.logoLink:(p=t.value.logoLink)==null?void 0:p.link}),u=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.rel}),h=y(()=>{var p;return typeof t.value.logoLink=="string"||(p=t.value.logoLink)==null?void 0:p.target});return(p,g)=>(a(),c("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(s)}])},[v("a",{class:"title",href:i.value??r(_e)(r(n).link),rel:u.value,target:h.value},[l(p.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Q,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):f("",!0),r(t).siteTitle?(a(),c("span",ea,I(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",ta,I(r(e).title),1)):f("",!0),l(p.$slots,"nav-bar-title-after",{},void 0,!0)],8,xs)],2))}}),na=b(oa,[["__scopeId","data-v-606a7e0f"]]),sa={class:"items"},aa={class:"title"},ra=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=P(),{localeLinks:t,currentLang:s}=X({correspondingLink:!0});return(n,i)=>r(t).length&&r(s).label?(a(),k(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:d(()=>[v("div",sa,[v("p",aa,I(r(s).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),k(ne,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),ia=b(ra,[["__scopeId","data-v-912817b1"]]),la=o=>(C("data-v-da0688be"),o=o(),H(),o),ca={class:"wrapper"},ua={class:"container"},da={class:"title"},va={class:"content"},pa={class:"content-body"},ha=la(()=>v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1)),fa=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Se(),{hasSidebar:s}=U(),{frontmatter:n}=P(),i=w({});return fe(()=>{i.value={"has-sidebar":s.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(u,h)=>(a(),c("div",{class:N(["VPNavBar",i.value])},[v("div",ca,[v("div",ua,[v("div",da,[m(na,null,{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",va,[v("div",pa,[l(u.$slots,"nav-bar-content-before",{},void 0,!0),m(Ys,{class:"search"}),m(Gs,{class:"menu"}),m(ia,{class:"translations"}),m(zn,{class:"appearance"}),m(Zs,{class:"social-links"}),m(Ls,{class:"extra"}),l(u.$slots,"nav-bar-content-after",{},void 0,!0),m(Ms,{class:"hamburger",active:u.isScreenOpen,onClick:h[0]||(h[0]=p=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),ha],2))}}),_a=b(fa,[["__scopeId","data-v-da0688be"]]),ma={key:0,class:"VPNavScreenAppearance"},ka={class:"text"},$a=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=P();return(s,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",ma,[v("p",ka,I(r(t).darkModeSwitchLabel||"Appearance"),1),m(ke)])):f("",!0)}}),ba=b($a,[["__scopeId","data-v-dfcc1536"]]),ga=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),k(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),ya=b(ga,[["__scopeId","data-v-8cd41455"]]),Pa=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),k(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:d(()=>[O(I(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Ee=b(Pa,[["__scopeId","data-v-b8c7c580"]]),Va={class:"VPNavScreenMenuGroupSection"},La={key:0,class:"title"},Sa=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Va,[e.text?(a(),c("p",La,I(e.text),1)):f("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),k(Ee,{key:s.text,item:s},null,8,["item"]))),128))]))}}),Ta=b(Sa,[["__scopeId","data-v-a3e7a51c"]]),Ia=o=>(C("data-v-90f695a2"),o=o(),H(),o),wa=["aria-controls","aria-expanded"],Na=["innerHTML"],Ma=Ia(()=>v("span",{class:"vpi-plus button-icon"},null,-1)),Aa=["id"],Ba={key:0,class:"item"},Ca={key:1,class:"item"},Ha={key:2,class:"group"},Ea=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=w(!1),s=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:i.text},null,8,Na),Ma],8,wa),v("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(i.items,h=>(a(),c(M,{key:JSON.stringify(h)},["link"in h?(a(),c("div",Ba,[m(Ee,{item:h},null,8,["item"])])):"component"in h?(a(),c("div",Ca,[(a(),k(F(h.component),q({ref_for:!0},h.props,{"screen-menu":""}),null,16))])):(a(),c("div",Ha,[m(Ta,{text:h.text,items:h.items},null,8,["text","items"])]))],64))),128))],8,Aa)],2))}}),Fa=b(Ea,[["__scopeId","data-v-90f695a2"]]),Da={key:0,class:"VPNavScreenMenu"},Oa=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=P();return(t,s)=>r(e).nav?(a(),c("nav",Da,[(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:JSON.stringify(n)},["link"in n?(a(),k(ya,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(F(n.component),q({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(Fa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Ga=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=P();return(t,s)=>r(e).socialLinks?(a(),k(ge,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):f("",!0)}}),Fe=o=>(C("data-v-95c61444"),o=o(),H(),o),Ua=Fe(()=>v("span",{class:"vpi-languages icon lang"},null,-1)),ja=Fe(()=>v("span",{class:"vpi-chevron-down icon chevron"},null,-1)),za={class:"list"},qa=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),s=w(!1);function n(){s.value=!s.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:N(["VPNavScreenTranslations",{open:s.value}])},[v("button",{class:"title",onClick:n},[Ua,O(" "+I(r(t).label)+" ",1),ja]),v("ul",za,[(a(!0),c(M,null,E(r(e),h=>(a(),c("li",{key:h.link,class:"item"},[m(D,{class:"link",href:h.link},{default:d(()=>[O(I(h.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Ka=b(qa,[["__scopeId","data-v-95c61444"]]),Wa={class:"container"},Ra=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=w(null),t=Te(oe?document.body:null);return(s,n)=>(a(),k(ve,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:d(()=>[s.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",Wa,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Oa,{class:"menu"}),m(Ka,{class:"translations"}),m(ba,{class:"appearance"}),m(Ga,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Ja=b(Ra,[["__scopeId","data-v-c14c1e21"]]),Xa={key:0,class:"VPNav"},Ya=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Mn(),{frontmatter:n}=P(),i=y(()=>n.value.navbar!==!1);return Ie("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,h)=>i.value?(a(),c("header",Xa,[m(_a,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":d(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ja,{open:r(e)},{"nav-screen-content-before":d(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Qa=b(Ya,[["__scopeId","data-v-e823d444"]]),De=o=>(C("data-v-a9cdba99"),o=o(),H(),o),Za=["role","tabindex"],xa=De(()=>v("div",{class:"indicator"},null,-1)),er=De(()=>v("span",{class:"vpi-chevron-right caret-icon"},null,-1)),tr=[er],or={key:1,class:"items"},nr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:i,hasActiveLink:u,hasChildren:h,toggle:p}=bt(y(()=>e.item)),g=y(()=>h.value?"section":"div"),L=y(()=>n.value?"a":"div"),$=y(()=>h.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=y(()=>n.value?void 0:"button"),T=y(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":u.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&p()}function B(){e.item.link&&p()}return(S,j)=>{const z=R("VPSidebarItem",!0);return a(),k(F(g.value),{class:N(["VPSidebarItem",T.value])},{default:d(()=>[S.item.text?(a(),c("div",q({key:0,class:"item",role:V.value},Qe(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[xa,S.item.link?(a(),k(D,{key:0,tag:L.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:d(()=>[(a(),k(F($.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(F($.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Ye(B,["enter"]),tabindex:"0"},tr,32)):f("",!0)],16,Za)):f("",!0),S.item.items&&S.item.items.length?(a(),c("div",or,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,J=>(a(),k(z,{key:J.text,item:J,depth:S.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),sr=b(nr,[["__scopeId","data-v-a9cdba99"]]),ar=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=w(!0);let t=null;return W(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Ze(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,n)=>(a(!0),c(M,null,E(s.items,i=>(a(),c("div",{key:i.text,class:N(["group",{"no-transition":e.value}])},[m(sr,{item:i,depth:0},null,8,["item"])],2))),128))}}),rr=b(ar,[["__scopeId","data-v-72c67ed4"]]),Oe=o=>(C("data-v-59ceefa4"),o=o(),H(),o),ir=Oe(()=>v("div",{class:"curtain"},null,-1)),lr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},cr=Oe(()=>v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),ur=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),s=o,n=w(null),i=Te(oe?document.body:null);G([s,n],()=>{var h;s.open?(i.value=!0,(h=n.value)==null||h.focus()):i.value=!1},{immediate:!0,flush:"post"});const u=w(0);return G(e,()=>{u.value+=1},{deep:!0}),(h,p)=>r(t)?(a(),c("aside",{key:0,class:N(["VPSidebar",{open:h.open}]),ref_key:"navEl",ref:n,onClick:p[0]||(p[0]=xe(()=>{},["stop"]))},[ir,v("nav",lr,[cr,l(h.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(rr,{items:r(e),key:u.value},null,8,["items"])),l(h.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),dr=b(ur,[["__scopeId","data-v-59ceefa4"]]),vr=_({__name:"VPSkipLink",setup(o){const e=ee(),t=w();G(()=>e.path,()=>t.value.focus());function s({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),c(M,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),pr=b(vr,[["__scopeId","data-v-e813112c"]]),hr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=U(),n=ee();G(()=>n.path,s),$t(e,s);const{frontmatter:i}=P(),u=et(),h=y(()=>!!u["home-hero-image"]);return Ie("hero-image-slot-exists",h),(p,g)=>{const L=R("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:N(["Layout",r(i).pageClass])},[l(p.$slots,"layout-top",{},void 0,!0),m(pr),m(st,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),m(Qa,null,{"nav-bar-title-before":d(()=>[l(p.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":d(()=>[l(p.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":d(()=>[l(p.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":d(()=>[l(p.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":d(()=>[l(p.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":d(()=>[l(p.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(Nn,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(dr,{open:r(e)},{"sidebar-nav-before":d(()=>[l(p.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":d(()=>[l(p.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(un,null,{"page-top":d(()=>[l(p.$slots,"page-top",{},void 0,!0)]),"page-bottom":d(()=>[l(p.$slots,"page-bottom",{},void 0,!0)]),"not-found":d(()=>[l(p.$slots,"not-found",{},void 0,!0)]),"home-hero-before":d(()=>[l(p.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":d(()=>[l(p.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":d(()=>[l(p.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":d(()=>[l(p.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":d(()=>[l(p.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":d(()=>[l(p.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":d(()=>[l(p.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":d(()=>[l(p.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":d(()=>[l(p.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":d(()=>[l(p.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":d(()=>[l(p.$slots,"doc-before",{},void 0,!0)]),"doc-after":d(()=>[l(p.$slots,"doc-after",{},void 0,!0)]),"doc-top":d(()=>[l(p.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":d(()=>[l(p.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":d(()=>[l(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":d(()=>[l(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":d(()=>[l(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":d(()=>[l(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":d(()=>[l(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":d(()=>[l(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(fn),l(p.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(L,{key:1}))}}}),fr=b(hr,[["__scopeId","data-v-3b4648ff"]]),mr={Layout:fr,enhanceApp:({app:o})=>{o.component("Badge",tt)}};export{Us as c,mr as t,P as u}; diff --git a/assets/en_api_mp_math_plane.md.BqUredjB.js b/assets/en_api_mp_math_plane.md.BqUredjB.js new file mode 100644 index 0000000..7e6f2ec --- /dev/null +++ b/assets/en_api_mp_math_plane.md.BqUredjB.js @@ -0,0 +1,227 @@ +import{_ as l,c as i,j as s,a as n,a4 as t,o as a}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/plane.md","filePath":"en/api/mp_math/plane.md"}'),e={name:"en/api/mp_math/plane.md"},h=t(`

Module mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

Description: 平面方程:ax + by + cz + d = 0

Arguments:

  • a (float): x系数
  • b (float): y系数
  • c (float): z系数
  • d (float): 常数项
Source code or View on GitHub
python
def __init__(self, a: float, b: float, c: float, d: float):
+    """
+        平面方程:ax + by + cz + d = 0
+        Args:
+            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
+            b (\`float\`): y系数
+            c (\`float\`): z系数
+            d (\`float\`): 常数项
+        """
+    self.a = a
+    self.b = b
+    self.c = c
+    self.d = d

method approx(self, other: Plane3) -> bool

Description: 判断两个平面是否近似相等。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否近似相等

Source code or View on GitHub
python
def approx(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否近似相等。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
+        """
+    if self.a != 0:
+        k = other.a / self.a
+        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.b != 0:
+        k = other.b / self.b
+        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.c != 0:
+        k = other.c / self.c
+        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
+    else:
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

Description: 计算平面与平面之间的夹角。

`,16),p={class:"tip custom-block"},r=s("p",{class:"custom-block-title"},"TIP",-1),k=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t('',1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t('',1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t('',1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},A={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},L=t('',1),D=[L],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),V={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},j=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),z=[j],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t(`

Arguments:

Return: AnyAngle: 夹角

Raises:

Source code or View on GitHub
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+    """
+        计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n1 \\\\cdot n2}{|n1| \\\\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n \\\\cdot d}{|n| \\\\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Line3):
+        return self.normal.cal_angle(other.direction).complementary
+    elif isinstance(other, Plane3):
+        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

Description: 计算平面与平面或点之间的距离。

Arguments:

Return: float: 距离

Raises:

Source code or View on GitHub
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+    """
+        计算平面与平面或点之间的距离。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        return 0
+    elif isinstance(other, Point3):
+        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

Description: 计算两平面的交线。

`,16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t('',1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},is={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},as={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t('',1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t('',1),rs=[ps],ks=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t('',1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t('',1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t('',1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t(`

Arguments:

  • other (Plane3): 另一个平面

Return: Line3: 交线

Raises:

Source code or View on GitHub
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+    """
+        计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\\\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\\\begin{cases} x = x_0 + dt \\\\\\\\ y = y_0 + dt \\\\\\\\ z = z_0 + dt \\\\end{cases} $$
+
+        $$ \\\\frac{x - x_0}{m} = \\\\frac{y - y_0}{n} = \\\\frac{z - z_0}{p} $$
+        :::
+
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`Line3\`](./line#class-line3): 交线
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
+        """
+    if self.normal.is_parallel(other.normal):
+        raise ValueError('Planes are parallel and have no intersection.')
+    direction = self.normal.cross(other.normal)
+    x, y, z = (0, 0, 0)
+    if self.a != 0 and other.a != 0:
+        A = np.array([[self.b, self.c], [other.b, other.c]])
+        B = np.array([-self.d, -other.d])
+        y, z = np.linalg.solve(A, B)
+    elif self.b != 0 and other.b != 0:
+        A = np.array([[self.a, self.c], [other.a, other.c]])
+        B = np.array([-self.d, -other.d])
+        x, z = np.linalg.solve(A, B)
+    elif self.c != 0 and other.c != 0:
+        A = np.array([[self.a, self.b], [other.a, other.b]])
+        B = np.array([-self.d, -other.d])
+        x, y = np.linalg.solve(A, B)
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

Description: 计算平面与直线的交点。

Arguments:

Return: Point3: 交点

Raises:

Source code or View on GitHub
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    """
+        计算平面与直线的交点。
+        Args:
+            other ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            [\`Point3\`](./point#class-point3): 交点
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
+        """
+    if self.normal @ other.direction == 0:
+        raise ValueError('The plane and the line are parallel or coincident.')
+    x, y, z = other.get_parametric_equations()
+    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

Description: 计算平行于该平面且过指定点的平面。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    """
+        计算平行于该平面且过指定点的平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 指定点
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

Description: 判断两个平面是否平行。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否平行。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

Description: 平面的法向量。

Return: Vector3: 法向量

Source code or View on GitHub
python
@property
+def normal(self) -> 'Vector3':
+    """
+        平面的法向量。
+        Returns:
+            [\`Vector3\`](./vector#class-vector3): 法向量
+        """
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

Description: 工厂函数 由点和法向量构造平面(点法式构造)。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
@classmethod
+def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
+    """
+        工厂函数 由点和法向量构造平面(点法式构造)。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    a, b, c = (normal.x, normal.y, normal.z)
+    d = -a * point.x - b * point.y - c * point.z
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

Description: 工厂函数 由三点构造平面。

Arguments:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

Return: 平面

Source code or View on GitHub
python
@classmethod
+def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
+    """
+        工厂函数 由三点构造平面。
+        Args:
+            p1 ([\`Point3\`](./point#class-point3)): 点1
+            p2 (\`Point3\`): 点2
+            p3 (\`Point3\`): 点3
+        Returns:
+            平面
+        """
+    v1 = p2 - p1
+    v2 = p3 - p1
+    normal = v1.cross(v2)
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

Description: 工厂函数 由两直线构造平面。

Arguments:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

Return: 平面

Source code or View on GitHub
python
@classmethod
+def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由两直线构造平面。
+        Args:
+            l1 ([\`Line3\`](./line#class-line3)): 直线
+            l2 (\`Line3\`): 直线
+        Returns:
+            平面
+        """
+    v1 = l1.direction
+    v2 = l2.point - l1.point
+    if v2 == zero_vector3:
+        v2 = l2.get_point(1) - l1.point
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

Description: 工厂函数 由点和直线构造平面。

Arguments:

Return: 平面

Source code or View on GitHub
python
@classmethod
+def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由点和直线构造平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            line ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            平面
+        """
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

Source code or View on GitHub
python
@overload
+def __and__(self, other: 'Line3') -> 'Point3 | None':
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

Source code or View on GitHub
python
@overload
+def __and__(self, other: 'Plane3') -> 'Line3 | None':
+    ...

method __and__(self, other)

Description: 取两平面的交集(人话:交线)

Arguments:

Return: Line3 | Point3 | None: 交集

Raises:

Source code or View on GitHub
python
def __and__(self, other):
+    """
+        取两平面的交集(人话:交线)
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        if self.normal.is_parallel(other.normal):
+            return None
+        return self.cal_intersection_line3(other)
+    elif isinstance(other, Line3):
+        if self.normal @ other.direction == 0:
+            return None
+        return self.cal_intersection_point3(other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

Description: 判断两个平面是否等价。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否等价

Source code or View on GitHub
python
def __eq__(self, other) -> bool:
+    """
+        判断两个平面是否等价。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
+        """
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

Source code or View on GitHub
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.cal_intersection_point3(other)
`,81);function ws(Hs,As,Ls,Ds,vs,Vs){return a(),i("div",null,[h,s("div",p,[r,k,s("mjx-container",o,[(a(),i("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(a(),i("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(a(),i("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(a(),i("svg",A,D)),v]),s("p",null,[n("其中 "),s("mjx-container",V,[(a(),i("svg",M,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(a(),i("svg",R,z)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(a(),i("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",is,[(a(),i("svg",as,ns)),ls]),n(", "),s("mjx-container",es,[(a(),i("svg",hs,rs)),ks]),n(", "),s("mjx-container",os,[(a(),i("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(a(),i("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(a(),i("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/en_api_mp_math_plane.md.BqUredjB.lean.js b/assets/en_api_mp_math_plane.md.BqUredjB.lean.js new file mode 100644 index 0000000..7ef4fb1 --- /dev/null +++ b/assets/en_api_mp_math_plane.md.BqUredjB.lean.js @@ -0,0 +1 @@ +import{_ as l,c as i,j as s,a as n,a4 as t,o as a}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/plane.md","filePath":"en/api/mp_math/plane.md"}'),e={name:"en/api/mp_math/plane.md"},h=t("",16),p={class:"tip custom-block"},r=s("p",{class:"custom-block-title"},"TIP",-1),k=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t("",1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t("",1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t("",1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},A={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},L=t("",1),D=[L],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),V={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},M={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},R={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},j=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),z=[j],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t("",16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t("",1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},is={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},as={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t("",1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t("",1),rs=[ps],ks=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t("",1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t("",1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t("",1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t("",81);function ws(Hs,As,Ls,Ds,vs,Vs){return a(),i("div",null,[h,s("div",p,[r,k,s("mjx-container",o,[(a(),i("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(a(),i("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(a(),i("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(a(),i("svg",A,D)),v]),s("p",null,[n("其中 "),s("mjx-container",V,[(a(),i("svg",M,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(a(),i("svg",R,z)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(a(),i("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",is,[(a(),i("svg",as,ns)),ls]),n(", "),s("mjx-container",es,[(a(),i("svg",hs,rs)),ks]),n(", "),s("mjx-container",os,[(a(),i("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(a(),i("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(a(),i("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/en_api_mp_math_plane.md.op2OK8nC.js b/assets/en_api_mp_math_plane.md.op2OK8nC.js deleted file mode 100644 index 55a726d..0000000 --- a/assets/en_api_mp_math_plane.md.op2OK8nC.js +++ /dev/null @@ -1,206 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/plane.md","filePath":"en/api/mp_math/plane.md"}'),l={name:"en/api/mp_math/plane.md"},t=n(`

Module mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

Description: 平面方程:ax + by + cz + d = 0

Arguments:

  • a (float): x系数
  • b (float): y系数
  • c (float): z系数
  • d (float): 常数项
Source code or View on GitHub
python
def __init__(self, a: float, b: float, c: float, d: float):
-    """
-        平面方程:ax + by + cz + d = 0
-        Args:
-            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
-            b (\`float\`): y系数
-            c (\`float\`): z系数
-            d (\`float\`): 常数项
-        """
-    self.a = a
-    self.b = b
-    self.c = c
-    self.d = d

method approx(self, other: Plane3) -> bool

Description: 判断两个平面是否近似相等。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否近似相等

Source code or View on GitHub
python
def approx(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否近似相等。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    if self.a != 0:
-        k = other.a / self.a
-        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.b != 0:
-        k = other.b / self.b
-        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.c != 0:
-        k = other.c / self.c
-        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
-    else:
-        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

Description: 计算平面与平面之间的夹角。

Arguments:

Return: AnyAngle: 夹角

Raises:

Source code or View on GitHub
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
-    """
-        计算平面与平面之间的夹角。
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Line3):
-        return self.normal.cal_angle(other.direction).complementary
-    elif isinstance(other, Plane3):
-        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

Description: 计算平面与平面或点之间的距离。

Arguments:

Return: float: 距离

Raises:

Source code or View on GitHub
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
-    """
-        计算平面与平面或点之间的距离。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        return 0
-    elif isinstance(other, Point3):
-        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

Description: 计算两平面的交线。

Arguments:

  • other (Plane3): 另一个平面

Return: Line3: 交线

Raises:

Source code or View on GitHub
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
-    """
-        计算两平面的交线。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`Line3\`](./line#class-line3): 交线
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
-        """
-    if self.normal.is_parallel(other.normal):
-        raise ValueError('Planes are parallel and have no intersection.')
-    direction = self.normal.cross(other.normal)
-    x, y, z = (0, 0, 0)
-    if self.a != 0 and other.a != 0:
-        A = np.array([[self.b, self.c], [other.b, other.c]])
-        B = np.array([-self.d, -other.d])
-        y, z = np.linalg.solve(A, B)
-    elif self.b != 0 and other.b != 0:
-        A = np.array([[self.a, self.c], [other.a, other.c]])
-        B = np.array([-self.d, -other.d])
-        x, z = np.linalg.solve(A, B)
-    elif self.c != 0 and other.c != 0:
-        A = np.array([[self.a, self.b], [other.a, other.b]])
-        B = np.array([-self.d, -other.d])
-        x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

Description: 计算平面与直线的交点。

Arguments:

Return: Point3: 交点

Raises:

Source code or View on GitHub
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
-    """
-        计算平面与直线的交点。
-        Args:
-            other ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            [\`Point3\`](./point#class-point3): 交点
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
-        """
-    if self.normal @ other.direction == 0:
-        raise ValueError('The plane and the line are parallel or coincident.')
-    x, y, z = other.get_parametric_equations()
-    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

Description: 计算平行于该平面且过指定点的平面。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
-    """
-        计算平行于该平面且过指定点的平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 指定点
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

Description: 判断两个平面是否平行。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否平行。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

Description: 平面的法向量。

Return: Vector3: 法向量

Source code or View on GitHub
python
@property
-def normal(self) -> 'Vector3':
-    """
-        平面的法向量。
-        Returns:
-            [\`Vector3\`](./vector#class-vector3): 法向量
-        """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

Description: 工厂函数 由点和法向量构造平面(点法式构造)。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
@classmethod
-def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
-    """
-        工厂函数 由点和法向量构造平面(点法式构造)。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    a, b, c = (normal.x, normal.y, normal.z)
-    d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

Description: 工厂函数 由三点构造平面。

Arguments:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

Return: 平面

Source code or View on GitHub
python
@classmethod
-def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
-    """
-        工厂函数 由三点构造平面。
-        Args:
-            p1 ([\`Point3\`](./point#class-point3)): 点1
-            p2 (\`Point3\`): 点2
-            p3 (\`Point3\`): 点3
-        Returns:
-            平面
-        """
-    v1 = p2 - p1
-    v2 = p3 - p1
-    normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

Description: 工厂函数 由两直线构造平面。

Arguments:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

Return: 平面

Source code or View on GitHub
python
@classmethod
-def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由两直线构造平面。
-        Args:
-            l1 ([\`Line3\`](./line#class-line3)): 直线
-            l2 (\`Line3\`): 直线
-        Returns:
-            平面
-        """
-    v1 = l1.direction
-    v2 = l2.point - l1.point
-    if v2 == zero_vector3:
-        v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

Description: 工厂函数 由点和直线构造平面。

Arguments:

Return: 平面

Source code or View on GitHub
python
@classmethod
-def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由点和直线构造平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            line ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            平面
-        """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

Source code or View on GitHub
python
@overload
-def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

Source code or View on GitHub
python
@overload
-def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

Description: 取两平面的交集(人话:交线)

Arguments:

Return: Line3 | Point3 | None: 交集

Raises:

Source code or View on GitHub
python
def __and__(self, other):
-    """
-        取两平面的交集(人话:交线)
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        if self.normal.is_parallel(other.normal):
-            return None
-        return self.cal_intersection_line3(other)
-    elif isinstance(other, Line3):
-        if self.normal @ other.direction == 0:
-            return None
-        return self.cal_intersection_point3(other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

Description: 判断两个平面是否等价。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否等价

Source code or View on GitHub
python
def __eq__(self, other) -> bool:
-    """
-        判断两个平面是否等价。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
-        """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

Source code or View on GitHub
python
def __rand__(self, other: 'Line3') -> 'Point3':
-    return self.cal_intersection_point3(other)
`,113),h=[t];function e(p,k,r,o,d,E){return a(),i("div",null,h)}const c=s(l,[["render",e]]);export{y as __pageData,c as default}; diff --git a/assets/en_api_mp_math_plane.md.op2OK8nC.lean.js b/assets/en_api_mp_math_plane.md.op2OK8nC.lean.js deleted file mode 100644 index 96be146..0000000 --- a/assets/en_api_mp_math_plane.md.op2OK8nC.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/plane.md","filePath":"en/api/mp_math/plane.md"}'),l={name:"en/api/mp_math/plane.md"},t=n("",113),h=[t];function e(p,k,r,o,d,E){return a(),i("div",null,h)}const c=s(l,[["render",e]]);export{y as __pageData,c as default}; diff --git a/assets/en_api_mp_math_vector.md.DpzqycDg.js b/assets/en_api_mp_math_vector.md.DpzqycDg.js deleted file mode 100644 index 14b69fb..0000000 --- a/assets/en_api_mp_math_vector.md.DpzqycDg.js +++ /dev/null @@ -1,197 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/vector.md","filePath":"en/api/mp_math/vector.md"}'),n={name:"en/api/mp_math/vector.md"},e=t(`

Module mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

Description: 3维向量

Arguments:

  • x (float): x轴分量
  • y (float): y轴分量
  • z (float): z轴分量
Source code or View on GitHub
python
def __init__(self, x: float, y: float, z: float):
-    """
-        3维向量
-        Args:
-            x ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量
-            y (\`float\`): y轴分量
-            z (\`float\`): z轴分量
-        """
-    self.x = x
-    self.y = y
-    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

Description: 判断两个向量是否近似相等。

Arguments:

Return: bool: 是否近似相等

Source code or View on GitHub
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

Description: 计算两个向量之间的夹角。

Arguments:

Return: AnyAngle: 夹角

Source code or View on GitHub
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
-    """
-        计算两个向量之间的夹角。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

Description: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

Arguments:

Return: Vector3: 叉乘结果

Source code or View on GitHub
python
def cross(self, other: 'Vector3') -> 'Vector3':
-    """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        \`\`i  j  k\`\`
-
-        \`\`x1 y1 z1\`\`
-
-        \`\`x2 y2 z2\`\`
-
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`Vector3\`](#class-vector3): 叉乘结果
-        """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

Description: 判断两个向量是否近似平行。

Arguments:

Return: bool: 是否近似平行

Source code or View on GitHub
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
-        """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

Description: 判断两个向量是否平行。

Arguments:

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Vector3') -> bool:
-    """
-        判断两个向量是否平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

Description: 将向量归一化。

自体归一化,不返回值。

Source code or View on GitHub
python
def normalize(self):
-    """
-        将向量归一化。
-
-        自体归一化,不返回值。
-        """
-    length = self.length
-    self.x /= length
-    self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

Return: np.ndarray: numpy数组

Source code or View on GitHub
python
@property
-def np_array(self) -> 'np.ndarray':
-    """
-        返回numpy数组
-        Returns:
-            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
-        """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

Description: 向量的模。

Return: float: 模

Source code or View on GitHub
python
@property
-def length(self) -> float:
-    """
-        向量的模。
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
-        """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

Description: 获取该向量的单位向量。

Return: Vector3: 单位向量

Source code or View on GitHub
python
@property
-def unit(self) -> 'Vector3':
-    """
-        获取该向量的单位向量。
-        Returns:
-            [\`Vector3\`](#class-vector3): 单位向量
-        """
-    return self / self.length

method __abs__(self)

Source code or View on GitHub
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
-def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

Source code or View on GitHub
python
@overload
-def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

Description: V + P -> P

V + V -> V

Arguments:

Return: Vector3 | Point3: 新的向量或点

Source code or View on GitHub
python
def __add__(self, other):
-    """
-        V + P -> P
-
-        V + V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

Description: 判断两个向量是否相等。

Arguments:

Return: bool: 是否相等

Source code or View on GitHub
python
def __eq__(self, other):
-    """
-        判断两个向量是否相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
-        """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

Description: P + V -> P

别去点那边实现了。

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __radd__(self, other: 'Point3') -> 'Point3':
-    """
-        P + V -> P
-
-        别去点那边实现了。
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
-def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

Source code or View on GitHub
python
@overload
-def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

Description: V - P -> P

V - V -> V

Arguments:

Return: Vector3 | Point3: 新的向量

Source code or View on GitHub
python
def __sub__(self, other):
-    """
-        V - P -> P
-
-        V - V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
-    else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

Description: P - V -> P

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __rsub__(self, other: 'Point3'):
-    """
-        P - V -> P
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    if isinstance(other, Point3):
-        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
-def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
@overload
-def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

Description: 数组运算 非点乘。点乘使用@,叉乘使用cross。

Arguments:

Return: Vector3: 数组运算结果

Source code or View on GitHub
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
-    """
-        数组运算 非点乘。点乘使用@,叉乘使用cross。
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
-        Returns:
-            [\`Vector3\`](#class-vector): 数组运算结果
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
-    elif isinstance(other, (float, int)):
-        return Vector3(self.x * other, self.y * other, self.z * other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

Description: 点乘。

Arguments:

Return: float: 点乘结果

Source code or View on GitHub
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
-    """
-        点乘。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
-        """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

Source code or View on GitHub
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

Description: 取负。

Return: Vector3: 负向量

Source code or View on GitHub
python
def __neg__(self) -> 'Vector3':
-    """
-        取负。
-        Returns:
-            [\`Vector3\`](#class-vector3): 负向量
-        """
-    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • Description: 零向量

  • Type: Vector3

  • Default: Vector3(0, 0, 0)

var x_axis

  • Description: x轴单位向量

  • Type: Vector3

  • Default: Vector3(1, 0, 0)

var y_axis

  • Description: y轴单位向量

  • Type: Vector3

  • Default: Vector3(0, 1, 0)

var z_axis

  • Description: z轴单位向量

  • Type: Vector3

  • Default: Vector3(0, 0, 1)

`,138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/en_api_mp_math_vector.md.DpzqycDg.lean.js b/assets/en_api_mp_math_vector.md.DpzqycDg.lean.js deleted file mode 100644 index c32f366..0000000 --- a/assets/en_api_mp_math_vector.md.DpzqycDg.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/vector.md","filePath":"en/api/mp_math/vector.md"}'),n={name:"en/api/mp_math/vector.md"},e=t("",138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/en_api_mp_math_vector.md.OzaLDP6e.js b/assets/en_api_mp_math_vector.md.OzaLDP6e.js new file mode 100644 index 0000000..ff07c55 --- /dev/null +++ b/assets/en_api_mp_math_vector.md.OzaLDP6e.js @@ -0,0 +1,176 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/vector.md","filePath":"en/api/mp_math/vector.md"}'),e={name:"en/api/mp_math/vector.md"},l=a('

Module mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

Description: 3维向量

Arguments:

  • x (float): x轴分量
  • y (float): y轴分量
  • z (float): z轴分量
Source code or View on GitHub
python
def __init__(self, x: float, y: float, z: float):\n    """\n        3维向量\n        Args:\n            x ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量\n            y (`float`): y轴分量\n            z (`float`): z轴分量\n        """\n    self.x = x\n    self.y = y\n    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

Description: 判断两个向量是否近似相等。

Arguments:

Return: bool: 是否近似相等

Source code or View on GitHub
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:\n    """\n        判断两个向量是否近似相等。\n        Args:\n            other ([`Vector3`](#class-vector3)): 另一个向量\n            epsilon ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): 误差\n\n        Returns:\n            [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等\n        """\n    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

Description: 计算两个向量之间的夹角。

',16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a('',1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a(`

Arguments:

Return: AnyAngle: 夹角

Source code or View on GitHub
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    """
+        计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{v1 \\\\cdot v2}{|v1| \\\\cdot |v2|})$$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        """
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

Description: 向量积 叉乘:v1 x v2 -> v3

`,6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a('',1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a('',1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a(`

Arguments:

Return: Vector3: 叉乘结果

Source code or View on GitHub
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    """
+        向量积 叉乘:v1 x v2 -> v3
+
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\\\times v2 = (v1_y \\\\cdot v2_z - v1_z \\\\cdot v2_y, v1_z \\\\cdot v2_x - v1_x \\\\cdot v2_z, v1_x \\\\cdot v2_y - v1_y \\\\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\\\times v2 = \\\\begin{vmatrix} i & j & k \\\\\\\\ v1_x & v1_y & v1_z \\\\\\\\ v2_x & v2_y & v2_z \\\\end{vmatrix} $$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`Vector3\`](#class-vector3): 叉乘结果
+        """
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

Description: 判断两个向量是否近似平行。

Arguments:

Return: bool: 是否近似平行

Source code or View on GitHub
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    """
+        判断两个向量是否近似平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
+        """
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

Description: 判断两个向量是否平行。

Arguments:

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Vector3') -> bool:
+    """
+        判断两个向量是否平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

Description: 将向量归一化。

自体归一化,不返回值。

Source code or View on GitHub
python
def normalize(self):
+    """
+        将向量归一化。
+
+        自体归一化,不返回值。
+        """
+    length = self.length
+    self.x /= length
+    self.y /= length
+    self.z /= length

@property

method np_array(self) -> np.ndarray

Return: np.ndarray: numpy数组

Source code or View on GitHub
python
@property
+def np_array(self) -> 'np.ndarray':
+    """
+        返回numpy数组
+        Returns:
+            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
+        """
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

Description: 向量的模。

Return: float: 模

Source code or View on GitHub
python
@property
+def length(self) -> float:
+    """
+        向量的模。
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
+        """
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

Description: 获取该向量的单位向量。

Return: Vector3: 单位向量

Source code or View on GitHub
python
@property
+def unit(self) -> 'Vector3':
+    """
+        获取该向量的单位向量。
+        Returns:
+            [\`Vector3\`](#class-vector3): 单位向量
+        """
+    return self / self.length

method __abs__(self)

Source code or View on GitHub
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
+def __add__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self + other: Point3 => Point3

Source code or View on GitHub
python
@overload
+def __add__(self, other: 'Point3') -> 'Point3':
+    ...

method self + other

Description: V + P -> P

V + V -> V

Arguments:

Return: Vector3 | Point3: 新的向量或点

Source code or View on GitHub
python
def __add__(self, other):
+    """
+        V + P -> P
+
+        V + V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

Description: 判断两个向量是否相等。

Arguments:

Return: bool: 是否相等

Source code or View on GitHub
python
def __eq__(self, other):
+    """
+        判断两个向量是否相等。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
+        """
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

Description: P + V -> P

别去点那边实现了。

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    """
+        P + V -> P
+
+        别去点那边实现了。
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
+def __sub__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self - other: Point3 => Point3

Source code or View on GitHub
python
@overload
+def __sub__(self, other: 'Point3') -> 'Point3':
+    ...

method self - other

Description: V - P -> P

V - V -> V

Arguments:

Return: Vector3 | Point3: 新的向量

Source code or View on GitHub
python
def __sub__(self, other):
+    """
+        V - P -> P
+
+        V - V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
+    else:
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

Description: P - V -> P

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __rsub__(self, other: 'Point3'):
+    """
+        P - V -> P
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    if isinstance(other, Point3):
+        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
+def __mul__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
@overload
+def __mul__(self, other: RealNumber) -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

Description: 数组运算 非点乘。点乘使用@,叉乘使用cross。

Arguments:

Return: Vector3: 数组运算结果

Source code or View on GitHub
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    """
+        数组运算 非点乘。点乘使用@,叉乘使用cross。
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
+        Returns:
+            [\`Vector3\`](#class-vector): 数组运算结果
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
+    elif isinstance(other, (float, int)):
+        return Vector3(self.x * other, self.y * other, self.z * other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

Description: 点乘。

Arguments:

Return: float: 点乘结果

Source code or View on GitHub
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+    """
+        点乘。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
+        """
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

Source code or View on GitHub
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

Description: 取负。

Return: Vector3: 负向量

Source code or View on GitHub
python
def __neg__(self) -> 'Vector3':
+    """
+        取负。
+        Returns:
+            [\`Vector3\`](#class-vector3): 负向量
+        """
+    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • Description: 零向量

  • Type: Vector3

  • Default: Vector3(0, 0, 0)

var x_axis

  • Description: x轴单位向量

  • Type: Vector3

  • Default: Vector3(1, 0, 0)

var y_axis

  • Description: y轴单位向量

  • Type: Vector3

  • Default: Vector3(0, 1, 0)

var z_axis

  • Description: z轴单位向量

  • Type: Vector3

  • Default: Vector3(0, 0, 1)

`,115);function D(w,q,A,L,M,P){return t(),i("div",null,[l,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(e,[["render",D]]);export{z as __pageData,R as default}; diff --git a/assets/en_api_mp_math_vector.md.OzaLDP6e.lean.js b/assets/en_api_mp_math_vector.md.OzaLDP6e.lean.js new file mode 100644 index 0000000..f1f1e13 --- /dev/null +++ b/assets/en_api_mp_math_vector.md.OzaLDP6e.lean.js @@ -0,0 +1 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"en/api/mp_math/vector.md","filePath":"en/api/mp_math/vector.md"}'),e={name:"en/api/mp_math/vector.md"},l=a("",16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a("",1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a("",6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a("",1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a("",1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a("",115);function D(w,q,A,L,M,P){return t(),i("div",null,[l,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(e,[["render",D]]);export{z as __pageData,R as default}; diff --git a/assets/ja_api_mp_math_plane.md.D8ltDTI9.js b/assets/ja_api_mp_math_plane.md.D8ltDTI9.js deleted file mode 100644 index b06affe..0000000 --- a/assets/ja_api_mp_math_plane.md.D8ltDTI9.js +++ /dev/null @@ -1,206 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/plane.md","filePath":"ja/api/mp_math/plane.md"}'),l={name:"ja/api/mp_math/plane.md"},t=n(`

モジュール mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

説明: 平面方程:ax + by + cz + d = 0

引数:

  • a (float): x系数
  • b (float): y系数
  • c (float): z系数
  • d (float): 常数项
ソースコード または GitHubで表示
python
def __init__(self, a: float, b: float, c: float, d: float):
-    """
-        平面方程:ax + by + cz + d = 0
-        Args:
-            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
-            b (\`float\`): y系数
-            c (\`float\`): z系数
-            d (\`float\`): 常数项
-        """
-    self.a = a
-    self.b = b
-    self.c = c
-    self.d = d

method approx(self, other: Plane3) -> bool

説明: 判断两个平面是否近似相等。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否近似相等

ソースコード または GitHubで表示
python
def approx(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否近似相等。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    if self.a != 0:
-        k = other.a / self.a
-        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.b != 0:
-        k = other.b / self.b
-        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.c != 0:
-        k = other.c / self.c
-        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
-    else:
-        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

引数:

戻り値: AnyAngle: 夹角

例外:

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
-    """
-        计算平面与平面之间的夹角。
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Line3):
-        return self.normal.cal_angle(other.direction).complementary
-    elif isinstance(other, Plane3):
-        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

引数:

戻り値: float: 距离

例外:

ソースコード または GitHubで表示
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
-    """
-        计算平面与平面或点之间的距离。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        return 0
-    elif isinstance(other, Point3):
-        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

引数:

  • other (Plane3): 另一个平面

戻り値: Line3: 交线

例外:

ソースコード または GitHubで表示
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
-    """
-        计算两平面的交线。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`Line3\`](./line#class-line3): 交线
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
-        """
-    if self.normal.is_parallel(other.normal):
-        raise ValueError('Planes are parallel and have no intersection.')
-    direction = self.normal.cross(other.normal)
-    x, y, z = (0, 0, 0)
-    if self.a != 0 and other.a != 0:
-        A = np.array([[self.b, self.c], [other.b, other.c]])
-        B = np.array([-self.d, -other.d])
-        y, z = np.linalg.solve(A, B)
-    elif self.b != 0 and other.b != 0:
-        A = np.array([[self.a, self.c], [other.a, other.c]])
-        B = np.array([-self.d, -other.d])
-        x, z = np.linalg.solve(A, B)
-    elif self.c != 0 and other.c != 0:
-        A = np.array([[self.a, self.b], [other.a, other.b]])
-        B = np.array([-self.d, -other.d])
-        x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

引数:

戻り値: Point3: 交点

例外:

ソースコード または GitHubで表示
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
-    """
-        计算平面与直线的交点。
-        Args:
-            other ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            [\`Point3\`](./point#class-point3): 交点
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
-        """
-    if self.normal @ other.direction == 0:
-        raise ValueError('The plane and the line are parallel or coincident.')
-    x, y, z = other.get_parametric_equations()
-    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
-    """
-        计算平行于该平面且过指定点的平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 指定点
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否平行。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

戻り値: Vector3: 法向量

ソースコード または GitHubで表示
python
@property
-def normal(self) -> 'Vector3':
-    """
-        平面的法向量。
-        Returns:
-            [\`Vector3\`](./vector#class-vector3): 法向量
-        """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
@classmethod
-def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
-    """
-        工厂函数 由点和法向量构造平面(点法式构造)。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    a, b, c = (normal.x, normal.y, normal.z)
-    d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

引数:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
-def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
-    """
-        工厂函数 由三点构造平面。
-        Args:
-            p1 ([\`Point3\`](./point#class-point3)): 点1
-            p2 (\`Point3\`): 点2
-            p3 (\`Point3\`): 点3
-        Returns:
-            平面
-        """
-    v1 = p2 - p1
-    v2 = p3 - p1
-    normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

引数:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
-def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由两直线构造平面。
-        Args:
-            l1 ([\`Line3\`](./line#class-line3)): 直线
-            l2 (\`Line3\`): 直线
-        Returns:
-            平面
-        """
-    v1 = l1.direction
-    v2 = l2.point - l1.point
-    if v2 == zero_vector3:
-        v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

引数:

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
-def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由点和直线构造平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            line ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            平面
-        """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

ソースコード または GitHubで表示
python
@overload
-def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

ソースコード または GitHubで表示
python
@overload
-def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

引数:

戻り値: Line3 | Point3 | None: 交集

例外:

ソースコード または GitHubで表示
python
def __and__(self, other):
-    """
-        取两平面的交集(人话:交线)
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        if self.normal.is_parallel(other.normal):
-            return None
-        return self.cal_intersection_line3(other)
-    elif isinstance(other, Line3):
-        if self.normal @ other.direction == 0:
-            return None
-        return self.cal_intersection_point3(other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否等价

ソースコード または GitHubで表示
python
def __eq__(self, other) -> bool:
-    """
-        判断两个平面是否等价。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
-        """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

ソースコード または GitHubで表示
python
def __rand__(self, other: 'Line3') -> 'Point3':
-    return self.cal_intersection_point3(other)
`,113),h=[t];function p(e,k,r,o,d,E){return a(),i("div",null,h)}const F=s(l,[["render",p]]);export{y as __pageData,F as default}; diff --git a/assets/ja_api_mp_math_plane.md.D8ltDTI9.lean.js b/assets/ja_api_mp_math_plane.md.D8ltDTI9.lean.js deleted file mode 100644 index 8a72354..0000000 --- a/assets/ja_api_mp_math_plane.md.D8ltDTI9.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/plane.md","filePath":"ja/api/mp_math/plane.md"}'),l={name:"ja/api/mp_math/plane.md"},t=n("",113),h=[t];function p(e,k,r,o,d,E){return a(),i("div",null,h)}const F=s(l,[["render",p]]);export{y as __pageData,F as default}; diff --git a/assets/ja_api_mp_math_plane.md.DmM6KUUe.js b/assets/ja_api_mp_math_plane.md.DmM6KUUe.js new file mode 100644 index 0000000..2759a9d --- /dev/null +++ b/assets/ja_api_mp_math_plane.md.DmM6KUUe.js @@ -0,0 +1,227 @@ +import{_ as l,c as a,j as s,a as n,a4 as t,o as i}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/plane.md","filePath":"ja/api/mp_math/plane.md"}'),e={name:"ja/api/mp_math/plane.md"},h=t(`

モジュール mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

説明: 平面方程:ax + by + cz + d = 0

引数:

  • a (float): x系数
  • b (float): y系数
  • c (float): z系数
  • d (float): 常数项
ソースコード または GitHubで表示
python
def __init__(self, a: float, b: float, c: float, d: float):
+    """
+        平面方程:ax + by + cz + d = 0
+        Args:
+            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
+            b (\`float\`): y系数
+            c (\`float\`): z系数
+            d (\`float\`): 常数项
+        """
+    self.a = a
+    self.b = b
+    self.c = c
+    self.d = d

method approx(self, other: Plane3) -> bool

説明: 判断两个平面是否近似相等。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否近似相等

ソースコード または GitHubで表示
python
def approx(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否近似相等。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
+        """
+    if self.a != 0:
+        k = other.a / self.a
+        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.b != 0:
+        k = other.b / self.b
+        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.c != 0:
+        k = other.c / self.c
+        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
+    else:
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

`,16),p={class:"tip custom-block"},k=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t('',1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t('',1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t('',1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},L={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},A=t('',1),D=[A],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),M={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},j={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},R=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),z=[R],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t(`

引数:

戻り値: AnyAngle: 夹角

例外:

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+    """
+        计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n1 \\\\cdot n2}{|n1| \\\\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n \\\\cdot d}{|n| \\\\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Line3):
+        return self.normal.cal_angle(other.direction).complementary
+    elif isinstance(other, Plane3):
+        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

引数:

戻り値: float: 距离

例外:

ソースコード または GitHubで表示
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+    """
+        计算平面与平面或点之间的距离。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        return 0
+    elif isinstance(other, Point3):
+        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

`,16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t('',1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},as={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},is={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t('',1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t('',1),ks=[ps],rs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t('',1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t('',1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t('',1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t(`

引数:

  • other (Plane3): 另一个平面

戻り値: Line3: 交线

例外:

ソースコード または GitHubで表示
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+    """
+        计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\\\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\\\begin{cases} x = x_0 + dt \\\\\\\\ y = y_0 + dt \\\\\\\\ z = z_0 + dt \\\\end{cases} $$
+
+        $$ \\\\frac{x - x_0}{m} = \\\\frac{y - y_0}{n} = \\\\frac{z - z_0}{p} $$
+        :::
+
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`Line3\`](./line#class-line3): 交线
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
+        """
+    if self.normal.is_parallel(other.normal):
+        raise ValueError('Planes are parallel and have no intersection.')
+    direction = self.normal.cross(other.normal)
+    x, y, z = (0, 0, 0)
+    if self.a != 0 and other.a != 0:
+        A = np.array([[self.b, self.c], [other.b, other.c]])
+        B = np.array([-self.d, -other.d])
+        y, z = np.linalg.solve(A, B)
+    elif self.b != 0 and other.b != 0:
+        A = np.array([[self.a, self.c], [other.a, other.c]])
+        B = np.array([-self.d, -other.d])
+        x, z = np.linalg.solve(A, B)
+    elif self.c != 0 and other.c != 0:
+        A = np.array([[self.a, self.b], [other.a, other.b]])
+        B = np.array([-self.d, -other.d])
+        x, y = np.linalg.solve(A, B)
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

引数:

戻り値: Point3: 交点

例外:

ソースコード または GitHubで表示
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    """
+        计算平面与直线的交点。
+        Args:
+            other ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            [\`Point3\`](./point#class-point3): 交点
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
+        """
+    if self.normal @ other.direction == 0:
+        raise ValueError('The plane and the line are parallel or coincident.')
+    x, y, z = other.get_parametric_equations()
+    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    """
+        计算平行于该平面且过指定点的平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 指定点
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否平行。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

戻り値: Vector3: 法向量

ソースコード または GitHubで表示
python
@property
+def normal(self) -> 'Vector3':
+    """
+        平面的法向量。
+        Returns:
+            [\`Vector3\`](./vector#class-vector3): 法向量
+        """
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
@classmethod
+def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
+    """
+        工厂函数 由点和法向量构造平面(点法式构造)。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    a, b, c = (normal.x, normal.y, normal.z)
+    d = -a * point.x - b * point.y - c * point.z
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

引数:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
+def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
+    """
+        工厂函数 由三点构造平面。
+        Args:
+            p1 ([\`Point3\`](./point#class-point3)): 点1
+            p2 (\`Point3\`): 点2
+            p3 (\`Point3\`): 点3
+        Returns:
+            平面
+        """
+    v1 = p2 - p1
+    v2 = p3 - p1
+    normal = v1.cross(v2)
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

引数:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
+def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由两直线构造平面。
+        Args:
+            l1 ([\`Line3\`](./line#class-line3)): 直线
+            l2 (\`Line3\`): 直线
+        Returns:
+            平面
+        """
+    v1 = l1.direction
+    v2 = l2.point - l1.point
+    if v2 == zero_vector3:
+        v2 = l2.get_point(1) - l1.point
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

引数:

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
+def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由点和直线构造平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            line ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            平面
+        """
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

ソースコード または GitHubで表示
python
@overload
+def __and__(self, other: 'Line3') -> 'Point3 | None':
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

ソースコード または GitHubで表示
python
@overload
+def __and__(self, other: 'Plane3') -> 'Line3 | None':
+    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

引数:

戻り値: Line3 | Point3 | None: 交集

例外:

ソースコード または GitHubで表示
python
def __and__(self, other):
+    """
+        取两平面的交集(人话:交线)
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        if self.normal.is_parallel(other.normal):
+            return None
+        return self.cal_intersection_line3(other)
+    elif isinstance(other, Line3):
+        if self.normal @ other.direction == 0:
+            return None
+        return self.cal_intersection_point3(other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否等价

ソースコード または GitHubで表示
python
def __eq__(self, other) -> bool:
+    """
+        判断两个平面是否等价。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
+        """
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

ソースコード または GitHubで表示
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.cal_intersection_point3(other)
`,81);function ws(Hs,Ls,As,Ds,vs,Ms){return i(),a("div",null,[h,s("div",p,[k,r,s("mjx-container",o,[(i(),a("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(i(),a("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(i(),a("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(i(),a("svg",L,D)),v]),s("p",null,[n("其中 "),s("mjx-container",M,[(i(),a("svg",V,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(i(),a("svg",j,z)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(i(),a("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",as,[(i(),a("svg",is,ns)),ls]),n(", "),s("mjx-container",es,[(i(),a("svg",hs,ks)),rs]),n(", "),s("mjx-container",os,[(i(),a("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(i(),a("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(i(),a("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/ja_api_mp_math_plane.md.DmM6KUUe.lean.js b/assets/ja_api_mp_math_plane.md.DmM6KUUe.lean.js new file mode 100644 index 0000000..5ca44cf --- /dev/null +++ b/assets/ja_api_mp_math_plane.md.DmM6KUUe.lean.js @@ -0,0 +1 @@ +import{_ as l,c as a,j as s,a as n,a4 as t,o as i}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/plane.md","filePath":"ja/api/mp_math/plane.md"}'),e={name:"ja/api/mp_math/plane.md"},h=t("",16),p={class:"tip custom-block"},k=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t("",1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t("",1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t("",1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},L={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},A=t("",1),D=[A],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),M={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},j={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},R=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),z=[R],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t("",16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t("",1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},as={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},is={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t("",1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t("",1),ks=[ps],rs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t("",1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t("",1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t("",1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t("",81);function ws(Hs,Ls,As,Ds,vs,Ms){return i(),a("div",null,[h,s("div",p,[k,r,s("mjx-container",o,[(i(),a("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(i(),a("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(i(),a("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(i(),a("svg",L,D)),v]),s("p",null,[n("其中 "),s("mjx-container",M,[(i(),a("svg",V,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(i(),a("svg",j,z)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(i(),a("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",as,[(i(),a("svg",is,ns)),ls]),n(", "),s("mjx-container",es,[(i(),a("svg",hs,ks)),rs]),n(", "),s("mjx-container",os,[(i(),a("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(i(),a("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(i(),a("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/ja_api_mp_math_vector.md.D_iXI2nw.js b/assets/ja_api_mp_math_vector.md.D_iXI2nw.js deleted file mode 100644 index f09c44b..0000000 --- a/assets/ja_api_mp_math_vector.md.D_iXI2nw.js +++ /dev/null @@ -1,197 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/vector.md","filePath":"ja/api/mp_math/vector.md"}'),n={name:"ja/api/mp_math/vector.md"},e=t(`

モジュール mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

説明: 3维向量

引数:

  • x (float): x轴分量
  • y (float): y轴分量
  • z (float): z轴分量
ソースコード または GitHubで表示
python
def __init__(self, x: float, y: float, z: float):
-    """
-        3维向量
-        Args:
-            x ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量
-            y (\`float\`): y轴分量
-            z (\`float\`): z轴分量
-        """
-    self.x = x
-    self.y = y
-    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似相等。

引数:

戻り値: bool: 是否近似相等

ソースコード または GitHubで表示
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

引数:

戻り値: AnyAngle: 夹角

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
-    """
-        计算两个向量之间的夹角。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

引数:

戻り値: Vector3: 叉乘结果

ソースコード または GitHubで表示
python
def cross(self, other: 'Vector3') -> 'Vector3':
-    """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        \`\`i  j  k\`\`
-
-        \`\`x1 y1 z1\`\`
-
-        \`\`x2 y2 z2\`\`
-
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`Vector3\`](#class-vector3): 叉乘结果
-        """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

引数:

戻り値: bool: 是否近似平行

ソースコード または GitHubで表示
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
-        """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

引数:

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Vector3') -> bool:
-    """
-        判断两个向量是否平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

ソースコード または GitHubで表示
python
def normalize(self):
-    """
-        将向量归一化。
-
-        自体归一化,不返回值。
-        """
-    length = self.length
-    self.x /= length
-    self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

戻り値: np.ndarray: numpy数组

ソースコード または GitHubで表示
python
@property
-def np_array(self) -> 'np.ndarray':
-    """
-        返回numpy数组
-        Returns:
-            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
-        """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

戻り値: float: 模

ソースコード または GitHubで表示
python
@property
-def length(self) -> float:
-    """
-        向量的模。
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
-        """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

戻り値: Vector3: 单位向量

ソースコード または GitHubで表示
python
@property
-def unit(self) -> 'Vector3':
-    """
-        获取该向量的单位向量。
-        Returns:
-            [\`Vector3\`](#class-vector3): 单位向量
-        """
-    return self / self.length

method __abs__(self)

ソースコード または GitHubで表示
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
-def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
-def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

説明: V + P -> P

V + V -> V

引数:

戻り値: Vector3 | Point3: 新的向量或点

ソースコード または GitHubで表示
python
def __add__(self, other):
-    """
-        V + P -> P
-
-        V + V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

引数:

戻り値: bool: 是否相等

ソースコード または GitHubで表示
python
def __eq__(self, other):
-    """
-        判断两个向量是否相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
-        """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __radd__(self, other: 'Point3') -> 'Point3':
-    """
-        P + V -> P
-
-        别去点那边实现了。
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
-def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
-def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

説明: V - P -> P

V - V -> V

引数:

戻り値: Vector3 | Point3: 新的向量

ソースコード または GitHubで表示
python
def __sub__(self, other):
-    """
-        V - P -> P
-
-        V - V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
-    else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __rsub__(self, other: 'Point3'):
-    """
-        P - V -> P
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    if isinstance(other, Point3):
-        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
-def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
@overload
-def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

引数:

戻り値: Vector3: 数组运算结果

ソースコード または GitHubで表示
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
-    """
-        数组运算 非点乘。点乘使用@,叉乘使用cross。
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
-        Returns:
-            [\`Vector3\`](#class-vector): 数组运算结果
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
-    elif isinstance(other, (float, int)):
-        return Vector3(self.x * other, self.y * other, self.z * other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

引数:

戻り値: float: 点乘结果

ソースコード または GitHubで表示
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
-    """
-        点乘。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
-        """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

戻り値: Vector3: 负向量

ソースコード または GitHubで表示
python
def __neg__(self) -> 'Vector3':
-    """
-        取负。
-        Returns:
-            [\`Vector3\`](#class-vector3): 负向量
-        """
-    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • 説明: 零向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 0, 0)

var x_axis

  • 説明: x轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(1, 0, 0)

var y_axis

  • 説明: y轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 1, 0)

var z_axis

  • 説明: z轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 0, 1)

`,138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/ja_api_mp_math_vector.md.D_iXI2nw.lean.js b/assets/ja_api_mp_math_vector.md.D_iXI2nw.lean.js deleted file mode 100644 index 3b9776f..0000000 --- a/assets/ja_api_mp_math_vector.md.D_iXI2nw.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/vector.md","filePath":"ja/api/mp_math/vector.md"}'),n={name:"ja/api/mp_math/vector.md"},e=t("",138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/ja_api_mp_math_vector.md.DuAJ8ZJo.js b/assets/ja_api_mp_math_vector.md.DuAJ8ZJo.js new file mode 100644 index 0000000..f7cb615 --- /dev/null +++ b/assets/ja_api_mp_math_vector.md.DuAJ8ZJo.js @@ -0,0 +1,176 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/vector.md","filePath":"ja/api/mp_math/vector.md"}'),l={name:"ja/api/mp_math/vector.md"},e=a('

モジュール mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

説明: 3维向量

引数:

  • x (float): x轴分量
  • y (float): y轴分量
  • z (float): z轴分量
ソースコード または GitHubで表示
python
def __init__(self, x: float, y: float, z: float):\n    """\n        3维向量\n        Args:\n            x ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量\n            y (`float`): y轴分量\n            z (`float`): z轴分量\n        """\n    self.x = x\n    self.y = y\n    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似相等。

引数:

戻り値: bool: 是否近似相等

ソースコード または GitHubで表示
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:\n    """\n        判断两个向量是否近似相等。\n        Args:\n            other ([`Vector3`](#class-vector3)): 另一个向量\n            epsilon ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): 误差\n\n        Returns:\n            [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等\n        """\n    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

',16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a('',1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a(`

引数:

戻り値: AnyAngle: 夹角

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    """
+        计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{v1 \\\\cdot v2}{|v1| \\\\cdot |v2|})$$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        """
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 x v2 -> v3

`,6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a('',1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a('',1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a(`

引数:

戻り値: Vector3: 叉乘结果

ソースコード または GitHubで表示
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    """
+        向量积 叉乘:v1 x v2 -> v3
+
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\\\times v2 = (v1_y \\\\cdot v2_z - v1_z \\\\cdot v2_y, v1_z \\\\cdot v2_x - v1_x \\\\cdot v2_z, v1_x \\\\cdot v2_y - v1_y \\\\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\\\times v2 = \\\\begin{vmatrix} i & j & k \\\\\\\\ v1_x & v1_y & v1_z \\\\\\\\ v2_x & v2_y & v2_z \\\\end{vmatrix} $$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`Vector3\`](#class-vector3): 叉乘结果
+        """
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

引数:

戻り値: bool: 是否近似平行

ソースコード または GitHubで表示
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    """
+        判断两个向量是否近似平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
+        """
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

引数:

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Vector3') -> bool:
+    """
+        判断两个向量是否平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

ソースコード または GitHubで表示
python
def normalize(self):
+    """
+        将向量归一化。
+
+        自体归一化,不返回值。
+        """
+    length = self.length
+    self.x /= length
+    self.y /= length
+    self.z /= length

@property

method np_array(self) -> np.ndarray

戻り値: np.ndarray: numpy数组

ソースコード または GitHubで表示
python
@property
+def np_array(self) -> 'np.ndarray':
+    """
+        返回numpy数组
+        Returns:
+            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
+        """
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

戻り値: float: 模

ソースコード または GitHubで表示
python
@property
+def length(self) -> float:
+    """
+        向量的模。
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
+        """
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

戻り値: Vector3: 单位向量

ソースコード または GitHubで表示
python
@property
+def unit(self) -> 'Vector3':
+    """
+        获取该向量的单位向量。
+        Returns:
+            [\`Vector3\`](#class-vector3): 单位向量
+        """
+    return self / self.length

method __abs__(self)

ソースコード または GitHubで表示
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
+def __add__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self + other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
+def __add__(self, other: 'Point3') -> 'Point3':
+    ...

method self + other

説明: V + P -> P

V + V -> V

引数:

戻り値: Vector3 | Point3: 新的向量或点

ソースコード または GitHubで表示
python
def __add__(self, other):
+    """
+        V + P -> P
+
+        V + V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

引数:

戻り値: bool: 是否相等

ソースコード または GitHubで表示
python
def __eq__(self, other):
+    """
+        判断两个向量是否相等。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
+        """
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    """
+        P + V -> P
+
+        别去点那边实现了。
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
+def __sub__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self - other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
+def __sub__(self, other: 'Point3') -> 'Point3':
+    ...

method self - other

説明: V - P -> P

V - V -> V

引数:

戻り値: Vector3 | Point3: 新的向量

ソースコード または GitHubで表示
python
def __sub__(self, other):
+    """
+        V - P -> P
+
+        V - V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
+    else:
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __rsub__(self, other: 'Point3'):
+    """
+        P - V -> P
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    if isinstance(other, Point3):
+        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
+def __mul__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
@overload
+def __mul__(self, other: RealNumber) -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

引数:

戻り値: Vector3: 数组运算结果

ソースコード または GitHubで表示
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    """
+        数组运算 非点乘。点乘使用@,叉乘使用cross。
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
+        Returns:
+            [\`Vector3\`](#class-vector): 数组运算结果
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
+    elif isinstance(other, (float, int)):
+        return Vector3(self.x * other, self.y * other, self.z * other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

引数:

戻り値: float: 点乘结果

ソースコード または GitHubで表示
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+    """
+        点乘。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
+        """
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

戻り値: Vector3: 负向量

ソースコード または GitHubで表示
python
def __neg__(self) -> 'Vector3':
+    """
+        取负。
+        Returns:
+            [\`Vector3\`](#class-vector3): 负向量
+        """
+    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • 説明: 零向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 0, 0)

var x_axis

  • 説明: x轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(1, 0, 0)

var y_axis

  • 説明: y轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 1, 0)

var z_axis

  • 説明: z轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 0, 1)

`,115);function q(D,A,w,L,M,P){return t(),i("div",null,[e,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(l,[["render",q]]);export{z as __pageData,R as default}; diff --git a/assets/ja_api_mp_math_vector.md.DuAJ8ZJo.lean.js b/assets/ja_api_mp_math_vector.md.DuAJ8ZJo.lean.js new file mode 100644 index 0000000..da15d09 --- /dev/null +++ b/assets/ja_api_mp_math_vector.md.DuAJ8ZJo.lean.js @@ -0,0 +1 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"ja/api/mp_math/vector.md","filePath":"ja/api/mp_math/vector.md"}'),l={name:"ja/api/mp_math/vector.md"},e=a("",16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a("",1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a("",6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a("",1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a("",1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a("",115);function q(D,A,w,L,M,P){return t(),i("div",null,[e,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(l,[["render",q]]);export{z as __pageData,R as default}; diff --git a/assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.js b/assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.js new file mode 100644 index 0000000..cf51b74 --- /dev/null +++ b/assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,j as e,a as n}from"./chunks/framework.DpC1ZpOZ.js";const x=JSON.parse('{"title":"微分方程","description":"","frontmatter":{"title":"微分方程"},"headers":[],"relativePath":"refer/7-differential-euqtion/index.md","filePath":"zh/refer/7-differential-euqtion/index.md","lastUpdated":1725608536000}'),i={name:"refer/7-differential-euqtion/index.md"},o=e("h1",{id:"微分方程",tabindex:"-1"},[n("微分方程 "),e("a",{class:"header-anchor",href:"#微分方程","aria-label":'Permalink to "微分方程"'},"​")],-1),d=[o];function s(c,f,l,_,p,h){return r(),a("div",null,d)}const u=t(i,[["render",s]]);export{x as __pageData,u as default}; diff --git a/assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.lean.js b/assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.lean.js new file mode 100644 index 0000000..cf51b74 --- /dev/null +++ b/assets/refer_7-differential-euqtion_index.md.Dd2-7I9S.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,j as e,a as n}from"./chunks/framework.DpC1ZpOZ.js";const x=JSON.parse('{"title":"微分方程","description":"","frontmatter":{"title":"微分方程"},"headers":[],"relativePath":"refer/7-differential-euqtion/index.md","filePath":"zh/refer/7-differential-euqtion/index.md","lastUpdated":1725608536000}'),i={name:"refer/7-differential-euqtion/index.md"},o=e("h1",{id:"微分方程",tabindex:"-1"},[n("微分方程 "),e("a",{class:"header-anchor",href:"#微分方程","aria-label":'Permalink to "微分方程"'},"​")],-1),d=[o];function s(c,f,l,_,p,h){return r(),a("div",null,d)}const u=t(i,[["render",s]]);export{x as __pageData,u as default}; diff --git a/assets/style.Bh0M9mVm.css b/assets/style.Bh0M9mVm.css deleted file mode 100644 index 2527c8f..0000000 --- a/assets/style.Bh0M9mVm.css +++ /dev/null @@ -1 +0,0 @@ -:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-daa1937f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-daa1937f],.VPBackdrop.fade-leave-to[data-v-daa1937f]{opacity:0}.VPBackdrop.fade-leave-active[data-v-daa1937f]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-daa1937f]{display:none}}.NotFound[data-v-2aa14331]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-2aa14331]{padding:96px 32px 168px}}.code[data-v-2aa14331]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-2aa14331]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-2aa14331]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-2aa14331]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-2aa14331]{padding-top:20px}.link[data-v-2aa14331]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-2aa14331]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b9c884bb]{position:relative;z-index:1}.nested[data-v-b9c884bb]{padding-right:16px;padding-left:16px}.outline-link[data-v-b9c884bb]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-b9c884bb]:hover,.outline-link.active[data-v-b9c884bb]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b9c884bb]{padding-left:13px}.VPDocAsideOutline[data-v-d34649dc]{display:none}.VPDocAsideOutline.has-outline[data-v-d34649dc]{display:block}.content[data-v-d34649dc]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-d34649dc]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-d34649dc]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-8951c20f]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-8951c20f]{flex-grow:1}.VPDocAside[data-v-8951c20f] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-8951c20f] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-8951c20f] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-19bf19fb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-19bf19fb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-28deee4a]{margin-top:64px}.edit-info[data-v-28deee4a]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-28deee4a]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-28deee4a]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-28deee4a]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-28deee4a]{margin-right:8px}.prev-next[data-v-28deee4a]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-28deee4a]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-28deee4a]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-28deee4a]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-28deee4a]{margin-left:auto;text-align:right}.desc[data-v-28deee4a]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-28deee4a]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-01c90815]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-01c90815]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-01c90815]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-01c90815]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-01c90815]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-01c90815]{display:flex;justify-content:center}.VPDoc .aside[data-v-01c90815]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-01c90815]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-01c90815]{max-width:1104px}}.container[data-v-01c90815]{margin:0 auto;width:100%}.aside[data-v-01c90815]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-01c90815]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-01c90815]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-01c90815]::-webkit-scrollbar{display:none}.aside-curtain[data-v-01c90815]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-01c90815]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-01c90815]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-01c90815]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-01c90815]{order:1;margin:0;min-width:640px}}.content-container[data-v-01c90815]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-01c90815]{max-width:688px}.VPButton[data-v-f549f0f3]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-f549f0f3]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-f549f0f3]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-f549f0f3]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-f549f0f3]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-f549f0f3]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-f549f0f3]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-f549f0f3]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-f549f0f3]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-f549f0f3]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-f549f0f3]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-f549f0f3]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-f549f0f3]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-cc63e071]{display:none}.dark .VPImage.light[data-v-cc63e071]{display:none}.VPHero[data-v-e302b8ce]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-e302b8ce]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-e302b8ce]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-e302b8ce]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-e302b8ce]{flex-direction:row}}.main[data-v-e302b8ce]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-e302b8ce]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-e302b8ce]{text-align:left}}@media (min-width: 960px){.main[data-v-e302b8ce]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-e302b8ce]{max-width:592px}}.name[data-v-e302b8ce],.text[data-v-e302b8ce]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-e302b8ce],.VPHero.has-image .text[data-v-e302b8ce]{margin:0 auto}.name[data-v-e302b8ce]{color:var(--vp-home-hero-name-color)}.clip[data-v-e302b8ce]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-e302b8ce],.text[data-v-e302b8ce]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-e302b8ce],.text[data-v-e302b8ce]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-e302b8ce],.VPHero.has-image .text[data-v-e302b8ce]{margin:0}}.tagline[data-v-e302b8ce]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-e302b8ce]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-e302b8ce]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-e302b8ce]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-e302b8ce]{margin:0}}.actions[data-v-e302b8ce]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-e302b8ce]{justify-content:center}@media (min-width: 640px){.actions[data-v-e302b8ce]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-e302b8ce]{justify-content:flex-start}}.action[data-v-e302b8ce]{flex-shrink:0;padding:6px}.image[data-v-e302b8ce]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-e302b8ce]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-e302b8ce]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-e302b8ce]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-e302b8ce]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-e302b8ce]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-e302b8ce]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-e302b8ce]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-e302b8ce]{width:320px;height:320px}}[data-v-e302b8ce] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-e302b8ce] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-e302b8ce] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f77e80b4]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f77e80b4]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f77e80b4]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f77e80b4]>.VPImage{margin-bottom:20px}.icon[data-v-f77e80b4]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f77e80b4]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f77e80b4]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f77e80b4]{padding-top:8px}.link-text-value[data-v-f77e80b4]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f77e80b4]{margin-left:6px}.VPFeatures[data-v-8e833103]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-8e833103]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-8e833103]{padding:0 64px}}.container[data-v-8e833103]{margin:0 auto;max-width:1152px}.items[data-v-8e833103]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-8e833103]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-8e833103],.item.grid-4[data-v-8e833103],.item.grid-6[data-v-8e833103]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-8e833103],.item.grid-4[data-v-8e833103]{width:50%}.item.grid-3[data-v-8e833103],.item.grid-6[data-v-8e833103]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-8e833103]{width:25%}}.container[data-v-90605523]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-90605523]{padding:0 48px}}@media (min-width: 960px){.container[data-v-90605523]{width:100%;padding:0 64px}}.vp-doc[data-v-90605523] .VPHomeSponsors,.vp-doc[data-v-90605523] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-90605523] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-90605523] .VPHomeSponsors a,.vp-doc[data-v-90605523] .VPTeamPage a{text-decoration:none}.VPHome[data-v-55977d12]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-55977d12]{margin-bottom:128px}}.VPContent[data-v-fc04087f]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-fc04087f]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-fc04087f]{margin:0}@media (min-width: 960px){.VPContent[data-v-fc04087f]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-fc04087f]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-fc04087f]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-d69bcf5d]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-d69bcf5d]{display:none}.VPFooter[data-v-d69bcf5d] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-d69bcf5d] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-d69bcf5d]{padding:32px}}.container[data-v-d69bcf5d]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-d69bcf5d],.copyright[data-v-d69bcf5d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-9dd5e197]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-9dd5e197]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-9dd5e197]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-9dd5e197]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-9dd5e197]{color:var(--vp-c-text-1)}.icon[data-v-9dd5e197]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-9dd5e197]{font-size:14px}.icon[data-v-9dd5e197]{font-size:16px}}.open>.icon[data-v-9dd5e197]{transform:rotate(90deg)}.items[data-v-9dd5e197]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-9dd5e197]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-9dd5e197]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-9dd5e197]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-9dd5e197]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-9dd5e197]{transition:all .2s ease-out}.flyout-leave-active[data-v-9dd5e197]{transition:all .15s ease-in}.flyout-enter-from[data-v-9dd5e197],.flyout-leave-to[data-v-9dd5e197]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9c649187]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9c649187]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-9c649187]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-9c649187]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-9c649187]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-9c649187]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-9c649187]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-9c649187]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-9c649187]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9c649187]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9c649187]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-9c649187]{display:none}}.menu-icon[data-v-9c649187]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-9c649187]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9c649187]{padding:12px 32px 11px}}.VPSwitch[data-v-846fe538]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-846fe538]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-846fe538]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-846fe538]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-846fe538] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-846fe538] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-3125216b]{opacity:1}.moon[data-v-3125216b],.dark .sun[data-v-3125216b]{opacity:0}.dark .moon[data-v-3125216b]{opacity:1}.dark .VPSwitchAppearance[data-v-3125216b] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-864d2abc]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-864d2abc]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-25a54821]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-25a54821]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-25a54821]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-25a54821]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-4dd03e28]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-4dd03e28]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-4dd03e28]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-4dd03e28]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-809b8af7]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-809b8af7] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-809b8af7] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-809b8af7] .group:last-child{padding-bottom:0}.VPMenu[data-v-809b8af7] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-809b8af7] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-809b8af7] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-809b8af7] .action{padding-left:24px}.VPFlyout[data-v-00660109]{position:relative}.VPFlyout[data-v-00660109]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-00660109]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-00660109]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-00660109]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-00660109]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-00660109],.button[aria-expanded=true]+.menu[data-v-00660109]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-00660109]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-00660109]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-00660109]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-00660109]{margin-right:0;font-size:16px}.text-icon[data-v-00660109]{margin-left:4px;font-size:14px}.icon[data-v-00660109]{font-size:20px;transition:fill .25s}.menu[data-v-00660109]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-15a5c40e]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-15a5c40e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-15a5c40e]>svg,.VPSocialLink[data-v-15a5c40e]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-100434c4]{display:flex;justify-content:center}.VPNavBarExtra[data-v-60cefd62]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-60cefd62]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-60cefd62]{display:none}}.trans-title[data-v-60cefd62]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-60cefd62],.item.social-links[data-v-60cefd62]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-60cefd62]{min-width:176px}.appearance-action[data-v-60cefd62]{margin-right:-2px}.social-links-list[data-v-60cefd62]{margin:-4px -8px}.VPNavBarHamburger[data-v-e047a1f2]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e047a1f2]{display:none}}.container[data-v-e047a1f2]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e047a1f2]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e047a1f2]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e047a1f2]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e047a1f2]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e047a1f2]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e047a1f2]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e047a1f2],.VPNavBarHamburger.active:hover .middle[data-v-e047a1f2],.VPNavBarHamburger.active:hover .bottom[data-v-e047a1f2]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e047a1f2],.middle[data-v-e047a1f2],.bottom[data-v-e047a1f2]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e047a1f2]{top:0;left:0;transform:translate(0)}.middle[data-v-e047a1f2]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e047a1f2]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-9a0da802]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-9a0da802],.VPNavBarMenuLink[data-v-9a0da802]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-bf53b681]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-bf53b681]{display:flex}}/*! @docsearch/css 3.6.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-2c606308]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-2c606308]{display:flex;align-items:center}}.title[data-v-606a7e0f]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-606a7e0f]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-606a7e0f]{border-bottom-color:var(--vp-c-divider)}}[data-v-606a7e0f] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-912817b1]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-912817b1]{display:flex;align-items:center}}.title[data-v-912817b1]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-da0688be]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-da0688be]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-da0688be]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-da0688be]:not(.home){background-color:transparent}.VPNavBar[data-v-da0688be]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-da0688be]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-da0688be]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-da0688be]{padding:0}}.container[data-v-da0688be]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-da0688be],.container>.content[data-v-da0688be]{pointer-events:none}.container[data-v-da0688be] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-da0688be]{max-width:100%}}.title[data-v-da0688be]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-da0688be]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-da0688be]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-da0688be]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-da0688be]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-da0688be]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-da0688be]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-da0688be]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-da0688be]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-da0688be]{column-gap:.5rem}}.menu+.translations[data-v-da0688be]:before,.menu+.appearance[data-v-da0688be]:before,.menu+.social-links[data-v-da0688be]:before,.translations+.appearance[data-v-da0688be]:before,.appearance+.social-links[data-v-da0688be]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-da0688be]:before,.translations+.appearance[data-v-da0688be]:before{margin-right:16px}.appearance+.social-links[data-v-da0688be]:before{margin-left:16px}.social-links[data-v-da0688be]{margin-right:-8px}.divider[data-v-da0688be]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-da0688be]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-da0688be]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-da0688be]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-da0688be]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-da0688be]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-da0688be]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-dfcc1536]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-dfcc1536]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-8cd41455]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-8cd41455]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-b8c7c580]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-b8c7c580]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-a3e7a51c]{display:block}.title[data-v-a3e7a51c]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-90f695a2]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-90f695a2]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-90f695a2]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-90f695a2]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-90f695a2]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-90f695a2]{transform:rotate(45deg)}.button[data-v-90f695a2]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-90f695a2]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-90f695a2]{transition:transform .25s}.group[data-v-90f695a2]:first-child{padding-top:0}.group+.group[data-v-90f695a2],.group+.item[data-v-90f695a2]{padding-top:4px}.VPNavScreenTranslations[data-v-95c61444]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-95c61444]{height:auto}.title[data-v-95c61444]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-95c61444]{font-size:16px}.icon.lang[data-v-95c61444]{margin-right:8px}.icon.chevron[data-v-95c61444]{margin-left:4px}.list[data-v-95c61444]{padding:4px 0 0 24px}.link[data-v-95c61444]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-c14c1e21]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-c14c1e21],.VPNavScreen.fade-leave-active[data-v-c14c1e21]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-c14c1e21],.VPNavScreen.fade-leave-active .container[data-v-c14c1e21]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-c14c1e21],.VPNavScreen.fade-leave-to[data-v-c14c1e21]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-c14c1e21],.VPNavScreen.fade-leave-to .container[data-v-c14c1e21]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-c14c1e21]{display:none}}.container[data-v-c14c1e21]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-c14c1e21],.menu+.appearance[data-v-c14c1e21],.translations+.appearance[data-v-c14c1e21]{margin-top:24px}.menu+.social-links[data-v-c14c1e21]{margin-top:16px}.appearance+.social-links[data-v-c14c1e21]{margin-top:16px}.VPNav[data-v-e823d444]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-e823d444]{position:fixed}}.VPSidebarItem.level-0[data-v-a9cdba99]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-a9cdba99]{padding-bottom:10px}.item[data-v-a9cdba99]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-a9cdba99]{cursor:pointer}.indicator[data-v-a9cdba99]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-a9cdba99],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-a9cdba99],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-a9cdba99],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-a9cdba99]{background-color:var(--vp-c-brand-1)}.link[data-v-a9cdba99]{display:flex;align-items:center;flex-grow:1}.text[data-v-a9cdba99]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-a9cdba99]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-a9cdba99],.VPSidebarItem.level-2 .text[data-v-a9cdba99],.VPSidebarItem.level-3 .text[data-v-a9cdba99],.VPSidebarItem.level-4 .text[data-v-a9cdba99],.VPSidebarItem.level-5 .text[data-v-a9cdba99]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-a9cdba99]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-1.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-2.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-3.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-4.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-5.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-a9cdba99]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-a9cdba99]{color:var(--vp-c-brand-1)}.caret[data-v-a9cdba99]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-a9cdba99]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-a9cdba99]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-a9cdba99]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-a9cdba99]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-a9cdba99],.VPSidebarItem.level-2 .items[data-v-a9cdba99],.VPSidebarItem.level-3 .items[data-v-a9cdba99],.VPSidebarItem.level-4 .items[data-v-a9cdba99],.VPSidebarItem.level-5 .items[data-v-a9cdba99]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-a9cdba99]{display:none}.no-transition[data-v-72c67ed4] .caret-icon{transition:none}.group+.group[data-v-72c67ed4]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-72c67ed4]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-59ceefa4]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-59ceefa4]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-59ceefa4]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-59ceefa4]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-59ceefa4]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-59ceefa4]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-59ceefa4]{outline:0}.VPSkipLink[data-v-e813112c]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-e813112c]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-e813112c]{top:14px;left:16px}}.Layout[data-v-3b4648ff]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-e06ca32a]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-e06ca32a]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-e06ca32a]{margin:128px 0}}.VPHomeSponsors[data-v-e06ca32a]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-e06ca32a]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-e06ca32a]{padding:0 64px}}.container[data-v-e06ca32a]{margin:0 auto;max-width:1152px}.love[data-v-e06ca32a]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-e06ca32a]{display:inline-block}.message[data-v-e06ca32a]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-e06ca32a]{padding-top:32px}.action[data-v-e06ca32a]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b1db0dbf]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-b1db0dbf]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-b1db0dbf-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-b1db0dbf-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1db0dbf-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b1db0dbf-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b1db0dbf-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b1db0dbf-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1db0dbf-s]{margin-top:96px}}.VPTeamMembers[data-v-b1db0dbf-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b1db0dbf-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b1db0dbf-s]{padding:0 64px}}.VPTeamPageTitle[data-v-67e2507a]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-67e2507a]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-67e2507a]{padding:80px 64px 48px}}.title[data-v-67e2507a]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-67e2507a]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-67e2507a]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-67e2507a]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-848babf0]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-848babf0]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-848babf0]{padding:0 64px}}.title[data-v-848babf0]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-848babf0]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-848babf0]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-848babf0]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-848babf0]{padding-top:40px}.VPTeamMembersItem[data-v-990ef11d]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-990ef11d]{padding:32px}.VPTeamMembersItem.small .data[data-v-990ef11d]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-990ef11d]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-990ef11d]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-990ef11d]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-990ef11d]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-990ef11d]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-990ef11d]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-990ef11d]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-990ef11d]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-990ef11d]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-990ef11d]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-990ef11d]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-990ef11d]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-990ef11d]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-990ef11d]{text-align:center}.avatar[data-v-990ef11d]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-990ef11d]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-990ef11d]{margin:0;font-weight:600}.affiliation[data-v-990ef11d]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-990ef11d]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-990ef11d]:hover{color:var(--vp-c-brand-1)}.desc[data-v-990ef11d]{margin:0 auto}.desc[data-v-990ef11d] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-990ef11d]{display:flex;justify-content:center;height:56px}.sp-link[data-v-990ef11d]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-990ef11d]:hover,.sp .sp-link.link[data-v-990ef11d]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-990ef11d]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-387893a3]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-387893a3]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-387893a3]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-387893a3]{max-width:876px}.VPTeamMembers.medium .container[data-v-387893a3]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-387893a3]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-387893a3]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-387893a3]{max-width:760px}.container[data-v-387893a3]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-font-family-base: "Poppins", "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: "Cousine", monospace}:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}.VPLocalSearchBox[data-v-6120c6bd]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-6120c6bd]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-6120c6bd]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-6120c6bd]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-6120c6bd]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-6120c6bd]{padding:0 8px}}.search-bar[data-v-6120c6bd]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-6120c6bd]{display:block;font-size:18px}.navigate-icon[data-v-6120c6bd]{display:block;font-size:14px}.search-icon[data-v-6120c6bd]{margin:8px}@media (max-width: 767px){.search-icon[data-v-6120c6bd]{display:none}}.search-input[data-v-6120c6bd]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-6120c6bd]{padding:6px 4px}}.search-actions[data-v-6120c6bd]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-6120c6bd]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-6120c6bd]{display:none}}.search-actions button[data-v-6120c6bd]{padding:8px}.search-actions button[data-v-6120c6bd]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-6120c6bd]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-6120c6bd]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-6120c6bd]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-6120c6bd]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-6120c6bd]{display:none}}.search-keyboard-shortcuts kbd[data-v-6120c6bd]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-6120c6bd]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-6120c6bd]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-6120c6bd]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-6120c6bd]{margin:8px}}.titles[data-v-6120c6bd]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-6120c6bd]{display:flex;align-items:center;gap:4px}.title.main[data-v-6120c6bd]{font-weight:500}.title-icon[data-v-6120c6bd]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-6120c6bd]{opacity:.5}.result.selected[data-v-6120c6bd]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-6120c6bd]{position:relative}.excerpt[data-v-6120c6bd]{opacity:50%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;margin-top:4px}.result.selected .excerpt[data-v-6120c6bd]{opacity:1}.excerpt[data-v-6120c6bd] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-6120c6bd] mark,.excerpt[data-v-6120c6bd] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-6120c6bd] .vp-code-group .tabs{display:none}.excerpt[data-v-6120c6bd] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-6120c6bd]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-6120c6bd]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-6120c6bd],.result.selected .title-icon[data-v-6120c6bd]{color:var(--vp-c-brand-1)!important}.no-results[data-v-6120c6bd]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-6120c6bd]{flex:none} diff --git a/assets/style.Czi07tLB.css b/assets/style.Czi07tLB.css new file mode 100644 index 0000000..a75a21f --- /dev/null +++ b/assets/style.Czi07tLB.css @@ -0,0 +1 @@ +:root{--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #bd34fe 30%, #41d1ff)}@media (min-width: 640px){:root{--vp-home-hero-image-filter: blur(56px)}}@media (min-width: 960px){:root{--vp-home-hero-image-filter: blur(68px)}}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-daa1937f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-daa1937f],.VPBackdrop.fade-leave-to[data-v-daa1937f]{opacity:0}.VPBackdrop.fade-leave-active[data-v-daa1937f]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-daa1937f]{display:none}}.NotFound[data-v-2aa14331]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-2aa14331]{padding:96px 32px 168px}}.code[data-v-2aa14331]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-2aa14331]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-2aa14331]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-2aa14331]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-2aa14331]{padding-top:20px}.link[data-v-2aa14331]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-2aa14331]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-b9c884bb]{position:relative;z-index:1}.nested[data-v-b9c884bb]{padding-right:16px;padding-left:16px}.outline-link[data-v-b9c884bb]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-b9c884bb]:hover,.outline-link.active[data-v-b9c884bb]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-b9c884bb]{padding-left:13px}.VPDocAsideOutline[data-v-d34649dc]{display:none}.VPDocAsideOutline.has-outline[data-v-d34649dc]{display:block}.content[data-v-d34649dc]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-d34649dc]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-d34649dc]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-8951c20f]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-8951c20f]{flex-grow:1}.VPDocAside[data-v-8951c20f] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-8951c20f] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-8951c20f] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-19bf19fb]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-19bf19fb]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-28deee4a]{margin-top:64px}.edit-info[data-v-28deee4a]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-28deee4a]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-28deee4a]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-28deee4a]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-28deee4a]{margin-right:8px}.prev-next[data-v-28deee4a]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-28deee4a]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-28deee4a]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-28deee4a]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-28deee4a]{margin-left:auto;text-align:right}.desc[data-v-28deee4a]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-28deee4a]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-01c90815]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-01c90815]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-01c90815]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-01c90815]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-01c90815]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-01c90815]{display:flex;justify-content:center}.VPDoc .aside[data-v-01c90815]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-01c90815]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-01c90815]{max-width:1104px}}.container[data-v-01c90815]{margin:0 auto;width:100%}.aside[data-v-01c90815]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-01c90815]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-01c90815]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-01c90815]::-webkit-scrollbar{display:none}.aside-curtain[data-v-01c90815]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-01c90815]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-01c90815]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-01c90815]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-01c90815]{order:1;margin:0;min-width:640px}}.content-container[data-v-01c90815]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-01c90815]{max-width:688px}.VPButton[data-v-f549f0f3]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-f549f0f3]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-f549f0f3]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-f549f0f3]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-f549f0f3]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-f549f0f3]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-f549f0f3]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-f549f0f3]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-f549f0f3]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-f549f0f3]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-f549f0f3]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-f549f0f3]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-f549f0f3]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-cc63e071]{display:none}.dark .VPImage.light[data-v-cc63e071]{display:none}.VPHero[data-v-e302b8ce]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-e302b8ce]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-e302b8ce]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-e302b8ce]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-e302b8ce]{flex-direction:row}}.main[data-v-e302b8ce]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-e302b8ce]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-e302b8ce]{text-align:left}}@media (min-width: 960px){.main[data-v-e302b8ce]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-e302b8ce]{max-width:592px}}.name[data-v-e302b8ce],.text[data-v-e302b8ce]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-e302b8ce],.VPHero.has-image .text[data-v-e302b8ce]{margin:0 auto}.name[data-v-e302b8ce]{color:var(--vp-home-hero-name-color)}.clip[data-v-e302b8ce]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-e302b8ce],.text[data-v-e302b8ce]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-e302b8ce],.text[data-v-e302b8ce]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-e302b8ce],.VPHero.has-image .text[data-v-e302b8ce]{margin:0}}.tagline[data-v-e302b8ce]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-e302b8ce]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-e302b8ce]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-e302b8ce]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-e302b8ce]{margin:0}}.actions[data-v-e302b8ce]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-e302b8ce]{justify-content:center}@media (min-width: 640px){.actions[data-v-e302b8ce]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-e302b8ce]{justify-content:flex-start}}.action[data-v-e302b8ce]{flex-shrink:0;padding:6px}.image[data-v-e302b8ce]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-e302b8ce]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-e302b8ce]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-e302b8ce]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-e302b8ce]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-e302b8ce]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-e302b8ce]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-e302b8ce]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-e302b8ce]{width:320px;height:320px}}[data-v-e302b8ce] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-e302b8ce] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-e302b8ce] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-f77e80b4]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-f77e80b4]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-f77e80b4]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-f77e80b4]>.VPImage{margin-bottom:20px}.icon[data-v-f77e80b4]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-f77e80b4]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-f77e80b4]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-f77e80b4]{padding-top:8px}.link-text-value[data-v-f77e80b4]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-f77e80b4]{margin-left:6px}.VPFeatures[data-v-8e833103]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-8e833103]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-8e833103]{padding:0 64px}}.container[data-v-8e833103]{margin:0 auto;max-width:1152px}.items[data-v-8e833103]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-8e833103]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-8e833103],.item.grid-4[data-v-8e833103],.item.grid-6[data-v-8e833103]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-8e833103],.item.grid-4[data-v-8e833103]{width:50%}.item.grid-3[data-v-8e833103],.item.grid-6[data-v-8e833103]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-8e833103]{width:25%}}.container[data-v-90605523]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-90605523]{padding:0 48px}}@media (min-width: 960px){.container[data-v-90605523]{width:100%;padding:0 64px}}.vp-doc[data-v-90605523] .VPHomeSponsors,.vp-doc[data-v-90605523] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-90605523] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-90605523] .VPHomeSponsors a,.vp-doc[data-v-90605523] .VPTeamPage a{text-decoration:none}.VPHome[data-v-55977d12]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-55977d12]{margin-bottom:128px}}.VPContent[data-v-fc04087f]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-fc04087f]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-fc04087f]{margin:0}@media (min-width: 960px){.VPContent[data-v-fc04087f]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-fc04087f]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-fc04087f]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-d69bcf5d]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-d69bcf5d]{display:none}.VPFooter[data-v-d69bcf5d] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-d69bcf5d] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-d69bcf5d]{padding:32px}}.container[data-v-d69bcf5d]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-d69bcf5d],.copyright[data-v-d69bcf5d]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-9dd5e197]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-9dd5e197]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-9dd5e197]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-9dd5e197]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-9dd5e197]{color:var(--vp-c-text-1)}.icon[data-v-9dd5e197]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-9dd5e197]{font-size:14px}.icon[data-v-9dd5e197]{font-size:16px}}.open>.icon[data-v-9dd5e197]{transform:rotate(90deg)}.items[data-v-9dd5e197]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-9dd5e197]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-9dd5e197]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-9dd5e197]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-9dd5e197]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-9dd5e197]{transition:all .2s ease-out}.flyout-leave-active[data-v-9dd5e197]{transition:all .15s ease-in}.flyout-enter-from[data-v-9dd5e197],.flyout-leave-to[data-v-9dd5e197]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9c649187]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9c649187]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-9c649187]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-9c649187]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-9c649187]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-9c649187]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-9c649187]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-9c649187]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-9c649187]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9c649187]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9c649187]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-9c649187]{display:none}}.menu-icon[data-v-9c649187]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-9c649187]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9c649187]{padding:12px 32px 11px}}.VPSwitch[data-v-846fe538]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-846fe538]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-846fe538]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-846fe538]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-846fe538] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-846fe538] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-3125216b]{opacity:1}.moon[data-v-3125216b],.dark .sun[data-v-3125216b]{opacity:0}.dark .moon[data-v-3125216b]{opacity:1}.dark .VPSwitchAppearance[data-v-3125216b] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-864d2abc]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-864d2abc]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-25a54821]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-25a54821]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-25a54821]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-25a54821]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-4dd03e28]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-4dd03e28]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-4dd03e28]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-4dd03e28]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-809b8af7]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-809b8af7] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-809b8af7] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-809b8af7] .group:last-child{padding-bottom:0}.VPMenu[data-v-809b8af7] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-809b8af7] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-809b8af7] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-809b8af7] .action{padding-left:24px}.VPFlyout[data-v-00660109]{position:relative}.VPFlyout[data-v-00660109]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-00660109]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-00660109]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-00660109]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-00660109]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-00660109],.button[aria-expanded=true]+.menu[data-v-00660109]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-00660109]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-00660109]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-00660109]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-00660109]{margin-right:0;font-size:16px}.text-icon[data-v-00660109]{margin-left:4px;font-size:14px}.icon[data-v-00660109]{font-size:20px;transition:fill .25s}.menu[data-v-00660109]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-15a5c40e]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-15a5c40e]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-15a5c40e]>svg,.VPSocialLink[data-v-15a5c40e]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-100434c4]{display:flex;justify-content:center}.VPNavBarExtra[data-v-60cefd62]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-60cefd62]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-60cefd62]{display:none}}.trans-title[data-v-60cefd62]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-60cefd62],.item.social-links[data-v-60cefd62]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-60cefd62]{min-width:176px}.appearance-action[data-v-60cefd62]{margin-right:-2px}.social-links-list[data-v-60cefd62]{margin:-4px -8px}.VPNavBarHamburger[data-v-e047a1f2]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-e047a1f2]{display:none}}.container[data-v-e047a1f2]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-e047a1f2]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-e047a1f2]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-e047a1f2]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-e047a1f2]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-e047a1f2]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-e047a1f2]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-e047a1f2],.VPNavBarHamburger.active:hover .middle[data-v-e047a1f2],.VPNavBarHamburger.active:hover .bottom[data-v-e047a1f2]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-e047a1f2],.middle[data-v-e047a1f2],.bottom[data-v-e047a1f2]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-e047a1f2]{top:0;left:0;transform:translate(0)}.middle[data-v-e047a1f2]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-e047a1f2]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-9a0da802]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-9a0da802],.VPNavBarMenuLink[data-v-9a0da802]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-bf53b681]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-bf53b681]{display:flex}}/*! @docsearch/css 3.6.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-2c606308]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-2c606308]{display:flex;align-items:center}}.title[data-v-606a7e0f]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-606a7e0f]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-606a7e0f]{border-bottom-color:var(--vp-c-divider)}}[data-v-606a7e0f] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-912817b1]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-912817b1]{display:flex;align-items:center}}.title[data-v-912817b1]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-da0688be]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-da0688be]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-da0688be]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-da0688be]:not(.home){background-color:transparent}.VPNavBar[data-v-da0688be]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-da0688be]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-da0688be]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-da0688be]{padding:0}}.container[data-v-da0688be]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-da0688be],.container>.content[data-v-da0688be]{pointer-events:none}.container[data-v-da0688be] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-da0688be]{max-width:100%}}.title[data-v-da0688be]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-da0688be]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-da0688be]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-da0688be]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-da0688be]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-da0688be]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-da0688be]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-da0688be]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-da0688be]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-da0688be]{column-gap:.5rem}}.menu+.translations[data-v-da0688be]:before,.menu+.appearance[data-v-da0688be]:before,.menu+.social-links[data-v-da0688be]:before,.translations+.appearance[data-v-da0688be]:before,.appearance+.social-links[data-v-da0688be]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-da0688be]:before,.translations+.appearance[data-v-da0688be]:before{margin-right:16px}.appearance+.social-links[data-v-da0688be]:before{margin-left:16px}.social-links[data-v-da0688be]{margin-right:-8px}.divider[data-v-da0688be]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-da0688be]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-da0688be]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-da0688be]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-da0688be]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-da0688be]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-da0688be]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-dfcc1536]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-dfcc1536]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-8cd41455]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-8cd41455]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-b8c7c580]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-b8c7c580]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-a3e7a51c]{display:block}.title[data-v-a3e7a51c]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-90f695a2]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-90f695a2]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-90f695a2]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-90f695a2]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-90f695a2]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-90f695a2]{transform:rotate(45deg)}.button[data-v-90f695a2]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-90f695a2]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-90f695a2]{transition:transform .25s}.group[data-v-90f695a2]:first-child{padding-top:0}.group+.group[data-v-90f695a2],.group+.item[data-v-90f695a2]{padding-top:4px}.VPNavScreenTranslations[data-v-95c61444]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-95c61444]{height:auto}.title[data-v-95c61444]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-95c61444]{font-size:16px}.icon.lang[data-v-95c61444]{margin-right:8px}.icon.chevron[data-v-95c61444]{margin-left:4px}.list[data-v-95c61444]{padding:4px 0 0 24px}.link[data-v-95c61444]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-c14c1e21]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-c14c1e21],.VPNavScreen.fade-leave-active[data-v-c14c1e21]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-c14c1e21],.VPNavScreen.fade-leave-active .container[data-v-c14c1e21]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-c14c1e21],.VPNavScreen.fade-leave-to[data-v-c14c1e21]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-c14c1e21],.VPNavScreen.fade-leave-to .container[data-v-c14c1e21]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-c14c1e21]{display:none}}.container[data-v-c14c1e21]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-c14c1e21],.menu+.appearance[data-v-c14c1e21],.translations+.appearance[data-v-c14c1e21]{margin-top:24px}.menu+.social-links[data-v-c14c1e21]{margin-top:16px}.appearance+.social-links[data-v-c14c1e21]{margin-top:16px}.VPNav[data-v-e823d444]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-e823d444]{position:fixed}}.VPSidebarItem.level-0[data-v-a9cdba99]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-a9cdba99]{padding-bottom:10px}.item[data-v-a9cdba99]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-a9cdba99]{cursor:pointer}.indicator[data-v-a9cdba99]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-a9cdba99],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-a9cdba99],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-a9cdba99],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-a9cdba99]{background-color:var(--vp-c-brand-1)}.link[data-v-a9cdba99]{display:flex;align-items:center;flex-grow:1}.text[data-v-a9cdba99]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-a9cdba99]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-a9cdba99],.VPSidebarItem.level-2 .text[data-v-a9cdba99],.VPSidebarItem.level-3 .text[data-v-a9cdba99],.VPSidebarItem.level-4 .text[data-v-a9cdba99],.VPSidebarItem.level-5 .text[data-v-a9cdba99]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-a9cdba99],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-a9cdba99]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-1.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-2.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-3.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-4.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-5.has-active>.item>.text[data-v-a9cdba99],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-a9cdba99],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-a9cdba99]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-a9cdba99],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-a9cdba99]{color:var(--vp-c-brand-1)}.caret[data-v-a9cdba99]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-a9cdba99]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-a9cdba99]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-a9cdba99]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-a9cdba99]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-a9cdba99],.VPSidebarItem.level-2 .items[data-v-a9cdba99],.VPSidebarItem.level-3 .items[data-v-a9cdba99],.VPSidebarItem.level-4 .items[data-v-a9cdba99],.VPSidebarItem.level-5 .items[data-v-a9cdba99]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-a9cdba99]{display:none}.no-transition[data-v-72c67ed4] .caret-icon{transition:none}.group+.group[data-v-72c67ed4]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-72c67ed4]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-59ceefa4]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-59ceefa4]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-59ceefa4]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-59ceefa4]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-59ceefa4]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-59ceefa4]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-59ceefa4]{outline:0}.VPSkipLink[data-v-e813112c]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-e813112c]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-e813112c]{top:14px;left:16px}}.Layout[data-v-3b4648ff]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-e06ca32a]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-e06ca32a]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-e06ca32a]{margin:128px 0}}.VPHomeSponsors[data-v-e06ca32a]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-e06ca32a]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-e06ca32a]{padding:0 64px}}.container[data-v-e06ca32a]{margin:0 auto;max-width:1152px}.love[data-v-e06ca32a]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-e06ca32a]{display:inline-block}.message[data-v-e06ca32a]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-e06ca32a]{padding-top:32px}.action[data-v-e06ca32a]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b1db0dbf]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-b1db0dbf]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-b1db0dbf-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-b1db0dbf-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1db0dbf-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b1db0dbf-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b1db0dbf-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b1db0dbf-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1db0dbf-s]{margin-top:96px}}.VPTeamMembers[data-v-b1db0dbf-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b1db0dbf-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b1db0dbf-s]{padding:0 64px}}.VPTeamPageTitle[data-v-67e2507a]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-67e2507a]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-67e2507a]{padding:80px 64px 48px}}.title[data-v-67e2507a]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-67e2507a]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-67e2507a]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-67e2507a]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-848babf0]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-848babf0]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-848babf0]{padding:0 64px}}.title[data-v-848babf0]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-848babf0]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-848babf0]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-848babf0]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-848babf0]{padding-top:40px}.VPTeamMembersItem[data-v-990ef11d]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-990ef11d]{padding:32px}.VPTeamMembersItem.small .data[data-v-990ef11d]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-990ef11d]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-990ef11d]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-990ef11d]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-990ef11d]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-990ef11d]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-990ef11d]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-990ef11d]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-990ef11d]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-990ef11d]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-990ef11d]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-990ef11d]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-990ef11d]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-990ef11d]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-990ef11d]{text-align:center}.avatar[data-v-990ef11d]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-990ef11d]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-990ef11d]{margin:0;font-weight:600}.affiliation[data-v-990ef11d]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-990ef11d]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-990ef11d]:hover{color:var(--vp-c-brand-1)}.desc[data-v-990ef11d]{margin:0 auto}.desc[data-v-990ef11d] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-990ef11d]{display:flex;justify-content:center;height:56px}.sp-link[data-v-990ef11d]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-990ef11d]:hover,.sp .sp-link.link[data-v-990ef11d]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-990ef11d]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-387893a3]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-387893a3]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-387893a3]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-387893a3]{max-width:876px}.VPTeamMembers.medium .container[data-v-387893a3]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-387893a3]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-387893a3]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-387893a3]{max-width:760px}.container[data-v-387893a3]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-font-family-base: "Poppins", "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: "Cousine", monospace}.VPLocalSearchBox[data-v-6120c6bd]{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex}.backdrop[data-v-6120c6bd]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--vp-backdrop-bg-color);transition:opacity .5s}.shell[data-v-6120c6bd]{position:relative;padding:12px;margin:64px auto;display:flex;flex-direction:column;gap:16px;background:var(--vp-local-search-bg);width:min(100vw - 60px,900px);height:min-content;max-height:min(100vh - 128px,900px);border-radius:6px}@media (max-width: 767px){.shell[data-v-6120c6bd]{margin:0;width:100vw;height:100vh;max-height:none;border-radius:0}}.search-bar[data-v-6120c6bd]{border:1px solid var(--vp-c-divider);border-radius:4px;display:flex;align-items:center;padding:0 12px;cursor:text}@media (max-width: 767px){.search-bar[data-v-6120c6bd]{padding:0 8px}}.search-bar[data-v-6120c6bd]:focus-within{border-color:var(--vp-c-brand-1)}.local-search-icon[data-v-6120c6bd]{display:block;font-size:18px}.navigate-icon[data-v-6120c6bd]{display:block;font-size:14px}.search-icon[data-v-6120c6bd]{margin:8px}@media (max-width: 767px){.search-icon[data-v-6120c6bd]{display:none}}.search-input[data-v-6120c6bd]{padding:6px 12px;font-size:inherit;width:100%}@media (max-width: 767px){.search-input[data-v-6120c6bd]{padding:6px 4px}}.search-actions[data-v-6120c6bd]{display:flex;gap:4px}@media (any-pointer: coarse){.search-actions[data-v-6120c6bd]{gap:8px}}@media (min-width: 769px){.search-actions.before[data-v-6120c6bd]{display:none}}.search-actions button[data-v-6120c6bd]{padding:8px}.search-actions button[data-v-6120c6bd]:not([disabled]):hover,.toggle-layout-button.detailed-list[data-v-6120c6bd]{color:var(--vp-c-brand-1)}.search-actions button.clear-button[data-v-6120c6bd]:disabled{opacity:.37}.search-keyboard-shortcuts[data-v-6120c6bd]{font-size:.8rem;opacity:75%;display:flex;flex-wrap:wrap;gap:16px;line-height:14px}.search-keyboard-shortcuts span[data-v-6120c6bd]{display:flex;align-items:center;gap:4px}@media (max-width: 767px){.search-keyboard-shortcuts[data-v-6120c6bd]{display:none}}.search-keyboard-shortcuts kbd[data-v-6120c6bd]{background:#8080801a;border-radius:4px;padding:3px 6px;min-width:24px;display:inline-block;text-align:center;vertical-align:middle;border:1px solid rgba(128,128,128,.15);box-shadow:0 2px 2px #0000001a}.results[data-v-6120c6bd]{display:flex;flex-direction:column;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.result[data-v-6120c6bd]{display:flex;align-items:center;gap:8px;border-radius:4px;transition:none;line-height:1rem;border:solid 2px var(--vp-local-search-result-border);outline:none}.result>div[data-v-6120c6bd]{margin:12px;width:100%;overflow:hidden}@media (max-width: 767px){.result>div[data-v-6120c6bd]{margin:8px}}.titles[data-v-6120c6bd]{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1001;padding:2px 0}.title[data-v-6120c6bd]{display:flex;align-items:center;gap:4px}.title.main[data-v-6120c6bd]{font-weight:500}.title-icon[data-v-6120c6bd]{opacity:.5;font-weight:500;color:var(--vp-c-brand-1)}.title svg[data-v-6120c6bd]{opacity:.5}.result.selected[data-v-6120c6bd]{--vp-local-search-result-bg: var(--vp-local-search-result-selected-bg);border-color:var(--vp-local-search-result-selected-border)}.excerpt-wrapper[data-v-6120c6bd]{position:relative}.excerpt[data-v-6120c6bd]{opacity:50%;pointer-events:none;max-height:140px;overflow:hidden;position:relative;margin-top:4px}.result.selected .excerpt[data-v-6120c6bd]{opacity:1}.excerpt[data-v-6120c6bd] *{font-size:.8rem!important;line-height:130%!important}.titles[data-v-6120c6bd] mark,.excerpt[data-v-6120c6bd] mark{background-color:var(--vp-local-search-highlight-bg);color:var(--vp-local-search-highlight-text);border-radius:2px;padding:0 2px}.excerpt[data-v-6120c6bd] .vp-code-group .tabs{display:none}.excerpt[data-v-6120c6bd] .vp-code-group div[class*=language-]{border-radius:8px!important}.excerpt-gradient-bottom[data-v-6120c6bd]{position:absolute;bottom:-1px;left:0;width:100%;height:8px;background:linear-gradient(transparent,var(--vp-local-search-result-bg));z-index:1000}.excerpt-gradient-top[data-v-6120c6bd]{position:absolute;top:-1px;left:0;width:100%;height:8px;background:linear-gradient(var(--vp-local-search-result-bg),transparent);z-index:1000}.result.selected .titles[data-v-6120c6bd],.result.selected .title-icon[data-v-6120c6bd]{color:var(--vp-c-brand-1)!important}.no-results[data-v-6120c6bd]{font-size:.9rem;text-align:center;padding:12px}svg[data-v-6120c6bd]{flex:none} diff --git a/assets/zht_api_mp_math_plane.md.C-9IgWh_.js b/assets/zht_api_mp_math_plane.md.C-9IgWh_.js deleted file mode 100644 index c6c9b3a..0000000 --- a/assets/zht_api_mp_math_plane.md.C-9IgWh_.js +++ /dev/null @@ -1,206 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/plane.md","filePath":"zht/api/mp_math/plane.md"}'),l={name:"zht/api/mp_math/plane.md"},t=n(`

模組 mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

説明: 平面方程:ax + by + cz + d = 0

變數説明:

  • a (float): x系数
  • b (float): y系数
  • c (float): z系数
  • d (float): 常数项
源碼於GitHub上查看
python
def __init__(self, a: float, b: float, c: float, d: float):
-    """
-        平面方程:ax + by + cz + d = 0
-        Args:
-            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
-            b (\`float\`): y系数
-            c (\`float\`): z系数
-            d (\`float\`): 常数项
-        """
-    self.a = a
-    self.b = b
-    self.c = c
-    self.d = d

method approx(self, other: Plane3) -> bool

説明: 判断两个平面是否近似相等。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否近似相等

源碼於GitHub上查看
python
def approx(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否近似相等。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    if self.a != 0:
-        k = other.a / self.a
-        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.b != 0:
-        k = other.b / self.b
-        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
-    elif self.c != 0:
-        k = other.c / self.c
-        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
-    else:
-        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

變數説明:

返回: AnyAngle: 夹角

抛出:

源碼於GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
-    """
-        计算平面与平面之间的夹角。
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Line3):
-        return self.normal.cal_angle(other.direction).complementary
-    elif isinstance(other, Plane3):
-        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

變數説明:

返回: float: 距离

抛出:

源碼於GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
-    """
-        计算平面与平面或点之间的距离。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        return 0
-    elif isinstance(other, Point3):
-        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
-    else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

變數説明:

  • other (Plane3): 另一个平面

返回: Line3: 交线

抛出:

源碼於GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
-    """
-        计算两平面的交线。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`Line3\`](./line#class-line3): 交线
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
-        """
-    if self.normal.is_parallel(other.normal):
-        raise ValueError('Planes are parallel and have no intersection.')
-    direction = self.normal.cross(other.normal)
-    x, y, z = (0, 0, 0)
-    if self.a != 0 and other.a != 0:
-        A = np.array([[self.b, self.c], [other.b, other.c]])
-        B = np.array([-self.d, -other.d])
-        y, z = np.linalg.solve(A, B)
-    elif self.b != 0 and other.b != 0:
-        A = np.array([[self.a, self.c], [other.a, other.c]])
-        B = np.array([-self.d, -other.d])
-        x, z = np.linalg.solve(A, B)
-    elif self.c != 0 and other.c != 0:
-        A = np.array([[self.a, self.b], [other.a, other.b]])
-        B = np.array([-self.d, -other.d])
-        x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

變數説明:

返回: Point3: 交点

抛出:

源碼於GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
-    """
-        计算平面与直线的交点。
-        Args:
-            other ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            [\`Point3\`](./point#class-point3): 交点
-        Raises:
-            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
-        """
-    if self.normal @ other.direction == 0:
-        raise ValueError('The plane and the line are parallel or coincident.')
-    x, y, z = other.get_parametric_equations()
-    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
-    """
-        计算平行于该平面且过指定点的平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 指定点
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
-    """
-        判断两个平面是否平行。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

返回: Vector3: 法向量

源碼於GitHub上查看
python
@property
-def normal(self) -> 'Vector3':
-    """
-        平面的法向量。
-        Returns:
-            [\`Vector3\`](./vector#class-vector3): 法向量
-        """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
@classmethod
-def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
-    """
-        工厂函数 由点和法向量构造平面(点法式构造)。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
-        Returns:
-            [\`Plane3\`](./plane#class-plane3): 平面
-        """
-    a, b, c = (normal.x, normal.y, normal.z)
-    d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

變數説明:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

返回: 平面

源碼於GitHub上查看
python
@classmethod
-def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
-    """
-        工厂函数 由三点构造平面。
-        Args:
-            p1 ([\`Point3\`](./point#class-point3)): 点1
-            p2 (\`Point3\`): 点2
-            p3 (\`Point3\`): 点3
-        Returns:
-            平面
-        """
-    v1 = p2 - p1
-    v2 = p3 - p1
-    normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

變數説明:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

返回: 平面

源碼於GitHub上查看
python
@classmethod
-def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由两直线构造平面。
-        Args:
-            l1 ([\`Line3\`](./line#class-line3)): 直线
-            l2 (\`Line3\`): 直线
-        Returns:
-            平面
-        """
-    v1 = l1.direction
-    v2 = l2.point - l1.point
-    if v2 == zero_vector3:
-        v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

變數説明:

返回: 平面

源碼於GitHub上查看
python
@classmethod
-def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
-    """
-        工厂函数 由点和直线构造平面。
-        Args:
-            point ([\`Point3\`](./point#class-point3)): 平面上一点
-            line ([\`Line3\`](./line#class-line3)): 直线
-        Returns:
-            平面
-        """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源碼於GitHub上查看
python
@overload
-def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源碼於GitHub上查看
python
@overload
-def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

變數説明:

返回: Line3 | Point3 | None: 交集

抛出:

源碼於GitHub上查看
python
def __and__(self, other):
-    """
-        取两平面的交集(人话:交线)
-        Args:
-            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
-        Returns:
-            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
-        Raises:
-            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
-        """
-    if isinstance(other, Plane3):
-        if self.normal.is_parallel(other.normal):
-            return None
-        return self.cal_intersection_line3(other)
-    elif isinstance(other, Line3):
-        if self.normal @ other.direction == 0:
-            return None
-        return self.cal_intersection_point3(other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否等价

源碼於GitHub上查看
python
def __eq__(self, other) -> bool:
-    """
-        判断两个平面是否等价。
-        Args:
-            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
-        """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源碼於GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
-    return self.cal_intersection_point3(other)
`,113),h=[t];function p(e,k,r,o,d,E){return a(),i("div",null,h)}const F=s(l,[["render",p]]);export{y as __pageData,F as default}; diff --git a/assets/zht_api_mp_math_plane.md.C-9IgWh_.lean.js b/assets/zht_api_mp_math_plane.md.C-9IgWh_.lean.js deleted file mode 100644 index 43a9b72..0000000 --- a/assets/zht_api_mp_math_plane.md.C-9IgWh_.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DpC1ZpOZ.js";const y=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/plane.md","filePath":"zht/api/mp_math/plane.md"}'),l={name:"zht/api/mp_math/plane.md"},t=n("",113),h=[t];function p(e,k,r,o,d,E){return a(),i("div",null,h)}const F=s(l,[["render",p]]);export{y as __pageData,F as default}; diff --git a/assets/zht_api_mp_math_plane.md.DHKntbKb.js b/assets/zht_api_mp_math_plane.md.DHKntbKb.js new file mode 100644 index 0000000..3a597e9 --- /dev/null +++ b/assets/zht_api_mp_math_plane.md.DHKntbKb.js @@ -0,0 +1,227 @@ +import{_ as l,c as a,j as s,a as n,a4 as t,o as i}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/plane.md","filePath":"zht/api/mp_math/plane.md"}'),e={name:"zht/api/mp_math/plane.md"},h=t(`

模組 mbcp.mp_math.plane

本模块定义了三维空间中的平面类

class Plane3

method __init__(self, a: float, b: float, c: float, d: float)

説明: 平面方程:ax + by + cz + d = 0

變數説明:

  • a (float): x系数
  • b (float): y系数
  • c (float): z系数
  • d (float): 常数项
源碼於GitHub上查看
python
def __init__(self, a: float, b: float, c: float, d: float):
+    """
+        平面方程:ax + by + cz + d = 0
+        Args:
+            a ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x系数
+            b (\`float\`): y系数
+            c (\`float\`): z系数
+            d (\`float\`): 常数项
+        """
+    self.a = a
+    self.b = b
+    self.c = c
+    self.d = d

method approx(self, other: Plane3) -> bool

説明: 判断两个平面是否近似相等。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否近似相等

源碼於GitHub上查看
python
def approx(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否近似相等。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等
+        """
+    if self.a != 0:
+        k = other.a / self.a
+        return approx(other.b, self.b * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.b != 0:
+        k = other.b / self.b
+        return approx(other.a, self.a * k) and approx(other.c, self.c * k) and approx(other.d, self.d * k)
+    elif self.c != 0:
+        k = other.c / self.c
+        return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k)
+    else:
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

`,16),p={class:"tip custom-block"},k=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t('',1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t('',1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t('',1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},L={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},A=t('',1),D=[A],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),M={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},j={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},z=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),R=[z],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t(`

變數説明:

返回: AnyAngle: 夹角

抛出:

源碼於GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+    """
+        计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n1 \\\\cdot n2}{|n1| \\\\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{n \\\\cdot d}{|n| \\\\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Line3):
+        return self.normal.cal_angle(other.direction).complementary
+    elif isinstance(other, Plane3):
+        return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

變數説明:

返回: float: 距离

抛出:

源碼於GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+    """
+        计算平面与平面或点之间的距离。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3) | [\`Point3\`](./point#class-point3)): 另一个平面或点
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 距离
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        return 0
+    elif isinstance(other, Point3):
+        return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
+    else:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

`,16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t('',1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},as={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},is={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t('',1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t('',1),ks=[ps],rs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t('',1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t('',1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t('',1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t(`

變數説明:

  • other (Plane3): 另一个平面

返回: Line3: 交线

抛出:

源碼於GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+    """
+        计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\\\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\\\begin{cases} x = x_0 + dt \\\\\\\\ y = y_0 + dt \\\\\\\\ z = z_0 + dt \\\\end{cases} $$
+
+        $$ \\\\frac{x - x_0}{m} = \\\\frac{y - y_0}{n} = \\\\frac{z - z_0}{p} $$
+        :::
+
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`Line3\`](./line#class-line3): 交线
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面平行且无交线
+        """
+    if self.normal.is_parallel(other.normal):
+        raise ValueError('Planes are parallel and have no intersection.')
+    direction = self.normal.cross(other.normal)
+    x, y, z = (0, 0, 0)
+    if self.a != 0 and other.a != 0:
+        A = np.array([[self.b, self.c], [other.b, other.c]])
+        B = np.array([-self.d, -other.d])
+        y, z = np.linalg.solve(A, B)
+    elif self.b != 0 and other.b != 0:
+        A = np.array([[self.a, self.c], [other.a, other.c]])
+        B = np.array([-self.d, -other.d])
+        x, z = np.linalg.solve(A, B)
+    elif self.c != 0 and other.c != 0:
+        A = np.array([[self.a, self.b], [other.a, other.b]])
+        B = np.array([-self.d, -other.d])
+        x, y = np.linalg.solve(A, B)
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

變數説明:

返回: Point3: 交点

抛出:

源碼於GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    """
+        计算平面与直线的交点。
+        Args:
+            other ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            [\`Point3\`](./point#class-point3): 交点
+        Raises:
+            [\`ValueError\`](https%3A//docs.python.org/3/library/exceptions.html#ValueError): 平面与直线平行或重合
+        """
+    if self.normal @ other.direction == 0:
+        raise ValueError('The plane and the line are parallel or coincident.')
+    x, y, z = other.get_parametric_equations()
+    t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    """
+        计算平行于该平面且过指定点的平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 指定点
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
+    """
+        判断两个平面是否平行。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

返回: Vector3: 法向量

源碼於GitHub上查看
python
@property
+def normal(self) -> 'Vector3':
+    """
+        平面的法向量。
+        Returns:
+            [\`Vector3\`](./vector#class-vector3): 法向量
+        """
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
@classmethod
+def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
+    """
+        工厂函数 由点和法向量构造平面(点法式构造)。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            normal ([\`Vector3\`](./vector#class-vector3)): 法向量
+        Returns:
+            [\`Plane3\`](./plane#class-plane3): 平面
+        """
+    a, b, c = (normal.x, normal.y, normal.z)
+    d = -a * point.x - b * point.y - c * point.z
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

變數説明:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

返回: 平面

源碼於GitHub上查看
python
@classmethod
+def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
+    """
+        工厂函数 由三点构造平面。
+        Args:
+            p1 ([\`Point3\`](./point#class-point3)): 点1
+            p2 (\`Point3\`): 点2
+            p3 (\`Point3\`): 点3
+        Returns:
+            平面
+        """
+    v1 = p2 - p1
+    v2 = p3 - p1
+    normal = v1.cross(v2)
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

變數説明:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

返回: 平面

源碼於GitHub上查看
python
@classmethod
+def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由两直线构造平面。
+        Args:
+            l1 ([\`Line3\`](./line#class-line3)): 直线
+            l2 (\`Line3\`): 直线
+        Returns:
+            平面
+        """
+    v1 = l1.direction
+    v2 = l2.point - l1.point
+    if v2 == zero_vector3:
+        v2 = l2.get_point(1) - l1.point
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

變數説明:

返回: 平面

源碼於GitHub上查看
python
@classmethod
+def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
+    """
+        工厂函数 由点和直线构造平面。
+        Args:
+            point ([\`Point3\`](./point#class-point3)): 平面上一点
+            line ([\`Line3\`](./line#class-line3)): 直线
+        Returns:
+            平面
+        """
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源碼於GitHub上查看
python
@overload
+def __and__(self, other: 'Line3') -> 'Point3 | None':
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源碼於GitHub上查看
python
@overload
+def __and__(self, other: 'Plane3') -> 'Line3 | None':
+    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

變數説明:

返回: Line3 | Point3 | None: 交集

抛出:

源碼於GitHub上查看
python
def __and__(self, other):
+    """
+        取两平面的交集(人话:交线)
+        Args:
+            other ([\`Line3\`](./line#class-line3) | [\`Plane3\`](./plane#class-plane3)): 另一个平面或直线
+        Returns:
+            [\`Line3\`](./line#class-line3) | [\`Point3\`](./point#class-point3) | [\`None\`](https%3A//docs.python.org/3/library/constants.html#None): 交集
+        Raises:
+            [\`TypeError\`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型
+        """
+    if isinstance(other, Plane3):
+        if self.normal.is_parallel(other.normal):
+            return None
+        return self.cal_intersection_line3(other)
+    elif isinstance(other, Line3):
+        if self.normal @ other.direction == 0:
+            return None
+        return self.cal_intersection_point3(other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否等价

源碼於GitHub上查看
python
def __eq__(self, other) -> bool:
+    """
+        判断两个平面是否等价。
+        Args:
+            other ([\`Plane3\`](./plane#class-plane3)): 另一个平面
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
+        """
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源碼於GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.cal_intersection_point3(other)
`,81);function ws(Hs,Ls,As,Ds,vs,Ms){return i(),a("div",null,[h,s("div",p,[k,r,s("mjx-container",o,[(i(),a("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(i(),a("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(i(),a("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(i(),a("svg",L,D)),v]),s("p",null,[n("其中 "),s("mjx-container",M,[(i(),a("svg",V,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(i(),a("svg",j,R)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(i(),a("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",as,[(i(),a("svg",is,ns)),ls]),n(", "),s("mjx-container",es,[(i(),a("svg",hs,ks)),rs]),n(", "),s("mjx-container",os,[(i(),a("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(i(),a("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(i(),a("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/zht_api_mp_math_plane.md.DHKntbKb.lean.js b/assets/zht_api_mp_math_plane.md.DHKntbKb.lean.js new file mode 100644 index 0000000..e779361 --- /dev/null +++ b/assets/zht_api_mp_math_plane.md.DHKntbKb.lean.js @@ -0,0 +1 @@ +import{_ as l,c as a,j as s,a as n,a4 as t,o as i}from"./chunks/framework.DpC1ZpOZ.js";const qs=JSON.parse('{"title":"mbcp.mp_math.plane","description":"","frontmatter":{"title":"mbcp.mp_math.plane","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/plane.md","filePath":"zht/api/mp_math/plane.md"}'),e={name:"zht/api/mp_math/plane.md"},h=t("",16),p={class:"tip custom-block"},k=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"平面间夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},d={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"22.011ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9729 2301","aria-hidden":"true"},Q=t("",1),g=[Q],c=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"n"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),T={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},m={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},E=t("",1),y=[E],F=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"1")])],-1),u={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},C={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"2.489ex",height:"1.532ex",role:"img",focusable:"false",viewBox:"0 -666 1100 677","aria-hidden":"true"},f=t("",1),b=[f],_=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n"),s("mn",null,"2")])],-1),x={class:"tip custom-block"},B=s("p",{class:"custom-block-title"},"TIP",-1),w=s("p",null,"平面与直线夹角计算公式:",-1),H={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},L={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"19.568ex",height:"5.269ex",role:"img",focusable:"false",viewBox:"0 -1370 8649 2329","aria-hidden":"true"},A=t("",1),D=[A],v=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"n"),s("mo",null,"⋅"),s("mi",null,"d")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"n"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"d"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),M={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},V={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.025ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.357ex",height:"1.025ex",role:"img",focusable:"false",viewBox:"0 -442 600 453","aria-hidden":"true"},q=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D45B",d:"M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z",style:{"stroke-width":"3"}})])])],-1),P=[q],Z=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"n")])],-1),S={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},j={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.023ex"},xmlns:"http://www.w3.org/2000/svg",width:"1.176ex",height:"1.593ex",role:"img",focusable:"false",viewBox:"0 -694 520 704","aria-hidden":"true"},z=s("g",{stroke:"currentColor",fill:"currentColor","stroke-width":"0",transform:"scale(1,-1)"},[s("g",{"data-mml-node":"math"},[s("g",{"data-mml-node":"mi"},[s("path",{"data-c":"1D451",d:"M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z",style:{"stroke-width":"3"}})])])],-1),R=[z],$=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"d")])],-1),N=t("",16),G={class:"tip custom-block"},I=s("p",{class:"custom-block-title"},"TIP",-1),J=s("p",null,"计算两平面交线的一般步骤:",-1),O=s("ol",null,[s("li",null,"求两平面的法向量的叉乘得到方向向量")],-1),U={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},K={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"11.937ex",height:"1.756ex",role:"img",focusable:"false",viewBox:"0 -694 5276 776","aria-hidden":"true"},W=t("",1),X=[W],Y=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"d"),s("mo",null,"="),s("mi",null,"n"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"n"),s("mn",null,"2")])],-1),ss={start:"2"},as={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},is={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.442ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2405.6 748","aria-hidden":"true"},ts=t("",1),ns=[ts],ls=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"x"),s("mo",null,"="),s("mn",null,"0")])],-1),es={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},hs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.464ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.257ex",height:"1.971ex",role:"img",focusable:"false",viewBox:"0 -666 2323.6 871","aria-hidden":"true"},ps=t("",1),ks=[ps],rs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"0")])],-1),os={class:"MathJax",jax:"SVG",style:{direction:"ltr",position:"relative"}},ds={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.186ex"},xmlns:"http://www.w3.org/2000/svg",width:"5.2ex",height:"1.692ex",role:"img",focusable:"false",viewBox:"0 -666 2298.6 748","aria-hidden":"true"},Qs=t("",1),gs=[Qs],cs=s("mjx-assistive-mml",{unselectable:"on",display:"inline",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",width:"auto",overflow:"hidden"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("mi",null,"z"),s("mo",null,"="),s("mn",null,"0")])],-1),Ts={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},ms={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.281ex"},xmlns:"http://www.w3.org/2000/svg",width:"13.363ex",height:"7.692ex",role:"img",focusable:"false",viewBox:"0 -1950 5906.6 3400","aria-hidden":"true"},Es=t("",1),ys=[Es],Fs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"{"),s("mtable",{columnalign:"left left",columnspacing:"1em",rowspacing:".2em"},[s("mtr",null,[s("mtd",null,[s("mi",null,"x"),s("mo",null,"="),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"y"),s("mo",null,"="),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"z"),s("mo",null,"="),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")]),s("mo",null,"+"),s("mi",null,"d"),s("mi",null,"t")])])]),s("mo",{"data-mjx-texclass":"CLOSE",fence:"true",stretchy:"true",symmetric:"true"})])])],-1),us=s("p",null,"或",-1),Cs={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},fs={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-1.991ex"},xmlns:"http://www.w3.org/2000/svg",width:"27.19ex",height:"4.839ex",role:"img",focusable:"false",viewBox:"0 -1259 12018.1 2139","aria-hidden":"true"},bs=t("",1),_s=[bs],xs=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mfrac",null,[s("mrow",null,[s("mi",null,"x"),s("mo",null,"−"),s("msub",null,[s("mi",null,"x"),s("mn",null,"0")])]),s("mi",null,"m")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"−"),s("msub",null,[s("mi",null,"y"),s("mn",null,"0")])]),s("mi",null,"n")]),s("mo",null,"="),s("mfrac",null,[s("mrow",null,[s("mi",null,"z"),s("mo",null,"−"),s("msub",null,[s("mi",null,"z"),s("mn",null,"0")])]),s("mi",null,"p")])])],-1),Bs=t("",81);function ws(Hs,Ls,As,Ds,vs,Ms){return i(),a("div",null,[h,s("div",p,[k,r,s("mjx-container",o,[(i(),a("svg",d,g)),c]),s("p",null,[n("其中 "),s("mjx-container",T,[(i(),a("svg",m,y)),F]),n(" 和 "),s("mjx-container",u,[(i(),a("svg",C,b)),_]),n(" 分别为两个平面的法向量")])]),s("div",x,[B,w,s("mjx-container",H,[(i(),a("svg",L,D)),v]),s("p",null,[n("其中 "),s("mjx-container",M,[(i(),a("svg",V,P)),Z]),n(" 为平面的法向量,"),s("mjx-container",S,[(i(),a("svg",j,R)),$]),n(" 为直线的方向向量")])]),N,s("div",G,[I,J,O,s("mjx-container",U,[(i(),a("svg",K,X)),Y]),s("ol",ss,[s("li",null,[n("寻找直线上的一点,依次假设"),s("mjx-container",as,[(i(),a("svg",is,ns)),ls]),n(", "),s("mjx-container",es,[(i(),a("svg",hs,ks)),rs]),n(", "),s("mjx-container",os,[(i(),a("svg",ds,gs)),cs]),n(",并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示")])]),s("mjx-container",Ts,[(i(),a("svg",ms,ys)),Fs]),us,s("mjx-container",Cs,[(i(),a("svg",fs,_s)),xs])]),Bs])}const Ps=l(e,[["render",ws]]);export{qs as __pageData,Ps as default}; diff --git a/assets/zht_api_mp_math_vector.md.DoP7bI-7.js b/assets/zht_api_mp_math_vector.md.DoP7bI-7.js new file mode 100644 index 0000000..d442ae0 --- /dev/null +++ b/assets/zht_api_mp_math_vector.md.DoP7bI-7.js @@ -0,0 +1,176 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/vector.md","filePath":"zht/api/mp_math/vector.md"}'),l={name:"zht/api/mp_math/vector.md"},e=a('

模組 mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

説明: 3维向量

變數説明:

  • x (float): x轴分量
  • y (float): y轴分量
  • z (float): z轴分量
源碼於GitHub上查看
python
def __init__(self, x: float, y: float, z: float):\n    """\n        3维向量\n        Args:\n            x ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量\n            y (`float`): y轴分量\n            z (`float`): z轴分量\n        """\n    self.x = x\n    self.y = y\n    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似相等。

變數説明:

返回: bool: 是否近似相等

源碼於GitHub上查看
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:\n    """\n        判断两个向量是否近似相等。\n        Args:\n            other ([`Vector3`](#class-vector3)): 另一个向量\n            epsilon ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): 误差\n\n        Returns:\n            [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等\n        """\n    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

',16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a('',1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a(`

變數説明:

返回: AnyAngle: 夹角

源碼於GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    """
+        计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\\\theta = \\\\arccos(\\\\frac{v1 \\\\cdot v2}{|v1| \\\\cdot |v2|})$$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`AnyAngle\`](./angle#class-anyangle): 夹角
+        """
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 x v2 -> v3

`,6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a('',1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a('',1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a(`

變數説明:

返回: Vector3: 叉乘结果

源碼於GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    """
+        向量积 叉乘:v1 x v2 -> v3
+
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\\\times v2 = (v1_y \\\\cdot v2_z - v1_z \\\\cdot v2_y, v1_z \\\\cdot v2_x - v1_x \\\\cdot v2_z, v1_x \\\\cdot v2_y - v1_y \\\\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\\\times v2 = \\\\begin{vmatrix} i & j & k \\\\\\\\ v1_x & v1_y & v1_z \\\\\\\\ v2_x & v2_y & v2_z \\\\end{vmatrix} $$
+        :::
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`Vector3\`](#class-vector3): 叉乘结果
+        """
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

變數説明:

返回: bool: 是否近似平行

源碼於GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    """
+        判断两个向量是否近似平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
+        """
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

變數説明:

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
+    """
+        判断两个向量是否平行。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
+        """
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

源碼於GitHub上查看
python
def normalize(self):
+    """
+        将向量归一化。
+
+        自体归一化,不返回值。
+        """
+    length = self.length
+    self.x /= length
+    self.y /= length
+    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源碼於GitHub上查看
python
@property
+def np_array(self) -> 'np.ndarray':
+    """
+        返回numpy数组
+        Returns:
+            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
+        """
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

返回: float: 模

源碼於GitHub上查看
python
@property
+def length(self) -> float:
+    """
+        向量的模。
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
+        """
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源碼於GitHub上查看
python
@property
+def unit(self) -> 'Vector3':
+    """
+        获取该向量的单位向量。
+        Returns:
+            [\`Vector3\`](#class-vector3): 单位向量
+        """
+    return self / self.length

method __abs__(self)

源碼於GitHub上查看
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
+def __add__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self + other: Point3 => Point3

源碼於GitHub上查看
python
@overload
+def __add__(self, other: 'Point3') -> 'Point3':
+    ...

method self + other

説明: V + P -> P

V + V -> V

變數説明:

返回: Vector3 | Point3: 新的向量或点

源碼於GitHub上查看
python
def __add__(self, other):
+    """
+        V + P -> P
+
+        V + V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

變數説明:

返回: bool: 是否相等

源碼於GitHub上查看
python
def __eq__(self, other):
+    """
+        判断两个向量是否相等。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
+        """
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    """
+        P + V -> P
+
+        别去点那边实现了。
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
+def __sub__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self - other: Point3 => Point3

源碼於GitHub上查看
python
@overload
+def __sub__(self, other: 'Point3') -> 'Point3':
+    ...

method self - other

説明: V - P -> P

V - V -> V

變數説明:

返回: Vector3 | Point3: 新的向量

源碼於GitHub上查看
python
def __sub__(self, other):
+    """
+        V - P -> P
+
+        V - V -> V
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
+        Returns:
+            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
+    elif isinstance(other, Point3):
+        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
+    else:
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __rsub__(self, other: 'Point3'):
+    """
+        P - V -> P
+        Args:
+            other ([\`Point3\`](./point#class-point3)): 另一个点
+        Returns:
+            [\`Point3\`](./point#class-point3): 新的点
+        """
+    if isinstance(other, Point3):
+        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
+    else:
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
+def __mul__(self, other: 'Vector3') -> 'Vector3':
+    ...

@overload

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
@overload
+def __mul__(self, other: RealNumber) -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

變數説明:

返回: Vector3: 数组运算结果

源碼於GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    """
+        数组运算 非点乘。点乘使用@,叉乘使用cross。
+        Args:
+            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
+        Returns:
+            [\`Vector3\`](#class-vector): 数组运算结果
+        """
+    if isinstance(other, Vector3):
+        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
+    elif isinstance(other, (float, int)):
+        return Vector3(self.x * other, self.y * other, self.z * other)
+    else:
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

變數説明:

返回: float: 点乘结果

源碼於GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+    """
+        点乘。
+        Args:
+            other ([\`Vector3\`](#class-vector3)): 另一个向量
+        Returns:
+            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
+        """
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源碼於GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

返回: Vector3: 负向量

源碼於GitHub上查看
python
def __neg__(self) -> 'Vector3':
+    """
+        取负。
+        Returns:
+            [\`Vector3\`](#class-vector3): 负向量
+        """
+    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • 説明: 零向量

  • 類型: Vector3

  • 默認值: Vector3(0, 0, 0)

var x_axis

  • 説明: x轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(1, 0, 0)

var y_axis

  • 説明: y轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(0, 1, 0)

var z_axis

  • 説明: z轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(0, 0, 1)

`,115);function q(D,A,w,L,M,P){return t(),i("div",null,[e,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(l,[["render",q]]);export{z as __pageData,R as default}; diff --git a/assets/zht_api_mp_math_vector.md.DoP7bI-7.lean.js b/assets/zht_api_mp_math_vector.md.DoP7bI-7.lean.js new file mode 100644 index 0000000..58048b6 --- /dev/null +++ b/assets/zht_api_mp_math_vector.md.DoP7bI-7.lean.js @@ -0,0 +1 @@ +import{_ as n,c as i,j as s,a4 as a,o as t}from"./chunks/framework.DpC1ZpOZ.js";const z=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/vector.md","filePath":"zht/api/mp_math/vector.md"}'),l={name:"zht/api/mp_math/vector.md"},e=a("",16),h={class:"tip custom-block"},p=s("p",{class:"custom-block-title"},"TIP",-1),r=s("p",null,"向量夹角计算公式:",-1),o={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},k={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-2.17ex"},xmlns:"http://www.w3.org/2000/svg",width:"21.491ex",height:"5.206ex",role:"img",focusable:"false",viewBox:"0 -1342 9499 2301","aria-hidden":"true"},d=a("",1),T=[d],Q=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"θ"),s("mo",null,"="),s("mi",null,"arccos"),s("mo",{"data-mjx-texclass":"NONE"},"⁡"),s("mo",{stretchy:"false"},"("),s("mfrac",null,[s("mrow",null,[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"⋅"),s("mi",null,"v"),s("mn",null,"2")]),s("mrow",null,[s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"1"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mo",null,"⋅"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|"),s("mi",null,"v"),s("mn",null,"2"),s("mo",{"data-mjx-texclass":"ORD",stretchy:"false"},"|")])]),s("mo",{stretchy:"false"},")")])],-1),g=a("",6),c={class:"tip custom-block"},m=s("p",{class:"custom-block-title"},"TIP",-1),y=s("p",null,"叉乘运算法则为:",-1),E={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},F={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-0.667ex"},xmlns:"http://www.w3.org/2000/svg",width:"70.883ex",height:"2.364ex",role:"img",focusable:"false",viewBox:"0 -750 31330.3 1045","aria-hidden":"true"},u=a("",1),b=[u],f=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mo",{stretchy:"false"},"("),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")]),s("mo",null,","),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")]),s("mo",null,"−"),s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")]),s("mo",null,"⋅"),s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")]),s("mo",{stretchy:"false"},")")])],-1),C=s("p",null,"转换为行列式形式:",-1),v={tabindex:"0",class:"MathJax",jax:"SVG",display:"true",style:{direction:"ltr",display:"block","text-align":"center",margin:"1em 0",position:"relative"}},B={style:{overflow:"visible","min-height":"1px","min-width":"1px","vertical-align":"-3.835ex"},xmlns:"http://www.w3.org/2000/svg",width:"25.963ex",height:"8.801ex",role:"img",focusable:"false",viewBox:"0 -2195 11475.8 3889.9","aria-hidden":"true"},_=a("",1),V=[_],H=s("mjx-assistive-mml",{unselectable:"on",display:"block",style:{top:"0px",left:"0px",clip:"rect(1px, 1px, 1px, 1px)","-webkit-touch-callout":"none","-webkit-user-select":"none","-khtml-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none",position:"absolute",padding:"1px 0px 0px 0px",border:"0px",display:"block",overflow:"hidden",width:"100%"}},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML",display:"block"},[s("mi",null,"v"),s("mn",null,"1"),s("mo",null,"×"),s("mi",null,"v"),s("mn",null,"2"),s("mo",null,"="),s("mrow",{"data-mjx-texclass":"INNER"},[s("mo",{"data-mjx-texclass":"OPEN"},"|"),s("mtable",{columnspacing:"1em",rowspacing:"4pt"},[s("mtr",null,[s("mtd",null,[s("mi",null,"i")]),s("mtd",null,[s("mi",null,"j")]),s("mtd",null,[s("mi",null,"k")])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"1"),s("mi",null,"z")])])]),s("mtr",null,[s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"x")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"y")])]),s("mtd",null,[s("mi",null,"v"),s("msub",null,[s("mn",null,"2"),s("mi",null,"z")])])])]),s("mo",{"data-mjx-texclass":"CLOSE"},"|")])])],-1),x=a("",115);function q(D,A,w,L,M,P){return t(),i("div",null,[e,s("div",h,[p,r,s("mjx-container",o,[(t(),i("svg",k,T)),Q])]),g,s("div",c,[m,y,s("mjx-container",E,[(t(),i("svg",F,b)),f]),C,s("mjx-container",v,[(t(),i("svg",B,V)),H])]),x])}const R=n(l,[["render",q]]);export{z as __pageData,R as default}; diff --git a/assets/zht_api_mp_math_vector.md.hAG56fdm.js b/assets/zht_api_mp_math_vector.md.hAG56fdm.js deleted file mode 100644 index d1e0c83..0000000 --- a/assets/zht_api_mp_math_vector.md.hAG56fdm.js +++ /dev/null @@ -1,197 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/vector.md","filePath":"zht/api/mp_math/vector.md"}'),n={name:"zht/api/mp_math/vector.md"},e=t(`

模組 mbcp.mp_math.vector

本模块定义了3维向量的类Vector3,以及一些常用的向量。

class Vector3

method __init__(self, x: float, y: float, z: float)

説明: 3维向量

變數説明:

  • x (float): x轴分量
  • y (float): y轴分量
  • z (float): z轴分量
源碼於GitHub上查看
python
def __init__(self, x: float, y: float, z: float):
-    """
-        3维向量
-        Args:
-            x ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): x轴分量
-            y (\`float\`): y轴分量
-            z (\`float\`): z轴分量
-        """
-    self.x = x
-    self.y = y
-    self.z = z

method approx(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似相等。

變數説明:

返回: bool: 是否近似相等

源碼於GitHub上查看
python
def approx(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等
-        """
-    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

變數説明:

返回: AnyAngle: 夹角

源碼於GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
-    """
-        计算两个向量之间的夹角。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`AnyAngle\`](./angle#class-anyangle): 夹角
-        """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

變數説明:

返回: Vector3: 叉乘结果

源碼於GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
-    """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        \`\`i  j  k\`\`
-
-        \`\`x1 y1 z1\`\`
-
-        \`\`x2 y2 z2\`\`
-
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`Vector3\`](#class-vector3): 叉乘结果
-        """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

變數説明:

返回: bool: 是否近似平行

源碼於GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
-    """
-        判断两个向量是否近似平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-            epsilon ([\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 误差
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
-        """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

變數説明:

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
-    """
-        判断两个向量是否平行。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
-        """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

源碼於GitHub上查看
python
def normalize(self):
-    """
-        将向量归一化。
-
-        自体归一化,不返回值。
-        """
-    length = self.length
-    self.x /= length
-    self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源碼於GitHub上查看
python
@property
-def np_array(self) -> 'np.ndarray':
-    """
-        返回numpy数组
-        Returns:
-            [\`np.ndarray\`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
-        """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

返回: float: 模

源碼於GitHub上查看
python
@property
-def length(self) -> float:
-    """
-        向量的模。
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 模
-        """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源碼於GitHub上查看
python
@property
-def unit(self) -> 'Vector3':
-    """
-        获取该向量的单位向量。
-        Returns:
-            [\`Vector3\`](#class-vector3): 单位向量
-        """
-    return self / self.length

method __abs__(self)

源碼於GitHub上查看
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
-def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

源碼於GitHub上查看
python
@overload
-def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

説明: V + P -> P

V + V -> V

變數説明:

返回: Vector3 | Point3: 新的向量或点

源碼於GitHub上查看
python
def __add__(self, other):
-    """
-        V + P -> P
-
-        V + V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量或点
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x + other.x, self.y + other.y, self.z + other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

變數説明:

返回: bool: 是否相等

源碼於GitHub上查看
python
def __eq__(self, other):
-    """
-        判断两个向量是否相等。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`bool\`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
-        """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
-    """
-        P + V -> P
-
-        别去点那边实现了。
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
-def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

源碼於GitHub上查看
python
@overload
-def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

説明: V - P -> P

V - V -> V

變數説明:

返回: Vector3 | Point3: 新的向量

源碼於GitHub上查看
python
def __sub__(self, other):
-    """
-        V - P -> P
-
-        V - V -> V
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3)): 另一个向量或点
-        Returns:
-            [\`Vector3\`](#class-vector3) | [\`Point3\`](./point#class-point3): 新的向量
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)
-    elif isinstance(other, Point3):
-        return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
-    else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __rsub__(self, other: 'Point3'):
-    """
-        P - V -> P
-        Args:
-            other ([\`Point3\`](./point#class-point3)): 另一个点
-        Returns:
-            [\`Point3\`](./point#class-point3): 新的点
-        """
-    if isinstance(other, Point3):
-        return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
-    else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
-def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
@overload
-def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

變數説明:

返回: Vector3: 数组运算结果

源碼於GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
-    """
-        数组运算 非点乘。点乘使用@,叉乘使用cross。
-        Args:
-            other ([\`Vector3\`](#class-vector3) | [\`float\`](https%3A//docs.python.org/3/library/functions.html#float)): 另一个向量或数
-        Returns:
-            [\`Vector3\`](#class-vector): 数组运算结果
-        """
-    if isinstance(other, Vector3):
-        return Vector3(self.x * other.x, self.y * other.y, self.z * other.z)
-    elif isinstance(other, (float, int)):
-        return Vector3(self.x * other, self.y * other, self.z * other)
-    else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

變數説明:

返回: float: 点乘结果

源碼於GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
-    """
-        点乘。
-        Args:
-            other ([\`Vector3\`](#class-vector3)): 另一个向量
-        Returns:
-            [\`float\`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
-        """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源碼於GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

返回: Vector3: 负向量

源碼於GitHub上查看
python
def __neg__(self) -> 'Vector3':
-    """
-        取负。
-        Returns:
-            [\`Vector3\`](#class-vector3): 负向量
-        """
-    return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • 説明: 零向量

  • 類型: Vector3

  • 默認值: Vector3(0, 0, 0)

var x_axis

  • 説明: x轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(1, 0, 0)

var y_axis

  • 説明: y轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(0, 1, 0)

var z_axis

  • 説明: z轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(0, 0, 1)

`,138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/assets/zht_api_mp_math_vector.md.hAG56fdm.lean.js b/assets/zht_api_mp_math_vector.md.hAG56fdm.lean.js deleted file mode 100644 index 484aa50..0000000 --- a/assets/zht_api_mp_math_vector.md.hAG56fdm.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a4 as t}from"./chunks/framework.DpC1ZpOZ.js";const E=JSON.parse('{"title":"mbcp.mp_math.vector","description":"","frontmatter":{"title":"mbcp.mp_math.vector","lastUpdated":false},"headers":[],"relativePath":"zht/api/mp_math/vector.md","filePath":"zht/api/mp_math/vector.md"}'),n={name:"zht/api/mp_math/vector.md"},e=t("",138),h=[e];function l(p,k,r,o,d,g){return a(),i("div",null,h)}const y=s(n,[["render",l]]);export{E as __pageData,y as default}; diff --git a/demo/best-practice.html b/demo/best-practice.html index a5714d6..d87dbd3 100644 --- a/demo/best-practice.html +++ b/demo/best-practice.html @@ -6,10 +6,10 @@ 最佳实践 | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/demo/index.html b/demo/index.html index 4c5c9d1..51356f2 100644 --- a/demo/index.html +++ b/demo/index.html @@ -6,10 +6,10 @@ demo | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/en/api/index.html b/en/api/index.html index d97ba5b..98a8f2f 100644 --- a/en/api/index.html +++ b/en/api/index.html @@ -6,10 +6,10 @@ mbcp | MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

Module mbcp

本模块是主模块,提供了一些工具 可导入

mbcp.mp_math:数学工具

mbcp.particle:粒子生成工具

mbcp.presets:预设

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/angle.html b/en/api/mp_math/angle.html index 49ef4a4..9943c31 100644 --- a/en/api/mp_math/angle.html +++ b/en/api/mp_math/angle.html @@ -6,10 +6,10 @@ mbcp.mp_math.angle | MBCP docs - + - - + + @@ -117,7 +117,7 @@ if isinstance(other, AnyAngle): return self.radian / other.radian return AnyAngle(self.radian / other, is_radian=True)

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/const.html b/en/api/mp_math/const.html index cae1832..2b528ed 100644 --- a/en/api/mp_math/const.html +++ b/en/api/mp_math/const.html @@ -6,10 +6,10 @@ mbcp.mp_math.const | MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

Module mbcp.mp_math.const

本模块定义了一些常用的常量

var PI

  • Description: 常量 π

  • Default: math.pi

var E

  • Description: 自然对数的底 exp(1)

  • Default: math.e

var GOLDEN_RATIO

  • Description: 黄金分割比

  • Default: (1 + math.sqrt(5)) / 2

var GAMMA

  • Description: 欧拉常数

  • Default: 0.5772156649015329

var EPSILON

  • Description: 精度误差

  • Default: 0.0001

var APPROX

  • Description: 约等于判定误差

  • Default: 0.001

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/equation.html b/en/api/mp_math/equation.html index 1c9512e..ab5a958 100644 --- a/en/api/mp_math/equation.html +++ b/en/api/mp_math/equation.html @@ -6,10 +6,10 @@ mbcp.mp_math.equation | MBCP docs - + - - + + @@ -83,7 +83,7 @@ return high_order_partial_derivative_func else: raise ValueError('Invalid var type')

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/function.html b/en/api/mp_math/function.html index 838cbcb..9e82275 100644 --- a/en/api/mp_math/function.html +++ b/en/api/mp_math/function.html @@ -6,10 +6,10 @@ mbcp.mp_math.function | MBCP docs - + - - + + @@ -60,7 +60,7 @@ """@litedoc-hide""" return func(*args, *args2) return curried_func

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/index.html b/en/api/mp_math/index.html index 77bdd7f..5ace721 100644 --- a/en/api/mp_math/index.html +++ b/en/api/mp_math/index.html @@ -6,10 +6,10 @@ mbcp.mp_math | MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

Module mbcp.mp_math

本包定义了一些常用的导入,可直接从mbcp.mp_math导入使用 导入的类有:

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/line.html b/en/api/mp_math/line.html index 9d42483..e959851 100644 --- a/en/api/mp_math/line.html +++ b/en/api/mp_math/line.html @@ -6,10 +6,10 @@ mbcp.mp_math.line | MBCP docs - + - - + + @@ -192,7 +192,7 @@ [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价 """ return self.direction.is_parallel(other.direction) and (self.point - other.point).is_parallel(self.direction)

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/mp_math_typing.html b/en/api/mp_math/mp_math_typing.html index 93f7fb9..a06c404 100644 --- a/en/api/mp_math/mp_math_typing.html +++ b/en/api/mp_math/mp_math_typing.html @@ -6,10 +6,10 @@ mbcp.mp_math.mp_math_typing | MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

Module mbcp.mp_math.mp_math_typing

本模块用于内部类型提示

var RealNumber

  • Description: 实数

  • Type: TypeAlias

  • Default: int | float

var Number

  • Description: 数

  • Type: TypeAlias

  • Default: RealNumber | complex

var SingleVar

  • Description: 单变量

  • Default: TypeVar('SingleVar', bound=Number)

var ArrayVar

  • Description: 数组变量

  • Default: TypeVar('ArrayVar', bound=Iterable[Number])

var Var

  • Description: 变量

  • Type: TypeAlias

  • Default: SingleVar | ArrayVar

var OneSingleVarFunc

  • Description: 一元单变量函数

  • Type: TypeAlias

  • Default: Callable[[SingleVar], SingleVar]

var OneArrayFunc

  • Description: 一元数组函数

  • Type: TypeAlias

  • Default: Callable[[ArrayVar], ArrayVar]

var OneVarFunc

  • Description: 一元函数

  • Type: TypeAlias

  • Default: OneSingleVarFunc | OneArrayFunc

var TwoSingleVarsFunc

  • Description: 二元单变量函数

  • Type: TypeAlias

  • Default: Callable[[SingleVar, SingleVar], SingleVar]

var TwoArraysFunc

  • Description: 二元数组函数

  • Type: TypeAlias

  • Default: Callable[[ArrayVar, ArrayVar], ArrayVar]

var TwoVarsFunc

  • Description: 二元函数

  • Type: TypeAlias

  • Default: TwoSingleVarsFunc | TwoArraysFunc

var ThreeSingleVarsFunc

  • Description: 三元单变量函数

  • Type: TypeAlias

  • Default: Callable[[SingleVar, SingleVar, SingleVar], SingleVar]

var ThreeArraysFunc

  • Description: 三元数组函数

  • Type: TypeAlias

  • Default: Callable[[ArrayVar, ArrayVar, ArrayVar], ArrayVar]

var ThreeVarsFunc

  • Description: 三元函数

  • Type: TypeAlias

  • Default: ThreeSingleVarsFunc | ThreeArraysFunc

var MultiSingleVarsFunc

  • Description: 多元单变量函数

  • Type: TypeAlias

  • Default: Callable[..., SingleVar]

var MultiArraysFunc

  • Description: 多元数组函数

  • Type: TypeAlias

  • Default: Callable[..., ArrayVar]

var MultiVarsFunc

  • Description: 多元函数

  • Type: TypeAlias

  • Default: MultiSingleVarsFunc | MultiArraysFunc

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/plane.html b/en/api/mp_math/plane.html index e5d4a22..2f8303e 100644 --- a/en/api/mp_math/plane.html +++ b/en/api/mp_math/plane.html @@ -6,12 +6,12 @@ mbcp.mp_math.plane | MBCP docs - + - - + + - + @@ -48,9 +48,19 @@ k = other.c / self.c return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k) else: - return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

Description: 计算平面与平面之间的夹角。

Arguments:

Return: AnyAngle: 夹角

Raises:

Source code or View on GitHub
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

Description: 计算平面与平面之间的夹角。

TIP

平面间夹角计算公式:

θ=arccos(n1n2|n1||n2|)

其中 n1n2 分别为两个平面的法向量

TIP

平面与直线夹角计算公式:

θ=arccos(nd|n||d|)

其中 n 为平面的法向量,d 为直线的方向向量

Arguments:

Return: AnyAngle: 夹角

Raises:

Source code or View on GitHub
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
     """
         计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n1 \\cdot n2}{|n1| \\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n \\cdot d}{|n| \\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
         Args:
             other ([`Line3`](./line#class-line3) | [`Plane3`](./plane#class-plane3)): 另一个平面或直线
         Returns:
@@ -63,7 +73,7 @@
     elif isinstance(other, Plane3):
         return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

Description: 计算平面与平面或点之间的距离。

Arguments:

Return: float: 距离

Raises:

Source code or View on GitHub
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

Description: 计算平面与平面或点之间的距离。

Arguments:

Return: float: 距离

Raises:

Source code or View on GitHub
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
     """
         计算平面与平面或点之间的距离。
         Args:
@@ -78,9 +88,20 @@
     elif isinstance(other, Point3):
         return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

Description: 计算两平面的交线。

Arguments:

  • other (Plane3): 另一个平面

Return: Line3: 交线

Raises:

Source code or View on GitHub
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

Description: 计算两平面的交线。

TIP

计算两平面交线的一般步骤:

  1. 求两平面的法向量的叉乘得到方向向量
d=n1×n2
  1. 寻找直线上的一点,依次假设x=0, y=0, z=0,并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示
{x=x0+dty=y0+dtz=z0+dt

xx0m=yy0n=zz0p

Arguments:

  • other (Plane3): 另一个平面

Return: Line3: 交线

Raises:

Source code or View on GitHub
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
     """
         计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\begin{cases} x = x_0 + dt \\\\ y = y_0 + dt \\\\ z = z_0 + dt \\end{cases} $$
+
+        $$ \\frac{x - x_0}{m} = \\frac{y - y_0}{n} = \\frac{z - z_0}{p} $$
+        :::
+
         Args:
             other ([`Plane3`](./plane#class-plane3)): 另一个平面
         Returns:
@@ -104,7 +125,7 @@
         A = np.array([[self.a, self.b], [other.a, other.b]])
         B = np.array([-self.d, -other.d])
         x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

Description: 计算平面与直线的交点。

Arguments:

Return: Point3: 交点

Raises:

Source code or View on GitHub
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

Description: 计算平面与直线的交点。

Arguments:

Return: Point3: 交点

Raises:

Source code or View on GitHub
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
     """
         计算平面与直线的交点。
         Args:
@@ -118,7 +139,7 @@
         raise ValueError('The plane and the line are parallel or coincident.')
     x, y, z = other.get_parametric_equations()
     t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

Description: 计算平行于该平面且过指定点的平面。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

Description: 计算平行于该平面且过指定点的平面。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
     """
         计算平行于该平面且过指定点的平面。
         Args:
@@ -126,7 +147,7 @@
         Returns:
             [`Plane3`](./plane#class-plane3): 平面
         """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

Description: 判断两个平面是否平行。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Plane3') -> bool:
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

Description: 判断两个平面是否平行。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Plane3') -> bool:
     """
         判断两个平面是否平行。
         Args:
@@ -134,14 +155,14 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

Description: 平面的法向量。

Return: Vector3: 法向量

Source code or View on GitHub
python
@property
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

Description: 平面的法向量。

Return: Vector3: 法向量

Source code or View on GitHub
python
@property
 def normal(self) -> 'Vector3':
     """
         平面的法向量。
         Returns:
             [`Vector3`](./vector#class-vector3): 法向量
         """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

Description: 工厂函数 由点和法向量构造平面(点法式构造)。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
@classmethod
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

Description: 工厂函数 由点和法向量构造平面(点法式构造)。

Arguments:

Return: Plane3: 平面

Source code or View on GitHub
python
@classmethod
 def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
     """
         工厂函数 由点和法向量构造平面(点法式构造)。
@@ -153,7 +174,7 @@
         """
     a, b, c = (normal.x, normal.y, normal.z)
     d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

Description: 工厂函数 由三点构造平面。

Arguments:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

Return: 平面

Source code or View on GitHub
python
@classmethod
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

Description: 工厂函数 由三点构造平面。

Arguments:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

Return: 平面

Source code or View on GitHub
python
@classmethod
 def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
     """
         工厂函数 由三点构造平面。
@@ -167,7 +188,7 @@
     v1 = p2 - p1
     v2 = p3 - p1
     normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

Description: 工厂函数 由两直线构造平面。

Arguments:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

Return: 平面

Source code or View on GitHub
python
@classmethod
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

Description: 工厂函数 由两直线构造平面。

Arguments:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

Return: 平面

Source code or View on GitHub
python
@classmethod
 def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
     """
         工厂函数 由两直线构造平面。
@@ -181,7 +202,7 @@
     v2 = l2.point - l1.point
     if v2 == zero_vector3:
         v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

Description: 工厂函数 由点和直线构造平面。

Arguments:

Return: 平面

Source code or View on GitHub
python
@classmethod
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

Description: 工厂函数 由点和直线构造平面。

Arguments:

Return: 平面

Source code or View on GitHub
python
@classmethod
 def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
     """
         工厂函数 由点和直线构造平面。
@@ -191,11 +212,11 @@
         Returns:
             平面
         """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

Source code or View on GitHub
python
@overload
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

Source code or View on GitHub
python
@overload
 def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

Source code or View on GitHub
python
@overload
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

Source code or View on GitHub
python
@overload
 def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

Description: 取两平面的交集(人话:交线)

Arguments:

Return: Line3 | Point3 | None: 交集

Raises:

Source code or View on GitHub
python
def __and__(self, other):
+    ...

method __and__(self, other)

Description: 取两平面的交集(人话:交线)

Arguments:

Return: Line3 | Point3 | None: 交集

Raises:

Source code or View on GitHub
python
def __and__(self, other):
     """
         取两平面的交集(人话:交线)
         Args:
@@ -214,7 +235,7 @@
             return None
         return self.cal_intersection_point3(other)
     else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

Description: 判断两个平面是否等价。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否等价

Source code or View on GitHub
python
def __eq__(self, other) -> bool:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

Description: 判断两个平面是否等价。

Arguments:

  • other (Plane3): 另一个平面

Return: bool: 是否等价

Source code or View on GitHub
python
def __eq__(self, other) -> bool:
     """
         判断两个平面是否等价。
         Args:
@@ -222,9 +243,9 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
         """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

Source code or View on GitHub
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

Source code or View on GitHub
python
def __rand__(self, other: 'Line3') -> 'Point3':
     return self.cal_intersection_point3(other)

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/point.html b/en/api/mp_math/point.html index 4b06a65..722dae2 100644 --- a/en/api/mp_math/point.html +++ b/en/api/mp_math/point.html @@ -6,10 +6,10 @@ mbcp.mp_math.point | MBCP docs - + - - + + @@ -70,7 +70,7 @@ """ from .vector import Vector3 return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/segment.html b/en/api/mp_math/segment.html index caa6d29..e8e7451 100644 --- a/en/api/mp_math/segment.html +++ b/en/api/mp_math/segment.html @@ -6,10 +6,10 @@ mbcp.mp_math.segment | MBCP docs - + - - + + @@ -33,7 +33,7 @@ self.length = self.direction.length '中心点' self.midpoint = Point3((self.p1.x + self.p2.x) / 2, (self.p1.y + self.p2.y) / 2, (self.p1.z + self.p2.z) / 2)

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/utils.html b/en/api/mp_math/utils.html index 01523c6..c1c5bdb 100644 --- a/en/api/mp_math/utils.html +++ b/en/api/mp_math/utils.html @@ -6,10 +6,10 @@ mbcp.mp_math.utils | MBCP docs - + - - + + @@ -87,7 +87,7 @@ return f'-{abs(x)}' else: return ''

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/mp_math/vector.html b/en/api/mp_math/vector.html index f28a8f8..f742b9f 100644 --- a/en/api/mp_math/vector.html +++ b/en/api/mp_math/vector.html @@ -6,12 +6,12 @@ mbcp.mp_math.vector | MBCP docs - + - - + + - + @@ -38,35 +38,34 @@ Returns: [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等 """ - return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

Description: 计算两个向量之间的夹角。

Arguments:

Return: AnyAngle: 夹角

Source code or View on GitHub
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

Description: 计算两个向量之间的夹角。

TIP

向量夹角计算公式:

θ=arccos(v1v2|v1||v2|)

Arguments:

Return: AnyAngle: 夹角

Source code or View on GitHub
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
     """
         计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\theta = \\arccos(\\frac{v1 \\cdot v2}{|v1| \\cdot |v2|})$$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`AnyAngle`](./angle#class-anyangle): 夹角
         """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

Description: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

Arguments:

Return: Vector3: 叉乘结果

Source code or View on GitHub
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

Description: 向量积 叉乘:v1 x v2 -> v3

TIP

叉乘运算法则为:

v1×v2=(v1yv2zv1zv2y,v1zv2xv1xv2z,v1xv2yv1yv2x)

转换为行列式形式:

v1×v2=|ijkv1xv1yv1zv2xv2yv2z|

Arguments:

Return: Vector3: 叉乘结果

Source code or View on GitHub
python
def cross(self, other: 'Vector3') -> 'Vector3':
     """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        ``i  j  k``
-
-        ``x1 y1 z1``
-
-        ``x2 y2 z2``
+        向量积 叉乘:v1 x v2 -> v3
 
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\times v2 = (v1_y \\cdot v2_z - v1_z \\cdot v2_y, v1_z \\cdot v2_x - v1_x \\cdot v2_z, v1_x \\cdot v2_y - v1_y \\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\times v2 = \\begin{vmatrix} i & j & k \\\\ v1_x & v1_y & v1_z \\\\ v2_x & v2_y & v2_z \\end{vmatrix} $$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`Vector3`](#class-vector3): 叉乘结果
         """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

Description: 判断两个向量是否近似平行。

Arguments:

Return: bool: 是否近似平行

Source code or View on GitHub
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

Description: 判断两个向量是否近似平行。

Arguments:

Return: bool: 是否近似平行

Source code or View on GitHub
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
     """
         判断两个向量是否近似平行。
         Args:
@@ -75,7 +74,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
         """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

Description: 判断两个向量是否平行。

Arguments:

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Vector3') -> bool:
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

Description: 判断两个向量是否平行。

Arguments:

Return: bool: 是否平行

Source code or View on GitHub
python
def is_parallel(self, other: 'Vector3') -> bool:
     """
         判断两个向量是否平行。
         Args:
@@ -83,7 +82,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

Description: 将向量归一化。

自体归一化,不返回值。

Source code or View on GitHub
python
def normalize(self):
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

Description: 将向量归一化。

自体归一化,不返回值。

Source code or View on GitHub
python
def normalize(self):
     """
         将向量归一化。
 
@@ -92,33 +91,33 @@
     length = self.length
     self.x /= length
     self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

Return: np.ndarray: numpy数组

Source code or View on GitHub
python
@property
+    self.z /= length

@property

method np_array(self) -> np.ndarray

Return: np.ndarray: numpy数组

Source code or View on GitHub
python
@property
 def np_array(self) -> 'np.ndarray':
     """
         返回numpy数组
         Returns:
             [`np.ndarray`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
         """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

Description: 向量的模。

Return: float: 模

Source code or View on GitHub
python
@property
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

Description: 向量的模。

Return: float: 模

Source code or View on GitHub
python
@property
 def length(self) -> float:
     """
         向量的模。
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 模
         """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

Description: 获取该向量的单位向量。

Return: Vector3: 单位向量

Source code or View on GitHub
python
@property
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

Description: 获取该向量的单位向量。

Return: Vector3: 单位向量

Source code or View on GitHub
python
@property
 def unit(self) -> 'Vector3':
     """
         获取该向量的单位向量。
         Returns:
             [`Vector3`](#class-vector3): 单位向量
         """
-    return self / self.length

method __abs__(self)

Source code or View on GitHub
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
+    return self / self.length

method __abs__(self)

Source code or View on GitHub
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
 def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

Source code or View on GitHub
python
@overload
+    ...

@overload

method self + other: Point3 => Point3

Source code or View on GitHub
python
@overload
 def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

Description: V + P -> P

V + V -> V

Arguments:

Return: Vector3 | Point3: 新的向量或点

Source code or View on GitHub
python
def __add__(self, other):
+    ...

method self + other

Description: V + P -> P

V + V -> V

Arguments:

Return: Vector3 | Point3: 新的向量或点

Source code or View on GitHub
python
def __add__(self, other):
     """
         V + P -> P
 
@@ -133,7 +132,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

Description: 判断两个向量是否相等。

Arguments:

Return: bool: 是否相等

Source code or View on GitHub
python
def __eq__(self, other):
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

Description: 判断两个向量是否相等。

Arguments:

Return: bool: 是否相等

Source code or View on GitHub
python
def __eq__(self, other):
     """
         判断两个向量是否相等。
         Args:
@@ -141,7 +140,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
         """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

Description: P + V -> P

别去点那边实现了。

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

Description: P + V -> P

别去点那边实现了。

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __radd__(self, other: 'Point3') -> 'Point3':
     """
         P + V -> P
 
@@ -151,11 +150,11 @@
         Returns:
             [`Point3`](./point#class-point3): 新的点
         """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
 def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

Source code or View on GitHub
python
@overload
+    ...

@overload

method self - other: Point3 => Point3

Source code or View on GitHub
python
@overload
 def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

Description: V - P -> P

V - V -> V

Arguments:

Return: Vector3 | Point3: 新的向量

Source code or View on GitHub
python
def __sub__(self, other):
+    ...

method self - other

Description: V - P -> P

V - V -> V

Arguments:

Return: Vector3 | Point3: 新的向量

Source code or View on GitHub
python
def __sub__(self, other):
     """
         V - P -> P
 
@@ -170,7 +169,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
     else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

Description: P - V -> P

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __rsub__(self, other: 'Point3'):
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

Description: P - V -> P

Arguments:

Return: Point3: 新的点

Source code or View on GitHub
python
def __rsub__(self, other: 'Point3'):
     """
         P - V -> P
         Args:
@@ -181,11 +180,11 @@
     if isinstance(other, Point3):
         return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

Source code or View on GitHub
python
@overload
 def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
@overload
+    ...

@overload

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
@overload
 def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

Description: 数组运算 非点乘。点乘使用@,叉乘使用cross。

Arguments:

Return: Vector3: 数组运算结果

Source code or View on GitHub
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

Description: 数组运算 非点乘。点乘使用@,叉乘使用cross。

Arguments:

Return: Vector3: 数组运算结果

Source code or View on GitHub
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
     """
         数组运算 非点乘。点乘使用@,叉乘使用cross。
         Args:
@@ -198,8 +197,8 @@
     elif isinstance(other, (float, int)):
         return Vector3(self.x * other, self.y * other, self.z * other)
     else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

Description: 点乘。

Arguments:

Return: float: 点乘结果

Source code or View on GitHub
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

Source code or View on GitHub
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

Description: 点乘。

Arguments:

Return: float: 点乘结果

Source code or View on GitHub
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
     """
         点乘。
         Args:
@@ -207,15 +206,15 @@
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
         """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

Source code or View on GitHub
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

Description: 取负。

Return: Vector3: 负向量

Source code or View on GitHub
python
def __neg__(self) -> 'Vector3':
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

Source code or View on GitHub
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

Description: 取负。

Return: Vector3: 负向量

Source code or View on GitHub
python
def __neg__(self) -> 'Vector3':
     """
         取负。
         Returns:
             [`Vector3`](#class-vector3): 负向量
         """
     return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • Description: 零向量

  • Type: Vector3

  • Default: Vector3(0, 0, 0)

var x_axis

  • Description: x轴单位向量

  • Type: Vector3

  • Default: Vector3(1, 0, 0)

var y_axis

  • Description: y轴单位向量

  • Type: Vector3

  • Default: Vector3(0, 1, 0)

var z_axis

  • Description: z轴单位向量

  • Type: Vector3

  • Default: Vector3(0, 0, 1)

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/api/particle/index.html b/en/api/particle/index.html index f86d3d2..b108c16 100644 --- a/en/api/particle/index.html +++ b/en/api/particle/index.html @@ -6,10 +6,10 @@ mbcp.particle | MBCP docs - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/en/api/presets/index.html b/en/api/presets/index.html index 6928f1d..8d97d03 100644 --- a/en/api/presets/index.html +++ b/en/api/presets/index.html @@ -6,10 +6,10 @@ mbcp.presets | MBCP docs - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/en/api/presets/model/index.html b/en/api/presets/model/index.html index 7db6ca4..d326eb5 100644 --- a/en/api/presets/model/index.html +++ b/en/api/presets/model/index.html @@ -6,10 +6,10 @@ mbcp.presets.model | MBCP docs - + - - + + @@ -36,7 +36,7 @@ y_array = radius * np.sin(phi_list) * np.sin(theta_list) z_array = radius * np.cos(phi_list) return [Point3(x_array[i], y_array[i], z_array[i]) for i in range(num)]

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/demo/best-practice.html b/en/demo/best-practice.html index fe9ed19..33a0a9d 100644 --- a/en/demo/best-practice.html +++ b/en/demo/best-practice.html @@ -6,10 +6,10 @@ Best Practice | MBCP docs - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/en/guide/index.html b/en/guide/index.html index 01fa2d2..b7c052e 100644 --- a/en/guide/index.html +++ b/en/guide/index.html @@ -6,10 +6,10 @@ 开始不了一点 | MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

开始不了一点

12x111

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/index.html b/en/index.html index 47c9daa..b3a136c 100644 --- a/en/index.html +++ b/en/index.html @@ -6,10 +6,10 @@ MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

MBCP

More basic change particle

A Library for Python to create Minecraft particle effects and geometric figures

MBCP logo

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/en/refer/index.html b/en/refer/index.html index 6a6fa4b..5efc36c 100644 --- a/en/refer/index.html +++ b/en/refer/index.html @@ -6,10 +6,10 @@ Reference | MBCP docs - + - - + + @@ -19,7 +19,7 @@
Skip to content

Reference

help us to improve the documentation

Documentation built with VitePress | API references generated by litedoc

- + \ No newline at end of file diff --git a/guide/index.html b/guide/index.html index a28d678..30ea9ae 100644 --- a/guide/index.html +++ b/guide/index.html @@ -6,10 +6,10 @@ 快速开始 | MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

快速开始

TIP

建议:把你项目所使用的Python换成PyPy,这样可以提高性能(兼容性优先)

安装

shell
pip install mbcp

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 01aee1c..e9c53e5 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"api_index.md":"BO3OGCZm","api_mp_math_angle.md":"DXjHPMcZ","api_mp_math_const.md":"B_APaY-d","api_mp_math_equation.md":"qaTLbds6","api_mp_math_function.md":"D6Sk-jUO","api_mp_math_index.md":"BfSAi6YB","api_mp_math_line.md":"K-HhIsvU","api_mp_math_mp_math_typing.md":"D0jHaHho","api_mp_math_plane.md":"DQhjzD06","api_mp_math_point.md":"NLp_Sg9U","api_mp_math_segment.md":"C2PEP6H5","api_mp_math_utils.md":"QB0hGGMg","api_mp_math_vector.md":"B1Wu6c9G","api_particle_index.md":"BnaJlvrB","api_presets_index.md":"Cn3tbiU4","api_presets_model_index.md":"BH3azKA8","demo_best-practice.md":"CmYjfrxd","demo_index.md":"CVAdlaFI","en_api_index.md":"C0-LRrMB","en_api_mp_math_angle.md":"B5tdtBiM","en_api_mp_math_const.md":"f-2wQHW5","en_api_mp_math_equation.md":"N3oP-7Ua","en_api_mp_math_function.md":"BT0NB_1n","en_api_mp_math_index.md":"BiDCWhuz","en_api_mp_math_line.md":"0bBpZMyn","en_api_mp_math_mp_math_typing.md":"A2oAWINP","en_api_mp_math_plane.md":"op2OK8nC","en_api_mp_math_point.md":"Ba_i7dDC","en_api_mp_math_segment.md":"BhIGb9yq","en_api_mp_math_utils.md":"Bz-xJhl3","en_api_mp_math_vector.md":"DpzqycDg","en_api_particle_index.md":"j3_p5KtY","en_api_presets_index.md":"Bj8HQN_s","en_api_presets_model_index.md":"tRSLY10d","en_demo_best-practice.md":"CmtY105n","en_guide_index.md":"C3kI8f8A","en_index.md":"Cc-Nt9Ot","en_refer_index.md":"Cq6GWi0V","guide_index.md":"CJOqvlSE","index.md":"WVpbC1C1","ja_api_index.md":"CGngNEPX","ja_api_mp_math_angle.md":"BPpenAm_","ja_api_mp_math_const.md":"kKAd6ihV","ja_api_mp_math_equation.md":"Cxc2AyGq","ja_api_mp_math_function.md":"zcK7s9-C","ja_api_mp_math_index.md":"BCReRKfD","ja_api_mp_math_line.md":"BUEG7Qno","ja_api_mp_math_mp_math_typing.md":"CzEPV5Ep","ja_api_mp_math_plane.md":"D8ltDTI9","ja_api_mp_math_point.md":"Bj_wyaCj","ja_api_mp_math_segment.md":"hBKUntDs","ja_api_mp_math_utils.md":"DdrbPY-j","ja_api_mp_math_vector.md":"D_iXI2nw","ja_api_particle_index.md":"CW1rqarC","ja_api_presets_index.md":"BFc_PfJb","ja_api_presets_model_index.md":"BqEjZ7IY","ja_demo_best-practice.md":"CBHiF6ec","ja_guide_index.md":"w1Tf2Adm","ja_index.md":"BvjV8RIJ","ja_refer_index.md":"DamUscs8","refer_function_curry.md":"D_oqRDd3","refer_function_function.md":"Bi_82lIJ","refer_index.md":"yFZW0kI4","zht_api_index.md":"Bh7ICG6U","zht_api_mp_math_angle.md":"mmecNIJM","zht_api_mp_math_const.md":"D9eBwcNw","zht_api_mp_math_equation.md":"B00IWO_d","zht_api_mp_math_function.md":"BnUerglv","zht_api_mp_math_index.md":"DVqLRZhm","zht_api_mp_math_line.md":"Dg3ji_dG","zht_api_mp_math_mp_math_typing.md":"DWzRfFJe","zht_api_mp_math_plane.md":"C-9IgWh_","zht_api_mp_math_point.md":"vFMEEeVu","zht_api_mp_math_segment.md":"BuDHbwYP","zht_api_mp_math_utils.md":"DvxTZy5j","zht_api_mp_math_vector.md":"hAG56fdm","zht_api_particle_index.md":"bdouG1sk","zht_api_presets_index.md":"9wdPAkKN","zht_api_presets_model_index.md":"CyrJscBT","zht_demo_best-practice.md":"CPNbD_Lg","zht_guide_index.md":"BNnMViC8","zht_index.md":"fkOYkZZe","zht_refer_index.md":"B7CQS2UW"} +{"api_index.md":"BO3OGCZm","api_mp_math_angle.md":"DXjHPMcZ","api_mp_math_const.md":"B_APaY-d","api_mp_math_equation.md":"qaTLbds6","api_mp_math_function.md":"D6Sk-jUO","api_mp_math_index.md":"BfSAi6YB","api_mp_math_line.md":"K-HhIsvU","api_mp_math_mp_math_typing.md":"D0jHaHho","api_mp_math_plane.md":"dDWoDJrS","api_mp_math_point.md":"NLp_Sg9U","api_mp_math_segment.md":"C2PEP6H5","api_mp_math_utils.md":"QB0hGGMg","api_mp_math_vector.md":"BzTv8qws","api_particle_index.md":"BnaJlvrB","api_presets_index.md":"Cn3tbiU4","api_presets_model_index.md":"BH3azKA8","demo_best-practice.md":"CmYjfrxd","demo_index.md":"CVAdlaFI","en_api_index.md":"C0-LRrMB","en_api_mp_math_angle.md":"B5tdtBiM","en_api_mp_math_const.md":"f-2wQHW5","en_api_mp_math_equation.md":"N3oP-7Ua","en_api_mp_math_function.md":"BT0NB_1n","en_api_mp_math_index.md":"BiDCWhuz","en_api_mp_math_line.md":"0bBpZMyn","en_api_mp_math_mp_math_typing.md":"A2oAWINP","en_api_mp_math_plane.md":"BqUredjB","en_api_mp_math_point.md":"Ba_i7dDC","en_api_mp_math_segment.md":"BhIGb9yq","en_api_mp_math_utils.md":"Bz-xJhl3","en_api_mp_math_vector.md":"OzaLDP6e","en_api_particle_index.md":"j3_p5KtY","en_api_presets_index.md":"Bj8HQN_s","en_api_presets_model_index.md":"tRSLY10d","en_demo_best-practice.md":"CmtY105n","en_guide_index.md":"C3kI8f8A","en_index.md":"Cc-Nt9Ot","en_refer_index.md":"Cq6GWi0V","guide_index.md":"CJOqvlSE","index.md":"WVpbC1C1","ja_api_index.md":"CGngNEPX","ja_api_mp_math_angle.md":"BPpenAm_","ja_api_mp_math_const.md":"kKAd6ihV","ja_api_mp_math_equation.md":"Cxc2AyGq","ja_api_mp_math_function.md":"zcK7s9-C","ja_api_mp_math_index.md":"BCReRKfD","ja_api_mp_math_line.md":"BUEG7Qno","ja_api_mp_math_mp_math_typing.md":"CzEPV5Ep","ja_api_mp_math_plane.md":"DmM6KUUe","ja_api_mp_math_point.md":"Bj_wyaCj","ja_api_mp_math_segment.md":"hBKUntDs","ja_api_mp_math_utils.md":"DdrbPY-j","ja_api_mp_math_vector.md":"DuAJ8ZJo","ja_api_particle_index.md":"CW1rqarC","ja_api_presets_index.md":"BFc_PfJb","ja_api_presets_model_index.md":"BqEjZ7IY","ja_demo_best-practice.md":"CBHiF6ec","ja_guide_index.md":"w1Tf2Adm","ja_index.md":"BvjV8RIJ","ja_refer_index.md":"DamUscs8","refer_7-differential-euqtion_index.md":"Dd2-7I9S","refer_function_curry.md":"D_oqRDd3","refer_function_function.md":"Bi_82lIJ","refer_index.md":"yFZW0kI4","zht_api_index.md":"Bh7ICG6U","zht_api_mp_math_angle.md":"mmecNIJM","zht_api_mp_math_const.md":"D9eBwcNw","zht_api_mp_math_equation.md":"B00IWO_d","zht_api_mp_math_function.md":"BnUerglv","zht_api_mp_math_index.md":"DVqLRZhm","zht_api_mp_math_line.md":"Dg3ji_dG","zht_api_mp_math_mp_math_typing.md":"DWzRfFJe","zht_api_mp_math_plane.md":"DHKntbKb","zht_api_mp_math_point.md":"vFMEEeVu","zht_api_mp_math_segment.md":"BuDHbwYP","zht_api_mp_math_utils.md":"DvxTZy5j","zht_api_mp_math_vector.md":"DoP7bI-7","zht_api_particle_index.md":"bdouG1sk","zht_api_presets_index.md":"9wdPAkKN","zht_api_presets_model_index.md":"CyrJscBT","zht_demo_best-practice.md":"CPNbD_Lg","zht_guide_index.md":"BNnMViC8","zht_index.md":"fkOYkZZe","zht_refer_index.md":"B7CQS2UW"} diff --git a/index.html b/index.html index 1515f23..5c821a1 100644 --- a/index.html +++ b/index.html @@ -6,10 +6,10 @@ MBCP 文档 - + - - + + @@ -19,7 +19,7 @@
Skip to content

MBCP

更多基础变换粒子

用于几何运算和Minecraft粒子制作的库

MBCP logo

文档由 VitePress 构建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/ja/api/index.html b/ja/api/index.html index a20d269..ae32fba 100644 --- a/ja/api/index.html +++ b/ja/api/index.html @@ -6,10 +6,10 @@ mbcp | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

モジュール mbcp

本模块是主模块,提供了一些工具 可导入

mbcp.mp_math:数学工具

mbcp.particle:粒子生成工具

mbcp.presets:预设

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/angle.html b/ja/api/mp_math/angle.html index 6bac679..1a8e439 100644 --- a/ja/api/mp_math/angle.html +++ b/ja/api/mp_math/angle.html @@ -6,10 +6,10 @@ mbcp.mp_math.angle | MBCP ドキュメント - + - - + + @@ -117,7 +117,7 @@ if isinstance(other, AnyAngle): return self.radian / other.radian return AnyAngle(self.radian / other, is_radian=True)

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/const.html b/ja/api/mp_math/const.html index 2523363..a5d82e7 100644 --- a/ja/api/mp_math/const.html +++ b/ja/api/mp_math/const.html @@ -6,10 +6,10 @@ mbcp.mp_math.const | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

モジュール mbcp.mp_math.const

本模块定义了一些常用的常量

var PI

  • 説明: 常量 π

  • デフォルト: math.pi

var E

  • 説明: 自然对数的底 exp(1)

  • デフォルト: math.e

var GOLDEN_RATIO

  • 説明: 黄金分割比

  • デフォルト: (1 + math.sqrt(5)) / 2

var GAMMA

  • 説明: 欧拉常数

  • デフォルト: 0.5772156649015329

var EPSILON

  • 説明: 精度误差

  • デフォルト: 0.0001

var APPROX

  • 説明: 约等于判定误差

  • デフォルト: 0.001

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/equation.html b/ja/api/mp_math/equation.html index e29ff80..6011cf6 100644 --- a/ja/api/mp_math/equation.html +++ b/ja/api/mp_math/equation.html @@ -6,10 +6,10 @@ mbcp.mp_math.equation | MBCP ドキュメント - + - - + + @@ -83,7 +83,7 @@ return high_order_partial_derivative_func else: raise ValueError('Invalid var type')

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/function.html b/ja/api/mp_math/function.html index dad4cf8..7a56cd1 100644 --- a/ja/api/mp_math/function.html +++ b/ja/api/mp_math/function.html @@ -6,10 +6,10 @@ mbcp.mp_math.function | MBCP ドキュメント - + - - + + @@ -60,7 +60,7 @@ """@litedoc-hide""" return func(*args, *args2) return curried_func

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/index.html b/ja/api/mp_math/index.html index 8243410..65b7de9 100644 --- a/ja/api/mp_math/index.html +++ b/ja/api/mp_math/index.html @@ -6,10 +6,10 @@ mbcp.mp_math | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

モジュール mbcp.mp_math

本包定义了一些常用的导入,可直接从mbcp.mp_math导入使用 导入的类有:

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/line.html b/ja/api/mp_math/line.html index ff8169c..edaccea 100644 --- a/ja/api/mp_math/line.html +++ b/ja/api/mp_math/line.html @@ -6,10 +6,10 @@ mbcp.mp_math.line | MBCP ドキュメント - + - - + + @@ -192,7 +192,7 @@ [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价 """ return self.direction.is_parallel(other.direction) and (self.point - other.point).is_parallel(self.direction)

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/mp_math_typing.html b/ja/api/mp_math/mp_math_typing.html index 4f4304a..5342df3 100644 --- a/ja/api/mp_math/mp_math_typing.html +++ b/ja/api/mp_math/mp_math_typing.html @@ -6,10 +6,10 @@ mbcp.mp_math.mp_math_typing | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

モジュール mbcp.mp_math.mp_math_typing

本模块用于内部类型提示

var RealNumber

  • 説明: 实数

  • タイプ: TypeAlias

  • デフォルト: int | float

var Number

  • 説明: 数

  • タイプ: TypeAlias

  • デフォルト: RealNumber | complex

var SingleVar

  • 説明: 单变量

  • デフォルト: TypeVar('SingleVar', bound=Number)

var ArrayVar

  • 説明: 数组变量

  • デフォルト: TypeVar('ArrayVar', bound=Iterable[Number])

var Var

  • 説明: 变量

  • タイプ: TypeAlias

  • デフォルト: SingleVar | ArrayVar

var OneSingleVarFunc

  • 説明: 一元单变量函数

  • タイプ: TypeAlias

  • デフォルト: Callable[[SingleVar], SingleVar]

var OneArrayFunc

  • 説明: 一元数组函数

  • タイプ: TypeAlias

  • デフォルト: Callable[[ArrayVar], ArrayVar]

var OneVarFunc

  • 説明: 一元函数

  • タイプ: TypeAlias

  • デフォルト: OneSingleVarFunc | OneArrayFunc

var TwoSingleVarsFunc

  • 説明: 二元单变量函数

  • タイプ: TypeAlias

  • デフォルト: Callable[[SingleVar, SingleVar], SingleVar]

var TwoArraysFunc

  • 説明: 二元数组函数

  • タイプ: TypeAlias

  • デフォルト: Callable[[ArrayVar, ArrayVar], ArrayVar]

var TwoVarsFunc

  • 説明: 二元函数

  • タイプ: TypeAlias

  • デフォルト: TwoSingleVarsFunc | TwoArraysFunc

var ThreeSingleVarsFunc

  • 説明: 三元单变量函数

  • タイプ: TypeAlias

  • デフォルト: Callable[[SingleVar, SingleVar, SingleVar], SingleVar]

var ThreeArraysFunc

  • 説明: 三元数组函数

  • タイプ: TypeAlias

  • デフォルト: Callable[[ArrayVar, ArrayVar, ArrayVar], ArrayVar]

var ThreeVarsFunc

  • 説明: 三元函数

  • タイプ: TypeAlias

  • デフォルト: ThreeSingleVarsFunc | ThreeArraysFunc

var MultiSingleVarsFunc

  • 説明: 多元单变量函数

  • タイプ: TypeAlias

  • デフォルト: Callable[..., SingleVar]

var MultiArraysFunc

  • 説明: 多元数组函数

  • タイプ: TypeAlias

  • デフォルト: Callable[..., ArrayVar]

var MultiVarsFunc

  • 説明: 多元函数

  • タイプ: TypeAlias

  • デフォルト: MultiSingleVarsFunc | MultiArraysFunc

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/plane.html b/ja/api/mp_math/plane.html index d97a6ce..b7bfdf0 100644 --- a/ja/api/mp_math/plane.html +++ b/ja/api/mp_math/plane.html @@ -6,12 +6,12 @@ mbcp.mp_math.plane | MBCP ドキュメント - + - - + + - + @@ -48,9 +48,19 @@ k = other.c / self.c return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k) else: - return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

引数:

戻り値: AnyAngle: 夹角

例外:

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

TIP

平面间夹角计算公式:

θ=arccos(n1n2|n1||n2|)

其中 n1n2 分别为两个平面的法向量

TIP

平面与直线夹角计算公式:

θ=arccos(nd|n||d|)

其中 n 为平面的法向量,d 为直线的方向向量

引数:

戻り値: AnyAngle: 夹角

例外:

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
     """
         计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n1 \\cdot n2}{|n1| \\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n \\cdot d}{|n| \\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
         Args:
             other ([`Line3`](./line#class-line3) | [`Plane3`](./plane#class-plane3)): 另一个平面或直线
         Returns:
@@ -63,7 +73,7 @@
     elif isinstance(other, Plane3):
         return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

引数:

戻り値: float: 距离

例外:

ソースコード または GitHubで表示
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

引数:

戻り値: float: 距离

例外:

ソースコード または GitHubで表示
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
     """
         计算平面与平面或点之间的距离。
         Args:
@@ -78,9 +88,20 @@
     elif isinstance(other, Point3):
         return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

引数:

  • other (Plane3): 另一个平面

戻り値: Line3: 交线

例外:

ソースコード または GitHubで表示
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

TIP

计算两平面交线的一般步骤:

  1. 求两平面的法向量的叉乘得到方向向量
d=n1×n2
  1. 寻找直线上的一点,依次假设x=0, y=0, z=0,并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示
{x=x0+dty=y0+dtz=z0+dt

xx0m=yy0n=zz0p

引数:

  • other (Plane3): 另一个平面

戻り値: Line3: 交线

例外:

ソースコード または GitHubで表示
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
     """
         计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\begin{cases} x = x_0 + dt \\\\ y = y_0 + dt \\\\ z = z_0 + dt \\end{cases} $$
+
+        $$ \\frac{x - x_0}{m} = \\frac{y - y_0}{n} = \\frac{z - z_0}{p} $$
+        :::
+
         Args:
             other ([`Plane3`](./plane#class-plane3)): 另一个平面
         Returns:
@@ -104,7 +125,7 @@
         A = np.array([[self.a, self.b], [other.a, other.b]])
         B = np.array([-self.d, -other.d])
         x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

引数:

戻り値: Point3: 交点

例外:

ソースコード または GitHubで表示
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

引数:

戻り値: Point3: 交点

例外:

ソースコード または GitHubで表示
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
     """
         计算平面与直线的交点。
         Args:
@@ -118,7 +139,7 @@
         raise ValueError('The plane and the line are parallel or coincident.')
     x, y, z = other.get_parametric_equations()
     t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
     """
         计算平行于该平面且过指定点的平面。
         Args:
@@ -126,7 +147,7 @@
         Returns:
             [`Plane3`](./plane#class-plane3): 平面
         """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Plane3') -> bool:
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Plane3') -> bool:
     """
         判断两个平面是否平行。
         Args:
@@ -134,14 +155,14 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

戻り値: Vector3: 法向量

ソースコード または GitHubで表示
python
@property
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

戻り値: Vector3: 法向量

ソースコード または GitHubで表示
python
@property
 def normal(self) -> 'Vector3':
     """
         平面的法向量。
         Returns:
             [`Vector3`](./vector#class-vector3): 法向量
         """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
@classmethod
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

引数:

戻り値: Plane3: 平面

ソースコード または GitHubで表示
python
@classmethod
 def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
     """
         工厂函数 由点和法向量构造平面(点法式构造)。
@@ -153,7 +174,7 @@
         """
     a, b, c = (normal.x, normal.y, normal.z)
     d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

引数:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

引数:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
 def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
     """
         工厂函数 由三点构造平面。
@@ -167,7 +188,7 @@
     v1 = p2 - p1
     v2 = p3 - p1
     normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

引数:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

引数:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
 def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
     """
         工厂函数 由两直线构造平面。
@@ -181,7 +202,7 @@
     v2 = l2.point - l1.point
     if v2 == zero_vector3:
         v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

引数:

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

引数:

戻り値: 平面

ソースコード または GitHubで表示
python
@classmethod
 def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
     """
         工厂函数 由点和直线构造平面。
@@ -191,11 +212,11 @@
         Returns:
             平面
         """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

ソースコード または GitHubで表示
python
@overload
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

ソースコード または GitHubで表示
python
@overload
 def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

ソースコード または GitHubで表示
python
@overload
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

ソースコード または GitHubで表示
python
@overload
 def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

引数:

戻り値: Line3 | Point3 | None: 交集

例外:

ソースコード または GitHubで表示
python
def __and__(self, other):
+    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

引数:

戻り値: Line3 | Point3 | None: 交集

例外:

ソースコード または GitHubで表示
python
def __and__(self, other):
     """
         取两平面的交集(人话:交线)
         Args:
@@ -214,7 +235,7 @@
             return None
         return self.cal_intersection_point3(other)
     else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否等价

ソースコード または GitHubで表示
python
def __eq__(self, other) -> bool:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

引数:

  • other (Plane3): 另一个平面

戻り値: bool: 是否等价

ソースコード または GitHubで表示
python
def __eq__(self, other) -> bool:
     """
         判断两个平面是否等价。
         Args:
@@ -222,9 +243,9 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
         """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

ソースコード または GitHubで表示
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

ソースコード または GitHubで表示
python
def __rand__(self, other: 'Line3') -> 'Point3':
     return self.cal_intersection_point3(other)

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/point.html b/ja/api/mp_math/point.html index ca46e34..ac35501 100644 --- a/ja/api/mp_math/point.html +++ b/ja/api/mp_math/point.html @@ -6,10 +6,10 @@ mbcp.mp_math.point | MBCP ドキュメント - + - - + + @@ -70,7 +70,7 @@ """ from .vector import Vector3 return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/segment.html b/ja/api/mp_math/segment.html index ca76e95..f5702e4 100644 --- a/ja/api/mp_math/segment.html +++ b/ja/api/mp_math/segment.html @@ -6,10 +6,10 @@ mbcp.mp_math.segment | MBCP ドキュメント - + - - + + @@ -33,7 +33,7 @@ self.length = self.direction.length '中心点' self.midpoint = Point3((self.p1.x + self.p2.x) / 2, (self.p1.y + self.p2.y) / 2, (self.p1.z + self.p2.z) / 2)

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/utils.html b/ja/api/mp_math/utils.html index 184bf0d..7923271 100644 --- a/ja/api/mp_math/utils.html +++ b/ja/api/mp_math/utils.html @@ -6,10 +6,10 @@ mbcp.mp_math.utils | MBCP ドキュメント - + - - + + @@ -87,7 +87,7 @@ return f'-{abs(x)}' else: return ''

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/mp_math/vector.html b/ja/api/mp_math/vector.html index 5b58f3d..3f30e2e 100644 --- a/ja/api/mp_math/vector.html +++ b/ja/api/mp_math/vector.html @@ -6,12 +6,12 @@ mbcp.mp_math.vector | MBCP ドキュメント - + - - + + - + @@ -38,35 +38,34 @@ Returns: [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等 """ - return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

引数:

戻り値: AnyAngle: 夹角

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

TIP

向量夹角计算公式:

θ=arccos(v1v2|v1||v2|)

引数:

戻り値: AnyAngle: 夹角

ソースコード または GitHubで表示
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
     """
         计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\theta = \\arccos(\\frac{v1 \\cdot v2}{|v1| \\cdot |v2|})$$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`AnyAngle`](./angle#class-anyangle): 夹角
         """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

引数:

戻り値: Vector3: 叉乘结果

ソースコード または GitHubで表示
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 x v2 -> v3

TIP

叉乘运算法则为:

v1×v2=(v1yv2zv1zv2y,v1zv2xv1xv2z,v1xv2yv1yv2x)

转换为行列式形式:

v1×v2=|ijkv1xv1yv1zv2xv2yv2z|

引数:

戻り値: Vector3: 叉乘结果

ソースコード または GitHubで表示
python
def cross(self, other: 'Vector3') -> 'Vector3':
     """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        ``i  j  k``
-
-        ``x1 y1 z1``
-
-        ``x2 y2 z2``
+        向量积 叉乘:v1 x v2 -> v3
 
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\times v2 = (v1_y \\cdot v2_z - v1_z \\cdot v2_y, v1_z \\cdot v2_x - v1_x \\cdot v2_z, v1_x \\cdot v2_y - v1_y \\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\times v2 = \\begin{vmatrix} i & j & k \\\\ v1_x & v1_y & v1_z \\\\ v2_x & v2_y & v2_z \\end{vmatrix} $$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`Vector3`](#class-vector3): 叉乘结果
         """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

引数:

戻り値: bool: 是否近似平行

ソースコード または GitHubで表示
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

引数:

戻り値: bool: 是否近似平行

ソースコード または GitHubで表示
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
     """
         判断两个向量是否近似平行。
         Args:
@@ -75,7 +74,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
         """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

引数:

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Vector3') -> bool:
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

引数:

戻り値: bool: 是否平行

ソースコード または GitHubで表示
python
def is_parallel(self, other: 'Vector3') -> bool:
     """
         判断两个向量是否平行。
         Args:
@@ -83,7 +82,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

ソースコード または GitHubで表示
python
def normalize(self):
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

ソースコード または GitHubで表示
python
def normalize(self):
     """
         将向量归一化。
 
@@ -92,33 +91,33 @@
     length = self.length
     self.x /= length
     self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

戻り値: np.ndarray: numpy数组

ソースコード または GitHubで表示
python
@property
+    self.z /= length

@property

method np_array(self) -> np.ndarray

戻り値: np.ndarray: numpy数组

ソースコード または GitHubで表示
python
@property
 def np_array(self) -> 'np.ndarray':
     """
         返回numpy数组
         Returns:
             [`np.ndarray`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
         """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

戻り値: float: 模

ソースコード または GitHubで表示
python
@property
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

戻り値: float: 模

ソースコード または GitHubで表示
python
@property
 def length(self) -> float:
     """
         向量的模。
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 模
         """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

戻り値: Vector3: 单位向量

ソースコード または GitHubで表示
python
@property
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

戻り値: Vector3: 单位向量

ソースコード または GitHubで表示
python
@property
 def unit(self) -> 'Vector3':
     """
         获取该向量的单位向量。
         Returns:
             [`Vector3`](#class-vector3): 单位向量
         """
-    return self / self.length

method __abs__(self)

ソースコード または GitHubで表示
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
+    return self / self.length

method __abs__(self)

ソースコード または GitHubで表示
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
 def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
+    ...

@overload

method self + other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
 def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

説明: V + P -> P

V + V -> V

引数:

戻り値: Vector3 | Point3: 新的向量或点

ソースコード または GitHubで表示
python
def __add__(self, other):
+    ...

method self + other

説明: V + P -> P

V + V -> V

引数:

戻り値: Vector3 | Point3: 新的向量或点

ソースコード または GitHubで表示
python
def __add__(self, other):
     """
         V + P -> P
 
@@ -133,7 +132,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

引数:

戻り値: bool: 是否相等

ソースコード または GitHubで表示
python
def __eq__(self, other):
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

引数:

戻り値: bool: 是否相等

ソースコード または GitHubで表示
python
def __eq__(self, other):
     """
         判断两个向量是否相等。
         Args:
@@ -141,7 +140,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
         """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __radd__(self, other: 'Point3') -> 'Point3':
     """
         P + V -> P
 
@@ -151,11 +150,11 @@
         Returns:
             [`Point3`](./point#class-point3): 新的点
         """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
 def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
+    ...

@overload

method self - other: Point3 => Point3

ソースコード または GitHubで表示
python
@overload
 def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

説明: V - P -> P

V - V -> V

引数:

戻り値: Vector3 | Point3: 新的向量

ソースコード または GitHubで表示
python
def __sub__(self, other):
+    ...

method self - other

説明: V - P -> P

V - V -> V

引数:

戻り値: Vector3 | Point3: 新的向量

ソースコード または GitHubで表示
python
def __sub__(self, other):
     """
         V - P -> P
 
@@ -170,7 +169,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
     else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __rsub__(self, other: 'Point3'):
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

引数:

戻り値: Point3: 新的点

ソースコード または GitHubで表示
python
def __rsub__(self, other: 'Point3'):
     """
         P - V -> P
         Args:
@@ -181,11 +180,11 @@
     if isinstance(other, Point3):
         return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

ソースコード または GitHubで表示
python
@overload
 def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
@overload
+    ...

@overload

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
@overload
 def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

引数:

戻り値: Vector3: 数组运算结果

ソースコード または GitHubで表示
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

引数:

戻り値: Vector3: 数组运算结果

ソースコード または GitHubで表示
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
     """
         数组运算 非点乘。点乘使用@,叉乘使用cross。
         Args:
@@ -198,8 +197,8 @@
     elif isinstance(other, (float, int)):
         return Vector3(self.x * other, self.y * other, self.z * other)
     else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

引数:

戻り値: float: 点乘结果

ソースコード または GitHubで表示
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

引数:

戻り値: float: 点乘结果

ソースコード または GitHubで表示
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
     """
         点乘。
         Args:
@@ -207,15 +206,15 @@
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
         """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

戻り値: Vector3: 负向量

ソースコード または GitHubで表示
python
def __neg__(self) -> 'Vector3':
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

ソースコード または GitHubで表示
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

戻り値: Vector3: 负向量

ソースコード または GitHubで表示
python
def __neg__(self) -> 'Vector3':
     """
         取负。
         Returns:
             [`Vector3`](#class-vector3): 负向量
         """
     return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • 説明: 零向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 0, 0)

var x_axis

  • 説明: x轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(1, 0, 0)

var y_axis

  • 説明: y轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 1, 0)

var z_axis

  • 説明: z轴单位向量

  • タイプ: Vector3

  • デフォルト: Vector3(0, 0, 1)

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/api/particle/index.html b/ja/api/particle/index.html index 4839f5b..1cd588f 100644 --- a/ja/api/particle/index.html +++ b/ja/api/particle/index.html @@ -6,10 +6,10 @@ mbcp.particle | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/ja/api/presets/index.html b/ja/api/presets/index.html index 2a29a27..fcc894c 100644 --- a/ja/api/presets/index.html +++ b/ja/api/presets/index.html @@ -6,10 +6,10 @@ mbcp.presets | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/ja/api/presets/model/index.html b/ja/api/presets/model/index.html index 1901a18..21dc400 100644 --- a/ja/api/presets/model/index.html +++ b/ja/api/presets/model/index.html @@ -6,10 +6,10 @@ mbcp.presets.model | MBCP ドキュメント - + - - + + @@ -36,7 +36,7 @@ y_array = radius * np.sin(phi_list) * np.sin(theta_list) z_array = radius * np.cos(phi_list) return [Point3(x_array[i], y_array[i], z_array[i]) for i in range(num)]

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/demo/best-practice.html b/ja/demo/best-practice.html index d0ff381..38915d4 100644 --- a/ja/demo/best-practice.html +++ b/ja/demo/best-practice.html @@ -6,10 +6,10 @@ ベストプラクティス | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/ja/guide/index.html b/ja/guide/index.html index 55b0ab4..46e139e 100644 --- a/ja/guide/index.html +++ b/ja/guide/index.html @@ -6,10 +6,10 @@ 开始不了一点 | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

开始不了一点

12x111

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/index.html b/ja/index.html index cc5d8c9..998beb9 100644 --- a/ja/index.html +++ b/ja/index.html @@ -6,10 +6,10 @@ MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

MBCP

More basic change particle

ジオメトリ演算とパーティクル作成のためのライブラリ

MBCP logo

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/ja/refer/index.html b/ja/refer/index.html index dc7f898..388fd38 100644 --- a/ja/refer/index.html +++ b/ja/refer/index.html @@ -6,10 +6,10 @@ Reference | MBCP ドキュメント - + - - + + @@ -19,7 +19,7 @@
Skip to content

Reference

Help us to improve the documentation

VitePress で構築されたドキュメント | litedoc によって生成されたAPIリファレンス

- + \ No newline at end of file diff --git a/refer/7-differential-euqtion/index.html b/refer/7-differential-euqtion/index.html new file mode 100644 index 0000000..99a472a --- /dev/null +++ b/refer/7-differential-euqtion/index.html @@ -0,0 +1,25 @@ + + + + + + 微分方程 | MBCP 文档 + + + + + + + + + + + + + + +
Skip to content

微分方程

文档由 VitePress 构建 | API引用由 litedoc 生成

+ + + + \ No newline at end of file diff --git a/refer/function/curry.html b/refer/function/curry.html index 4dd6da0..da0bfa5 100644 --- a/refer/function/curry.html +++ b/refer/function/curry.html @@ -6,10 +6,10 @@ 柯里化 | MBCP 文档 - + - - + + @@ -18,8 +18,8 @@ -
Skip to content

文档由 VitePress 构建 | API引用由 litedoc 生成

- +
Skip to content

文档由 VitePress 构建 | API引用由 litedoc 生成

+ \ No newline at end of file diff --git a/refer/function/function.html b/refer/function/function.html index eaf356f..00b2b6f 100644 --- a/refer/function/function.html +++ b/refer/function/function.html @@ -6,10 +6,10 @@ 函数 | MBCP 文档 - + - - + + @@ -18,8 +18,8 @@ -
Skip to content

文档由 VitePress 构建 | API引用由 litedoc 生成

- +
Skip to content

文档由 VitePress 构建 | API引用由 litedoc 生成

+ \ No newline at end of file diff --git a/refer/index.html b/refer/index.html index a00689b..7687578 100644 --- a/refer/index.html +++ b/refer/index.html @@ -6,10 +6,10 @@ 参考 | MBCP 文档 - + - - + + @@ -18,8 +18,8 @@ -
Skip to content

Reference

Help us to improve the documentation

文档由 VitePress 构建 | API引用由 litedoc 生成

- +
Skip to content

Reference

Help us to improve the documentation

文档由 VitePress 构建 | API引用由 litedoc 生成

+ \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index bb915ee..5e148c9 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://mbcp.sfkm.me/en/api/https://mbcp.sfkm.me/ja/api/https://mbcp.sfkm.me/api/https://mbcp.sfkm.me/zht/api/https://mbcp.sfkm.me/en/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/en/api/mp_math/const.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/const.htmlhttps://mbcp.sfkm.me/api/mp_math/const.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/const.htmlhttps://mbcp.sfkm.me/en/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/en/api/mp_math/function.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/function.htmlhttps://mbcp.sfkm.me/api/mp_math/function.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/function.htmlhttps://mbcp.sfkm.me/en/api/mp_math/https://mbcp.sfkm.me/ja/api/mp_math/https://mbcp.sfkm.me/api/mp_math/https://mbcp.sfkm.me/zht/api/mp_math/https://mbcp.sfkm.me/en/api/mp_math/line.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/line.htmlhttps://mbcp.sfkm.me/api/mp_math/line.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/line.htmlhttps://mbcp.sfkm.me/en/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/en/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/en/api/mp_math/point.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/point.htmlhttps://mbcp.sfkm.me/api/mp_math/point.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/point.htmlhttps://mbcp.sfkm.me/en/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/en/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/en/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/en/api/particle/https://mbcp.sfkm.me/ja/api/particle/https://mbcp.sfkm.me/api/particle/https://mbcp.sfkm.me/zht/api/particle/https://mbcp.sfkm.me/en/api/presets/https://mbcp.sfkm.me/ja/api/presets/https://mbcp.sfkm.me/api/presets/https://mbcp.sfkm.me/zht/api/presets/https://mbcp.sfkm.me/en/api/presets/model/https://mbcp.sfkm.me/ja/api/presets/model/https://mbcp.sfkm.me/api/presets/model/https://mbcp.sfkm.me/zht/api/presets/model/https://mbcp.sfkm.me/en/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/ja/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/zht/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/en/guide/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/ja/guide/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/guide/2024-09-03T14:29:26.000Zhttps://mbcp.sfkm.me/zht/guide/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/en/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/ja/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/zht/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/en/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/ja/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/zht/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/demo/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/refer/function/curry.html2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/refer/function/function.html2024-08-30T09:56:01.000Z \ No newline at end of file +https://mbcp.sfkm.me/en/api/https://mbcp.sfkm.me/ja/api/https://mbcp.sfkm.me/api/https://mbcp.sfkm.me/zht/api/https://mbcp.sfkm.me/en/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/angle.htmlhttps://mbcp.sfkm.me/en/api/mp_math/const.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/const.htmlhttps://mbcp.sfkm.me/api/mp_math/const.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/const.htmlhttps://mbcp.sfkm.me/en/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/equation.htmlhttps://mbcp.sfkm.me/en/api/mp_math/function.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/function.htmlhttps://mbcp.sfkm.me/api/mp_math/function.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/function.htmlhttps://mbcp.sfkm.me/en/api/mp_math/https://mbcp.sfkm.me/ja/api/mp_math/https://mbcp.sfkm.me/api/mp_math/https://mbcp.sfkm.me/zht/api/mp_math/https://mbcp.sfkm.me/en/api/mp_math/line.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/line.htmlhttps://mbcp.sfkm.me/api/mp_math/line.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/line.htmlhttps://mbcp.sfkm.me/en/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/mp_math_typing.htmlhttps://mbcp.sfkm.me/en/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/plane.htmlhttps://mbcp.sfkm.me/en/api/mp_math/point.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/point.htmlhttps://mbcp.sfkm.me/api/mp_math/point.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/point.htmlhttps://mbcp.sfkm.me/en/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/segment.htmlhttps://mbcp.sfkm.me/en/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/utils.htmlhttps://mbcp.sfkm.me/en/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/ja/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/zht/api/mp_math/vector.htmlhttps://mbcp.sfkm.me/en/api/particle/https://mbcp.sfkm.me/ja/api/particle/https://mbcp.sfkm.me/api/particle/https://mbcp.sfkm.me/zht/api/particle/https://mbcp.sfkm.me/en/api/presets/https://mbcp.sfkm.me/ja/api/presets/https://mbcp.sfkm.me/api/presets/https://mbcp.sfkm.me/zht/api/presets/https://mbcp.sfkm.me/en/api/presets/model/https://mbcp.sfkm.me/ja/api/presets/model/https://mbcp.sfkm.me/api/presets/model/https://mbcp.sfkm.me/zht/api/presets/model/https://mbcp.sfkm.me/en/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/ja/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/zht/demo/best-practice.html2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/en/guide/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/ja/guide/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/guide/2024-09-03T14:29:26.000Zhttps://mbcp.sfkm.me/zht/guide/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/en/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/ja/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/zht/2024-08-31T02:12:28.000Zhttps://mbcp.sfkm.me/en/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/ja/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/zht/refer/2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/demo/2024-08-29T11:00:01.000Zhttps://mbcp.sfkm.me/refer/7-differential-euqtion/2024-09-06T07:42:16.000Zhttps://mbcp.sfkm.me/refer/function/curry.html2024-08-30T09:56:01.000Zhttps://mbcp.sfkm.me/refer/function/function.html2024-08-30T09:56:01.000Z \ No newline at end of file diff --git a/zht/api/index.html b/zht/api/index.html index 5cf291d..eee3661 100644 --- a/zht/api/index.html +++ b/zht/api/index.html @@ -6,10 +6,10 @@ mbcp | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模組 mbcp

本模块是主模块,提供了一些工具 可导入

mbcp.mp_math:数学工具

mbcp.particle:粒子生成工具

mbcp.presets:预设

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/angle.html b/zht/api/mp_math/angle.html index 05ae3f3..c436e7a 100644 --- a/zht/api/mp_math/angle.html +++ b/zht/api/mp_math/angle.html @@ -6,10 +6,10 @@ mbcp.mp_math.angle | MBCP 文檔 - + - - + + @@ -117,7 +117,7 @@ if isinstance(other, AnyAngle): return self.radian / other.radian return AnyAngle(self.radian / other, is_radian=True)

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/const.html b/zht/api/mp_math/const.html index 7c92957..4732eab 100644 --- a/zht/api/mp_math/const.html +++ b/zht/api/mp_math/const.html @@ -6,10 +6,10 @@ mbcp.mp_math.const | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模組 mbcp.mp_math.const

本模块定义了一些常用的常量

var PI

  • 説明: 常量 π

  • 默認值: math.pi

var E

  • 説明: 自然对数的底 exp(1)

  • 默認值: math.e

var GOLDEN_RATIO

  • 説明: 黄金分割比

  • 默認值: (1 + math.sqrt(5)) / 2

var GAMMA

  • 説明: 欧拉常数

  • 默認值: 0.5772156649015329

var EPSILON

  • 説明: 精度误差

  • 默認值: 0.0001

var APPROX

  • 説明: 约等于判定误差

  • 默認值: 0.001

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/equation.html b/zht/api/mp_math/equation.html index 86ac30f..e9c93e3 100644 --- a/zht/api/mp_math/equation.html +++ b/zht/api/mp_math/equation.html @@ -6,10 +6,10 @@ mbcp.mp_math.equation | MBCP 文檔 - + - - + + @@ -83,7 +83,7 @@ return high_order_partial_derivative_func else: raise ValueError('Invalid var type')

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/function.html b/zht/api/mp_math/function.html index 81286ff..d00474c 100644 --- a/zht/api/mp_math/function.html +++ b/zht/api/mp_math/function.html @@ -6,10 +6,10 @@ mbcp.mp_math.function | MBCP 文檔 - + - - + + @@ -60,7 +60,7 @@ """@litedoc-hide""" return func(*args, *args2) return curried_func

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/index.html b/zht/api/mp_math/index.html index 398daf6..5a69c65 100644 --- a/zht/api/mp_math/index.html +++ b/zht/api/mp_math/index.html @@ -6,10 +6,10 @@ mbcp.mp_math | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模組 mbcp.mp_math

本包定义了一些常用的导入,可直接从mbcp.mp_math导入使用 导入的类有:

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/line.html b/zht/api/mp_math/line.html index 5286d24..98f28ba 100644 --- a/zht/api/mp_math/line.html +++ b/zht/api/mp_math/line.html @@ -6,10 +6,10 @@ mbcp.mp_math.line | MBCP 文檔 - + - - + + @@ -192,7 +192,7 @@ [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价 """ return self.direction.is_parallel(other.direction) and (self.point - other.point).is_parallel(self.direction)

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/mp_math_typing.html b/zht/api/mp_math/mp_math_typing.html index 07757e1..0124ece 100644 --- a/zht/api/mp_math/mp_math_typing.html +++ b/zht/api/mp_math/mp_math_typing.html @@ -6,10 +6,10 @@ mbcp.mp_math.mp_math_typing | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

模組 mbcp.mp_math.mp_math_typing

本模块用于内部类型提示

var RealNumber

  • 説明: 实数

  • 類型: TypeAlias

  • 默認值: int | float

var Number

  • 説明: 数

  • 類型: TypeAlias

  • 默認值: RealNumber | complex

var SingleVar

  • 説明: 单变量

  • 默認值: TypeVar('SingleVar', bound=Number)

var ArrayVar

  • 説明: 数组变量

  • 默認值: TypeVar('ArrayVar', bound=Iterable[Number])

var Var

  • 説明: 变量

  • 類型: TypeAlias

  • 默認值: SingleVar | ArrayVar

var OneSingleVarFunc

  • 説明: 一元单变量函数

  • 類型: TypeAlias

  • 默認值: Callable[[SingleVar], SingleVar]

var OneArrayFunc

  • 説明: 一元数组函数

  • 類型: TypeAlias

  • 默認值: Callable[[ArrayVar], ArrayVar]

var OneVarFunc

  • 説明: 一元函数

  • 類型: TypeAlias

  • 默認值: OneSingleVarFunc | OneArrayFunc

var TwoSingleVarsFunc

  • 説明: 二元单变量函数

  • 類型: TypeAlias

  • 默認值: Callable[[SingleVar, SingleVar], SingleVar]

var TwoArraysFunc

  • 説明: 二元数组函数

  • 類型: TypeAlias

  • 默認值: Callable[[ArrayVar, ArrayVar], ArrayVar]

var TwoVarsFunc

  • 説明: 二元函数

  • 類型: TypeAlias

  • 默認值: TwoSingleVarsFunc | TwoArraysFunc

var ThreeSingleVarsFunc

  • 説明: 三元单变量函数

  • 類型: TypeAlias

  • 默認值: Callable[[SingleVar, SingleVar, SingleVar], SingleVar]

var ThreeArraysFunc

  • 説明: 三元数组函数

  • 類型: TypeAlias

  • 默認值: Callable[[ArrayVar, ArrayVar, ArrayVar], ArrayVar]

var ThreeVarsFunc

  • 説明: 三元函数

  • 類型: TypeAlias

  • 默認值: ThreeSingleVarsFunc | ThreeArraysFunc

var MultiSingleVarsFunc

  • 説明: 多元单变量函数

  • 類型: TypeAlias

  • 默認值: Callable[..., SingleVar]

var MultiArraysFunc

  • 説明: 多元数组函数

  • 類型: TypeAlias

  • 默認值: Callable[..., ArrayVar]

var MultiVarsFunc

  • 説明: 多元函数

  • 類型: TypeAlias

  • 默認值: MultiSingleVarsFunc | MultiArraysFunc

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/plane.html b/zht/api/mp_math/plane.html index 686d1c8..e55ed3c 100644 --- a/zht/api/mp_math/plane.html +++ b/zht/api/mp_math/plane.html @@ -6,12 +6,12 @@ mbcp.mp_math.plane | MBCP 文檔 - + - - + + - + @@ -48,9 +48,19 @@ k = other.c / self.c return approx(other.a, self.a * k) and approx(other.b, self.b * k) and approx(other.d, self.d * k) else: - return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

變數説明:

返回: AnyAngle: 夹角

抛出:

源碼於GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
+        return False

method cal_angle(self, other: Line3 | Plane3) -> AnyAngle

説明: 计算平面与平面之间的夹角。

TIP

平面间夹角计算公式:

θ=arccos(n1n2|n1||n2|)

其中 n1n2 分别为两个平面的法向量

TIP

平面与直线夹角计算公式:

θ=arccos(nd|n||d|)

其中 n 为平面的法向量,d 为直线的方向向量

變數説明:

返回: AnyAngle: 夹角

抛出:

源碼於GitHub上查看
python
def cal_angle(self, other: 'Line3 | Plane3') -> 'AnyAngle':
     """
         计算平面与平面之间的夹角。
+        :::tip
+        平面间夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n1 \\cdot n2}{|n1| \\cdot |n2|})$$
+        其中 $n1$ 和 $n2$ 分别为两个平面的法向量
+        :::
+        :::tip
+        平面与直线夹角计算公式:
+        $$\\theta = \\arccos(\\frac{n \\cdot d}{|n| \\cdot |d|})$$
+        其中 $n$ 为平面的法向量,$d$ 为直线的方向向量
+        :::
         Args:
             other ([`Line3`](./line#class-line3) | [`Plane3`](./plane#class-plane3)): 另一个平面或直线
         Returns:
@@ -63,7 +73,7 @@
     elif isinstance(other, Plane3):
         return AnyAngle(math.acos(self.normal @ other.normal / (self.normal.length * other.normal.length)), is_radian=True)
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

變數説明:

返回: float: 距离

抛出:

源碼於GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_distance(self, other: Plane3 | Point3) -> float

説明: 计算平面与平面或点之间的距离。

變數説明:

返回: float: 距离

抛出:

源碼於GitHub上查看
python
def cal_distance(self, other: 'Plane3 | Point3') -> float:
     """
         计算平面与平面或点之间的距离。
         Args:
@@ -78,9 +88,20 @@
     elif isinstance(other, Point3):
         return abs(self.a * other.x + self.b * other.y + self.c * other.z + self.d) / (self.a ** 2 + self.b ** 2 + self.c ** 2) ** 0.5
     else:
-        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

變數説明:

  • other (Plane3): 另一个平面

返回: Line3: 交线

抛出:

源碼於GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
+        raise TypeError(f'Unsupported type: {type(other)}')

method cal_intersection_line3(self, other: Plane3) -> Line3

説明: 计算两平面的交线。

TIP

计算两平面交线的一般步骤:

  1. 求两平面的法向量的叉乘得到方向向量
d=n1×n2
  1. 寻找直线上的一点,依次假设x=0, y=0, z=0,并代入两平面方程求出合适的点 直线最终可用参数方程或点向式表示
{x=x0+dty=y0+dtz=z0+dt

xx0m=yy0n=zz0p

變數説明:

  • other (Plane3): 另一个平面

返回: Line3: 交线

抛出:

源碼於GitHub上查看
python
def cal_intersection_line3(self, other: 'Plane3') -> 'Line3':
     """
         计算两平面的交线。
+        :::tip
+        计算两平面交线的一般步骤:
+        1. 求两平面的法向量的叉乘得到方向向量
+        $$ d = n1 \\times n2 $$
+        2. 寻找直线上的一点,依次假设$x=0$, $y=0$, $z=0$,并代入两平面方程求出合适的点
+        直线最终可用参数方程或点向式表示
+        $$ \\begin{cases} x = x_0 + dt \\\\ y = y_0 + dt \\\\ z = z_0 + dt \\end{cases} $$
+
+        $$ \\frac{x - x_0}{m} = \\frac{y - y_0}{n} = \\frac{z - z_0}{p} $$
+        :::
+
         Args:
             other ([`Plane3`](./plane#class-plane3)): 另一个平面
         Returns:
@@ -104,7 +125,7 @@
         A = np.array([[self.a, self.b], [other.a, other.b]])
         B = np.array([-self.d, -other.d])
         x, y = np.linalg.solve(A, B)
-    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

變數説明:

返回: Point3: 交点

抛出:

源碼於GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
+    return Line3(Point3(x, y, z), direction)

method cal_intersection_point3(self, other: Line3) -> Point3

説明: 计算平面与直线的交点。

變數説明:

返回: Point3: 交点

抛出:

源碼於GitHub上查看
python
def cal_intersection_point3(self, other: 'Line3') -> 'Point3':
     """
         计算平面与直线的交点。
         Args:
@@ -118,7 +139,7 @@
         raise ValueError('The plane and the line are parallel or coincident.')
     x, y, z = other.get_parametric_equations()
     t = -(self.a * other.point.x + self.b * other.point.y + self.c * other.point.z + self.d) / (self.a * other.direction.x + self.b * other.direction.y + self.c * other.direction.z)
-    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
+    return Point3(x(t), y(t), z(t))

method cal_parallel_plane3(self, point: Point3) -> Plane3

説明: 计算平行于该平面且过指定点的平面。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
def cal_parallel_plane3(self, point: 'Point3') -> 'Plane3':
     """
         计算平行于该平面且过指定点的平面。
         Args:
@@ -126,7 +147,7 @@
         Returns:
             [`Plane3`](./plane#class-plane3): 平面
         """
-    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
+    return Plane3.from_point_and_normal(point, self.normal)

method is_parallel(self, other: Plane3) -> bool

説明: 判断两个平面是否平行。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Plane3') -> bool:
     """
         判断两个平面是否平行。
         Args:
@@ -134,14 +155,14 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

返回: Vector3: 法向量

源碼於GitHub上查看
python
@property
+    return self.normal.is_parallel(other.normal)

@property

method normal(self) -> Vector3

説明: 平面的法向量。

返回: Vector3: 法向量

源碼於GitHub上查看
python
@property
 def normal(self) -> 'Vector3':
     """
         平面的法向量。
         Returns:
             [`Vector3`](./vector#class-vector3): 法向量
         """
-    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
@classmethod
+    return Vector3(self.a, self.b, self.c)

@classmethod

method from_point_and_normal(cls, point: Point3, normal: Vector3) -> Plane3

説明: 工厂函数 由点和法向量构造平面(点法式构造)。

變數説明:

返回: Plane3: 平面

源碼於GitHub上查看
python
@classmethod
 def from_point_and_normal(cls, point: 'Point3', normal: 'Vector3') -> 'Plane3':
     """
         工厂函数 由点和法向量构造平面(点法式构造)。
@@ -153,7 +174,7 @@
         """
     a, b, c = (normal.x, normal.y, normal.z)
     d = -a * point.x - b * point.y - c * point.z
-    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

變數説明:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

返回: 平面

源碼於GitHub上查看
python
@classmethod
+    return cls(a, b, c, d)

@classmethod

method from_three_points(cls, p1: Point3, p2: Point3, p3: Point3) -> Plane3

説明: 工厂函数 由三点构造平面。

變數説明:

  • p1 (Point3): 点1
  • p2 (Point3): 点2
  • p3 (Point3): 点3

返回: 平面

源碼於GitHub上查看
python
@classmethod
 def from_three_points(cls, p1: 'Point3', p2: 'Point3', p3: 'Point3') -> 'Plane3':
     """
         工厂函数 由三点构造平面。
@@ -167,7 +188,7 @@
     v1 = p2 - p1
     v2 = p3 - p1
     normal = v1.cross(v2)
-    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

變數説明:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

返回: 平面

源碼於GitHub上查看
python
@classmethod
+    return cls.from_point_and_normal(p1, normal)

@classmethod

method from_two_lines(cls, l1: Line3, l2: Line3) -> Plane3

説明: 工厂函数 由两直线构造平面。

變數説明:

  • l1 (Line3): 直线
  • l2 (Line3): 直线

返回: 平面

源碼於GitHub上查看
python
@classmethod
 def from_two_lines(cls, l1: 'Line3', l2: 'Line3') -> 'Plane3':
     """
         工厂函数 由两直线构造平面。
@@ -181,7 +202,7 @@
     v2 = l2.point - l1.point
     if v2 == zero_vector3:
         v2 = l2.get_point(1) - l1.point
-    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

變數説明:

返回: 平面

源碼於GitHub上查看
python
@classmethod
+    return cls.from_point_and_normal(l1.point, v1.cross(v2))

@classmethod

method from_point_and_line(cls, point: Point3, line: Line3) -> Plane3

説明: 工厂函数 由点和直线构造平面。

變數説明:

返回: 平面

源碼於GitHub上查看
python
@classmethod
 def from_point_and_line(cls, point: 'Point3', line: 'Line3') -> 'Plane3':
     """
         工厂函数 由点和直线构造平面。
@@ -191,11 +212,11 @@
         Returns:
             平面
         """
-    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源碼於GitHub上查看
python
@overload
+    return cls.from_point_and_normal(point, line.direction)

@overload

method __and__(self, other: Line3) -> Point3 | None

源碼於GitHub上查看
python
@overload
 def __and__(self, other: 'Line3') -> 'Point3 | None':
-    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源碼於GitHub上查看
python
@overload
+    ...

@overload

method __and__(self, other: Plane3) -> Line3 | None

源碼於GitHub上查看
python
@overload
 def __and__(self, other: 'Plane3') -> 'Line3 | None':
-    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

變數説明:

返回: Line3 | Point3 | None: 交集

抛出:

源碼於GitHub上查看
python
def __and__(self, other):
+    ...

method __and__(self, other)

説明: 取两平面的交集(人话:交线)

變數説明:

返回: Line3 | Point3 | None: 交集

抛出:

源碼於GitHub上查看
python
def __and__(self, other):
     """
         取两平面的交集(人话:交线)
         Args:
@@ -214,7 +235,7 @@
             return None
         return self.cal_intersection_point3(other)
     else:
-        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否等价

源碼於GitHub上查看
python
def __eq__(self, other) -> bool:
+        raise TypeError(f"unsupported operand type(s) for &: 'Plane3' and '{type(other)}'")

method __eq__(self, other) -> bool

説明: 判断两个平面是否等价。

變數説明:

  • other (Plane3): 另一个平面

返回: bool: 是否等价

源碼於GitHub上查看
python
def __eq__(self, other) -> bool:
     """
         判断两个平面是否等价。
         Args:
@@ -222,9 +243,9 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价
         """
-    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源碼於GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
+    return self.approx(other)

method __rand__(self, other: Line3) -> Point3

源碼於GitHub上查看
python
def __rand__(self, other: 'Line3') -> 'Point3':
     return self.cal_intersection_point3(other)

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/point.html b/zht/api/mp_math/point.html index ffacfe3..1f4b4cc 100644 --- a/zht/api/mp_math/point.html +++ b/zht/api/mp_math/point.html @@ -6,10 +6,10 @@ mbcp.mp_math.point | MBCP 文檔 - + - - + + @@ -70,7 +70,7 @@ """ from .vector import Vector3 return Vector3(self.x - other.x, self.y - other.y, self.z - other.z)

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/segment.html b/zht/api/mp_math/segment.html index 0e50b40..3d08a12 100644 --- a/zht/api/mp_math/segment.html +++ b/zht/api/mp_math/segment.html @@ -6,10 +6,10 @@ mbcp.mp_math.segment | MBCP 文檔 - + - - + + @@ -33,7 +33,7 @@ self.length = self.direction.length '中心点' self.midpoint = Point3((self.p1.x + self.p2.x) / 2, (self.p1.y + self.p2.y) / 2, (self.p1.z + self.p2.z) / 2)

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/utils.html b/zht/api/mp_math/utils.html index 41bc170..2cd52f2 100644 --- a/zht/api/mp_math/utils.html +++ b/zht/api/mp_math/utils.html @@ -6,10 +6,10 @@ mbcp.mp_math.utils | MBCP 文檔 - + - - + + @@ -87,7 +87,7 @@ return f'-{abs(x)}' else: return ''

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/mp_math/vector.html b/zht/api/mp_math/vector.html index 857ed14..93a7007 100644 --- a/zht/api/mp_math/vector.html +++ b/zht/api/mp_math/vector.html @@ -6,12 +6,12 @@ mbcp.mp_math.vector | MBCP 文檔 - + - - + + - + @@ -38,35 +38,34 @@ Returns: [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似相等 """ - return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

變數説明:

返回: AnyAngle: 夹角

源碼於GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
+    return all([abs(self.x - other.x) < epsilon, abs(self.y - other.y) < epsilon, abs(self.z - other.z) < epsilon])

method cal_angle(self, other: Vector3) -> AnyAngle

説明: 计算两个向量之间的夹角。

TIP

向量夹角计算公式:

θ=arccos(v1v2|v1||v2|)

變數説明:

返回: AnyAngle: 夹角

源碼於GitHub上查看
python
def cal_angle(self, other: 'Vector3') -> 'AnyAngle':
     """
         计算两个向量之间的夹角。
+        :::tip
+        向量夹角计算公式:
+        $$\\theta = \\arccos(\\frac{v1 \\cdot v2}{|v1| \\cdot |v2|})$$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`AnyAngle`](./angle#class-anyangle): 夹角
         """
-    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 cross v2 -> v3

叉乘为0,则两向量平行。 其余结果的模为平行四边形的面积。

變數説明:

返回: Vector3: 叉乘结果

源碼於GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
+    return AnyAngle(math.acos(self @ other / (self.length * other.length)), is_radian=True)

method cross(self, other: Vector3) -> Vector3

説明: 向量积 叉乘:v1 x v2 -> v3

TIP

叉乘运算法则为:

v1×v2=(v1yv2zv1zv2y,v1zv2xv1xv2z,v1xv2yv1yv2x)

转换为行列式形式:

v1×v2=|ijkv1xv1yv1zv2xv2yv2z|

變數説明:

返回: Vector3: 叉乘结果

源碼於GitHub上查看
python
def cross(self, other: 'Vector3') -> 'Vector3':
     """
-        向量积 叉乘:v1 cross v2 -> v3
-
-        叉乘为0,则两向量平行。
-        其余结果的模为平行四边形的面积。
-
-        返回如下行列式的结果:
-
-        ``i  j  k``
-
-        ``x1 y1 z1``
-
-        ``x2 y2 z2``
+        向量积 叉乘:v1 x v2 -> v3
 
+        :::tip
+        叉乘运算法则为:
+        $$ v1 \\times v2 = (v1_y \\cdot v2_z - v1_z \\cdot v2_y, v1_z \\cdot v2_x - v1_x \\cdot v2_z, v1_x \\cdot v2_y - v1_y \\cdot v2_x) $$
+        转换为行列式形式:
+        $$ v1 \\times v2 = \\begin{vmatrix} i & j & k \\\\ v1_x & v1_y & v1_z \\\\ v2_x & v2_y & v2_z \\end{vmatrix} $$
+        :::
         Args:
             other ([`Vector3`](#class-vector3)): 另一个向量
         Returns:
             [`Vector3`](#class-vector3): 叉乘结果
         """
-    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

變數説明:

返回: bool: 是否近似平行

源碼於GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
+    return Vector3(self.y * other.z - self.z * other.y, self.z * other.x - self.x * other.z, self.x * other.y - self.y * other.x)

method is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -> bool

説明: 判断两个向量是否近似平行。

變數説明:

返回: bool: 是否近似平行

源碼於GitHub上查看
python
def is_approx_parallel(self, other: 'Vector3', epsilon: float=APPROX) -> bool:
     """
         判断两个向量是否近似平行。
         Args:
@@ -75,7 +74,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行
         """
-    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

變數説明:

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
+    return self.cross(other).length < epsilon

method is_parallel(self, other: Vector3) -> bool

説明: 判断两个向量是否平行。

變數説明:

返回: bool: 是否平行

源碼於GitHub上查看
python
def is_parallel(self, other: 'Vector3') -> bool:
     """
         判断两个向量是否平行。
         Args:
@@ -83,7 +82,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行
         """
-    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

源碼於GitHub上查看
python
def normalize(self):
+    return self.cross(other).approx(zero_vector3)

method normalize(self)

説明: 将向量归一化。

自体归一化,不返回值。

源碼於GitHub上查看
python
def normalize(self):
     """
         将向量归一化。
 
@@ -92,33 +91,33 @@
     length = self.length
     self.x /= length
     self.y /= length
-    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源碼於GitHub上查看
python
@property
+    self.z /= length

@property

method np_array(self) -> np.ndarray

返回: np.ndarray: numpy数组

源碼於GitHub上查看
python
@property
 def np_array(self) -> 'np.ndarray':
     """
         返回numpy数组
         Returns:
             [`np.ndarray`](https%3A//numpy.org/doc/stable/reference/generated/numpy.ndarray.html): numpy数组
         """
-    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

返回: float: 模

源碼於GitHub上查看
python
@property
+    return np.array([self.x, self.y, self.z])

@property

method length(self) -> float

説明: 向量的模。

返回: float: 模

源碼於GitHub上查看
python
@property
 def length(self) -> float:
     """
         向量的模。
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 模
         """
-    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源碼於GitHub上查看
python
@property
+    return math.sqrt(self.x ** 2 + self.y ** 2 + self.z ** 2)

@property

method unit(self) -> Vector3

説明: 获取该向量的单位向量。

返回: Vector3: 单位向量

源碼於GitHub上查看
python
@property
 def unit(self) -> 'Vector3':
     """
         获取该向量的单位向量。
         Returns:
             [`Vector3`](#class-vector3): 单位向量
         """
-    return self / self.length

method __abs__(self)

源碼於GitHub上查看
python
def __abs__(self):
-    return self.length

@overload

method self + other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
+    return self / self.length

method __abs__(self)

源碼於GitHub上查看
python
def __abs__(self):
+    return self.length

@overload

method self + other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
 def __add__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self + other: Point3 => Point3

源碼於GitHub上查看
python
@overload
+    ...

@overload

method self + other: Point3 => Point3

源碼於GitHub上查看
python
@overload
 def __add__(self, other: 'Point3') -> 'Point3':
-    ...

method self + other

説明: V + P -> P

V + V -> V

變數説明:

返回: Vector3 | Point3: 新的向量或点

源碼於GitHub上查看
python
def __add__(self, other):
+    ...

method self + other

説明: V + P -> P

V + V -> V

變數説明:

返回: Vector3 | Point3: 新的向量或点

源碼於GitHub上查看
python
def __add__(self, other):
     """
         V + P -> P
 
@@ -133,7 +132,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x + other.x, self.y + other.y, self.z + other.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

變數説明:

返回: bool: 是否相等

源碼於GitHub上查看
python
def __eq__(self, other):
+        raise TypeError(f"unsupported operand type(s) for +: 'Vector3' and '{type(other)}'")

method __eq__(self, other)

説明: 判断两个向量是否相等。

變數説明:

返回: bool: 是否相等

源碼於GitHub上查看
python
def __eq__(self, other):
     """
         判断两个向量是否相等。
         Args:
@@ -141,7 +140,7 @@
         Returns:
             [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否相等
         """
-    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
+    return approx(self.x, other.x) and approx(self.y, other.y) and approx(self.z, other.z)

method self + other: Point3 => Point3

説明: P + V -> P

别去点那边实现了。

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __radd__(self, other: 'Point3') -> 'Point3':
     """
         P + V -> P
 
@@ -151,11 +150,11 @@
         Returns:
             [`Point3`](./point#class-point3): 新的点
         """
-    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
+    return Point3(self.x + other.x, self.y + other.y, self.z + other.z)

@overload

method self - other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
 def __sub__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self - other: Point3 => Point3

源碼於GitHub上查看
python
@overload
+    ...

@overload

method self - other: Point3 => Point3

源碼於GitHub上查看
python
@overload
 def __sub__(self, other: 'Point3') -> 'Point3':
-    ...

method self - other

説明: V - P -> P

V - V -> V

變數説明:

返回: Vector3 | Point3: 新的向量

源碼於GitHub上查看
python
def __sub__(self, other):
+    ...

method self - other

説明: V - P -> P

V - V -> V

變數説明:

返回: Vector3 | Point3: 新的向量

源碼於GitHub上查看
python
def __sub__(self, other):
     """
         V - P -> P
 
@@ -170,7 +169,7 @@
     elif isinstance(other, Point3):
         return Point3(self.x - other.x, self.y - other.y, self.z - other.z)
     else:
-        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __rsub__(self, other: 'Point3'):
+        raise TypeError(f'unsupported operand type(s) for -: "Vector3" and "{type(other)}"')

method self - other: Point3

説明: P - V -> P

變數説明:

返回: Point3: 新的点

源碼於GitHub上查看
python
def __rsub__(self, other: 'Point3'):
     """
         P - V -> P
         Args:
@@ -181,11 +180,11 @@
     if isinstance(other, Point3):
         return Point3(other.x - self.x, other.y - self.y, other.z - self.z)
     else:
-        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
+        raise TypeError(f"unsupported operand type(s) for -: '{type(other)}' and 'Vector3'")

@overload

method self * other: Vector3 => Vector3

源碼於GitHub上查看
python
@overload
 def __mul__(self, other: 'Vector3') -> 'Vector3':
-    ...

@overload

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
@overload
+    ...

@overload

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
@overload
 def __mul__(self, other: RealNumber) -> 'Vector3':
-    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

變數説明:

返回: Vector3: 数组运算结果

源碼於GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
+    ...

method self * other: int | float | Vector3 => Vector3

説明: 数组运算 非点乘。点乘使用@,叉乘使用cross。

變數説明:

返回: Vector3: 数组运算结果

源碼於GitHub上查看
python
def __mul__(self, other: 'int | float | Vector3') -> 'Vector3':
     """
         数组运算 非点乘。点乘使用@,叉乘使用cross。
         Args:
@@ -198,8 +197,8 @@
     elif isinstance(other, (float, int)):
         return Vector3(self.x * other, self.y * other, self.z * other)
     else:
-        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
-    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

變數説明:

返回: float: 点乘结果

源碼於GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
+        raise TypeError(f"unsupported operand type(s) for *: 'Vector3' and '{type(other)}'")

method self * other: RealNumber => Vector3

源碼於GitHub上查看
python
def __rmul__(self, other: 'RealNumber') -> 'Vector3':
+    return self.__mul__(other)

method self @ other: Vector3 => RealNumber

説明: 点乘。

變數説明:

返回: float: 点乘结果

源碼於GitHub上查看
python
def __matmul__(self, other: 'Vector3') -> 'RealNumber':
     """
         点乘。
         Args:
@@ -207,15 +206,15 @@
         Returns:
             [`float`](https%3A//docs.python.org/3/library/functions.html#float): 点乘结果
         """
-    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源碼於GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
-    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

返回: Vector3: 负向量

源碼於GitHub上查看
python
def __neg__(self) -> 'Vector3':
+    return self.x * other.x + self.y * other.y + self.z * other.z

method self / other: RealNumber => Vector3

源碼於GitHub上查看
python
def __truediv__(self, other: RealNumber) -> 'Vector3':
+    return Vector3(self.x / other, self.y / other, self.z / other)

method - self => Vector3

説明: 取负。

返回: Vector3: 负向量

源碼於GitHub上查看
python
def __neg__(self) -> 'Vector3':
     """
         取负。
         Returns:
             [`Vector3`](#class-vector3): 负向量
         """
     return Vector3(-self.x, -self.y, -self.z)

var zero_vector3

  • 説明: 零向量

  • 類型: Vector3

  • 默認值: Vector3(0, 0, 0)

var x_axis

  • 説明: x轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(1, 0, 0)

var y_axis

  • 説明: y轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(0, 1, 0)

var z_axis

  • 説明: z轴单位向量

  • 類型: Vector3

  • 默認值: Vector3(0, 0, 1)

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/api/particle/index.html b/zht/api/particle/index.html index 459693a..a54c0ee 100644 --- a/zht/api/particle/index.html +++ b/zht/api/particle/index.html @@ -6,10 +6,10 @@ mbcp.particle | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/zht/api/presets/index.html b/zht/api/presets/index.html index 5cffdce..4fa6fe4 100644 --- a/zht/api/presets/index.html +++ b/zht/api/presets/index.html @@ -6,10 +6,10 @@ mbcp.presets | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/zht/api/presets/model/index.html b/zht/api/presets/model/index.html index 5b488cb..2b53da5 100644 --- a/zht/api/presets/model/index.html +++ b/zht/api/presets/model/index.html @@ -6,10 +6,10 @@ mbcp.presets.model | MBCP 文檔 - + - - + + @@ -36,7 +36,7 @@ y_array = radius * np.sin(phi_list) * np.sin(theta_list) z_array = radius * np.cos(phi_list) return [Point3(x_array[i], y_array[i], z_array[i]) for i in range(num)]

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/demo/best-practice.html b/zht/demo/best-practice.html index 9c4e325..86b66a8 100644 --- a/zht/demo/best-practice.html +++ b/zht/demo/best-practice.html @@ -6,10 +6,10 @@ 最佳實踐 | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@ - + \ No newline at end of file diff --git a/zht/guide/index.html b/zht/guide/index.html index 834aa55..0df8272 100644 --- a/zht/guide/index.html +++ b/zht/guide/index.html @@ -6,10 +6,10 @@ 开始不了一点 | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

开始不了一点

12x111

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/index.html b/zht/index.html index 6af7732..5cab41b 100644 --- a/zht/index.html +++ b/zht/index.html @@ -6,10 +6,10 @@ MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

MBCP

更多基礎變化粒子

用於幾何運算和 當個創世神 粒子製作的軟體庫

MBCP logo

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file diff --git a/zht/refer/index.html b/zht/refer/index.html index 902d368..aee4029 100644 --- a/zht/refer/index.html +++ b/zht/refer/index.html @@ -6,10 +6,10 @@ Reference | MBCP 文檔 - + - - + + @@ -19,7 +19,7 @@
Skip to content

Reference

Help us to improve the documentation

文檔由 VitePress 構建 | API引用由 litedoc 生成

- + \ No newline at end of file