數學中,重心坐標是由單形(如三角形或四面體等)頂點定義的坐標。重心坐標是齊次坐標的一種。
設v1, ..., vn是向量空間V中一個單形的頂點,如果V中某點p滿足,
![{\displaystyle (\lambda _{1}+\cdots +\lambda _{n})\,p=\lambda _{1}\,v_{1}+\cdots +\lambda _{n}\,v_{n},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/def2bfb7b20fc81c73421c2c5cd28b70f0a8fbbd)
那麼我們稱係數(λ1, ..., λn)是 p關於v1, ..., vn的重心坐標。這些頂點自己的坐標分別是(1, 0, 0, ..., 0),(0, 1, 0, ..., 0), ...,(0, 0, 0, ..., 1)。重心坐標不是惟一的:對任何不等於零的k,(k λ1, ..., k λn)也是p的重心坐標。但總可以取坐標滿足
λ1 + ...+ λn = 1,稱為正規化坐標。注意到定義式在仿射變換下不變,故重心坐標具有仿射不變性。
如果坐標分量都非負,則p在v1, ..., vn的凸包內部,即由這些頂點組成的單形包含p。我們設想如果有質量λ1, ..., λn分別位於單形的頂點,那麼質量中心就是p。這是術語「重心」的起源,1827年由奧古斯特·費迪南德·莫比烏斯最初引入。
在三角形情形中,重心坐標也叫面積坐標,因為P點關於三角形ABC的重心坐標和三角形PBC, PCA及PAB的(有向)面積成比例,證明如下(如右圖所示)。
我們用黑體小寫字母表示對應點的向量,比如三角形ABC頂點為
和
,P點為
等。設PBC, PCA及PAB面積之比為
且
,設射線AP與BC交於D,則
從而![{\displaystyle {\textbf {d}}={\frac {\lambda _{2}{\textbf {b}}+\lambda _{3}{\textbf {c}}}{\lambda _{2}+\lambda _{3}}},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/af6a1184f8a52728d1f9df004d60588c36e92050)
,故
![{\displaystyle {\textbf {p}}={\frac {(\lambda _{2}+\lambda _{3}){\textbf {d}}+\lambda _{1}{\textbf {a}}}{\lambda _{1}+\lambda _{2}+\lambda _{3}}}\,,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/20df0b332cc968ae20c20ca989e7436f28a1ae39)
![{\displaystyle {\textbf {p}}=\lambda _{1}{\textbf {a}}+\lambda _{2}{\textbf {b}}+\lambda _{3}{\textbf {c}}\,.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1fb71219360701f89b6692effdf9d3cd5d782dcc)
所以,
就是P的重心坐標。
給定三角形平面一點P,我們將這一點的面積坐標
,
和
用笛卡爾坐標表示出來。
利用笛卡爾坐標中的三角形面積公式:
![{\displaystyle S(ABC)={\frac {1}{2}}{\begin{vmatrix}1&x_{a}&y_{a}\\1&x_{b}&y_{b}\\1&x_{c}&y_{c}\\\end{vmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1070073d1cd0857900c0c0e36d4f3d2d7f5fbd73)
我們可得:
![{\displaystyle \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}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d6093b7f6edfb7e2619f7529befbb8278ebf8ed7)
類似地有
,注意ABC構成一個三角形,上式的分母不可能為0。
反過來則簡單得多:
故
和
![{\displaystyle y_{p}=\lambda _{1}y_{a}+\lambda _{2}y_{b}+\lambda _{3}y_{c}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/abb9a2b90e3de1bd5d6f2bc192e1aab3201cc4fe)
因重心坐標是笛卡爾坐標的一個線性變換,從而它們在邊和三角形區域之間的變化是線性的。如果點在三角形內部,那麼所有重心坐標屬於開區間
;如果一點在三角形的邊上,至少有一個面積坐標
為0,其餘分量位於閉區間
。如果有某個坐標小於0,則位於三角形外部,具體分佈可參考上圖。
圖示中,B和C頂端的坐標正負反了,B的應該是(-,+,-),C的是(-,-,+)
面積坐標在涉及到三角形子區域的工程學問題時特別有用,經常可以化簡解析積分求值,高斯積分法表也常以面積坐標的形式給出。
考慮由頂點
,
和
定義的三角形T,任何在三角形內部的點
都能寫成頂點的加權和:
![{\displaystyle {\textbf {p}}=\lambda _{1}{\textbf {v}}_{1}+\lambda _{2}{\textbf {v}}_{2}+\lambda _{3}{\textbf {v}}_{3},}](https://wikimedia.org/api/rest_v1/media/math/render/svg/330fc2e6e1d4ddb7a8acf77ae44c853c9f5abeeb)
這裏
、
和
是面積坐標。注意到
。從而,函數
在T上的積分為:
![{\displaystyle \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}\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a27b47bdf559366af8819f7605ec44d74009d9f6)
這裏S是三角形T的面積。注意上式具有線性插值的形式。
重心坐標提供了一種非結構網格上函數插值的方法,假設函數值在所有網格的頂點上已知。如果
,則點
位於三角形內部或邊界上。我們取
的插值為
![{\displaystyle f({\textbf {p}})=\lambda _{1}f({\textbf {v}}_{1})+\lambda _{2}f({\textbf {v}}_{2})+\lambda _{3}f({\textbf {v}}_{3}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/db2d292aca5db4ceeb6fbf0b9850491bcebd34dd)
這個線性插值是自動正規的因為
。
重心坐標容易推廣到三維空間。3維單形即四面體,具有四個三角形面和四個頂點。
完全類似於三角形,四面體
的頂點
的重心坐標為(1,0,0,0),
為(0,1,0,0),如是等等。
點
的笛卡爾坐標和為關於四面體
的重心坐標的關係:
![{\displaystyle \lambda _{1}={\text{Vol}}(PV_{2}V_{3}V_{4})/{\text{Vol}}(V_{1}V_{2}V_{3}V_{4}),\;\lambda _{2}=\cdots .}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f266596e34929b0ac07c8f6b25d4a0e7372e3486)
這裏
為
組成的四面體的體積,類似於三角形也可以用笛卡爾坐標的一個行列式表示出來。
3維重心坐標和2維一樣,可以確定一點是否位於四面體內部,也能對四面體網格上函數插值。因為利用重心坐標可以極大地簡化3維插值,四面體網格經常用於有限元分析。