Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


How to dynamically change properties of a 3D human model?

Posted on 2002-04-13
Medium Priority
Last Modified: 2010-04-07
In a virtual fitting room program, I'd need to create the 3D human model and provide the ability to dynamically regenerate the 3D human model based on the user's input of the body measurements for eg.
How can I import a 3D human model created using 3D softwares, into my MFC program through OpenGL in C++ code? Then, how can i dynamically change the properties of the 3D human model created using 3D software?
Question by:sweetgirl
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 2

Expert Comment

ID: 6941194
Not an easy question to answer.

First, yYou will need a specialized 3D model made for this particular purpose. It can be constructed with any of several kinds of programs, many of which can be obtained for free. Then you will need to exportt the model into a standard file format, such as DXF (which has freely available published file format standards for C + +), or 3DS (which is harder to figure out). Unless you spend a lot of time on your model, the DXF format will probably be more "blocky" than you want for this particular need.

Then, things depend on the nature of your MFC program.

Alternatively, many freely available programs, such as Truespace 2, would allow you to easily and dynamically change the various size parameters of your model.

A good place to start would be to purchase an inexpensive copy of Truespace 3 or better yet, 4.4, build a model in it, or get someone to export a standard Poser model into 3DS format for you, and import that into Truespace.  You now could use Python scripts to dynamically change the various parameters of your model. The advantage of Python is that its a public domain language, is easy to learn and use, Truespace is the simplest 3D program I know that is already setup to use it, and ... you can build a custom front end for it so that Truespace never need appear as such to your users. I mentioned Truespace because it is 100% OpenGL, in addition to being fiarly inexpensive.

If you want to start from scratch, I still would recommend a basic 3DS model of a human exported from Poser, and the Python scripting language. There are lots of public domain tools for it. You can easily build a C ++ shell for it, use Python to handle the model, and make the whole thing operate - especially to any video card using OpenGL standards.


Author Comment

ID: 6946888
Thanks a lot for the pointer. I will get the Demo for TrueSpace 5 (coz my PC is running on Win2K) and give it a try. A little query...I understand that TrueSpace provides the functionality to create 3D human models for eg., but how could I dynamically change the models, which means how can I generate the model based on the users' inputs (eg. body measurements) during run-time. It is rather not logic for me to create all possible combinations of 3D human models in advance using TrueSpace and then load the images that matches the user's input. So, how to I dynamically create the models based on users' input?

Accepted Solution

forester earned 0 total points
ID: 6946918
Well, I don't think you want to generate the entire model at run time.  A more computer-resource conservative approach is to have a basic model that has parameters for height, wideness of chest, waist, arms, biceps, etc. The Python script would read your new measurements at runtime and make changes in the parameters of the basic model.

It would be smart to have a male model and a female model.

If you took a good look at Poser by Creative Labs, you can get a good sense of which parameters are relevant. Their models have been through 4 generations/versions now, so the parameters they use have proven themselves to be the most useful ones.  You can get a copy of Poser version 3 for free, although its a large download.  Try a Google search for a source of a copy.  I know that the ComputerArts magazine site in the United Kingdom is posting a copy.  I think this is their URL, but I may not have this quite right.
[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.


Author Comment

ID: 6947079
10x a lot for ur comments, forester! By the way, I'm running out of time...can u please provide some pointers on the Python scripting that can perform the functionality I need and that can be embedded into my MFC program. I really appreciate ur help!

Author Comment

ID: 6952933
Have u come across any websites/tutorials/programs that perform such functionality? I really need those resources to get my task done. 10x a lot!

Author Comment

ID: 6952935
Python scripting sounds rather 'new' to me. What is it usually used for?...what kinda programs usually written using Python scripting? Is it a widely used programming language?

Author Comment

ID: 6953180
I've looked out about Python at, had a little idea about it. But, could not find materials that could help me out with my tasks. u have any idea?

Author Comment

ID: 6970436
Instead of Python scripting, can I use OpenGL to dynamically change properties of a 3D human model?

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Keep your audience engaged and get the most out of your next presentation with these quick Prezi tips.
Technology opened people to different means of presenting information, but PowerPoint remains to be above competition. Know why PPT still works today.
In this Micro Tutorial viewers will learn the basic shortcuts and functions in InDesign.
Not only does Prezi allow you to create non-linear presentations, it also makes it easy to apply transition animations between your frames. Learn how to apply a fade-in transition to select items and entire frames in this tutorial Select "Edit Path"…
Suggested Courses

715 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question