查看“︁重心坐标”︁的源代码
←
重心坐标
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[数学]]中,'''重心坐标'''是由[[单纯形|单形]](如[[三角形]]或[[四面体]]等)顶点定义的坐标。重心坐标是[[齐次坐标]]的一种。 设''v''<sub>1</sub>, ..., ''v''<sub>''n''</sub>是[[向量空间]]''V''中一个单形的顶点,如果''V''中某点''p''满足, :<math>(\lambda_1 + \cdots + \lambda_n)\, p = \lambda_1 \, v_1 + \cdots +\lambda_n \, v_n ,</math> 那么我们称系数(''λ''<sub>1</sub>, ..., ''λ''<sub>''n''</sub>)是 ''p''关于''v''<sub>1</sub>, ..., ''v''<sub>''n''</sub>的'''重心坐标'''。这些顶点自己的坐标分别是(1, 0, 0, ..., 0),(0, 1, 0, ..., 0), ...,(0, 0, 0, ..., 1)。重心坐标不是惟一的:对任何不等于零的''k'',(''k λ''<sub>1</sub>, ..., ''k λ''<sub>''n''</sub>)也是''p''的重心坐标。但总可以取坐标满足 ''λ''<sub>1</sub> + ...+ ''λ''<sub>n</sub> = 1,称为'''正规化'''坐标。注意到定义式在[[仿射变换]]下不变,故重心坐标具有仿射不变性。 如果坐标分量都非负,则''p''在''v''<sub>1</sub>, ..., ''v''<sub>''n''</sub>的[[凸包]]内部,即由这些顶点组成的单形包含''p''。我们设想如果有[[质量]]''λ''<sub>1</sub>, ..., ''λ''<sub>''n''</sub>分别位于单形的顶点,那么[[质心|质量中心]]就是''p''。这是术语“重心”的起源,1827年由[[奥古斯特·费迪南德·莫比乌斯]]最初引入。 == 三角形的重心坐标 == [[File:Areal coordinates.png|right|450px]] 在[[三角形]]情形中,重心坐标也叫'''面积坐标''',因为''P''点关于三角形''ABC''的重心坐标和三角形''PBC'', ''PCA''及''PAB''的(有向)面积成比例,证明如下(如右图所示)。 我们用黑体小写字母表示对应点的向量,比如三角形''ABC''顶点为<math>\textbf{a}\, ,\textbf{b}\,</math>和<math>\textbf{c}\,</math>,P点为<math>\textbf{p}</math>等。设''PBC'', ''PCA''及''PAB''面积之比为<math>\lambda_1 :\lambda_2:\lambda_3\,</math>且<math>\lambda_1+\lambda_2+\lambda_3=1</math>,设射线''AP''与''BC''交于''D'',则 :<math>BD:DC=\lambda_3 :\lambda_2 ,</math>从而<math>\textbf{d}= \frac{\lambda_2 \textbf{b}+\lambda_3 \textbf{c}}{\lambda_2+\lambda_3},</math> :<math>AP:PD=(\lambda_2+\lambda_3):\lambda_1 </math>,故 :<math>\textbf{p}=\frac{(\lambda_2+\lambda_3)\textbf{d} +\lambda_1 \textbf{a}}{\lambda_1+\lambda_2+\lambda_3}\,,</math> :<math> \textbf{p}=\lambda_1 \textbf{a}+\lambda_2 \textbf{b}+\lambda_3 \textbf{c}\, .</math> 所以,<math>(\lambda_1,\lambda_2,\lambda_3)</math>就是''P''的重心坐标。 === 坐标变换 === 给定三角形平面一点''P'',我们将这一点的面积坐标<math>\lambda_{1}\,</math>,<math>\lambda_{2}\,</math>和<math>\lambda_{3}\,</math>用[[笛卡尔坐标]]表示出来。 利用笛卡尔坐标中的三角形面积公式: :<math> S (ABC)=\frac{1}{2}\begin{vmatrix}1 &x_a&y_a\\1 &x_b&y_b\\1 &x_c&y_c\\\end{vmatrix} </math> 我们可得: :<math> \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} </math> 类似地有<math>\lambda_2 , \lambda_3</math>,注意''ABC''构成一个三角形,上式的分母不可能为0。 反过来则简单得多: :<math>\textbf{p}=\lambda_1 \textbf{a}+\lambda_2 \textbf{b}+\lambda_3 \textbf{c} ,</math>故 :<math>x_p=\lambda_1 x_a+\lambda_2 x_b +\lambda_3 x_c ,</math>和 :<math>y_p=\lambda_1 y_a+\lambda_2 y_b +\lambda_3 y_c .</math> === 判断一点的位置 === 因重心坐标是笛卡尔坐标的一个[[线性变换]],从而它们在边和三角形区域之间的变化是线性的。如果点在三角形内部,那么所有重心坐标属于开区间<math>(0,1)</math>;如果一点在三角形的边上,至少有一个面积坐标<math>\lambda_{1...3}</math>为0,其余分量位于闭区间<math>[0,1]</math>。如果有某个坐标小于0,则位于三角形外部,具体分布可参考上图。 图示中,B和C顶端的坐标正负反了,B的应该是(-,+,-),C的是(-,-,+) === 应用 === 面积坐标在涉及到[[三角形子区域]]的工程学问题时特别有用,经常可以化简解析[[积分]]求值,[[高斯积分法]]表也常以面积坐标的形式给出。 考虑由顶点<math>\textbf{v}_{1}\,</math>, <math>\textbf{v}_{2}\,</math>和<math>\textbf{v}_{3}\,</math>定义的三角形'''T''',任何在三角形内部的点<math>\textbf{p}</math>都能写成顶点的加权和: :<math>\textbf{p} = \lambda_{1} \textbf{v}_{1} + \lambda_{2} \textbf{v}_{2} + \lambda_{3} \textbf{v}_{3},</math> 这里<math>\lambda_{1}\,</math>、<math>\lambda_{2}\,</math>和<math>\lambda_{3}\,</math>是面积坐标。注意到<math>\lambda_{3} = 1 - \lambda_{1} - \lambda_{2}\,</math>。从而,函数<math>f</math>在'''T'''上的积分为: :<math> \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} \,</math> 这里''S''是三角形'''T'''的面积。注意上式具有[[线性插值]]的形式。 重心坐标提供了一种[[非结构网格]]上函数插值的方法,假设函数值在所有网格的顶点上已知。如果<math>0 \leq \lambda_i \leq 1 \;\forall\; i \in {1,2,3}</math>,则点<math>\textbf{p}</math>位于三角形内部或边界上。我们取<math>f</math>的插值为 :<math>f(\textbf{p}) = \lambda_1 f(\textbf{v}_1) + \lambda_2 f(\textbf{v}_2) + \lambda_3 f(\textbf{v}_3),</math> 这个线性插值是自动[[正规化|正规]]的因为<math>\lambda_1+\lambda_2+\lambda_3=1</math>。 == 四面体的重心坐标 == 重心坐标容易推广到[[維度|三维空间]]。3维单形即[[四面体]],具有四个三角形面和四个顶点。 完全类似于三角形,四面体<math>\textbf{v}_1,\textbf{v}_2, \textbf{v}_3,\textbf{v}_4</math>的顶点<math>\textbf{v}_1</math>的重心坐标为(1,0,0,0),<math>\textbf{v}_2 </math>为(0,1,0,0),如是等等。 点<math>\textbf{p}</math>的笛卡尔坐标和为关于四面体<math>\textbf{v}_1,\textbf{v}_2, \textbf{v}_3,\textbf{v}_4</math>的重心坐标的关系: :<math> \lambda_1=\text{Vol}(PV_2V_3V_4)/\text{Vol}(V_1V_2V_3V_4),\;\lambda_2=\cdots. </math> 这里<math>\text{Vol}(V_1V_2V_3V_4)</math>为<math>\textbf{v}_1,\textbf{v}_2, \textbf{v}_3,\textbf{v}_4</math>组成的四面体的体积,类似于三角形也可以用笛卡尔坐标的一个[[行列式]]表示出来。 3维重心坐标和2维一样,可以确定一点是否位于四面体内部,也能对四面体网格上[[函数插值]]。因为利用重心坐标可以极大地简化3维插值,四面体网格经常用于[[有限元分析]]。 == 参考文献 == * {{cite book |last=Bradley |first=Christopher J. |title=''The Algebra of Geometry: Cartesian, Areal and Projective Co-ordinates'' |url=https://archive.org/details/algebraofgeometr0000cjbr |year=2007 |publisher=Highperception |location=Bath |isbn=978-1-906338-00-8 }} * {{MathWorld|title=Areal Coordinates|urlname=ArealCoordinates}} * {{MathWorld|title=Barycentric Coordinates|urlname=BarycentricCoordinates}} == 外部链接 == * [http://www.cut-the-knot.org/triangle/glasses.shtml 重心坐标:一个有意思的运用] {{Wayback|url=http://www.cut-the-knot.org/triangle/glasses.shtml |date=20210504182042 }}(解“三杯子问题”)位于[[cut-the-knot]] * [https://web.archive.org/web/20090901175245/http://math.fau.edu/Yiu/barycentricpaper.pdf 齐次重心坐标在平面欧几里得几何中的运用] [[Category:线性代数]] [[Category:仿射几何]] [[Category:三角形几何]] [[Category:坐标系]]
该页面使用的模板:
Template:Cite book
(
查看源代码
)
Template:MathWorld
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
重心坐标
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息