计算多边形质心,纯机翻

2022-11-04  本文已影响0人  寽虎非虫003
来源

https://math.stackexchange.com/questions/90463/how-can-i-calculate-the-centroid-of-polygon
这里面的杰罗姆(Jerome),我没有理解错的话,就是指多边形。

正文

皱眉。我想知道如何建立和解决这个问题。一个解总是可以转化为一个公式。相反的情况——通过观察公式来找出问题是如何解决的——是非常困难的。所以我会从零开始解决问题。

可以在这里找到以下方法的工作演示。链接的文档是一个Geogebra工作表;请随意下载它,检查代码,并根据您的需要使用它。

A:观察

三角形\Delta ABC的质心是其顶点的简单平均值:

\;\;\; d = (a + b + c)/3

什么?点的顺序在这里不重要取顶点A B C,以任何顺序,它们都是同一个三角形。为了证明公式的正确性,我可以对三角形的面积进行积分;求出ABC图的平衡点;或者,用圆规和直尺画出中线的交点。我说,在任何情况下,要点都是一样的。

B .过程

我会把这个问题转化成我知道如何解决的问题:

命题:求一组加权点的质心。

把杰罗姆切成相互排斥的三角形。

假设有m个三角形。对于每个三角形\;\Delta_k, \;k = 1,2,\ldots, m,\;找到质心C_k和面积(权值)w_k。加权点集合为[\frac{w_k C_k}{J}],其中J是Jerome的面积。

解决方法:把它们加起来。得到的点就是多边形的质心。

我有一个通解(我总是可以执行这个程序)。但它很混乱:我没有三角剖分规则。现在怎么办呢?总结的好方法是从我能解决的案子开始。

C.案例:杰罗姆是凸的

众所周知,给定凸多边形P,我们可以选择任意顶点,V,V到每一个非相邻顶点绘制分段,P被正确三角化。

我还将使用以下公式:

-设\Delta ABC的任意两边为向量 {\rm u =(u_1, u_2),\;\; v= (v_1, v_2)}.\;接着
\;\;\;{\rm Area}_{\Delta ABC} = \tfrac{1}{2}|{\rm u \times v}|,\;\;\;\;\; 其中(行列式){\rm u \times v}={\rm u_1 v_2-u_2 v_1}.

-设\Delta ABCAB, AC为向量{\rm u, v}.\;则可以得到质心D= (A+B+C)/3

\;\;\;D = A + \tfrac{1}{3}|{\rm u + v}|.

我已经收集了我需要的东西。

D .的解决方案

让n的逆时针路径,按顺序,由

\;\;[A_i] = A_1, A_2, \ldots, A_n

为了方便起见,我选择V=A_1

画出从A_1到其他顶点的n-1个向量:

\;\;[{\rm a_i}] = (A_{k+1}-A_1),\;\; k = 1, 2, \ldots n\!-\!1

有n-2个带质心的相邻三角形

\;\;[C_i] = A_1 + \tfrac{1}{3}{\rm (a_k+a_{k+1})},\;\; k = 1, 2, \ldots n\!-\!2

和面积(权重)

\;\;[w_i] = \tfrac{1}{2}{\rm (a_k\times a_{k+1})},\;\; k = 1, 2, \ldots n\!-\!2

(我去掉了绝对值:逆时针, {\rm u \times v}是正的。)然后

总面积= \sum_{k=1}^{n-2} w_k

Jerome的质心C_J是三角形的加权三角形的和,除以总面积:

\;\;C_J= {\large \frac{\sum_{k=1}^{n-2} w_k C_k}{\sum_{k=1}^{n-2} w_k}},

可以写成

(2)\;\;C_J= A_1+{\large \frac{1}{3} \frac{\sum_{k=1}^{n-2} ({\rm a_k+ a_{k+1}})({\rm a_k \times a_{k+1}})}{\sum_{k=1}^{n-2} ({\rm a_k \times a_{k+1}})} }

我说,这实际上是完整的解行列式给出有符号的区域:+/-根据从A_kA_{k+1}的旋转方向,大约A_1是正的或负的,在任何情况下都保留度量。

这就是要做的事。

上一篇 下一篇

猜你喜欢

热点阅读