Visualisation of Data

Dear All,

I am a beginner to OpenGL and in need of directions on how I can proceed further in my project. Any help or suggestions would be greatly appreciated.

Basically, I am assigned a project to analyse vibrations of a physical product, (e.g. washing machine). And I have a data acquisition software that helps me gather all these data. It’s a nice tool, spitting out graphs and charts. However, it does not have a function that allows the user to input the 3D model of the product that I am analyzing.

I understand that OpenGL allows me to input 3D models (OBJ files?) and color the faces the model according to my requirements. So I believe I could use a 3D modelling software such as Blender to generate the 3D models.

Using the data that I have collected, I can compute the colors for each face (generating a color map?).

The only question that remains is how do I actually merge the skeletal 3D structure of my product with the colors that I specify through all my data (what functions to call?). After which, how do I create an animation for the data sets that I have gathered (again, what functions should I call?).

The issue with the data is that the data acquisition software actually generates 10 sets of data every second. And due to the complexity of the product that I am handling, I might have to place my sensors at various places. This meant that I am actually handling a lot of data possibly 3,000 sets of data for just a second of acquisition. I do know that I have to optimise the code somehow to actually run the animation smoother.

I am not sure if OpenGL should be the right software to use. I would be glad to hear of any other tools that could help in my project.

Once again, much appreciated for any help rendered. Thank you very much!

** By the way, I do know fundamental and basic programming (really basic C and Javascript programming). I hope this helps a little?

OpenGL is a rendering API, no more and no less. Essentially, it provides a (reasonably) convenient and portable interface to graphics hardware. It doesn’t include functions for e.g. reading model files (although you could probably find a few hundred blog posts on the subject of reading OBJ files and rendering them with OpenGL).

The rest, you either write yourself or find a library which does it for you.

This could be fairly straightforward depending on how many pieces of the washing machine need specific colors. For example, if the machine can be modeled as 5, 10, even 20 parts, all you have to do is model the parts separately in Blender, bring them into your OpenGL program and assign colors according to your data. Each of the 10 parts would be assigned ONE color. Is that good enough? If you want to do something more like a finite element situation with 100’s or 1000’s of points (polygon vertices), each of which has a unique color, it’s much more complicated.

Also - how detailed does the washer model have to be? If you only need a basic model, you can build it entirely in GL, using properly scaled cubes, cylinders, etc.

Have you looked at using vtk or ParaView or some other scientific visualization library?

Thanks for that topic, I find it very interesting.