Posted by
BirrerEd on
Jan 06, 2023; 10:16am
URL: https://forum.jogamp.org/On-the-fly-visualization-of-generated-3d-points-where-to-start-tp4042013.html
JOGL and the tools using it look great, but like an universe - I am looking for hints where to start for my challenge I have to solve:
In a research project I have to visualize 3D position data from several sensors that move around. The sensors move on
the surface of a non-geometric body and deliver their data at a rate of about 5-20 Hz (each sensor delivers separate
data; we could make the rate lower, but will probably need at least 5 Hz for good accuracy). Visualization must be
on-the-fly, it could be a point cloud or a mesh that is continually extended with the new points.
A GUI must display the surface acquired so far. It will be possible to stop the data flow coming in, during that time
the GUI should allow to rotate the surface in space to see how it looks like from various angles, to see where data is
missing. Then the data flow could be started again to acquire more data for the "missing pieces".
As an additional challenge, the scanned body can also move in space. Therefore, the surface has reference sensors fixed
to it, and the position data of the moving sensors must be converted from the coordinate frame given by these reference
sensors to the "world" coordinate frame.
Again in short what I need:
- on-the-fly handling of large amounts of 3D-points, translating them from a local to a global coordinate frame
- on-the-fly visualization of the translated 3D points (or the mesh they define)
- a GUI allowing to rotate the visualization (during that time we can assure that no new points are coming in)
- the whole thing should be developed in Kotlin or Java
I studied the websites of various tools listed on
https://jogamp.org/jogl/www/, ruled out the outdated ones and those
that do apparently something different from what I need. Still there remain several candidates for tools / libraries
that might help me with my challenge:
Tools:
- Scilab (not sure if it can handle point-clouds and on-the-fly generated data)
- Gephi (same)
- Jzy3d (seems to be able to handle "scatters", but not sure of on-the-fly generated data and of programming of the GUI)
Libraries:
- (Jzy3d has an API, could also be in this category)
- libGDX: seems to be very powerful, but maybe overly complicated?
- Java3D: not sure if it is capable enough
- KOOL: (this is not based on JOGL, but seems also a valuable possibility)
So my question:
Do you have any hints or recommendations about which tool/library I should look into first? Or a hint why some tool or
library cannot fulfill my requirements (e.g. because it can only handle "files" and not "on-the-fly-generated data")?
Other useful information? Or even an example that does something similar than I want to achieve? Remember that I am
looking for something in Kotlin or Java.
Of course, I can try all the above libraries, but profiting from the considerable amount of knowledge out there in the
community and knowing where to start and where not to look could save me lots of time. Thus, my question for useful
hints, and many thanks in advance!