2009-04-23 20 views
1

我已經被分配了使用java3D(粒子等)模擬宇宙開始的任務,並且必須由5個不同的部分組成......每個最小長度爲15秒。階段像粒子湯階段 - 基本上5個可區分的可視化。它不一定非常複雜,只需要通過設定的程序行爲來移動。Java3D模擬任務

除了建立一個依賴於插值器的簡單集市場地之外,我還沒有用java3D做過很多工作。

我將如何維持時間線並在不同階段之間切換?

我想知道如何才能最好的建立這種模擬。使用PositionInterpolator是否適合移動粒子並檢測碰撞?還是有更好的方法來實現我在找的東西?

到目前爲止,我開始有些粒子模型 - 簡單地不同的大小和顏色的球體和簡單的宇宙中定位他們隨機帶有PositionInterpolator應用隨機的方向,對他們使用的Transform3D來設置旋轉。

任何指導和幫助將不勝感激。

+0

因爲這是一項家庭作業,爲什麼不解釋你的一些選擇是什麼,優點和缺點,它不會覺得我們正在爲你做功課。只是我的想法。 – 2009-04-23 17:15:37

+0

問題是瑪拉基可能不知道有哪些選項可供選擇。我們不必參與蘇格拉底式的討論,也不需要做他的任務來指導他正確的方向。 – 2009-04-23 17:20:40

回答

2

我怎麼能夠保持不同 階段之間的時間線和開關?

將主應用程序寫爲狀態機。將每個階段視爲一個狀態。在完成舞臺後加載下一個狀態。

這是state pattern。這種方法的一個優點是你可以編寫每個階段,因爲它擁有迷你程序,因此可以針對你需要的特定可視化對它們進行優化。

至於3D問題,它看起來像你在正確的軌道。如果沒有爲你做功課就很難回答。通過將應用程序分解爲狀態,您可以解決每個部分的問題,而不會影響其他部分的工作。唯一需要傳遞的是3D繪圖表面的句柄。