兩個向量之間的角度計算機 - 2D 和 3D
使用點積公式尋找 2D 或 3D 空間中任意兩個向量之間的角度。結果以度數和弧度表示。
選擇 2D 或 3D 模式,輸入兩個向量的分量,然後單擊計算以獲取角度、點積和向量幅度。
兩個向量之間的角度計算機 - 2D 和 3D
使用點積公式尋找 2D 或 3D 空間中任意兩個向量之間的角度。結果以度數和弧度表示。
關於兩個向量之間的角度計算機
兩個向量之間的角度是線性代數和幾何中的基本量,它表示兩個尾對尾放置在公共原點的方向量之間的角度間隔。與經典歐幾里得幾何中的線之間的角度不同,向量之間的角度始終是兩個可能角度中較小的一個,限制在從 0° 到 180° (或 0 到 π 弧度)的範圍內。此約定確保任何非零向量對都有唯一的、明確的結果。
計算基於點積,這是線性代數中最重要的運算之一。對於兩個向量 A 和 B,點積在代數上定義為它們相應分量的乘積之和:二維中的 A · B = Ax·Bx + Ay·By,或三維中的 A · B = Ax·Bx + Ay·By + Az·Bz。點積還具有幾何解釋:A · B = |A| × |B| × cos(θ),其中 |A| 和 |B| 是向量的歐幾里德大小(長度),θ 是它們之間的角度。結合這兩個定義並求解 θ 給出基本公式:θ = arccos((A · B) / (|A| × |B|))。
這個公式有幾個優雅的特性。如果點積為零,則 cos(θ) = 0,即 θ = 90°,向量垂直(正交)。如果點積等於幅值的乘積,則 cos(θ) = 1 和 θ = 0°,意味著向量指向同一方向(平行)。如果點積等於幅值的負積,則 cos(θ) = −1 和 θ = 180°,這意味著向量指向相反的方向(反平行)。只需擴展分量和,該公式就可以自然地推廣到 n 維空間。
向量之間的角度在整個物理學和工程學中都會出現。在經典力學中,力 F 對位移 d 所做的功為 W = F · d = |F| × |d| × cos(θ),其中 θ 是力向量和位移向量之間的角度。當 θ = 0° 時,力與運動完全一致並做最大功;當 θ = 90° 時,力垂直於運動並且做零功。在計算機圖形學中,表面照明使用表面法線與入射光方向之間的角度,透過蘭伯特餘弦定律計算表面的照明亮度。在機器學習中,兩個特徵向量之間的餘弦相似度與它們之間的角度直接相關,並衡量它們的方向的相似程度,而不管大小。
在數值上,當 arccos 函數的參數非常接近 1 or −1 (對應於幾乎平行或反平行向量)時, arccos 函數可能會失去精度。在高精度軟體中,這是透過將餘弦參數限制在有效範圍 [−1, 1] 之前將其傳遞給 arccos 來處理的,該計算機會自動執行此操作。對於需要有符號角度(區分順時針和逆時針)的 2D 問題,帶有叉積的 atan2 函數優於點積方法,儘管此計算機報告的無符號角度與數學定義一致。
向量之間的角度範例
經典向量對展示了垂直、平行和一般角度結果。
| 向量 | 角度 | 解釋 |
|---|---|---|
| A=( 1,0), B=( 0,1) | 90° | 沿 x 軸和 y 軸的垂直單位向量。點積 = 0,表示兩者構成直角。 |
| A=( 3,4), B=( 4,3) | ≈16.26° | 兩個向量的長度均為 5。點積 = 3×4 + 4×3 = 24。cos(θ) = 24/25 = 0.96。 |
| A=( 1,0,0), B=( 0,1,0) | 90° | 3D 空間中的正交單位向量。點積 = 0,因此夾角恰好為 90°。 |
| A=( 1,1,1), B=( 1,0,0) | ≈54.74° | 3D 向量。點積 = 1,|A| = √3,|B| = 1。cos(θ) = 1/√3 ≈ 0.577。 |
如何使用兩個向量之間的角度計算機
- 選擇維度:向量只有 x 和 y 分量時選擇「2D 向量」;還有 z 分量時選擇「3D 向量」。
- 輸入向量 A(Ax、Ay 和可選的 Az)和向量 B(Bx、By 和可選的 Bz)的分量值。根據需要使用小數或負數。
- 單擊“計算角度”。計算機立即顯示以度和弧度為單位的角度,以及點積、向量幅度和餘弦值。
- 使用已知的特殊情況驗證結果:垂直向量始終給出 90°,相同方向向量始終給出 0°,相反方向始終給出 180°。
- 單擊重設可清除所有輸入並執行新的計算。
向量之間的角度常見問題解答
為什麼向量之間的角度總是在 0° 和 180° 之間?
公式中使用的 arccos 函數的範圍為 [0°, 180°],該範圍內任意角度的餘弦值都在 [−1, 1] 中。點積公式僅給出兩個向量可以形成的兩個補角中較小的一個,按照慣例,該角是向量之間的角度。如果需要有向(有符號)角,則使用 atan2 函數與叉積相結合。
角度的點積為零意味著什麼?
點積為零意味著角度的餘弦為零,這恰好對應於 90° 的角度。這兩個向量是正交(垂直)的。此屬性廣泛用於測試垂直度:如果 A · B = 0 則 A ⊥ B,無需計算實際角度。
向量的大小(長度)會影響角度嗎?
不會。該公式將點積除以幅值的乘積,因此向上或向下縮放向量會抵消並且不會更改角度。向量 (1,0) 和 (100,0) 都與 x 軸形成 0° 角度,無論其長度如何。
如何將其擴展到 n 維向量?
公式 θ = arccos((A · B) / (|A| × |B|)) 適用於任意數量的維度。擴展點積以求所有 n 個分量積的總和:A · B = Σ Ai·Bi。震級為 |A| = √(Σ Ai²)。自然語言處理和機器學習中使用的餘弦相似度正是應用於高維單字或文件向量的比率。
如果一個向量為零向量會發生什麼事?
零向量具有大小 0,因此分母 (|A| × |B|) 變為 0 並且角度未定義 - 不能除以零。從幾何角度來看,零向量沒有方向,因此沒有可計算的有意義的角度。計算機會檢測到這種情況並在嘗試計算之前報告錯誤。
這個角度如何用於 3D 圖形中的光照計算?
在 Phong 和 Lambert 光照模型中,表面亮度與 cos(θ) 成正比,其中 θ 是表面法線向量 N 與入射光方向向量 L 之間的角度。當光線正面照射到表面時((θ = 0°),cos(θ) = 1 並且表面處於全亮度。當光線掠過表面 (θ → 90°)、cos(θ) → 0 並且表面處於陰影中。負餘弦值 (θ > 90°)被鉗位為零,以避免負光貢獻。