透過 MCP 連接 →

輸入計算

Leave the z components blank for 2D vectors. This computes the projection of a onto b 上的投影.

數學公式

廣告

結果

a 在 b 上的投影
(3, 0, 0)
proj_b(a)
純量係數 (a·b)/(b·b) 3
內積 a·b 3
內積 b·b 1
投影長度 3

什麼是向量投影?

ab 上的投影 上的向量投影,就像是向量 a 投射到 b 上的投影 所定義那條直線上的「影子」。計算結果本身也是一個向量,方向與 b 上的投影 相同(或相反)。它回答的問題是:a 有多少分量是沿著 b 上的投影 的方向?這在物理(分解力的分量)、電腦繪圖、機器學習與線性代數中,都是相當基礎的運算。

圖示展示向量 a、向量 b,以及透過垂線得到的 a 在 b 上的投影
a 在 b 上的投影是 a 沿 b 方向的影子。

如何使用本計算機

輸入向量 a 與向量 b 上的投影 的各分量。若是二維向量,只要把 z 欄位留空即可(系統會自動視為 0)。按下計算,就能立即得到完整的投影向量、純量係數、兩個內積值,以及投影的長度(大小)。

公式解析

投影的計算方式如下:

$$\operatorname{proj}_{\vec{b}}\vec{a} = \frac{\vec{a}\cdot\vec{b}}{\vec{b}\cdot\vec{b}}\,\vec{b}$$

首先求內積 \(\vec{a}\cdot\vec{b} = \text{a}_x\text{b}_x + \text{a}_y\text{b}_y + \text{a}_z\text{b}_z\)。接著除以 \(\vec{b}\cdot\vec{b}\)(也就是 b 長度的平方),得到一個純量係數。最後把這個純量乘上 b 上的投影 的每一個分量,完成縮放。要注意 b 上的投影 不能為零向量;若 b 是零向量,投影便無法定義,此時結果會回傳為零。

Advertisement
投影公式的幾何分解,展示沿 b 的純量長度乘以 b 的方向
純量因子 \((\vec{a}\cdot\vec{b})/(\vec{b}\cdot\vec{b})\) 對向量 b 進行縮放,得到投影向量。

實例演練

設 a = (4, 1)、b = (2, 3)。則 \(\vec{a}\cdot\vec{b} = 4\cdot 2 + 1\cdot 3 = 11\),而 \(\vec{b}\cdot\vec{b} = 2^2 + 3^2 = 13\)。純量係數為 \(11/13 \approx 0.8462\)。投影向量即為 \(0.8462 \cdot (2, 3) = (1.6923, 2.5385)\),其長度為 \(\sqrt{1.6923^2 + 2.5385^2} \approx 3.0509\)。

常見問題

純量投影與向量投影有什麼差別? 純量投影是帶正負號的長度 \((\vec{a}\cdot\vec{b})/|\vec{b}|\),只是一個數字。而向量投影(也就是本計算機所算的)則是把這個值乘上 b 的單位向量,得到一個真正的向量。

投影方向有可能和 b 相反嗎? 會的——當 \(\vec{a}\cdot\vec{b}\) 為負時,純量係數就會是負值,投影向量便會指向與 b 相反的方向。

這個計算機支援 3D 嗎? 支援。只要把兩個向量的 z 分量都填上即可。若是處理二維問題,將 z 欄位留空就好。

最後更新: