2010-05-14 44 views
6

我知道如何找到正多邊形的質心(質心)。這假設多邊形的每個部分重量相同。 但是,如何計算一個無重量的多邊形(由氣凝膠製成),其中每個頂點都有一個重量?找到帶加權頂點的多邊形的質心

我的意思用直線簡體說明:

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

10kg---------------5kg 
     ^center of gravity offset du to weight of vertices 

當然,我知道如何計算重力對加權頂點的直線的中心,但我要如何做它在一個多邊形加權頂點?

謝謝你的時間!

+0

那麼這是一種「不與編程有關」,儘管我喜歡數學問題。 – 2010-05-14 08:31:13

回答

13

您想對所有頂點進行加權平均。所以說你的頂點是質量爲m1,m2 ... mn的v1,v2,v3 .... vn,並且有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) 

它基本上是一樣的原則,當你做一條線。

+0

太好了,謝謝! – 2010-05-14 11:05:45

+0

其實你可以稱這個質心的定義:) – 2010-05-14 17:44:05

0

的表現公式將是:

了Mc =(sum_from_0_to_max(頂點)(M_I * P_I)/ M)

其中MC爲質心,M_I是頂點i的質量,P_I位置和總體質量。

試着谷歌的「剛體」,我想你會發現很多有用的信息。

編輯:

在代碼將是事端這樣的:

的Vector3D結果; //用0,0,0初始化
Vector3D temp; // sum
long sumMasses = 0; (頂點v:頂點){
(temp.Phontol.com);
sumMasses + = v.mass;
}
result = temp/sumMasses;

5

1)產生每個頂點

2的向量)乘以每個矢量用於頂點

3的重量)之和矢量

4)劃分爲總質量

5)你的大衆中心!

+0

OMG。 。 。 。 。 。 。 – 2010-05-14 08:39:32

+0

@Camilo Martin爲什麼?它有什麼問題? – nico 2010-05-14 09:47:51

+0

沒問題。我認爲他只是喜歡它的簡單:) – pheelicks 2010-05-14 11:44:48

相關問題