计算几何之多边形重心

您所在的位置:网站首页 梯形重心位置公式 计算几何之多边形重心

计算几何之多边形重心

2024-03-23 21:21| 来源: 网络整理| 查看: 265

啥叫重心?

我把它抽象的理解为几个顶点均分权重。三个点及以上才能构成一个简单的平面多边形,三角形是最简单的多边形。三角形的重心就是三个顶点均分权重。

三角形重心

通过一个三角形重心公式来看多边形重心公式,若一个三角形有三个点,分别为(x1,y1),(x2,y2),(x3,y3),那么三角形的重心公式为: x = x 1 + x 2 + x 3 3 , y = y 1 + y 2 + y 3 3 x=\frac{x1+x2+x3}{3}, y=\frac{y1+y2+y3}{3} x=3x1+x2+x3​,y=3y1+y2+y3​ 每个点的横权值相加除以3,每个纵权值相加除以3。

多边形重心

现在我们有一个五边形,有5个点,其中S1为三角形△ABC的面积,同理有S2,S3。 一个五边形 先给出它的重心公式: x = ( x 1 + x 2 + x 3 ) s 1 + ( x 1 + x 3 + x 4 ) s 2 + ( x 1 + x 4 + x 5 ) s 3 3 ( s 1 + s 2 + s 3 ) x=\frac{(x1+x2+x3)s1+(x1+x3+x4)s2+(x1+x4+x5)s3}{3(s1+s2+s3)} x=3(s1+s2+s3)(x1+x2+x3)s1+(x1+x3+x4)s2+(x1+x4+x5)s3​ y = ( y 1 + y 2 + y 3 ) s 1 + ( y 1 + y 3 + y 4 ) s 2 + ( y 1 + y 4 + y 5 ) s 3 3 ( s 1 + s 2 + s 3 ) y=\frac{(y1+y2+y3)s1+(y1+y3+y4)s2+(y1+y4+y5)s3}{3(s1+s2+s3)} y=3(s1+s2+s3)(y1+y2+y3)s1+(y1+y3+y4)s2+(y1+y4+y5)s3​ 相当于求出三个三角形的重心,再根据三角形的面积去均分权重。相同的道理,可以画一画六边形,七边形,是一样的道理。 所以给出n边形重心公式: x = ∑ i = 1 n − 2 s i ∗ ( 以 s i 为 面 积 的 三 个 点 横 坐 标 之 和 ) 3 ∑ i = 1 n − 2 s i x=\frac{ \sum_{i=1}^{n-2}s_i*(以s_i为面积的三个点横坐标之和) }{3\sum_{i=1}^{n-2}s_i} x=3∑i=1n−2​si​∑i=1n−2​si​∗(以si​为面积的三个点横坐标之和)​ y = ∑ i = 1 n − 2 s i ∗ ( 以 s i 为 面 积 的 三 个 点 纵 坐 标 之 和 ) 3 ∑ i = 1 n − 2 s i y=\frac{ \sum_{i=1}^{n-2}s_i*(以s_i为面积的三个点纵坐标之和) }{3\sum_{i=1}^{n-2}s_i} y=3∑i=1n−2​si​∑i=1n−2​si​∗(以si​为面积的三个点纵坐标之和)​ 就是酱紫,是不是很好理解0.0 Tip:计算三角形面积最好使用叉积,海伦公式会损失太多精度。给一下三角形叉积求三角形的公式。但在计算叉积时取点要注意,一定要按逆时针连图,顺时针计算的结果是负的,友情提示,不要加绝对值(会损失精度)。假如三角形有三个点A(x1, y1), B(x2, y2), C(x3, y3),公式为 : S = ( x 2 − x 1 ) ( y 3 − y 1 ) − ( y 2 − y 1 ) ( x 3 − x 1 ) 2 S=\frac{(x2-x1)(y3-y1) - (y2-y1)(x3-x1)}{2} S=2(x2−x1)(y3−y1)−(y2−y1)(x3−x1)​ 这个公式是要加绝对值的,但在计算重心时,别加。 贴个题目: hdu1115 Lifting the Stone 这题就不能加绝对值…跟着公式敲就行

#include #define fio ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define lson rt fio int t, n; cin >> t; double x1, y1, x2, y2, x3, y3, ansx, ansy, allarea, area; while(t--) { ansx = 0; ansy = 0; allarea = 0; cin >> n; cin >> x1 >> y1 >> x2 >> y2; for(int i = 2; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3