32leaves.net

3D graph visualization, pt. 2

Just some minor addition to my previous post. A nice video showing a quick flight through such a 3D graph:

Please excuse the poor quality. There was quite something involved in producing this video:

  1. Find a way to capture the render content. So the app now copies the OpenGL buffer to a
    Java2D buffer and writes it to disk using ImageIO (and that is done per frame with a fixed framerate).
  2. Secondly finding a binary of ffmpeg or mencoder for MacOSX is not easy if you don’t know where to look (yep, I know: ask google).
  3. As I wanted the video to look nice, I wrote some kind of director mechanism. So one can now automate actions within the 3D space using Groovy. Behind the scenes there is a fully timed command cue

All in all this is becoming really cool stuff :-)

4 Responses to “3D graph visualization, pt. 2”

  1. Marco says:

    Wow this looks really nice! How did you achiev the “smooth” camera movement? Did you implement something like interpolated waypoints? Next month I’ll come to visit you, I am excited to see that uml tool in action °-)

    Cheers!

  2. Marco says:

    I used JOGL in the past for many things. Now you motivated me to look deeper at JME – which I haven’t used in fact, yet. Probably I have to find an idea to code sth :-P But anyway … JME looks very nice and powerful.

  3. Christian says:

    Actually the movement along the waypoints is interpolated in a linear way which causes the camera movement to do no acceleration/deceleration during the “flight” which is exactly what I intended. I used some kind of keyframe mechanism to describe the camera path thru the graph.
    I’m really looking forward to your visit, there’s quite some interessting stuff going on here :-)

    And JME is indeed very powerful. I haven’t even discovered half of what one can do with it. So there is some journey ahead …

  4. Marco says:

    Sounds great! Lets fix weekend 18/19? °-) I coded something with JMS I like to show … hrhr while drinking a beer

Leave a Reply

Fork me on GitHub