Java中最快的数据结构(用于4D可视化处理)

3
我有一个需要使用可视化框架的应用程序。我目前倾向于在Java桌面应用程序中使用Processing。
问题:我有500k+个状态向量需要进行可视化,这是4D点——XYZ和时间(类似GPS)。
我需要能够快速轻松地选择时间片,并具有播放它们的能力。我可以更改输入,使用平面文件或数据库。
所以问题是:哪种数据结构最适合我的需求?我应该将文件读入ArrayLists、Hashmap还是内存数据库中?或者其他什么?
性能对于3D可视化来说至关重要。时间段超过8小时,因此不会一次显示所有内容。
有人尝试使用创意编码框架进行这种类型的使用吗?有任何建议吗?
谢谢!
4个回答

1

jMonkey提供了一个场景图,类似于您所描述的功能。

它维护着一个随时间变化的三维空间表示。我认为通常它使用系统时钟来测量时间,这意味着您不能直接操作它,但我敢打赌您可以插入一个组件,允许您自己指定时间...(即在您指定的时间检查图形的状态)。


1

使用OpenGL进行处理是一种选择,但如果遇到性能问题,我建议看看openframeworkslibcinder

它们是C++,而不是Java,但例如openframeworks具有与Processing非常相似的语法。

将Matt Swoboda的recode条目与其他处理实现进行比较。

想法是尝试使用OpenGL进行处理,以查看是否获得所需的帧速率,否则请尝试openframewoks或libcinder。

希望对你有所帮助。


0

二维数组听起来是个好主意。使用像快速排序或归并排序这样的优秀排序算法,您将能够选择时间片。


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

请确保你从头到尾对它们进行排序。保持简单并测试它吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接