PDA

View Full Version : Poses of a human skeleton



Cruz
14th January 2009, 11:44
Hello there!

This is my first day as Qt developer and so far I'm very impressed! Thanks for the great libraries, the comprehensive documentation and an awesome GUI designer.

Anyways. My task is to display a sketch of a human skeleton in different poses on the screen. The user gives joint angles to the software and then the skeleton changes its pose. Since I have no experience in Qt so far, I would like to listen to your advises as to what's the best way to accomplish this.

It's not a graphical issue. I can just use lines and circles to mark the limbs and the joints. I will need a 3D representation of the skeleton and calculate the positions of the limbs by applying the joint angles to the model using...AffineTransformations? And then I need a 2D projection of the model which then I actually show on the screen. Can I even visualize the 3D model right away and make it turnable by mouse drags? I think you get the picture of what I want. What classes should I be looking into?

Thanks a lot
Cruz

aamer4yu
14th January 2009, 17:39
Your problem is more of mathematics.
Till calculating 2D projection, it will be maths i guess.

For complex drawings and 3D, even 2D drawings, you have OpenGL to play with

Cruz
14th January 2009, 22:06
I can do the math if needed, but I was hoping to find the right classes that will do the work. I looked up AffineTransformation by now and saw that it only supports 2D transformations. I suppose OpenGL is the rigth cue for a start. I need to display little rectangular areas on the screen, that show skeletons in specific poses and those areas need to be drag and droppable too. I just don't quite know where and what to look for to find the right pieces of the puzzle.

spud
15th January 2009, 10:58
For the 3D representation I would recommend libQGLViewer (http://www.libqglviewer.com/). It is an excellent library, which simplifies creating an opengl scene. The class Frame (http://www.libqglviewer.com/refManual/classqglviewer_1_1Frame.html) "The Frame class represents a coordinate system, defined by a position and an orientation" let's you create a coordinate system for each joint, which can be manipulated in relation to its parent Frame.

In particular, check out the example Luxo (http://www.libqglviewer.com/examples/luxo.html)

Cruz
15th January 2009, 11:37
Awesome, thank you! It's the kind of hint I was looking for. :) And now on to the gory details.