2013-04-24 41 views
0

我有一個問題。 我有N個對象和N×N矩陣M.每個條目M(i,j)包含(一種)相對引力,表明我如何強烈地將j拉向它(或反向拉離它)。 我想通過爲每個對象分配一個座標,將這些N個對象放置在一個二維R x R平面上。如何將相對重力轉換爲座標

有沒有這樣的算法/方法?天體物理學,物理學,化學等必須有一些常用的方法。 謝謝你的幫助。

+0

你以後有什麼樣的座標? – 2013-04-24 19:59:33

+0

有沒有讓你隨意或任意放置物體?例如,您是否在尋找靜態或動態穩定的展示位置? – 2013-04-24 20:05:29

+0

如果您嘗試執行重力模擬,那麼這稱爲n體問題或n體模擬;即使在2-d,它可能將不具有解析解,如果n大於2,在維基百科[N-體模擬](http://en.wikipedia.org/wiki/N-body_simulation)的文章討論瞭如何以推導/實現問題的數字解決方案。 – 2013-04-24 20:07:48

回答

0

你有興趣爲每個物體分配座標(xi,yi,zi)和質量(mi),以便引力是一致的嗎?

一次考慮8點。你總共有32個未知數和28個方程。您可以假設第一個點位於原點,第二個點位於x軸上。這意味着,你將有28個未知方程和28個方程。

所以,第一個設備和算法一次解決8個點。然後在每次迭代中遞增地添加一個點。

===演練===

,請考慮所給定的n d維點。你只有點之間的距離,但不是座標。目標是找到每個點的座標。

如果D = 1,則一次只需考慮兩個(+1)點。把第一點放在原點。把第二點放在原點的積極方面。你可以把第三點有關原產地,但把它放在左邊或右邊是根據先點的距離等等...

如果d = 2,地點1點在原點,指向正面x軸上的側面,y軸正側的第三個點取決於距離。從第四點開始,您可以使用任意兩個放置的點放置下一個點並使用任何其他點來優化選項(將有兩個選項)。

與D = 3相似。在xy平面(z = 0)的前三個點上放置所有三個點。接下來,放置z軸的正面部分的第四個點。等等。

回到引力: 你的問題很複雜,因爲你不能準確地將質量放在原點。所以你需要5點以上才能放置它們。正如我上面所顯示的,儘管你最多需要8點。

如果你的質量都相等,你可以計算距離(〜重力的倒數),並應用D = 3時的情況。

+0

你可以假設第一個點在原點,第二個點在X軸上,第三個點有z = 0。 – 2013-04-24 20:39:28

+0

@EgorSkriptunoff給我們留下28個方程和27個未知數? – 2013-04-24 20:43:29

+0

@JanDvorak - 是的,系統可能無法解決 – 2013-04-24 20:46:16

0

問題是,鑑於我們知道n個物體之間的n * n距離,如何獲得它們的位置?

1. Put the first one, say a, at (0,0) 
2. Put the second one b at (|b-a|, 0) 
3. For the third one c, it is at the one of the two intersections of the two circles: 
    |p-a|=|c-a| and |p-b|=|c-b|. 
    Solve this system of quadratic equations using the well-known formula, choose 
    either of the solutions as the position of c. 
4. For any other points p, do the same thing as we're done for c, but choose one of the 
    two solutions that is consistent with the distance |p-c|. And check the distance 
    between p and all previous points. If the check fails, return with failure. 
相關問題