重心坐标

數學中，**重心坐標**是由單形（如三角形或四面體等）頂點定義的坐標。重心坐標是齊次坐標的一種。

設 _v_1, ..., _v_n 是向量空間 _V_ 中一個單形的頂點，如果 _V_ 中某點 _p_ 滿足，

　
: $(\lambda _{1}+\cdots +\lambda _{n})\,p=\lambda _{1}\,v_{1}+\cdots +\lambda _{n}\,v_{n},$

那麼我們稱係數（_λ_1, ..., _λ_n）是 _p_ 關於 _v_1, ..., _v_n 的**重心坐標**。這些頂點自己的坐標分別是（1, 0, 0, ..., 0），（0, 1, 0, ..., 0）, ...,（0, 0, 0, ..., 1）。重心坐標不是惟一的：對任何不等於零的 _k_，（_k λ_1, ..., _k λ_n）也是 _p_ 的重心坐標。但總可以取坐標滿足 _λ_1 + ...+ _λ_n = 1，稱為**正規化**坐標。注意到定義式在仿射變換下不變，故重心坐標具有仿射不變性。

如果坐標分量都非負，則 _p_ 在 _v_1, ..., _v_n 的凸包內部，即由這些頂點組成的單形包含 _p_。我們設想如果有質量 _λ_1, ..., _λ_n 分別位於單形的頂點，那麼質量中心就是 _p_。這是術語「重心」的起源，1827 年由奧古斯特・費迪南德・莫比烏斯最初引入。

## 三角形的重心坐標

在三角形情形中，重心坐標也叫**面積坐標**，因為 _P_ 點關於三角形 _ABC_ 的重心坐標和三角形 _PBC_, _PCA_ 及 _PAB_ 的（有向）面積成比例，證明如下（如右圖所示）。

我們用黑體小寫字母表示對應點的向量，比如三角形 _ABC_ 頂點為 ${\textbf {a}}\,,{\textbf {b}}\,$ 和 ${\textbf {c}}\,$ ，P 點為 ${\textbf {p}}$ 等。設 _PBC_, _PCA_ 及 _PAB_ 面積之比為 $\lambda _{1}:\lambda _{2}:\lambda _{3}\,$ 且 $\lambda _{1}+\lambda _{2}+\lambda _{3}=1$ ，設射線 _AP_ 與 _BC_ 交於 _D_，則

　
: $BD:DC=\lambda _{3}:\lambda _{2},$ 從而 ${\textbf {d}}={\frac {\lambda _{2}{\textbf {b}}+\lambda _{3}{\textbf {c}}}{\lambda _{2}+\lambda _{3}}},$

　
: $AP:PD=(\lambda _{2}+\lambda _{3}):\lambda _{1}$ ，故

　
: ${\textbf {p}}={\frac {(\lambda _{2}+\lambda _{3}){\textbf {d}}+\lambda _{1}{\textbf {a}}}{\lambda _{1}+\lambda _{2}+\lambda _{3}}}\,,$

　
: ${\textbf {p}}=\lambda _{1}{\textbf {a}}+\lambda _{2}{\textbf {b}}+\lambda _{3}{\textbf {c}}\,.$

所以， $(\lambda _{1},\lambda _{2},\lambda _{3})$ 就是 _P_ 的重心坐標。

### 坐標變換

給定三角形平面一點 _P_，我們將這一點的面積坐標 $\lambda _{1}\,$ ， $\lambda _{2}\,$ 和 $\lambda _{3}\,$ 用笛卡爾坐標表示出來。

利用笛卡爾坐標中的三角形面積公式：

　
: $S(ABC)={\frac {1}{2}}{\begin{vmatrix}1&x_{a}&y_{a}\\1&x_{b}&y_{b}\\1&x_{c}&y_{c}\\\end{vmatrix}}$

我們可得：

　
: $\lambda _{1}=S(PBC)/S(ABC)={\begin{vmatrix}1&x_{p}&y_{p}\\1&x_{b}&y_{b}\\1&x_{c}&y_{c}\\\end{vmatrix}}/{\begin{vmatrix}1&x_{a}&y_{a}\\1&x_{b}&y_{b}\\1&x_{c}&y_{c}\\\end{vmatrix}}$

類似地有 $\lambda _{2},\lambda _{3}$ ，注意 _ABC_ 構成一個三角形，上式的分母不可能為 0。

反過來則簡單得多：

　
: ${\textbf {p}}=\lambda _{1}{\textbf {a}}+\lambda _{2}{\textbf {b}}+\lambda _{3}{\textbf {c}},$ 故

　
: $x_{p}=\lambda _{1}x_{a}+\lambda _{2}x_{b}+\lambda _{3}x_{c},$ 和

　
: $y_{p}=\lambda _{1}y_{a}+\lambda _{2}y_{b}+\lambda _{3}y_{c}.$

