不规则多边形重心求解 您所在的位置:网站首页 几何图形的重心得到什么结论 不规则多边形重心求解

不规则多边形重心求解

2024-06-12 06:08| 来源: 网络整理| 查看: 265

文章目录 一、不规则多边形重心求解1.1 三角形重心计算方法1.2 三角形面积计算方法1.3 多边形面积的计算方法1.4 不规则多边形的重心计算方法

一、不规则多边形重心求解 1.1 三角形重心计算方法

设三角形的三个顶点位置为 A ( x 1 , y 1 ) A(x_1,y_1) A(x1​,y1​), B ( x 2 , y 2 ) B(x_2,y_2) B(x2​,y2​), C ( x 3 , y 3 ) C(x_3,y_3) C(x3​,y3​),那么 △ A B C △ABC △ABC的重心 G G G坐标为

x = x 1 + x 2 + x 3 3 , y = y 1 + y 2 + y 3 3 x=\frac{x_1+x_2+x_3}{3}, y=\frac{y_1+y_2+y_3}{3} x=3x1​+x2​+x3​​,y=3y1​+y2​+y3​​

1.2 三角形面积计算方法

计算三角形的面积使用向量积的方式,下图中,假设P点为原点, A ( x 1 , y 1 ) A(x_1,y_1) A(x1​,y1​), B ( x 2 , y 2 ) B(x_2,y_2) B(x2​,y2​)。

以 A A A, B B B和坐标原点 P P P构成的 △ A B C △ABC △ABC的面积为 S = P B ⃗ × P A ⃗ 2 = x 2 y 1 − x 1 y 2 2 S=\frac{\vec{PB}\times \vec{PA}}{2}=\frac{x_2y_1-x_1y_2}{2} S=2PB ×PA ​=2x2​y1​−x1​y2​​

1.3 多边形面积的计算方法

对于多边形的情况,我们可以将多边形切分为多个三角形,分别进行求解。那么这个剖分点$ P$ 我们可以设在哪里呢?这里先给出结论:这个剖分点可以设置在多边形的内部,也可以设置到外部。

为什么这个剖分点可以设置到外部呢?我们可以通过简单的三角形情况来推广到多边形的情况。 对于 △ A B C △ABC △ABC,我们把剖分点设置在其外部$ P$ 的一点上,

△ A B C △ABC △ABC的面积 S S S为 S = 1 2 ( P B ⃗ × P C ⃗ + P C ⃗ × P A ⃗ + P A ⃗ × P B ⃗ ) S=\frac{1}{2}(\vec{PB}\times \vec{PC}+\vec{PC}\times \vec{PA}+\vec{PA}\times \vec{PB}) S=21​(PB ×PC +PC ×PA +PA ×PB ) 设 P ( x 0 , y 0 ) , P(x_0,y_0), P(x0​,y0​), A ( x 1 , y 1 ) A(x_1,y_1) A(x1​,y1​), B ( x 2 , y 2 ) B(x_2,y_2) B(x2​,y2​), C ( x 3 , y 3 ) C(x_3,y_3) C(x3​,y3​)

△ A B C △ABC △ABC的面积 S S S可以写为 S = 1 2 ( x 1 y 2 − x 2 y 1 + x 2 y 3 − x 3 y 2 + x 3 y 1 − x 1 y 3 ) S=\frac{1}{2}\left ( x_1y_2-x_2y_1+x_2y_3-x_3y_2+x_3y_1-x_1y_3\right ) S=21​(x1​y2​−x2​y1​+x2​y3​−x3​y2​+x3​y1​−x1​y3​)

这时可以发现跟外部点 P P P没有关系,只跟顶点的坐标有关系。

1.4 不规则多边形的重心计算方法

不规则图形一般没有中心点这个概念,所以只能使用重心来代替中心点,这里先给出一个公式:

平面多边形 X X X可以被剖分为 n n n个有限的简单图形 X 1 , X 2 , … , X n X_1,X_2,…,X_n X1​,X2​,…,Xn​,这些简单图形的重心点为 G i G_i Gi​,面积为 S i S_i Si​,那么这个平面多边形的重心点坐标 G ( x , y ) G(x,y) G(x,y)为 x = ∑ n i = 1 G i x S i ∑ i = 1 n S i , y = ∑ n i = 1 G i y S i ∑ i = 1 n S i x=\frac{\sum_{n}^{i=1}G_{ix}S_i}{\sum_{i=1}^{n} S_i},y=\frac{\sum_{n}^{i=1}G_{iy}S_i}{\sum_{i=1}^{n} S_i} x=∑i=1n​Si​∑ni=1​Gix​Si​​,y=∑i=1n​Si​∑ni=1​Giy​Si​​

不规则多边形重心计算 def get_gravity_point(points): """ @brief 获取多边形的重心点 @param points The points @return The center of gravity point. """ if len(points)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有