문제

I've got an application that i need to use a visualization framework for. I'm currently leaning towards Processing for use in a Java desktop app.

Problem: I've got ~500k+ state vectors i need to visualize. 4D points - XYZ and time (GPS-like)

I need to be able to select time slices fast and easily, also having the capability to play them in time. I have the ability to change the input, using either flat files or a db.

So the question is: what data structure will best accommodate my needs? Do i read the files into an Arraylists? Hashmap? Or an in memory database? Or something else?

Performance is a must for visualizing in 3D. The time period is over 8 hours. So not all of them will be displayed at once.

Has anyone attempted to use a creative coding framework for this type of use? Any suggestions?

Thanks!

도움이 되었습니까?

해결책

Processing with OpenGL is an option, but if you run into performance issues, I would recommend having a look at openframeworks or libcinder.

They are c++, not java, but openframeworks for example has a very similar syntax to Processing.

Compare Matt Swoboda's recode entry to the other processing implementations.

The idea is, try Processing with OpenGL to see if you get the framerate you need, otherwise try openframewoks or libcinder.

HTH

다른 팁

jMonkey provides a scene graph that does something like what you describe.

It maintains a representation of 3D space that changes with time. I think normally it measures time with the system clock, meaning you don't manipulate it directly, but I bet you could plug in a component that would allow you to specify time yourself... (i.e. check the state of the graph at a time you specify).

the 2d array sounds like a good idea. With a nice sorting algorithm like quicksort or mergesort, you'll be able to select time slices.

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

Just make sure you sort them from start to end. Keep it simple and test it?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top