### 判斷一點的位置

因重心坐標是笛卡爾坐標的一個線性變換，從而它們在邊和三角形區域之間的變化是線性的。如果點在三角形內部，那麼所有重心坐標屬於開區間 $(0,1)$ ；如果一點在三角形的邊上，至少有一個面積坐標 $\lambda _{1...3}$ 為 0，其餘分量位於閉區間 $[0,1]$ 。如果有某個坐標小於 0，則位於三角形外部，具體分布可參考上圖。
（圖示中，B 和 C 頂端的坐標正負反了，B 的應該是（-,-,+），C 的是（-,+,-）

### 應用

面積坐標在涉及到三角形子區域的工程學問題時特別有用，經常可以化簡解析積分求值，高斯積分法表也常以面積坐標的形式給出。

考慮由頂點 ${\textbf {v}}_{1}\,$ , ${\textbf {v}}_{2}\,$ 和 ${\textbf {v}}_{3}\,$ 定義的三角形 **T**，任何在三角形內部的點 ${\textbf {p}}$ 都能寫成頂點的加權和：

　
: ${\textbf {p}}=\lambda _{1}{\textbf {v}}_{1}+\lambda _{2}{\textbf {v}}_{2}+\lambda _{3}{\textbf {v}}_{3},$

這裡 $\lambda _{1}\,$ 、 $\lambda _{2}\,$ 和 $\lambda _{3}\,$ 是面積坐標。注意到 $\lambda _{3}=1-\lambda _{1}-\lambda _{2}\,$ 。從而，函數 $f$ 在 **T** 上的積分為：

　
: $\int _{T}f({\textbf {p}})\ ds=2S\int _{0}^{1}\int _{0}^{1-\lambda _{2}}f(\lambda _{1}{\textbf {v}}_{1}+\lambda _{2}{\textbf {v}}_{2}+(1-\lambda _{1}-\lambda _{2}){\textbf {v}}_{3})\ d\lambda _{1}\ d\lambda _{2}\,$

這裡 _S_ 是三角形 **T** 的面積。注意上式具有線性插值的形式。

重心坐標提供了一種非結構網格上函數插值的方法，假設函數值在所有網格的頂點上已知。如果 $0\leq \lambda _{i}\leq 1\;\forall \;i\in {1,2,3}$ ，則點 ${\textbf {p}}$ 位於三角形內部或邊界上。我們取 $f$ 的插值為

　
: $f({\textbf {p}})=\lambda _{1}f({\textbf {v}}_{1})+\lambda _{2}f({\textbf {v}}_{2})+\lambda _{3}f({\textbf {v}}_{3}),$

這個線性插值是自動正規的因為 $\lambda _{1}+\lambda _{2}+\lambda _{3}=1$ 。

## 四面體的重心坐標

重心坐標容易推廣到三維空間。3 維單形即四面體，具有四個三角形面和四個頂點。

完全類似於三角形，四面體 ${\textbf {v}}_{1},{\textbf {v}}_{2},{\textbf {v}}_{3},{\textbf {v}}_{4}$ 的頂點 ${\textbf {v}}_{1}$ 的重心坐標為（1,0,0,0）， ${\textbf {v}}_{2}$ 為（0,1,0,0），如是等等。

點 ${\textbf {p}}$ 的笛卡爾坐標和為關於四面體 ${\textbf {v}}_{1},{\textbf {v}}_{2},{\textbf {v}}_{3},{\textbf {v}}_{4}$ 的重心坐標的關係：

　
: $\lambda _{1}={\text{Vol}}(PV_{2}V_{3}V_{4})/{\text{Vol}}(V_{1}V_{2}V_{3}V_{4}),\;\lambda _{2}=\cdots .$

這裡 ${\text{Vol}}(V_{1}V_{2}V_{3}V_{4})$ 為 ${\textbf {v}}_{1},{\textbf {v}}_{2},{\textbf {v}}_{3},{\textbf {v}}_{4}$ 組成的四面體的體積，類似於三角形也可以用笛卡爾坐標的一個行列式表示出來。

3 維重心坐標和 2 維一樣，可以確定一點是否位於四面體內部，也能對四面體網格上函數插值。因為利用重心坐標可以極大地簡化 3 維插值，四面體網格經常用於有限元分析。

## 參考文獻

* Bradley, Christopher J. _The Algebra of Geometry: Cartesian, Areal and Projective Co-ordinates_. Bath: Highperception. 2007. ISBN 978-1-906338-00-8.
* 埃里克・韋斯坦因. Areal Coordinates. MathWorld.
* 埃里克・韋斯坦因. Barycentric Coordinates. MathWorld.

## 外部連結

* 重心坐標：一個有意思的運用 （頁面存檔備份，存於網際網路檔案館）（解「三杯子問題」）位於 cut-the-knot
* 齊次重心坐標在平面歐幾里得幾何中的運用