tags:

views:

553

answers:

2

I want to model a heart shape in 3D with as less code needed as possible and without using external model files.

In 2D, I can use some bezier curves to draw a heart shape, and I could extrude this to get a simple 3D heart shape, but this doesn't look like the shape I want. The bottom of the heart should be a peak, the upper part should be two rounded parts (well, I guess you know what I mean).

So, is there an easy way to model such a shape in 3D (i.e. a simple formula or a small code snippet)?

+3  A: 

This page at MathWorld had some nice material. Although mostly in 2D it did show a couple of 3D shapes too. It has a link to this page, which seems very promising.

unwind
Which, in turn, has a reference to http://jalape.no/math/hearttxt containing a povray model for a heart
Vinko Vrsalovic
+1  A: 

I think your direction is good.

Model a 2D heard and extrude it to the maximal width you want. You can now apply additional transformation that will scale the width differently along the height. You can do that using a Bezier curve to form the desired scale for each location along the height.

Adi
Another good approach for this, thanks.
schnaader