数学中,重心坐标是由单形(如三角形或四面体等)顶点定义的坐标。重心坐标是齐次坐标的一种。
设 v1, ..., vn 是向量空间 V 中一个单形的顶点,如果 V 中某点 p 满足,
那么我们称系数 (λ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年由奥古斯特·费迪南德·莫比乌斯最初引入。
三角形的重心坐标
在三角形情形,重心坐标也叫面积坐AP:PC 标,因为 P 点关于三角形 ABC 的重心坐标和三角形 PBC, PCA 及 PAB 的(有向)面积成比例,证明如下(图如右)。
我们用黑体小写字母表示对应点的向量,比如三角形 ABC 顶点为
和
,P 点为
等。设 PBC, PCA 及 PAB 面积之比为
且 λ1 + λ2 + λ3 = 1,设射线 AP 与 BC 交于 D,则
BD:DC = λ2:λ3, 从而
AP:PD = (λ2 + λ3):λ1,故
所以,(λ1,λ2,λ3) 就是 P 的重心坐标。
坐标变换
给定三角形平面一点 P,我们将这一点的面积坐标
,
和
用笛卡尔坐标表示出来。
利用笛卡尔坐标中的三角形面积公式:
我们可得:
类似地有 λ2,λ3,注意 ABC 构成一个三角形,上式的分母不可能为 0。
反过来则简单得多:
故
xp = λ1xa + λ2xb + λ3xc, 和
yp = λ1ya + λ2yb + λ3yc.
判断一点的位置
因重心坐标是笛卡尔坐标的一个线性变换,从而它们在边和三角形区域之间的变化是线性的。如果点在三角形内部,那么所有重心坐标属于开区间 (0,1);如果一点在三角形的边上,至少有一个面积坐标 λ1...3 为 0,其余分量位于闭区间 [0,1]。如果有某个坐标小于 0,则位于三角形外部,具体分布可参考上图。
应用
面积坐标在涉及到三角形子区域的工程学问题时特别有用,经常可以化简解析积分求值,高斯积分法表也常以面积坐标的形式给出。
考虑由顶点
,
和
定义的三角形 T,任何在三角形内部的点
都能写成顶点的加权和:
这里
、
和
是面积坐标。注意到
。 从而,函数 f 在 T 上的积分为:
这里 S 是三角形 T 的面积。注意上式具有线性插值的形式。
重心坐标提供了一种非结构网格上函数插值的方法,假设函数值在所有网格的顶点上已知。如果
,则点
位于三角形内部或边界上。我们取 f 的插值为
这个线性插值是自动正规的因为 λ1 + λ2 + λ3 = 1。
四面体的重心坐标
重心坐标容易推广到三维空间。3 维单形即四面体,具有四个三角形面和四个顶点。
完全类似于三角形,四面体
的顶点
的重心坐标为 (1,0,0,0),
为 (0,1,0,0),如是等等。
点
的笛卡尔坐标和为关于四面体
的重心坐标的关系:
这里 Vol(V1V2V3V4) 为
组成的四面体的体积,类似于三角形也可以用笛卡尔坐标的一个行列式表示出来。
3 维重心坐标和 2 维一样,可以确定一点是否位于四面体内部,也能对四面体网格上函数插值。因为利用重心坐标可以极大地简化 3 维插值,四面体网格经常用于有限元分析。
参考文献
外部链接
<!--
NewPP limit report
Preprocessor node count: 655/1000000
Post-expand include size: 1780/2048000 bytes
Template argument size: 572/2048000 bytes
Expensive parser function count: 0/500
--><!-- Saved in parser cache with key zhwiki:pcache:idhash:914363-0!1!0!!zh-cn!2!zh-cn and timestamp 20100203083823 -->
分享到:
相关推荐
【作品名称】:在MATLAB中实现广义重心坐标的简单基础框架 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:在MATLAB中...
计算图像的重心坐标很好的程序,利用重心法,相信不会让你失望的!
均值重心坐标不仅适用于凸多边形,而且适用于星形多边形1 已有定义方法在多边形边界处具有奇异性, 计算时容易产生数值不稳定问题,因而不适用于几何计算1 首先分析和比较了已有的各种重心坐标的定义方法,提 出了一种...
opengl实现三角形光栅化算法(重心坐标)
说明: http://blog.csdn.net/wangyaninglm/article/details/49618769
四边形的重心坐标族的单调性
python-opencv获取二值图像轮廓及中心点坐标代码: groundtruth = cv2.imread(groundtruth_path)[:, :, 0] h1, w1 = groundtruth.shape contours, cnt = cv2.findContours(groundtruth.copy(), cv2.RETR_EXTERNAL, ...
基于重心坐标表示,我们的工作在具有时延和丢包的通信环境中推广了DILOC算法。 首先,开发了一种同步通信协议,并将分布式定位算法数学建模为具有时变通信延迟的线性差分方程。 接下来,利用商图论证明了时变延迟...
四边形的重心坐标族的极限
该公式可以用来计算物体的重心坐标,包括x坐标和y坐标。 三、物体质心坐标公式 物体质心坐标公式是计算物体质心的基本公式。该公式可以用来计算物体的质心坐标,包括x坐标和y坐标。 四、均质物体的形心坐标公式 ...
face_point 是来自人脸平均形状的点 [x,y]'。 dt 是 3 x 2 矩阵,其坐标对应于 2 个三角形的顶点。 例如,对于顶点为 [v1, v2, v3] 的三角形,v1 将具有坐标 [x1,y1],因此 dt 将包含矩阵 [x1 y1; x2 y2; x3 y3]
本文给出了三角形的切心(格尔刚点)坐标公式以及切心与三角形三顶点间的向量恒等式。
尽管各种方法如综合法、重心坐标、向量法、直角坐标、复数法、射影法等各具特色,但每种方法都有其局限性。例如,综合法依赖于复杂的辅助构造,重心坐标在处理角度问题上存在不便,向量法适用于直观但应用范围有限,...
【描述】:“详细讲解了拾取操作的步骤和实现,使用射线矢量对场景中的所有三角形图元求交,获得三角形索引值和重心坐标。” 本文主要探讨在游戏开发中,尤其是在使用Direct3D(简称D3D)的环境下,如何实现鼠标...
重心坐标是一种简单的方法,用于计算顶点周围的面积,而Voronoi细胞和混合Voronoi细胞则可以提供更为精细的局部划分,以适应不规则的网格结构。 正常向量是离散微分几何中的另一个关键概念。对于每个三角形,其法线...
解析法绝对定向 模型的绝对定向:把模型点在像空间辅助坐标系的坐标转化为地面测量坐标。 描述立体像对在摄影瞬间的绝对位置和姿态的参数称绝对定向元素。 通过将相对定向模型进行缩放、平移和旋转,使其... 重心坐标
2. 多边形重心计算:对于多边形,重心坐标可以使用以下公式计算:x =(x1w1 + x2w2 + … + xnwn)/W,y =(y1w1 + y2w2 + … + ynwn)/W,其中(x1,y1)、(x2,y2)、…、(xn,yn)为多边形的n个顶点坐标,w1、w2...
2. 规划求解,得到第一次迭代的重心坐标为(7.76,5.52),此时总费用为 196.46。 3. 第二次迭代求得重心坐标为(9.15,5.21),此时总费用为 190.04。 4. 第 100 次迭代求得重心坐标为(9.20,5.03),此时总费用为 ...
系统的核心是利用力矩平衡原理计算人体重心坐标,并通过包络面积算法来评估平衡状态。 首先,系统采用了力矩平衡原理,这是物理学中用于分析物体平衡的关键概念。在人体平衡测试中,力矩平衡意味着身体各部分产生的...
同时本文对离散曲面去噪技术作了研究,引入了在网格曲面处理中的齐次重心坐标,对于网格中的任意顶点,都能用它的邻近顶点和邻近面片的加权齐次中心表示。基于齐次重心坐标,定义了新的网格顶点几何变量--锐度因子...