feasibility of a project


I’m investigating a move to a 3D representation for a project.

Basically the only requirement is a realistic representation of a female thorax.

The only animation requirements are movement of the arms from a position beside the body to a upward pointing position and a change from the front view to a profile view.

The most important part of all this is the representation of the shape of the breasts. The representation should be “morph-able”, that means the shape should change in response to some measurements.

Now the questions:

  1. Can Panda3D help me with something like this?
  2. What would such a project involve? I ask this because I have ZERO experience with 3D.

Thank you in advance.

Panda can easily handle such a project. First thing that you would have to do would be modeling the mesh, animating it and making the blend shapes/morph targets for the breasts.

After this its a matter of hooking it all up in Panda. Importing the mesh and playing the animations are a pretty straight forward matter, its covered in the manual. Likewise with the camera positioning.

The breast blend shapes/morph targets would be something not covered in the Manual but is also simple to do. I can’t remember how to right now though, but I’ve done it before. I’ll get back or post it on code snipplets when I figure out how to again.

hmmm… for a starter in 3D buissnes it is going to be tough.

If you never programmed before, it is likely that you should spend some hours in programming doing projects that don’t have to do with your current one. (This is just and only to get a clue - the feeling - in how to do what.)

It depends on the level of realism your model needs to provide. Don’t expect reality there. :wink:

If Zero says it is possible, then it may be. Don’t get me wrong. I don’t want to frighten you away. But I don’t think its a good idea to generate the hope that the problem can be solved with 5 clicks and3 lines of code. :wink:

However, Panda3D is a good place to start. :slight_smile:

Regards, Bigfoot29

The move to the 3D representation is due to lack of realism.

I’ve done the first version of the software in wxpython using a picture of a thorax from where I photoshoped out the breasts and then drawn with some ellipses the representation of the breast. It is crude… but good enough for now.

So now I imagine that I would have to get a well defined 3D model of a woman and learn about 3D structures and how to control them from Panda3D.

The basic needs something like:

  1. control the position of the breasts based on the Sternal Notch to Nipple distances (measured on the patient) and Nipple to Nipple
  2. control the size of the breast (representation) based on a measurement of the base
  3. control the size o the NAC (Nipple-Areola Complex)
  4. Control the shape of the lowe pole of the breast based on its length; long N-IMF gives ptotic breasts representation, short lengths combined with small breasts widths give something more like a tuberous breasts.

This is for the before part :slight_smile:

for the after part there has to be a simulation of an implanted breast.

I know it is not simple… but… is it feasible? Can it be done within a few months of work? What tools will I need beside Panda3D?

We need David to comment on this.

Panda supports a feature called “blend shapes.” The basic idea is that you create a 3D model of somebody’s chest, using the most ‘average’ shape you can. Then, you create many variants. A version where the breasts have been shrunk to flat-chested. A version where the breasts have been separated. A version where the nipples have been enlarged. And so forth. You create these variants without creating or removing any polygons - only by moving the vertices around.

What Panda3D would need to do, then, is to interpolate between the variants. The math would be:

let a = model with the average shape.
let s = model with separated breasts.
let n = model with large nipples.

result = s * weight_s + n * weight_n + a * weight_a

Where the weights always add up to one. For example, to create a model with enlarged nipples and separated breasts, you’d want the weights to be:

weight_n = 1
weight_s = 1
weight_a = (1-(weight_n+weight_s))

Now, I know that Panda3D can interpolate - ie, use weights in the range (0-1). But can it extrapolate - ie, use weights outside the range (0-1)? This I don’t know, and only David can tell us.

Assuming panda supports extrapolation, the amount of code needed would be quite small. For a professional programmer, two weeks, not a month. However, creating the 3D models and doing it well would require a skilled professional artist, which I am not, so I don’t know how long that would take.

if it’s only for visualisation… you might want to check blende3d’s shape-keys aswell as the makeHuman script.
blender itself is not that easy to pick up. but if you want it for this special purpose you might be able to work through the neccessary manual parts.
blender also offers the possibility to create executables.
technically seen panda can be used for it. but only few exporters are able to export morph targets. so it might be easier with blender in this case.

if your timeframe are a few “month” of work it should be doable. i’d give blender a try. worth a look.

Yes, Panda can do this.


Oh wait, just thought of something you might be able to extract a realistic model from, the Make Human project. It’s open source as far as I know so the devs might be okay with extracting a model from there.

Come to think of it, “make human” might actually be what he wants. He might not need to extract anything. Just use it as is.

:slight_smile: If 9000 hours of work that the Make Human project has till now produced that level of realism then I have no chance.

I’ve downloaded the software and played with it and it is rather nice BUT, the realism that is being requested is of an anatomical nature. Having the nipples of a large breast old woman pointing anywhere but down is… funny.

The main problem is that the target for the software are doctors. :slight_smile:

Anyway, now at least I know what it involves. As Josh pointed out, this could be done with interpolation. His example made it clearer.

I will present the situation to my boss and explain that first we need to find a 3D artist to do the shapes that will be interpolated.

Thank you all.