2010-08-05 82 views
3

我有一個應用程序,我需要使用一個可視化框架。我目前正在傾向於在Java桌面應用程序中使用Processing。Java中最快的數據結構(處理4D可視化)

問題:我有〜500k +狀態向量,我需要可視化。 4D點 - XYZ和時間(GPS-like)

我需要能夠快速輕鬆地選擇時間片,並且能夠及時播放它們。我有能力改變輸入,使用平面文件或數據庫。

所以問題是:什麼數據結構最能適應我的需求?我是否將文件讀入Arraylists? HashMap的?還是內存數據庫?或者是其他東西?

性能是3D可視化必須的。時間超過8小時。所以不是所有的人都會一次顯示出來。

有沒有人試圖使用這種類型的使用創意編碼框架?有什麼建議麼?

謝謝!

回答

1

使用OpenGL進行處理是一個選項,但如果遇到性能問題,我建議看看openframeworkslibcinder

它們是C++,而不是java,但是例如 的openframeworks與Processing的語法非常相似。

將Matt Swoboda的recode條目與其他處理實現進行比較。

想法是,嘗試使用OpenGL進行處理以查看是否獲得所需的幀率,否則嘗試使用openframewoks或libcinder。

HTH

1

jMonkey提供了一個場景圖,它可以完成你所描述的任何事情。

它保持隨時間變化的3D空間的表示。我認爲通常是它用系統時鐘測量時間,這意味着你不要直接操縱它,但我敢打賭,你可以插入一個組件,讓你自己指定時間......(即檢查圖的狀態在你指定的時間)。

-1
float [][]vectors=new float[4][500000]; 

只要確保你從開始對它們進行排序,以結束。保持簡單並測試它?

0

2d陣列聽起來像個好主意。使用quicksort或mergesort等很好的排序算法,您可以選擇時間片。