重心坐标
数学中,重心坐标是由单形(如三角形或四面体等)顶点定义的坐标。重心坐标是齐次坐标的一种。
设v1, ..., vn是向量空间V中一个单形的顶点,如果V中某点p满足,
- 解析失败 (SVG(MathML可通过浏览器插件启用):从服务器“http://localhost:6011/zh.wikipedia.org/v1/”返回无效的响应(“Math extension cannot connect to Restbase.”):): (\lambda _{1}+\cdots +\lambda _{n})\,p=\lambda _{1}\,v_{1}+\cdots +\lambda _{n}\,v_{n},
那么我们称系数(λ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,则
- 从而
- ,故
所以,就是P的重心坐标。
坐标变换
给定三角形平面一点P,我们将这一点的面积坐标,和用笛卡尔坐标表示出来。
利用笛卡尔坐标中的三角形面积公式:
我们可得:
类似地有,注意ABC构成一个三角形,上式的分母不可能为0。
反过来则简单得多:
- 故
- 和
判断一点的位置
因重心坐标是笛卡尔坐标的一个线性变换,从而它们在边和三角形区域之间的变化是线性的。如果点在三角形内部,那么所有重心坐标属于开区间;如果一点在三角形的边上,至少有一个面积坐标为0,其余分量位于闭区间。如果有某个坐标小于0,则位于三角形外部,具体分布可参考上图。 图示中,B和C顶端的坐标正负反了,B的应该是(-,+,-),C的是(-,-,+)
四面体的重心坐标
重心坐标容易推广到三维空间。3维单形即四面体,具有四个三角形面和四个顶点。
完全类似于三角形,四面体的顶点的重心坐标为(1,0,0,0),为(0,1,0,0),如是等等。
点的笛卡尔坐标和为关于四面体的重心坐标的关系:
这里为组成的四面体的体积,类似于三角形也可以用笛卡尔坐标的一个行列式表示出来。
3维重心坐标和2维一样,可以确定一点是否位于四面体内部,也能对四面体网格上函数插值。因为利用重心坐标可以极大地简化3维插值,四面体网格经常用于有限元分析。
参考文献
外部链接
- 重心坐标:一个有意思的运用 (页面存档备份,存于)(解“三杯子问题”)位于cut-the-knot
- 齐次重心坐标在平面欧几里得几何中的运用