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

Posted on 2002-04-13
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.
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.


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

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

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.
Many programs have tried to outwit PowerPoint in terms of technology and skill. These programs, however, still lack several characteristics that PowerPoint has possessed from the start. Here's why PowerPoint replacements won't entirely work for desi…
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"…
It’s easy to embed any of your public Prezi presentations on your website or social network to share with others. Learn how simple it is in this tutorial.

734 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