找到具有加权顶点的多边形的质心

Cal*_*abo 7 algorithm math geometry

我知道如何找到正多边形的质心(质心).这假设多边形的每个部分都重量相同.但是我如何计算失重多边形的质心(也许是由气凝胶制成:),每个顶点都有一个重量?

我用直线简化说明:

5kg-----------------5kg
           ^center of gravity

10kg---------------5kg
        ^center of gravity offset du to weight of vertices
Run Code Online (Sandbox Code Playgroud)

当然,我知道如何计算带有加权顶点的直线上的重心,但是如何在带有加权顶点的多边形上进行计算呢?

谢谢你的时间!

phe*_*cks 17

您想要对所有顶点进行加权平均.所以说你的顶点是v1,v2,v3 .... vn,质量为m1,m2 ... mn,并且有x和y坐标v1x,v1y,v2x,v2y等然后得到质心(cx,cy)你要:

cx = (v1x*m1 + v2x*m2 + ... vnx*mn) / (m1 + m2 .... mn) 
cy = (v1y*m1 + v2y*m2 + ... vny*mn) / (m1 + m2 .... mn)
Run Code Online (Sandbox Code Playgroud)

它基本上与你为一条线做的原理相同.


nic*_*ico 6

1)为每个顶点生成一个向量

2)将每个向量乘以顶点的权重

3)求和向量

4)除以总质量

5)这是你的中心!