2024-08-29 13:25:00 +08:00
<!DOCTYPE html>
< html lang = "zh-Hant" dir = "ltr" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
2024-08-31 06:08:36 +08:00
< title > mbcp.mp_math.line | MBCP 文檔< / title >
< meta name = "description" content = "MBCP 粒子計算和生成庫文檔" >
2024-08-29 13:25:00 +08:00
< meta name = "generator" content = "VitePress v1.3.4" >
2024-08-31 07:55:26 +08:00
< link rel = "preload stylesheet" href = "/assets/style.UiSpMRXd.css" as = "style" >
2024-08-29 13:25:00 +08:00
2024-08-31 17:32:12 +08:00
< script type = "module" src = "/assets/app.Dikvw3nD.js" > < / script >
< link rel = "modulepreload" href = "/assets/chunks/theme.BIB25x10.js" >
2024-08-31 07:55:26 +08:00
< link rel = "modulepreload" href = "/assets/chunks/framework.DpC1ZpOZ.js" >
2024-08-31 09:34:37 +08:00
< link rel = "modulepreload" href = "/assets/zht_api_mp_math_line.md.BKWlVJmv.lean.js" >
2024-08-31 06:08:36 +08:00
< link rel = "icon" type = "image/svg+xml" href = "/mbcp-logo.svg" >
2024-08-31 07:31:49 +08:00
< link rel = "stylesheet" href = "https://fonts.font.im/css?family=Cousine:400,400i,700,700i|Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i" >
2024-08-29 13:25:00 +08:00
< script id = "check-dark-mode" > ( ( ) => { const e = localStorage . getItem ( "vitepress-theme-appearance" ) || "auto" , a = window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ; ( ! e || e === "auto" ? a : e === "dark" ) && document . documentElement . classList . add ( "dark" ) } ) ( ) ; < / script >
< script id = "check-mac-os" > document . documentElement . classList . toggle ( "mac" , /Mac|iPhone|iPod|iPad/i . test ( navigator . platform ) ) ; < / script >
< / head >
< body >
2024-08-31 09:34:37 +08:00
< div id = "app" > < div class = "Layout" data-v-22f859ac > <!-- [ --> <!-- ] --> <!-- [ --> < span tabindex = "-1" data-v-3e86afbf > < / span > < a href = "#VPContent" class = "VPSkipLink visually-hidden" data-v-3e86afbf > Skip to content < / a > <!-- ] --> <!-- --> < header class = "VPNav" data-v-22f859ac data-v-2a4e514e > < div class = "VPNavBar has-sidebar top" data-v-2a4e514e data-v-1303e283 > < div class = "wrapper" data-v-1303e283 > < div class = "container" data-v-1303e283 > < div class = "title" data-v-1303e283 > < div class = "VPNavBarTitle has-sidebar" data-v-1303e283 data-v-10b95b50 > < a class = "title" href = "/zht/" data-v-10b95b50 > <!-- [ --> <!-- ] --> <!-- [ --> < img class = "VPImage logo" src = "/mbcp-logo.svg" alt data-v-f925500d > <!-- ] --> < span data-v-10b95b50 > MBCP 文檔< / span > <!-- [ --> <!-- ] --> < / a > < / div > < / div > < div class = "content" data-v-1303e283 > < div class = "content-body" data-v-1303e283 > <!-- [ --> <!-- ] --> < div class = "VPNavBarSearch search" data-v-1303e283 > <!-- [ --> <!-- --> < div id = "local-search" > < button type = "button" class = "DocSearch DocSearch-Button" aria-label = "打開搜索框" > < span class = "DocSearch-Button-Container" > < span class = "vp-icon DocSearch-Search-Icon" > < / span > < span class = "DocSearch-Button-Placeholder" > 搜索文檔< / span > < / span > < span class = "DocSearch-Button-Keys" > < kbd class = "DocSearch-Button-Key" > < / kbd > < kbd class = "DocSearch-Button-Key" > K< / kbd > < / span > < / button > < / div > <!-- ] --> < / div > < nav aria-labelledby = "main-nav-aria-label" class = "VPNavBarMenu menu" data-v-1303e283 data-v-0fb289c1 > < span id = "main-nav-aria-label" class = "visually-hidden" data-v-0fb289c1 > Main Navigation < / span > <!-- [ --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zht/guide/" tabindex = "0" data-v-0fb289c1 data-v-ad4a8b64 > <!-- [ --> < span data-v-ad4a8b64 > 指引< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zht/refer.html" tabindex = "0" data-v-0fb289c1 data-v-ad4a8b64 > <!-- [ --> < span data-v-ad4a8b64 > 參考< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zht/api/" tabindex = "0" data-v-0fb289c1 data-v-ad4a8b64 > <!-- [ --> < span data-v-ad4a8b64 > API引用< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zht/demo/" tabindex = "0" data-v-0fb289c1 data-v-ad4a8b64 > <!-- [ --> < span data-v-ad4a8b64 > 示範< / span > <!-- ] --> < / a > <!-- ] --> <!-- ] --> < / nav > < div class = "VPFlyout VPNavBarTranslations translations" data-v-1303e283 data-v-cd7b67e8 data-v-ec8c49bc > < button type = "button" class = "button" aria-haspopup = "true" aria-expanded = "false" aria-label = "Change language" data-v-ec8c49bc > < span class = "text" data-v-ec8c49bc > < span class = "vpi-languages option-icon" data-v-ec8c49bc > < / span > <!-- --> < span class = "vpi-chevron-down text-icon" data-v-ec8c49bc > < / span > < / span > < / button > < div class = "menu" data-v-ec8c49bc > < div class = "VPMenu" data-v-ec8c49bc data-v-9990563e > <!-- --> <!-- [ --> <!-- [ --> < div class = "items" data-v-cd7b67e8 > < p class = "title" data-v-cd7b67e8 > 繁體中文< / p > <!-- [ --> < div class = "VPMenuLink" data-v-cd7b67e8 data-v-79776a7a > < a class = "VPLink link" href = "/api/mp_math/line.html" data-v-79776a7a > <!-- [ --> 简体中文<!-- ] --> < / a > < / div > < div class = "VPMenuLink" data-v-cd7b67e8 data-v-79776a7a > < a class = "VPLink link" href = "/en/api/mp_math/line.html" data-v-79776a7a > <!-- [ --> English<!-- ] --> < / a > < / div > < div class = "VPMenuLink" data-v-cd7b67e8 data-v-79776a7a > < a class = "VPLink link" href = "/ja/api/mp_math/line.html" data-v-79776a7a > <!-- [ --> 日本語<!-- ] --> < / a > < / div > <!-- ] --> < / div > <!-- ] --> <!-- ] --> < / div > < / div > < / div > < div class = "VPNavBarAppearance appearance" data-v-1303e283 data-v-2a6692f8 > < button class = "VPSwitch VPSwitchAppearance" type = "button" role = "switch" title = "Switch to dark theme" aria-checked = "false" data-v-2a6692f8 data-v-3a50aa5c data-v-d82e607b > < span class = "check" data-v-d82e607b > < span class = "icon" data-v-d82e607b > <!-- [ --> < span class = "vpi-sun sun" data-v-3a50aa5c > < / span > < span class = "vpi-moon moon" data-v-3a50aa5c > < / span > <!-- ] --> < / span > < / span > < / button > < / div > < div class = "VPSocialLinks VPNavBarSocialLinks social-links" data-v-1303e283 data-v-f3b91b3a data-v-fa18fe49 > <!-- [ --> < a class = "VPSocialLink no-icon" href = "https://github.com/snowykami/mbcp" aria-label = "github" target = "_blank" r
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 三维空间中的直线。由一个点和一个方向向量确定。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > point ([`Point3`](./point#class-point3)): 直线上的一点< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > direction ([`Vector3`](./vector#class-vector3)): 方向向量< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > point< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > direction< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-approx-self-other-line3-epsilon-float-approx-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > approx(self, other: Line3, epsilon: float = APPROX) -> bool< / code > < a class = "header-anchor" href = "#def-approx-self-other-line3-epsilon-float-approx-bool" aria-label = "Permalink to "***def*** `approx(self, other: Line3, epsilon: float = APPROX) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断两条直线是否近似相等。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一条直线< / li > < li > epsilon (< a href = "https://docs.python.org/3/library/functions.html#float" target = "_blank" rel = "noreferrer" > < code > float< / code > < / a > ): 误差< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否近似相等< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L29" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > approx< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , epsilon: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > float< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > APPROX< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断两条直线是否近似相等。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一条直线< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > epsilon ([`float`](https://docs.python.org/3/library/functions.html#float)): 误差< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https://docs.python.org/3/library/functions.html#bool): 是否近似相等< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_approx_parallel(other, epsilon) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > and< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.point).is_approx_parallel(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction, epsilon)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-cal-angle-self-other-line3-anyangle" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > cal_angle(self, other: Line3) -> AnyAngle< / code > < a class = "header-anchor" href = "#def-cal-angle-self-other-line3-anyangle" aria-label = "Permalink to "***def*** `cal_angle(self, other: Line3) -> AnyAngle`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 计算直线和直线之间的夹角。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一条直线< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "./angle.html#class-anyangle" > < code > AnyAngle< / code > < / a > : 夹角< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L40" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > cal_angle< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' AnyAngle' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 计算直线和直线之间的夹角。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一条直线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`AnyAngle`](./angle#class-anyangle): 夹角< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cal_angle(other.direction)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-cal-distance-self-other-line3-point3-float" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > cal_distance(self, other: Line3 | Point3) -> float< / code > < a class = "header-anchor" href = "#def-cal-distance-self-other-line3-point3-float" aria-label = "Permalink to "***def*** `cal_distance(self, other: Line3 | Point3) -> float`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 计算直线和直线或点之间的距离。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > | < a href = "./point.html#class-point3" > < code > Point3< / code > < / a > ): 另一条直线或点< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#float" target = "_blank" rel = "noreferrer" > < code > float< / code > < / a > : 距离< / p > < p > < strong > 抛出< / strong > :< / p > < blockquote > < ul > < li > < a href = "https://docs.python.org/3/library/exceptions.html#TypeError" target = "_blank" rel = "noreferrer" > < code > TypeError< / code > < / a > 不支持的类型< / li > < / ul > < / blockquote > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L50" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > cal_distance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3 | Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > float< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 计算直线和直线或点之间的距离。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3) | [`Point3`](./point#class-point3)): 另一条直线或点< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`float`](https%3A//docs.python.org/3/library/functions.html#float): 距离< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Raises:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`TypeError`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 不支持的类型< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > isinstance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (other, Line3):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ==< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > elif< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_parallel(other):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (other.point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point).cross(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction).length < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > /< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.length< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > elif< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_coplanar(other):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > abs< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cross(other.direction) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > @< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.point) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > /< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cross(other.direction).length)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > else< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > elif< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > isinstance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (other, Point3):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (other < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point).cross(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction).length < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > /< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.length< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > else< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > raise< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > TypeError< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Unsupported type.' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-cal-intersection-self-other-line3-point3" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > cal_intersection(self, other: Line3) -> Point3< / code > < a class = "header-anchor" href = "#def-cal-intersection-self-other-line3-point3" aria-label = "Permalink to "***def*** `cal_intersection(self, other: Line3) -> Point3`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 计算两条直线的交点。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一条直线< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "./point.html#class-point3" > < code > Point3< / code > < / a > : 交点< / p > < p > < strong > 抛出< / strong > :< / p > < blockquote > < ul > < li > < a href = "https://docs.python.org/3/library/exceptions.html#TypeError" target = "_blank" rel = "noreferrer" > < code > ValueError< / code > < / a > 直线平行< / li > < li > < code > ValueError< / code > 直线不共面< / li > < / ul > < / blockquote > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L80" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > cal_intersection< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 计算两条直线的交点。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一条直线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`Point3`](./point#class-point3): 交点< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Raises:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`ValueError`](https%3A//docs.python.org/3/library/exceptions.html#TypeError): 直线平行< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > `ValueError`: 直线不共面< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_parallel(other):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > raise< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > ValueError< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Lines are parallel and do not intersect.' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_coplanar(other):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > raise< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > ValueError< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Lines are not coplanar and do not intersect.' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cross(other.direction) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > @< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.direction.cross(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.point) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > /< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cross(other.direction).length < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > **< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 2< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-cal-perpendicular-self-point-point3-line3" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > cal_perpendicular(self, point: Point3) -> Line3< / code > < a class = "header-anchor" href = "#def-cal-perpendicular-self-point-point3-line3" aria-label = "Permalink to "***def*** `cal_perpendicular(self, point: Point3) -> Line3`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 计算直线经过指定点p的垂线。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > point (< a href = "./point.html#class-point3" > < code > Point3< / code > < / a > ): 指定点< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "./line.html#class-line3" > < code > Line3< / code > < / a > : 垂线< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L98" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > cal_perpendicular< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, point: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 计算直线经过指定点p的垂线。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > point ([`Point3`](./point#class-point3)): 指定点< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`Line3`](./line#class-line3): 垂线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > Line3(point, < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cross(point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point))< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-get-point-self-t-realnumber-point3" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > get_point(self, t: RealNumber) -> Point3< / code > < a class = "header-anchor" href = "#def-get-point-self-t-realnumber-point3" aria-label = "Permalink to "***def*** `get_point(self, t: RealNumber) -> Point3`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 获取直线上的点。同一条直线, 但起始点和方向向量不同, 则同一个t对应的点不同。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > t (< a href = "./mp_math_typing.html#var-realnumber" > < code > RealNumber< / code > < / a > ): 参数t< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "./point.html#class-point3" > < code > Point3< / code > < / a > : 点< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L108" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > get_point< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, t: RealNumber) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 获取直线上的点。同一条直线, 但起始点和方向向量不同, 则同一个t对应的点不同。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > t ([`RealNumber`](./mp_math_typing#var-realnumber)): 参数t< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`Point3`](./point#class-point3): 点< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]< / code > < a class = "header-anchor" href = "#def-get-parametric-equations-self-tuple-onesinglevarfunc-onesinglevarfunc-onesinglevarfunc" aria-label = "Permalink to "***def*** `get_parametric_equations(self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 获取直线的参数方程。< / p > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/stdtypes.html#tuple" target = "_blank" rel = "noreferrer" > < code > tuple< / code > < / a > [< a href = "./mp_math_typing.html#var-onesinglevarfunc" > < code > OneSingleVarFunc< / code > < / a > , < code > OneSingleVarFunc< / code > , < code > OneSingleVarFunc< / code > ]: 参数方程< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L118" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > get_parametric_equations< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> tuple[OneSingleVarFunc, OneSingleVarFunc, OneSingleVarFunc]:< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 获取直线的参数方程。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`tuple`](https%3A//docs.python.org/3/library/stdtypes.html#tuple)[[`OneSingleVarFunc`](./mp_math_typing#var-onesinglevarfunc), `OneSingleVarFunc`, `OneSingleVarFunc`]: 参数方程< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > lambda< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point.x < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.x < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t, < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > lambda< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point.y < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.y < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t, < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > lambda< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point.z < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.z < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > t)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool< / code > < a class = "header-anchor" href = "#def-is-approx-parallel-self-other-line3-epsilon-float-1e-06-bool" aria-label = "Permalink to "***def*** `is_approx_parallel(self, other: Line3, epsilon: float = 1e-06) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断两条直线是否近似平行。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一条直线< / li > < li > epsilon (< a href = "https://docs.python.org/3/library/functions.html#float" target = "_blank" rel = "noreferrer" > < code > float< / code > < / a > ): 误差< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否近似平行< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L128" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > is_approx_parallel< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , epsilon: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > float< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 1e-06< / span > < span style = "--shiki-light:#
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断两条直线是否近似平行。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一条直线< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > epsilon ([`float`](https%3A//docs.python.org/3/library/functions.html#float)): 误差< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否近似平行< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.is_approx_parallel(other.direction, epsilon)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-is-parallel-self-other-line3-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > is_parallel(self, other: Line3) -> bool< / code > < a class = "header-anchor" href = "#def-is-parallel-self-other-line3-bool" aria-label = "Permalink to "***def*** `is_parallel(self, other: Line3) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断两条直线是否平行。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否平行< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L139" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > is_parallel< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断两条直线是否平行。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否平行< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.is_parallel(other.direction)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-is-collinear-self-other-line3-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > is_collinear(self, other: Line3) -> bool< / code > < a class = "header-anchor" href = "#def-is-collinear-self-other-line3-bool" aria-label = "Permalink to "***def*** `is_collinear(self, other: Line3) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断两条直线是否共线。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否共线< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L149" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > is_collinear< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断两条直线是否共线。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否共线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_parallel(other) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > and< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.point).is_parallel(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-is-point-on-self-point-point3-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > is_point_on(self, point: Point3) -> bool< / code > < a class = "header-anchor" href = "#def-is-point-on-self-point-point3-bool" aria-label = "Permalink to "***def*** `is_point_on(self, point: Point3) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断点是否在直线上。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > point (< a href = "./point.html#class-point3" > < code > Point3< / code > < / a > ): 点< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否在直线上< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L159" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > is_point_on< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, point: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断点是否在直线上。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > point ([`Point3`](./point#class-point3)): 点< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否在直线上< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point).is_parallel(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-is-coplanar-self-other-line3-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > is_coplanar(self, other: Line3) -> bool< / code > < a class = "header-anchor" href = "#def-is-coplanar-self-other-line3-bool" aria-label = "Permalink to "***def*** `is_coplanar(self, other: Line3) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断两条直线是否共面。 充要条件: 两直线方向向量的叉乘与两直线上任意一点的向量的点积为0。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否共面< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L169" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > is_coplanar< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断两条直线是否共面。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 充要条件: 两直线方向向量的叉乘与两直线上任意一点的向量的点积为0。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否共面< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.cross(other.direction) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > @< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.point) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ==< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-simplify-self" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > simplify(self)< / code > < a class = "header-anchor" href = "#def-simplify-self" aria-label = "Permalink to "***def*** `simplify(self)`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 简化直线方程,等价相等。 自体简化,不返回值。< / p > < p > 按照可行性一次对x y z 化 0 处理,并对向量单位化< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L180" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > simplify< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self):< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 简化直线方程,等价相等。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 自体简化,不返回值。< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 按照可行性一次对x y z 化 0 处理,并对向量单位化< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.normalize()< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.x < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ==< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point.x < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.y < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ==< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point.y < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.z < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ==< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point.z < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 0< / span > < / span > < / code > < / pre > < / div > < / details > < p > < a href = "https://docs.python.org/3/library/functions.html#classmethod" target = "_blank" rel = "noreferrer" > < code > @classmethod< / code > < / a > < / p > < h4 id = "def-from-two-points-cls-p1-point3-p2-point3-line3" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > from_two_points(cls, p1: Point3, p2: Point3) -> Line3< / code > < a class = "header-anchor" href = "#def-from-two-points-cls-p1-point3-p2-point3-line3" aria-label = "Permalink to "***def*** `from_two_points(cls, p1: Point3, p2: Point3) -> Line3`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 工厂函数 由两点构造直线。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > p1 (< a href = "./point.html#class-point3" > < code > Point3< / code > < / a > ): 点1< / li > < li > p2 (< a href = "./point.html#class-point3" > < code > Point3< / code > < / a > ): 点2< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "./line.html#class-line3" > < code > Line3< / code > < / a > : 直线< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L199" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > @< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > classmethod< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > from_two_points< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (cls, p1: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , p2: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Point3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 工厂函数 由两点构造直线。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > p1 ([`Point3`](./point#class-point3)): 点1< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > p2 ([`Point3`](./point#class-point3)): 点2< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`Line3`](./line#class-line3): 直线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > direction < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > p2 < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > p1< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > cls< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (p1, direction)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-and-self-other-line3-line3-point3-none" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > __and__(self, other: Line3) -> Line3 | Point3 | None< / code > < a class = "header-anchor" href = "#def-and-self-other-line3-line3-point3-none" aria-label = "Permalink to "***def*** `__and__(self, other: Line3) -> Line3 | Point3 | None`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 计算两条直线点集合的交集。重合线返回自身, 平行线返回None, 交线返回交点。< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一条直线< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "./line.html#class-line3" > < code > Line3< / code > < / a > | < a href = "./point.html#class-point3" > < code > Point3< / code > < / a > | < a href = "https://docs.python.org/3/library/constants.html#None" target = "_blank" rel = "noreferrer" > < code > None< / code > < / a > : 交集< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L211" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > __and__< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other: < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Line3 | Point3 | None' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 计算两条直线点集合的交集。重合线返回自身, 平行线返回None, 交线返回交点。< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一条直线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`Line3`](./line#class-line3) | [`Point3`](./point#class-point3) | [`None`](https://docs.python.org/3/library/constants.html#None): 交集< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_collinear(other):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > elif< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_parallel(other) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .is_coplanar(other):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > else< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .cal_intersection(other)< / span > < / span > < / code > < / pre > < / div > < / details > < h4 id = "def-eq-self-other-bool" tabindex = "-1" > < em > < strong > def< / strong > < / em > < code > __eq__(self, other) -> bool< / code > < a class = "header-anchor" href = "#def-eq-self-other-bool" aria-label = "Permalink to "***def*** `__eq__(self, other) -> bool`"" > < / a > < / h4 > < p > < strong > 説明< / strong > : 判断两条直线是否等价。< / p > < p > v1 // v2 ∧ (p1 - p2) // v1< / p > < p > < strong > 變數説明< / strong > :< / p > < blockquote > < ul > < li > other (< a href = "./line.html#class-line3" > < code > Line3< / code > < / a > ): 另一条直线< / li > < / ul > < / blockquote > < p > < strong > 返回< / strong > : < a href = "https://docs.python.org/3/library/functions.html#bool" target = "_blank" rel = "noreferrer" > < code > bool< / code > < / a > : 是否等价< / p > < details > < summary > < b > 源碼< / b > 或 < a href = "https://github.com/snowykami/mbcp/tree/main/mbcp/mp_math/line.py#L226" target = "_blank" > 於GitHub上查看< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > __eq__< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, other) -> < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > 判断两条直线是否等价。< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > v1 // v2 ∧ (p1 - p2) // v1< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Args:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > other ([`Line3`](./line#class-line3)): 另一条直线< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > Returns:< / span > < / span >
2024-08-31 09:34:37 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > [`bool`](https%3A//docs.python.org/3/library/functions.html#bool): 是否等价< / span > < / span >
2024-08-29 13:25:00 +08:00
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " " " < / span > < / span >
2024-08-31 08:04:13 +08:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction.is_parallel(other.direction) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > and< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .point < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > other.point).is_parallel(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .direction)< / span > < / span > < / code > < / pre > < / div > < / details > < / div > < / div > < / main > < footer class = "VPDocFooter" data-v-40342069 data-v-a4b38bd6 > <!-- [ --> <!-- ] --> < div class = "edit-info" data-v-a4b38bd6 > < div class = "edit-link" data-v-a4b38bd6 > < a class = "VPLink link vp-external-link-icon no-icon edit-link-button" href = "https://github.com/snowykami/mbcp/tree/main/mbcp//mp_math/line.py" target = "_blank" rel = "noreferrer" data-v-a4b38bd6 > <!-- [ --> < span class = "vpi-square-pen edit-link-icon" data-v-a4b38bd6 > < / span > 於 GitHub 上編輯這頁<!-- ] --> < / a > < / div > <!-- --> < / div > < nav class = "prev-next" aria-labelledby = "doc-footer-aria-label" data-v-a4b38bd6 > < span class = "visually-hidden" id = "doc-footer-aria-label" data-v-a4b38bd6 > Pager< / span > < div class = "pager" data-v-a4b38bd6 > < a class = "VPLink link pager-link prev" href = "/zht/api/mp_math/" data-v-a4b38bd6 > <!-- [ --> < span class = "desc" data-v-a4b38bd6 > 上一頁< / span > < span class = "title" data-v-a4b38bd6 > mbcp.mp_math< / span > <!-- ] --> < / a > < / div > < div class = "pager" data-v-a4b38bd6 > < a class = "VPLink link pager-link next" href = "/zht/api/mp_math/mp_math_typing.html" data-v-a4b38bd6 > <!-- [ --> < span class = "desc" data-v-a4b38bd6 > 下一頁< / span > < span class = "title" data-v-a4b38bd6 > mbcp.mp_math.mp_math_typing< / span > <!-- ] --> < / a > < / div > < / nav > < / footer > <!-- [ --> <!-- ] --> < / div > < / div > < / div > <!-- [ --> <!-- ] --> < / div > < / div > < footer class = "VPFooter has-sidebar" data-v-22f859ac data-v-e3ca6860 > < div class = "container" data-v-e3ca6860 > < p class = "message" data-v-e3ca6860 > 文檔由 < a href = "https://vitepress.dev/" > VitePress< / a > 構建 | API引用由 < a href = "https://github.com/LiteyukiStudio/litedoc" > litedoc< / a > 生成< / p > < p class = "copyright" data-v-e3ca6860 > Copyright (C) 2020-2024 SnowyKami. All Rights Reserved< / p > < / div > < / footer > <!-- [ --> <!-- ] --> < / div > < / div >
2024-08-31 17:32:12 +08:00
< script > w i n d o w . _ _ V P _ H A S H _ M A P _ _ = J S O N . p a r s e ( " { \ " a p i _ a p i . m d \ " : \ " r n P O v 6 - O \ " , \ " a p i _ i n d e x . m d \ " : \ " q n r S d _ _ i \ " , \ " a p i _ m p _ m a t h _ a n g l e . m d \ " : \ " 3 N a 5 I a Y p \ " , \ " a p i _ m p _ m a t h _ c o n s t . m d \ " : \ " O 6 c T u l w X \ " , \ " a p i _ m p _ m a t h _ e q u a t i o n . m d \ " : \ " z 8 5 z y C Z L \ " , \ " a p i _ m p _ m a t h _ f u n c t i o n . m d \ " : \ " B h m J q p O o \ " , \ " a p i _ m p _ m a t h _ i n d e x . m d \ " : \ " D H h P N V 6 R \ " , \ " a p i _ m p _ m a t h _ l i n e . m d \ " : \ " D o v i 6 b d M \ " , \ " a p i _ m p _ m a t h _ m p _ m a t h . m d \ " : \ " m V a b Z T H d \ " , \ " a p i _ m p _ m a t h _ m p _ m a t h _ t y p i n g . m d \ " : \ " C E r y C R E V \ " , \ " a p i _ m p _ m a t h _ p l a n e . m d \ " : \ " D v - G W b J g \ " , \ " a p i _ m p _ m a t h _ p o i n t . m d \ " : \ " B v v r K T Y 8 \ " , \ " a p i _ m p _ m a t h _ s e g m e n t . m d \ " : \ " _ n _ _ V i V t \ " , \ " a p i _ m p _ m a t h _ u t i l s . m d \ " : \ " k W 3 A - l G 9 \ " , \ " a p i _ m p _ m a t h _ v e c t o r . m d \ " : \ " m C F a 4 A z m \ " , \ " a p i _ p a r t i c l e _ i n d e x . m d \ " : \ " B x L V u q r y \ " , \ " a p i _ p a r t i c l e _ p a r t i c l e . m d \ " : \ " C i o L G 9 A b \ " , \ " a p i _ p r e s e t s _ i n d e x . m d \ " : \ " C 7 s B j 6 Q 8 \ " , \ " a p i _ p r e s e t s _ m o d e l _ i n d e x . m d \ " : \ " F 2 z e h 9 P 2 \ " , \ " a p i _ p r e s e t s _ m o d e l _ m o d e l . m d \ " : \ " B o o c A 5 9 j \ " , \ " a p i _ p r e s e t s _ p r e s e t s . m d \ " : \ " k I U J t f c k \ " , \ " d e m o _ b e s t - p r a c t i c e . m d \ " : \ " C m Y j f r x d \ " , \ " d e m o _ i n d e x . m d \ " : \ " C V A d l a F I \ " , \ " e n _ a p i _ a p i . m d \ " : \ " D 3 1 N 0 - _ j \ " , \ " e n _ a p i _ i n d e x . m d \ " : \ " C p T S _ p f Z \ " , \ " e n _ a p i _ m p _ m a t h _ a n g l e . m d \ " : \ " 0 9 R 7 p x w _ \ " , \ " e n _ a p i _ m p _ m a t h _ c o n s t . m d \ " : \ " D j b x F o G O \ " , \ " e n _ a p i _ m p _ m a t h _ e q u a t i o n . m d \ " : \ " D B X w I C 0 s \ " , \ " e n _ a p i _ m p _ m a t h _ f u n c t i o n . m d \ " : \ " n J - E 5 W 5 r \ " , \ " e n _ a p i _ m p _ m a t h _ i n d e x . m d \ " : \ " y p H G E n m b \ " , \ " e n _ a p i _ m p _ m a t h _ l i n e . m d \ " : \ " D 0 A f s x W D \ " , \ " e n _ a p i _ m p _ m a t h _ m p _ m a t h . m d \ " : \ " 5 I i s T I t 3 \ " , \ " e n _ a p i _ m p _ m a t h _ m p _ m a t h _ t y p i n g . m d \ " : \ " D W j z t C j 6 \ " , \ " e n _ a p i _ m p _ m a t h _ p l a n e . m d \ " : \ " 3 x s Z d W o R \ " , \ " e n _ a p i _ m p _ m a t h _ p o i n t . m d \ " : \ " C x C g y 1 8 1 \ " , \ " e n _ a p i _ m p _ m a t h _ s e g m e n t . m d \ " : \ " B e v q u O v V \ " , \ " e n _ a p i _ m p _ m a t h _ u t i l s . m d \ " : \ " r V P - A 7 1 G \ " , \ " e n _ a p i _ m p _ m a t h _ v e c t o r . m d \ " : \ " B E I F Y O w e \ " , \ " e n _ a p i _ p a r t i c l e _ i n d e x . m d \ " : \ " N e z C 9 0 n G \ " , \ " e n _ a p i _ p a r t i c l e _ p a r t i c l e . m d \ " : \ " B T k 7 x B - d \ " , \ " e n _ a p i _ p r e s e t s _ i n d e x . m d \ " : \ " C l h g 0 Y L X \ " , \ " e n _ a p i _ p r e s e t s _ m o d e l _ i n d e x . m d \ " : \ " _ h b R 1 U 4 0 \ " , \ " e n _ a p i _ p r e s e t s _ m o d e l _ m o d e l . m d \ " : \ " B 9 F f c M g c \ " , \ " e n _ a p i _ p r e s e t s _ p r e s e t s . m d \ " : \ " 5 p M o s E d X \ " , \ " e n _ d e m o _ b e s t - p r a c t i c e . m d \ " : \ " C m t Y 1 0 5 n \ " , \ " e n _ g u i d e _ i n d e x . m d \ " : \ " C 3 k I 8 f 8 A \ " , \ " e n _ i n d e x . m d \ " : \ " C c - N t 9 O t \ " , \ " e n _ r e f e r _ i n d e x . m d \ " : \ " C q 6 G W i 0 V \ " , \ " g u i d e _ i n d e x . m d \ " : \ " B V h Q 0 k P y \ " , \ " i n d e x . m d \ " : \ " W V p b C 1 C 1 \ " , \ " j a _ a p i _ a p i . m d \ " : \ " D D 7 b 0 j H _ \ " , \ " j a _ a p i _ i n d e x . m d \ " : \ " 3 b C C q h m 9 \ " , \ " j a _ a p i _ m p _ m a t h _ a n g l e . m d \ " : \ " C A q 1 h H o v \ " , \ " j a _ a p i _ m p _ m a t h _ c o n s t . m d \ " : \ " C A C m M 3 Q 4 \ " , \ " j a _ a p i _ m p _ m a t h _ e q u a t i o n . m d \ " : \ " C w X 1 E U n A \ " , \ " j a _ a p i _ m p _ m a t h _ f u n c t i o n . m d \ " : \ " B p y L W M m S \ " , \ " j a _ a p i _ m p _ m a t h _ i n d e x . m d \ " : \ " B _ U D R W J p \ " , \ " j a _ a p i _ m p _ m a t h _ l i n e . m d \ " : \ " B z y t b S s M \ " , \ " j a _ a p i _ m p _ m a t h _ m p _ m a t h . m d \ " : \ " D G l - Y q o j \ " , \ " j a _ a p i _ m p _ m a t h _ m p _ m a t h _ t y p i n g . m d \ " : \ " B A N G f x 9 Q \ " , \ " j a _ a p i _ m p _ m a t h _ p l a n e . m d \ " : \ " B w 6 e c T D W \ " , \ " j a _ a p i _ m p _ m a t h _ p o i n t . m d \ " : \ " C F C W a C v m \ " , \ " j a _ a p i _ m p _ m a t h _ s e g m e n t . m d \ " : \ " c u L L X T S O \ " , \ " j a _ a p i _ m p _ m a t h _ u t i l s . m d \ " : \ " C r P K k 6 u i \ " , \ " j a _ a p i _ m p _ m a t h _ v e c t o r . m d \ " : \ " m f F e o k X v \ " , \ " j a _ a p i _ p a r t i c l e _ i n d e x . m d \ " : \ " S X v J H p q E \ " , \ " j a _ a p i _ p a r t i c l e _ p a r t i c l e . m d \ " : \ " D p D q A P A 7 \ " , \ " j a _ a p i _ p r e s e t s _ i n d e x . m d \ " : \ " D r J 0 a e Z q \ " , \ " j a _ a p i _ p r e s e t s _ m o d e l _ i n d e x . m d \ " : \ " u b 3 R s B C 9 \ " , \ " j a _ a p i _ p r e s e t s _ m o d e l _ m o d e l . m d \ " : \ " D w - 6 m f u k \ " , \ " j a _ a p i _ p r e s e t s _ p r e s e t s . m d \ " : \ " B m 4 b 0 y E m \ " , \ " j a _ d e m o _ b e s t - p r a c t i c e . m d \ " : \ " C B H i F 6 e c \ " , \ " j a _ g u i d e _ i n d e x . m d \ " : \ " w 1 T f 2 A d m \ " , \ " j a _ i n d e x . m d \ " : \ " B v j V 8 R I J \ " , \ " j a _ r e f e r _ i n d e x . m d \ " : \ " D a m U s c s 8 \ " , \ " r e f e r _ f u n c t i o n _ c u r r y . m d \ " : \ " D _ o q R D d 3 \ " , \ " r e f e r _ f u n c t i o n _ f u n c t i o n . m d \ " : \ " B i _ 8 2 l I J \ " , \ " r e f e r _ i n d e x . m d \ " : \ " y F Z W 0 k I 4 \ " , \ " z h t _ a p i _ a p i . m d \ " : \ " D g G L h N 7 H \ " , \ " z h t _ a p i _ i n d e x . m d \ " : \ " D N S d s C c q \ " , \ " z h t _ a p i _ m p _ m a t h _ a n g l e . m d \ " : \ " x B Q 5 j f 2 w \ " , \ " z h t _ a p i _ m p _ m a t h _ c o n s t . m d \ " : \ " D h n G o 4 6 u \ " , \ " z h t _ a p i _ m p _ m a t h _ e q u a t i o n . m d \ " : \ " C N q N d o 8 e \ " , \ " z h t _ a p i _ m p _ m a t h _ f u n c t i o n . m d \ " : \ " B Y w - s q J L \ " , \ " z h t _ a p i _ m p _ m a t h _ i n d e x . m d \ " : \ " C - y t w I T _ \ " , \ " z h t _ a p i _ m p _ m a t h _ l i n e . m d \ " : \ " B K W l V J m v \ " , \ " z h t _ a p i _ m p _ m a t h _ m p _ m a t h . m d \ " : \ " W A o 9 6 w s Q \ " , \ " z h t _ a p i _ m p _ m a t h _ m p _ m a t h _ t y p i n g . m d \ " : \ " 2 4 7 5 K 9 x 4 \ " , \ " z h t _ a p i _ m p _ m a t h _ p l a n e . m d \ " : \ " C b o 0 Q R Q D \ " , \ " z h t _ a p i _ m p _ m a t h _ p o i n t . m d \ " : \ " C i 0 R y J l m \ " , \ " z h t _ a p i _ m p _ m a t h _ s e g m e n t . m d \ " : \ " D _ x b G o 8 n \ " , \ " z h t _ a p i _ m p _ m a t h _ u t i l s . m d \ " : \ " B s N V d U j t \ " , \ " z h t _ a p i _ m p _ m a t h _ v e c t o r . m d \ " : \ " v R u j d 3 b N \ " , \ " z h t _ a p i _ p a r t i c l e _ i n d e x . m d \ " : \ " C 8 w v 1 s G B \ " , \ " z h t _ a p i _ p a r t i c l e _ p a r t i c l e . m d \ " : \ " D L x D z J s b \ " , \ " z h t _ a p i _ p r e s e t s _ i n d e x . m d \ " : \ " C K W p X p 0 8 \ " , \ " z h t _ a p i _ p r e s e t s _ m o d e l _ i n d e x . m d \ " : \ " a 4 6 B v X 0 I \ " , \ " z h t _ a p i _ p r e s e t s _ m o d e l _ m o d e l . m d \ " : \ " C 8 P K D M 2 B \ " , \ " z h t _ a p i _ p r e s e t s _ p r e s e t s . m d \ " : \ " n x u S _ h T 6 \ " , \ " z h t _ d e m o _ b e s t - p r a c t i c e . m d \ " : \ " C P N b D _
2024-08-29 13:25:00 +08:00
< / body >
< / html >