這個計算器的功能
本工具接收三維空間中的四個點 A、B、C、D,並回傳兩個體積:以 A 為起點的三條邊向量所張成的「平行六面體」體積,以及以這四個點為頂點的「四面體」體積。座標只是一般數值,單位由你自行決定,因此算出的體積就是該單位的三次方(立方)。
使用方式
分別輸入四個點各自的 x、y、z 座標,再按下「計算」。點的順序不會影響答案的大小,只會改變中間步驟三重積的正負號,而我們會取絕對值將其捨去。如果四個點落在同一平面上,四面體會被壓扁,兩個體積都會是 0——這是合理的計算結果,並非錯誤。
公式說明
以 A 點為起點建立三條邊向量:\(\vec{u} = \text{B} - \text{A}\)、\(\vec{v} = \text{C} - \text{A}\)、\(\vec{w} = \text{D} - \text{A}\)。純量三重積 \(T = \vec{u} \cdot (\vec{v} \times \vec{w})\) 等於以 \(\vec{u}\)、\(\vec{v}\)、\(\vec{w}\) 為列所構成矩陣的行列式值。在幾何意義上,\(|T|\) 即為這三條向量所張成的平行六面體體積。而一個四面體恰好佔該平行六面體的六分之一,因此四面體體積為 \(|T| / 6\)。
$$V_{\text{tet}} = \frac{1}{6}\left| \vec{u} \cdot (\vec{v} \times \vec{w}) \right|$$$$\text{where}\quad \left\{ \begin{aligned} \vec{u} &= \left(\text{B}_x - \text{A}_x,\; \text{B}_y - \text{A}_y,\; \text{B}_z - \text{A}_z\right) \\ \vec{v} &= \left(\text{C}_x - \text{A}_x,\; \text{C}_y - \text{A}_y,\; \text{C}_z - \text{A}_z\right) \\ \vec{w} &= \left(\text{D}_x - \text{A}_x,\; \text{D}_y - \text{A}_y,\; \text{D}_z - \text{A}_z\right) \end{aligned} \right.$$$$V_{\text{par}} = \left| \vec{u} \cdot (\vec{v} \times \vec{w}) \right| = 6\,V_{\text{tet}}$$
範例演算
設 A =(0,0,0)、B =(2,0,0)、C =(0,2,0)、D =(0,0,2)。則 \(\vec{u} = (2,0,0)\)、\(\vec{v} = (0,2,0)\)、\(\vec{w} = (0,0,2)\)。外積 \(\vec{v} \times \vec{w} = (4,0,0)\),而 \(T = \vec{u} \cdot (4,0,0) = 8\)。因此平行六面體體積為 \(8\),四面體體積為 $$8 / 6 = 1.3333$$ 立方單位。
常見問題
點的輸入順序會影響結果嗎?不會。調換順序可能讓 \(T\) 的正負號翻轉,但絕不會改變其大小,而我們回報的是絕對值。
為什麼我的答案是 0?因為這四個點共平面(落在同一平面上),所以四面體沒有體積。
結果使用什麼單位?就是你座標所採用的長度單位的三次方。若座標以公分為單位,結果就是立方公分。