mbcp/en/api/mp_math/vector.html

210 lines
104 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>mbcp.mp_math.vector | MBCP docs</title>
<meta name="description" content="A library made for Minecraft particle generation">
<meta name="generator" content="VitePress v1.3.4">
<link rel="preload stylesheet" href="/assets/style.CTLFORxu.css" as="style">
<script type="module" src="/assets/app.DSCSdM_3.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.CIS5wKR_.js">
<link rel="modulepreload" href="/assets/chunks/framework.C94oF1kp.js">
<link rel="modulepreload" href="/assets/en_api_mp_math_vector.md.BJF5J3QY.lean.js">
<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>
<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="/en/" data-v-10b95b50><!--[--><!--]--><!----><span data-v-10b95b50>MBCP docs</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><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="/en/guide/" tabindex="0" data-v-0fb289c1 data-v-ad4a8b64><!--[--><span data-v-ad4a8b64>Get Start</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/api/" tabindex="0" data-v-0fb289c1 data-v-ad4a8b64><!--[--><span data-v-ad4a8b64>API Document</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/demo/" tabindex="0" data-v-0fb289c1 data-v-ad4a8b64><!--[--><span data-v-ad4a8b64>Demo</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>English</p><!--[--><div class="VPMenuLink" data-v-cd7b67e8 data-v-79776a7a><a class="VPLink link" href="/api/mp_math/vector.html" data-v-79776a7a><!--[-->简体中文<!--]--></a></div><div class="VPMenuLink" data-v-cd7b67e8 data-v-79776a7a><a class="VPLink link" href="/ja/api/mp_math/vector.html" data-v-79776a7a><!--[-->日本語<!--]--></a></div><div class="VPMenuLink" data-v-cd7b67e8 data-v-79776a7a><a class="VPLink link" href="/zht/api/mp_math/vector.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" rel="noopener" data-v-fa18fe49 data-v-b0526bd7><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-1303e283 data-v-2fc967b6 data-v-ec8c49bc><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-ec8c49bc><span class="vpi-more-horizontal icon" data-v-ec8c49bc></span></button><div class="menu" data-v-ec8c49bc><div class="VPMenu" data-v-ec8c49bc data-v-9990563e><!----><!--[--><!--[--><div class="group translations" data-v-2fc967b6><p class="trans-title" data-v-2fc967b6>English</p><!--[--><div class="VPMenuLink" data-v-2fc967b6 data-v-79776a7a><a class="VPLink link" href="/api/mp_math/vector.html" data-v-79776a7a><!--[-->简体中文<!--]--></a></div><div class="VPMenuLink" data-v-2fc967b6 data-v-79776a7a><a class="VPLink link" href="/ja/api/mp_math/vector.html" data-v-79776a7a><!--[-->日本語<!--]--></a></div><div class="VPMenuLink" data-v-2fc967b6 data-v-79776a7a><a class="VPLink link" href="/zht/api/mp_math/vector.html" data-v-79776a7a><!--[-->繁體中文<!--]--></a></div><!--]--></div><div class="group" data-v-2fc967b6><div class="item appearance" data-v-2fc967b6><p class="label" data-v-2fc967b6>Appearance</p><div class="appearance-action" data-v-2fc967b6><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-2fc967b6 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></div><div class="group" data-v-2fc967b6><div class="item social-links" data-v-2fc967b6><div class="VPSocialLinks social-links-list" data-v-2fc967b6 data-v-fa18fe49><!--[--><a class="VPSocialLink no-icon" href="https://github.com/snowykami/mbcp" aria-label="github" target="_blank" rel="noopener" data-v-fa18fe49 data-v-b0526bd7><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-1303e283 data-v-be64de2d><span class="container" data-v-be64de2d><span class="top" data-v-be64de2d></span><span class="middle" data-v-be64de2d></span><span class="bottom" data-v-be64de2d></span></span></button></div></div></div></div><div class="divider" data-v-1303e283><div class="divider-line" data-v-1303e283></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-22f859ac data-v-8af612ea><div class="container" data-v-8af612ea><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-8af612ea><span class="vpi-align-left menu-icon" data-v-8af612ea></span><span class="menu-text" data-v-8af612ea>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-8af612ea data-v-b418bf42><button data-v-b418bf42>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-22f859ac data-v-edd7de80><div class="curtain" data-v-edd7de80></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-edd7de80><span class="visually-hidden" id="sidebar-aria-label" data-v-edd7de80> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-c3eaeb1a><section class="VPSidebarItem level-0 collapsible has-active" data-v-c3eaeb1a data-v-9035698b><div class="item" role="button" tabindex="0" data-v-9035698b><div class="indicator" data-v-9035698b></div><h2 class="text" data-v-9035698b>mp_math</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9035698b><span class="vpi-chevron-right caret-icon" data-v-9035698b></span></div></div><div class="items" data-v-9035698b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/angle.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.angle</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/const.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.const</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/equation.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.equation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/function.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.function</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/line.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.line</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/mp_math_typing.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.mp_math_typing</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/plane.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.plane</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/point.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.point</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/segment.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.segment</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/utils.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.utils</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/mp_math/vector.html" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.mp_math.vector</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c3eaeb1a><section class="VPSidebarItem level-0 collapsible collapsed" data-v-c3eaeb1a data-v-9035698b><div class="item" role="button" tabindex="0" data-v-9035698b><div class="indicator" data-v-9035698b></div><h2 class="text" data-v-9035698b>particle</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9035698b><span class="vpi-chevron-right caret-icon" data-v-9035698b></span></div></div><div class="items" data-v-9035698b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/particle/" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.particle</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-c3eaeb1a><section class="VPSidebarItem level-0 collapsible collapsed" data-v-c3eaeb1a data-v-9035698b><div class="item" role="button" tabindex="0" data-v-9035698b><div class="indicator" data-v-9035698b></div><h2 class="text" data-v-9035698b>presets</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9035698b><span class="vpi-chevron-right caret-icon" data-v-9035698b></span></div></div><div class="items" data-v-9035698b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/presets/" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.presets</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed" data-v-9035698b data-v-9035698b><div class="item" role="button" tabindex="0" data-v-9035698b><div class="indicator" data-v-9035698b></div><h3 class="text" data-v-9035698b>model</h3><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-9035698b><span class="vpi-chevron-right caret-icon" data-v-9035698b></span></div></div><div class="items" data-v-9035698b><!--[--><div class="VPSidebarItem level-2 is-link" data-v-9035698b data-v-9035698b><div class="item" data-v-9035698b><div class="indicator" data-v-9035698b></div><a class="VPLink link link" href="/en/api/presets/model/" data-v-9035698b><!--[--><p class="text" data-v-9035698b>mbcp.presets.model</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-22f859ac data-v-ec7dbf3e><div class="VPDoc has-sidebar has-aside" data-v-ec7dbf3e data-v-40342069><!--[--><!--]--><div class="container" data-v-40342069><div class="aside" data-v-40342069><div class="aside-curtain" data-v-40342069></div><div class="aside-container" data-v-40342069><div class="aside-content" data-v-40342069><div class="VPDocAside" data-v-40342069 data-v-0ff3c77f><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-0ff3c77f data-v-e7b12e6e><div class="content" data-v-e7b12e6e><div class="outline-marker" data-v-e7b12e6e></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-e7b12e6e>On this page</div><ul class="VPDocOutlineItem root" data-v-e7b12e6e data-v-51c2c770><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-0ff3c77f></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-40342069><div class="content-container" data-v-40342069><!--[--><!--]--><main class="main" data-v-40342069><div style="position:relative;" class="vp-doc _en_api_mp_math_vector" data-v-40342069><div><h1 id="mbcp-mp-math-vector" tabindex="-1">mbcp.mp_math.vector <a class="header-anchor" href="#mbcp-mp-math-vector" aria-label="Permalink to &quot;mbcp.mp_math.vector&quot;"></a></h1><p><strong>Description</strong>: 本模块定义了3维向量的类Vector3以及一些常用的向量。</p><h3 id="class-vector3" tabindex="-1"><em><strong>class</strong></em> <code>Vector3</code> <a class="header-anchor" href="#class-vector3" aria-label="Permalink to &quot;***class*** `Vector3`&quot;"></a></h3><h4 id="method-init-self-x-float-y-float-z-float" tabindex="-1"><em><strong>method</strong></em> <code>__init__(self, x: float, y: float, z: float)</code> <a class="header-anchor" href="#method-init-self-x-float-y-float-z-float" aria-label="Permalink to &quot;***method*** `__init__(self, x: float, y: float, z: float)`&quot;"></a></h4><p><strong>Description</strong>: 3维向量</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>x: x轴分量</li><li>y: y轴分量</li><li>z: z轴分量</li></ul></blockquote><details><summary><b>Source code</b></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;"> __init__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, x: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, y: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, z: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 3维向量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> x: x轴分量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> y: y轴分量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> z: z轴分量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> x</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> y</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> z</span></span></code></pre></div></details><h4 id="method-approx-self-other-vector3-epsilon-float-approx-bool" tabindex="-1"><em><strong>method</strong></em> <code>approx(self, other: Vector3, epsilon: float = APPROX) -&gt; bool</code> <a class="header-anchor" href="#method-approx-self-other-vector3-epsilon-float-approx-bool" aria-label="Permalink to &quot;***method*** `approx(self, other: Vector3, epsilon: float = APPROX) -&gt; bool`&quot;"></a></h4><p><strong>Description</strong>: 判断两个向量是否近似相等。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li><li>epsilon:</li></ul></blockquote><p><strong>Return</strong>: 是否近似相等</p><details><summary><b>Source code</b></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;">&#39;Vector3&#39;</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;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> epsilon:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</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;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">([</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;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> epsilon, </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;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> epsilon, </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;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> epsilon])</span></span></code></pre></div></details><h4 id="method-cal-angle-self-other-vector3-anyangle" tabindex="-1"><em><strong>method</strong></em> <code>cal_angle(self, other: Vector3) -&gt; AnyAngle</code> <a class="header-anchor" href="#method-cal-angle-self-other-vector3-anyangle" aria-label="Permalink to &quot;***method*** `cal_angle(self, other: Vector3) -&gt; AnyAngle`&quot;"></a></h4><p><strong>Description</strong>: 计算两个向量之间的夹角。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other: 另一个向量</li></ul></blockquote><p><strong>Return</strong>: 夹角</p><details><summary><b>Source code</b></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;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;AnyAngle&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other: 另一个向量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</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;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> AnyAngle(math.acos(</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 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;">.length </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.length)), </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">is_radian</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="method-cross-self-other-vector3-vector3" tabindex="-1"><em><strong>method</strong></em> <code>cross(self, other: Vector3) -&gt; Vector3</code> <a class="header-anchor" href="#method-cross-self-other-vector3-vector3" aria-label="Permalink to &quot;***method*** `cross(self, other: Vector3) -&gt; Vector3`&quot;"></a></h4><p><strong>Description</strong>: 向量积 叉乘v1 cross v2 -&gt; v3</p><p>叉乘为0则两向量平行。 其余结果的模为平行四边形的面积。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><p><strong>Return</strong>: 行列式的结果</p><details><summary><b>Source code</b></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;"> cross</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 向量积 叉乘v1 cross v2 -&gt; v3</span></span>
<span class="line"></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;"> 其余结果的模为平行四边形的面积。</span></span>
<span class="line"></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;"> ``i j k``</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ``x1 y1 z1``</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ``x2 y2 z2``</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</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;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.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;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.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;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.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;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x)</span></span></code></pre></div></details><h4 id="method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool" tabindex="-1"><em><strong>method</strong></em> <code>is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -&gt; bool</code> <a class="header-anchor" href="#method-is-approx-parallel-self-other-vector3-epsilon-float-approx-bool" aria-label="Permalink to &quot;***method*** `is_approx_parallel(self, other: Vector3, epsilon: float = APPROX) -&gt; bool`&quot;"></a></h4><p><strong>Description</strong>: 判断两个向量是否近似平行。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other: 另一个向量</li><li>epsilon: 允许的误差</li></ul></blockquote><p><strong>Return</strong>: 是否近似平行</p><details><summary><b>Source code</b></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;">&#39;Vector3&#39;</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;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other: 另一个向量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> epsilon: 允许的误差</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</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;"> &quot;&quot;&quot;</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 style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.cross(other).length </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> epsilon</span></span></code></pre></div></details><h4 id="method-is-parallel-self-other-vector3-bool" tabindex="-1"><em><strong>method</strong></em> <code>is_parallel(self, other: Vector3) -&gt; bool</code> <a class="header-anchor" href="#method-is-parallel-self-other-vector3-bool" aria-label="Permalink to &quot;***method*** `is_parallel(self, other: Vector3) -&gt; bool`&quot;"></a></h4><p><strong>Description</strong>: 判断两个向量是否平行。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other: 另一个向量</li></ul></blockquote><p><strong>Return</strong>: 是否平行</p><details><summary><b>Source code</b></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;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other: 另一个向量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</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;"> &quot;&quot;&quot;</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 style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.cross(other).approx(zero_vector3)</span></span></code></pre></div></details><h4 id="method-normalize-self" tabindex="-1"><em><strong>method</strong></em> <code>normalize(self)</code> <a class="header-anchor" href="#method-normalize-self" aria-label="Permalink to &quot;***method*** `normalize(self)`&quot;"></a></h4><p><strong>Description</strong>: 将向量归一化。</p><p>自体归一化,不返回值。</p><details><summary><b>Source code</b></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;"> normalize</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;"> 自体归一化,不返回值。</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.length</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">/=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> length</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">/=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> length</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">/=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> length</span></span></code></pre></div></details><h4 id="property" tabindex="-1"><code>@property</code> <a class="header-anchor" href="#property" aria-label="Permalink to &quot;`@property`&quot;"></a></h4><h4 id="method-np-array-self-np-ndarray" tabindex="-1"><em><strong>method</strong></em> <code>np_array(self) -&gt; np.ndarray</code> <a class="header-anchor" href="#method-np-array-self-np-ndarray" aria-label="Permalink to &quot;***method*** `np_array(self) -&gt; np.ndarray`&quot;"></a></h4><details><summary><b>Source code</b></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;">property</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> np_array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;np.ndarray&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 返回numpy数组</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> np.array([</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z])</span></span></code></pre></div></details><h4 id="property-1" tabindex="-1"><code>@property</code> <a class="header-anchor" href="#property-1" aria-label="Permalink to &quot;`@property`&quot;"></a></h4><h4 id="method-length-self-float" tabindex="-1"><em><strong>method</strong></em> <code>length(self) -&gt; float</code> <a class="header-anchor" href="#method-length-self-float" aria-label="Permalink to &quot;***method*** `length(self) -&gt; float`&quot;"></a></h4><p><strong>Description</strong>: 向量的模。</p><p><strong>Return</strong>: 模</p><details><summary><b>Source code</b></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;">property</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> length</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"></span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> math.sqrt(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </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;">.y </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;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="property-2" tabindex="-1"><code>@property</code> <a class="header-anchor" href="#property-2" aria-label="Permalink to &quot;`@property`&quot;"></a></h4><h4 id="method-unit-self-vector3" tabindex="-1"><em><strong>method</strong></em> <code>unit(self) -&gt; Vector3</code> <a class="header-anchor" href="#method-unit-self-vector3" aria-label="Permalink to &quot;***method*** `unit(self) -&gt; Vector3`&quot;"></a></h4><p><strong>Description</strong>: 获取该向量的单位向量。</p><p><strong>Return</strong>: 单位向量</p><details><summary><b>Source code</b></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;">property</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> unit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 单位向量</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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 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;">.length</span></span></code></pre></div></details><h4 id="method-abs-self" tabindex="-1"><em><strong>method</strong></em> <code>__abs__(self)</code> <a class="header-anchor" href="#method-abs-self" aria-label="Permalink to &quot;***method*** `__abs__(self)`&quot;"></a></h4><details><summary><b>Source code</b></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;"> __abs__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</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 style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.length</span></span></code></pre></div></details><h4 id="overload" tabindex="-1"><code>@overload</code> <a class="header-anchor" href="#overload" aria-label="Permalink to &quot;`@overload`&quot;"></a></h4><h4 id="method-self-other-vector3-vector3" tabindex="-1"><em><strong>method</strong></em> <code>self + other: Vector3 =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-vector3-vector3" aria-label="Permalink to &quot;***method*** `self + other: Vector3 =&gt; Vector3`&quot;"></a></h4><details><summary><b>Source code</b></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;">@overload</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __add__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ...</span></span></code></pre></div></details><h4 id="overload-1" tabindex="-1"><code>@overload</code> <a class="header-anchor" href="#overload-1" aria-label="Permalink to &quot;`@overload`&quot;"></a></h4><h4 id="method-self-other-point3-point3" tabindex="-1"><em><strong>method</strong></em> <code>self + other: Point3 =&gt; Point3</code> <a class="header-anchor" href="#method-self-other-point3-point3" aria-label="Permalink to &quot;***method*** `self + other: Point3 =&gt; Point3`&quot;"></a></h4><details><summary><b>Source code</b></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;">@overload</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __add__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ...</span></span></code></pre></div></details><h4 id="method-self-other" tabindex="-1"><em><strong>method</strong></em> <code>self + other</code> <a class="header-anchor" href="#method-self-other" aria-label="Permalink to &quot;***method*** `self + other`&quot;"></a></h4><p><strong>Description</strong>: V + P -&gt; P</p><p>V + V -&gt; V</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><details><summary><b>Source code</b></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;"> __add__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> V + P -&gt; P</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> V + V -&gt; V</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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, Vector3):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z)</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;"> Point3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z)</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;"> 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:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;unsupported operand type(s) for +: &#39;Vector3&#39; and &#39;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(other)</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="method-eq-self-other" tabindex="-1"><em><strong>method</strong></em> <code>__eq__(self, other)</code> <a class="header-anchor" href="#method-eq-self-other" aria-label="Permalink to &quot;***method*** `__eq__(self, other)`&quot;"></a></h4><p><strong>Description</strong>: 判断两个向量是否相等。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><p><strong>Return</strong>: 是否相等</p><details><summary><b>Source code</b></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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</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;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> approx(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x, other.x) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">and</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> approx(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y, other.y) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">and</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> approx(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z, other.z)</span></span></code></pre></div></details><h4 id="method-self-other-point3-point3-1" tabindex="-1"><em><strong>method</strong></em> <code>self + other: Point3 =&gt; Point3</code> <a class="header-anchor" href="#method-self-other-point3-point3-1" aria-label="Permalink to &quot;***method*** `self + other: Point3 =&gt; Point3`&quot;"></a></h4><p><strong>Description</strong>: P + V -&gt; P</p><p>别去点那边实现了。 :param other: :return:</p><details><summary><b>Source code</b></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;"> __radd__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> P + V -&gt; P</span></span>
<span class="line"></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;"> :param other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> :return:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Point3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z)</span></span></code></pre></div></details><h4 id="overload-2" tabindex="-1"><code>@overload</code> <a class="header-anchor" href="#overload-2" aria-label="Permalink to &quot;`@overload`&quot;"></a></h4><h4 id="method-self-other-vector3-vector3-1" tabindex="-1"><em><strong>method</strong></em> <code>self - other: Vector3 =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-vector3-vector3-1" aria-label="Permalink to &quot;***method*** `self - other: Vector3 =&gt; Vector3`&quot;"></a></h4><details><summary><b>Source code</b></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;">@overload</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __sub__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ...</span></span></code></pre></div></details><h4 id="overload-3" tabindex="-1"><code>@overload</code> <a class="header-anchor" href="#overload-3" aria-label="Permalink to &quot;`@overload`&quot;"></a></h4><h4 id="method-self-other-point3-point3-2" tabindex="-1"><em><strong>method</strong></em> <code>self - other: Point3 =&gt; Point3</code> <a class="header-anchor" href="#method-self-other-point3-point3-2" aria-label="Permalink to &quot;***method*** `self - other: Point3 =&gt; Point3`&quot;"></a></h4><details><summary><b>Source code</b></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;">@overload</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __sub__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ...</span></span></code></pre></div></details><h4 id="method-self-other-1" tabindex="-1"><em><strong>method</strong></em> <code>self - other</code> <a class="header-anchor" href="#method-self-other-1" aria-label="Permalink to &quot;***method*** `self - other`&quot;"></a></h4><p><strong>Description</strong>: V - P -&gt; P</p><p>V - V -&gt; V</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><details><summary><b>Source code</b></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;"> __sub__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> V - P -&gt; P</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> V - V -&gt; V</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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, Vector3):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z)</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;"> Point3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z)</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;"> 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:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;unsupported operand type(s) for -: &quot;Vector3&quot; and &quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(other)</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="method-self-other-point3" tabindex="-1"><em><strong>method</strong></em> <code>self - other: Point3</code> <a class="header-anchor" href="#method-self-other-point3" aria-label="Permalink to &quot;***method*** `self - other: Point3`&quot;"></a></h4><p><strong>Description</strong>: P - V -&gt; P</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><details><summary><b>Source code</b></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;"> __rsub__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Point3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> P - V -&gt; P</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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, Point3):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Point3(other.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;">.x, other.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;">.y, other.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;">.z)</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;"> 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:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;unsupported operand type(s) for -: &#39;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(other)</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39; and &#39;Vector3&#39;&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="overload-4" tabindex="-1"><code>@overload</code> <a class="header-anchor" href="#overload-4" aria-label="Permalink to &quot;`@overload`&quot;"></a></h4><h4 id="method-self-other-vector3-vector3-2" tabindex="-1"><em><strong>method</strong></em> <code>self * other: Vector3 =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-vector3-vector3-2" aria-label="Permalink to &quot;***method*** `self * other: Vector3 =&gt; Vector3`&quot;"></a></h4><details><summary><b>Source code</b></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;">@overload</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __mul__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ...</span></span></code></pre></div></details><h4 id="overload-5" tabindex="-1"><code>@overload</code> <a class="header-anchor" href="#overload-5" aria-label="Permalink to &quot;`@overload`&quot;"></a></h4><h4 id="method-self-other-realnumber-vector3" tabindex="-1"><em><strong>method</strong></em> <code>self * other: RealNumber =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-realnumber-vector3" aria-label="Permalink to &quot;***method*** `self * other: RealNumber =&gt; Vector3`&quot;"></a></h4><details><summary><b>Source code</b></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;">@overload</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __mul__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: RealNumber) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ...</span></span></code></pre></div></details><h4 id="method-self-other-int-float-vector3-vector3" tabindex="-1"><em><strong>method</strong></em> <code>self * other: int | float | Vector3 =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-int-float-vector3-vector3" aria-label="Permalink to &quot;***method*** `self * other: int | float | Vector3 =&gt; Vector3`&quot;"></a></h4><p><strong>Description</strong>: 数组运算 非点乘。点乘使用@叉乘使用cross。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><details><summary><b>Source code</b></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;"> __mul__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;int | float | Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 数组运算 非点乘。点乘使用@叉乘使用cross。</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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, Vector3):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.x, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.y, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z)</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, (</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">float</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">int</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:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </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;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<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:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;unsupported operand type(s) for *: &#39;Vector3&#39; and &#39;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(other)</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="method-self-other-realnumber-vector3-1" tabindex="-1"><em><strong>method</strong></em> <code>self * other: RealNumber =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-realnumber-vector3-1" aria-label="Permalink to &quot;***method*** `self * other: RealNumber =&gt; Vector3`&quot;"></a></h4><details><summary><b>Source code</b></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;"> __rmul__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;RealNumber&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</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;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">__mul__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(other)</span></span></code></pre></div></details><h4 id="method-self-other-vector3-realnumber" tabindex="-1"><em><strong>method</strong></em> <code>self @ other: Vector3 =&gt; RealNumber</code> <a class="header-anchor" href="#method-self-other-vector3-realnumber" aria-label="Permalink to &quot;***method*** `self @ other: Vector3 =&gt; RealNumber`&quot;"></a></h4><p><strong>Description</strong>: 点乘。</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>other:</li></ul></blockquote><details><summary><b>Source code</b></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;"> __matmul__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;RealNumber&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> other:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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 style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.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;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.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;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other.z</span></span></code></pre></div></details><h4 id="method-self-other-realnumber-vector3-2" tabindex="-1"><em><strong>method</strong></em> <code>self / other: RealNumber =&gt; Vector3</code> <a class="header-anchor" href="#method-self-other-realnumber-vector3-2" aria-label="Permalink to &quot;***method*** `self / other: RealNumber =&gt; Vector3`&quot;"></a></h4><details><summary><b>Source code</b></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;"> __truediv__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, other: RealNumber) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Vector3&#39;</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:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.x </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.y </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.z </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> other)</span></span></code></pre></div></details><h4 id="method-self" tabindex="-1"><em><strong>method</strong></em> <code>- self</code> <a class="header-anchor" href="#method-self" aria-label="Permalink to &quot;***method*** `- self`&quot;"></a></h4><details><summary><b>Source code</b></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;"> __neg__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Vector3(</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;">.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;">.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;">.z)</span></span></code></pre></div></details><h3 id="var-zero-vector3-vector3-0-0-0" tabindex="-1">var <code>zero_vector3</code> = <code>Vector3(0, 0, 0)</code> <a class="header-anchor" href="#var-zero-vector3-vector3-0-0-0" aria-label="Permalink to &quot;var `zero_vector3` = `Vector3(0, 0, 0)`&quot;"></a></h3><ul><li><p><strong>Type</strong>: <code>Vector3</code></p></li><li><p><strong>Description</strong>: 零向量</p></li></ul><h3 id="var-x-axis-vector3-1-0-0" tabindex="-1">var <code>x_axis</code> = <code>Vector3(1, 0, 0)</code> <a class="header-anchor" href="#var-x-axis-vector3-1-0-0" aria-label="Permalink to &quot;var `x_axis` = `Vector3(1, 0, 0)`&quot;"></a></h3><ul><li><p><strong>Type</strong>: <code>Vector3</code></p></li><li><p><strong>Description</strong>: x轴单位向量</p></li></ul><h3 id="var-y-axis-vector3-0-1-0" tabindex="-1">var <code>y_axis</code> = <code>Vector3(0, 1, 0)</code> <a class="header-anchor" href="#var-y-axis-vector3-0-1-0" aria-label="Permalink to &quot;var `y_axis` = `Vector3(0, 1, 0)`&quot;"></a></h3><ul><li><p><strong>Type</strong>: <code>Vector3</code></p></li><li><p><strong>Description</strong>: y轴单位向量</p></li></ul><h3 id="var-z-axis-vector3-0-0-1" tabindex="-1">var <code>z_axis</code> = <code>Vector3(0, 0, 1)</code> <a class="header-anchor" href="#var-z-axis-vector3-0-0-1" aria-label="Permalink to &quot;var `z_axis` = `Vector3(0, 0, 1)`&quot;"></a></h3><ul><li><p><strong>Type</strong>: <code>Vector3</code></p></li><li><p><strong>Description</strong>: z轴单位向量</p></li></ul></div></div></main><footer class="VPDocFooter" data-v-40342069 data-v-a4b38bd6><!--[--><!--]--><!----><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="/en/api/mp_math/utils.html" data-v-a4b38bd6><!--[--><span class="desc" data-v-a4b38bd6>Previous page</span><span class="title" data-v-a4b38bd6>mbcp.mp_math.utils</span><!--]--></a></div><div class="pager" data-v-a4b38bd6><a class="VPLink link pager-link next" href="/en/api/particle/" data-v-a4b38bd6><!--[--><span class="desc" data-v-a4b38bd6>Next page</span><span class="title" data-v-a4b38bd6>mbcp.particle</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>Documentation built with <a href="https://vitepress.dev/">VitePress</a> | API references generated by <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>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"api_index.md\":\"CBQkxs7b\",\"api_mp_math_angle.md\":\"gd7UQvyy\",\"api_mp_math_const.md\":\"3scs0T6A\",\"api_mp_math_equation.md\":\"DuZ1hN4l\",\"api_mp_math_function.md\":\"U6hGSIm3\",\"api_mp_math_index.md\":\"1HMGGW3A\",\"api_mp_math_line.md\":\"B-ShajAF\",\"api_mp_math_mp_math_typing.md\":\"BtAkBFH3\",\"api_mp_math_plane.md\":\"DnJHiXsz\",\"api_mp_math_point.md\":\"9ZJsp3fx\",\"api_mp_math_segment.md\":\"BLQ-UFFk\",\"api_mp_math_utils.md\":\"yzrnwrbP\",\"api_mp_math_vector.md\":\"BSPllWFK\",\"api_particle_index.md\":\"Cgiljhcz\",\"api_presets_index.md\":\"RZipvyLz\",\"api_presets_model_index.md\":\"4RPSG4yh\",\"demo_index.md\":\"D-H9zRUE\",\"en_api_index.md\":\"BaqBYqY8\",\"en_api_mp_math_angle.md\":\"z39I-qRz\",\"en_api_mp_math_const.md\":\"CSc4Ut1v\",\"en_api_mp_math_equation.md\":\"0VnHCQQ4\",\"en_api_mp_math_function.md\":\"BzQ8FTPC\",\"en_api_mp_math_index.md\":\"Gx9tQ_Za\",\"en_api_mp_math_line.md\":\"e8dK90h_\",\"en_api_mp_math_mp_math_typing.md\":\"DByFpCMm\",\"en_api_mp_math_plane.md\":\"DYLAU1Re\",\"en_api_mp_math_point.md\":\"DYCVxK7m\",\"en_api_mp_math_segment.md\":\"CUQLS_qv\",\"en_api_mp_math_utils.md\":\"B4NFHkPz\",\"en_api_mp_math_vector.md\":\"BJF5J3QY\",\"en_api_particle_index.md\":\"f-q0HsfK\",\"en_api_presets_index.md\":\"CAyxYhKI\",\"en_api_presets_model_index.md\":\"DypEdCdE\",\"en_guide_index.md\":\"DrDHTYCZ\",\"en_index.md\":\"MCm69eyE\",\"guide_index.md\":\"NVx3l2Cr\",\"index.md\":\"BjJ9-kbE\",\"ja_api_index.md\":\"DW7hb-YH\",\"ja_api_mp_math_angle.md\":\"Cac0Crec\",\"ja_api_mp_math_const.md\":\"ClLsNkM_\",\"ja_api_mp_math_equation.md\":\"8i-WXc7A\",\"ja_api_mp_math_function.md\":\"GLsPZWha\",\"ja_api_mp_math_index.md\":\"BBAQ-AOT\",\"ja_api_mp_math_line.md\":\"BwZJXqnL\",\"ja_api_mp_math_mp_math_typing.md\":\"DHbmIzMT\",\"ja_api_mp_math_plane.md\":\"Ck5Q7igW\",\"ja_api_mp_math_point.md\":\"CbFZXfAJ\",\"ja_api_mp_math_segment.md\":\"DbTMeZAn\",\"ja_api_mp_math_utils.md\":\"D2dcQ_ET\",\"ja_api_mp_math_vector.md\":\"DBPPUIlc\",\"ja_api_particle_index.md\":\"C9QFJ8EN\",\"ja_api_presets_index.md\":\"BZKh7pEG\",\"ja_api_presets_model_index.md\":\"DzI-SA0H\",\"ja_guide_index.md\":\"BxGnZYwR\",\"ja_index.md\":\"CtozMsIU\",\"zht_api_index.md\":\"BoNToa7V\",\"zht_api_mp_math_angle.md\":\"B7iqArJr\",\"zht_api_mp_math_const.md\":\"3LY5TQ7t\",\"zht_api_mp_math_equation.md\":\"DMSjWdou\",\"zht_api_mp_math_function.md\":\"DOX7pGXC\",\"zht_api_mp_math_index.md\":\"Cp3ggfPO\",\"zht_api_mp_math_line.md\":\"D3xPFA2p\",\"zht_api_mp_math_mp_math_typing.md\":\"DTY2F-6g\",\"zht_api_mp_math_plane.md\":\"DAAO1c38\",\"zht_api_mp_math_point.md\":\"CK50W0JG\",\"zht_api_mp_math_segment.md\":\"BK0QQket\",\"zht_api_mp_math_utils.md\":\"BQrrPf8T\",\"zht_api_mp_math_vector.md\":\"CtYckwOL\",\"zht_api_particle_index.md\":\"CljeoVXn\",\"zht_api_presets_index.md\":\"DEbOKiST\",\"zht_api_presets_model_index.md\":\"3pGdZAT9\",\"zht_guide_index.md\":\"CsuFVFxu\",\"zht_index.md\":\"V9U3SwDR\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"MBCP docs\",\"description\":\"MBCP library docs\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"sidebar\":{\"/api/\":{\"base\":\"/api/\",\"items\":[{\"text\":\"mp_math\",\"items\":[{\"text\":\"mbcp.mp_math.angle\",\"link\":\"mp_math/angle\"},{\"text\":\"mbcp.mp_math.const\",\"link\":\"mp_math/const\"},{\"text\":\"mbcp.mp_math.equation\",\"link\":\"mp_math/equation\"},{\"text\":\"mbcp.mp_math.function\",\"link\":\"mp_math/function\"},{\"text\":\"mbcp.mp_math\",\"link\":\"mp_math/\"},{\"text\":\"mbcp.mp_math.line\",\"link\":\"mp_math/line\"},{\"text\":\"mbcp.mp_math.mp_math_typing\",\"link\":\"mp_math/mp_math_typing\"},{\"text\":\"mbcp.mp_math.plane\",\"link\":\"mp_math/plane\"},{\"text\":\"mbcp.mp_math.point\",\"link\":\"mp_math/point\"},{\"text\":\"mbcp.mp_math.segment\",\"link\":\"mp_math/segment\"},{\"text\":\"mbcp.mp_math.utils\",\"link\":\"mp_math/utils\"},{\"text\":\"mbcp.mp_math.vector\",\"link\":\"mp_math/vector\"}],\"collapsed\":true},{\"text\":\"particle\",\"items\":[{\"text\":\"mbcp.particle\",\"link\":\"particle/\"}],\"collapsed\":true},{\"text\":\"presets\",\"items\":[{\"text\":\"mbcp.presets\",\"link\":\"presets/\"},{\"text\":\"model\",\"items\":[{\"text\":\"mbcp.presets.model\",\"link\":\"presets/model/\"}],\"collapsed\":true}],\"collapsed\":true}]},\"/en/api/\":{\"base\":\"/en/api/\",\"items\":[{\"text\":\"mp_math\",\"items\":[{\"text\":\"mbcp.mp_math.angle\",\"link\":\"mp_math/angle\"},{\"text\":\"mbcp.mp_math.const\",\"link\":\"mp_math/const\"},{\"text\":\"mbcp.mp_math.equation\",\"link\":\"mp_math/equation\"},{\"text\":\"mbcp.mp_math.function\",\"link\":\"mp_math/function\"},{\"text\":\"mbcp.mp_math\",\"link\":\"mp_math/\"},{\"text\":\"mbcp.mp_math.line\",\"link\":\"mp_math/line\"},{\"text\":\"mbcp.mp_math.mp_math_typing\",\"link\":\"mp_math/mp_math_typing\"},{\"text\":\"mbcp.mp_math.plane\",\"link\":\"mp_math/plane\"},{\"text\":\"mbcp.mp_math.point\",\"link\":\"mp_math/point\"},{\"text\":\"mbcp.mp_math.segment\",\"link\":\"mp_math/segment\"},{\"text\":\"mbcp.mp_math.utils\",\"link\":\"mp_math/utils\"},{\"text\":\"mbcp.mp_math.vector\",\"link\":\"mp_math/vector\"}],\"collapsed\":true},{\"text\":\"particle\",\"items\":[{\"text\":\"mbcp.particle\",\"link\":\"particle/\"}],\"collapsed\":true},{\"text\":\"presets\",\"items\":[{\"text\":\"mbcp.presets\",\"link\":\"presets/\"},{\"text\":\"model\",\"items\":[{\"text\":\"mbcp.presets.model\",\"link\":\"presets/model/\"}],\"collapsed\":true}],\"collapsed\":true}]},\"/ja/api/\":{\"base\":\"/ja/api/\",\"items\":[{\"text\":\"mp_math\",\"items\":[{\"text\":\"mbcp.mp_math.angle\",\"link\":\"mp_math/angle\"},{\"text\":\"mbcp.mp_math.const\",\"link\":\"mp_math/const\"},{\"text\":\"mbcp.mp_math.equation\",\"link\":\"mp_math/equation\"},{\"text\":\"mbcp.mp_math.function\",\"link\":\"mp_math/function\"},{\"text\":\"mbcp.mp_math\",\"link\":\"mp_math/\"},{\"text\":\"mbcp.mp_math.line\",\"link\":\"mp_math/line\"},{\"text\":\"mbcp.mp_math.mp_math_typing\",\"link\":\"mp_math/mp_math_typing\"},{\"text\":\"mbcp.mp_math.plane\",\"link\":\"mp_math/plane\"},{\"text\":\"mbcp.mp_math.point\",\"link\":\"mp_math/point\"},{\"text\":\"mbcp.mp_math.segment\",\"link\":\"mp_math/segment\"},{\"text\":\"mbcp.mp_math.utils\",\"link\":\"mp_math/utils\"},{\"text\":\"mbcp.mp_math.vector\",\"link\":\"mp_math/vector\"}],\"collapsed\":true},{\"text\":\"particle\",\"items\":[{\"text\":\"mbcp.particle\",\"link\":\"particle/\"}],\"collapsed\":true},{\"text\":\"presets\",\"items\":[{\"text\":\"mbcp.presets\",\"link\":\"presets/\"},{\"text\":\"model\",\"items\":[{\"text\":\"mbcp.presets.model\",\"link\":\"presets/model/\"}],\"collapsed\":true}],\"collapsed\":true}]},\"/zht/api/\":{\"base\":\"/zht/api/\",\"items\":[{\"text\":\"mp_math\",\"items\":[{\"text\":\"mbcp.mp_math.angle\",\"link\":\"mp_math/angle\"},{\"text\":\"mbcp.mp_math.const\",\"link\":\"mp_math/const\"},{\"text\":\"mbcp.mp_math.equation\",\"link\":\"mp_math/equation\"},{\"text\":\"mbcp.mp_math.function\",\"link\":\"mp_math/function\"},{\"text\":\"mbcp.mp_math\",\"link\":\"mp_math/\"},{\"text\":\"mbcp.mp_math.line\",\"link\":\"mp_math/line\"},{\"text\":\"mbcp.mp_math.mp_math_typing\",\"link\":\"mp_math/mp_math_typing\"},{\"text\":\"mbcp.mp_math.plane\",\"link\":\"mp_math/plane\"},{\"text\":\"mbcp.mp_math.point\",\"link\":\"mp_math/point\"},{\"text\":\"mbcp.mp_math.segment\",\"link\":\"mp_math/segment\"},{\"text\":\"mbcp.mp_math.utils\",\"link\":\"mp_math/utils\"},{\"text\":\"mbcp.mp_math.vector\",\"link\":\"mp_math/vector\"}],\"collapsed\":true},{\"text\":\"particle\",\"items\":[{\"text\":\"mbcp.particle\",\"link\":\"particle/\"}],\"collapsed\":true},{\"text\":\"presets\",\"items\":[{\"text\":\"mbcp.presets\",\"link\":\"presets/\"},{\"text\":\"model\",\"items\":[{\"text\":\"mbcp.presets.model\",\"link\":\"presets/model/\"}],\"collapsed\":true}],\"collapsed\":true}]}},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/snowykami/mbcp\"}]},\"locales\":{\"root\":{\"label\":\"简体中文\",\"lang\":\"zh-Hans\",\"description\":\"一个用于Minecraft粒子计算和生成的库\",\"themeConfig\":{\"nav\":[{\"text\":\"快速开始\",\"link\":\"/guide/\"},{\"text\":\"API文档\",\"link\":\"/api/\"},{\"text\":\"实例\",\"link\":\"/demo/\"}],\"footer\":{\"message\":\"文档由 <a href=\\\"https://vitepress.dev/\\\">VitePress</a> 构建 | API引用由 <a href=\\\"https://github.com/LiteyukiStudio/litedoc\\\">litedoc</a> 生成\",\"copyright\":\"Copyright (C) 2020-2024 SnowyKami. All Rights Reserved\"}}},\"en\":{\"label\":\"English\",\"lang\":\"en-US\",\"description\":\"A library made for Minecraft particle generation\",\"themeConfig\":{\"nav\":[{\"text\":\"Get Start\",\"link\":\"/en/guide/\"},{\"text\":\"API Document\",\"link\":\"/en/api/\"},{\"text\":\"Demo\",\"link\":\"/en/demo/\"}],\"footer\":{\"message\":\"Documentation built with <a href=\\\"https://vitepress.dev/\\\">VitePress</a> | API references generated by <a href=\\\"https://github.com/LiteyukiStudio/litedoc\\\">litedoc</a>\",\"copyright\":\"Copyright (C) 2020-2024 SnowyKami. All Rights Reserved\"}}},\"ja\":{\"label\":\"日本語\",\"lang\":\"ja-JP\",\"description\":\"Minecraftのパーティクル生成用のライブラリ\",\"themeConfig\":{\"nav\":[{\"text\":\"スタート\",\"link\":\"/ja/guide/\"},{\"text\":\"APIドキュメント\",\"link\":\"/ja/api/\"},{\"text\":\"インスタンス\",\"link\":\"/ja/demo/\"}],\"footer\":{\"message\":\"<a href=\\\"https://vitepress.dev/\\\">VitePress</a> で構築されたドキュメント | <a href=\\\"https://github.com/LiteyukiStudio/litedoc\\\">litedoc</a> によって生成されたAPIリファレンス\",\"copyright\":\"Copyright (C) 2020-2024 SnowyKami. All Rights Reserved\"}}},\"zht\":{\"label\":\"繁體中文\",\"lang\":\"zh-Hant\",\"description\":\"一個用於Minecraft粒子計算和生成的軟體庫\",\"themeConfig\":{\"nav\":[{\"text\":\"指引\",\"link\":\"/zht/guide/\"},{\"text\":\"API文檔\",\"link\":\"/zht/api/\"},{\"text\":\"示範\",\"link\":\"/zht/demo/\"}],\"footer\":{\"message\":\"文檔由 <a href=\\\"https://vitepress.dev/\\\">VitePress</a> 構建 | API引用由 <a href=\\\"https://github.com/LiteyukiStudio/litedoc\\\">litedoc</a> 生成\",\"copyright\":\"Copyright (C) 2020-2024 SnowyKami. All Rights Reserved\"}}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>