Morphing shapes into other shapes

I have a ~15-20 minute presentation to give on topology for my math class, and I have to
get it done by Wednesday morning (6/8/11). So yeah, I’m an idiot for not thinking of asking for help sooner.

Long Post: You can skim it, you probably don’t need to see the whole thing. I don’t want anyone put off by the length - I need help ASAP!

I need to be able to morph one shape into another. For example, I need to turn a flat plane into a torus, and also another into a sphere. I would also like to perform something similar to the following:
(A homeomorphism from Wikipedia’s Topology article)

I’m not too keen on using other people’s work, even in a school presentation, especially when I have the tools to do things myself. So I would like to be able to perform basic transformations of shapes like that.

I don’t mind if my plane -> torus or plane -> sphere transformations end up with seams, as I’ll be intentionally outlining those seams. I should also note that I will be mapping images to the planes.

I know about shapekeys, but I don’t think I want to move each and every vertex individually or anything. I can’t even get a plane to turn into a sphere using proportional editing and To Sphere, at least not without horrible distortion and never actually connecting at the edges.

Is there some feature I should know of? Or something I’m missing about shapekeys?

If possible, I would also like to minimize distortion as much as possible (especially since images will be UV mapped to these meshes). And for the plane -> torus transformation, I’d like to make the plane first become a cylinder by rolling up, and then having the opposite edges of the cylinder meet to form the torus.

I should also mention, I want the animations to seem natural and intuitive, without vertexes passing through each other to get where they need to be.

What can I use to accomplish my goals? Modifiers? Curves? Armatures? Shapekeys? Any help accepted, but please be specific if it isn’t something obvious.

Try the Cast modifier. Not sure if it would work, but there is a tutorial on you could look at

I managed to achieve this by using two simple deform modifiers.

This can probably be improved, but the attached file explain the basic approach. I consistently used Pi and the golden ratio ((sqrt(5)-1)/2) to find the locations of the empties.

In the file there is an unused shape key (ScX-5)-- change it (and the LocRotScale of the empties) to play with some weird deformations.

I had fun playing with this, hope you find it useful

Basic-topology-000.blend (426 KB)

Actually both transitions (Plane ->Torus and Plane -> Sphere) can be easily done with two SimpleDeform Bend modifiers using helper Empties. Then simply animate the factor parameters (in Blender 2.5)
I didn’t see the post above :slight_smile:
Here is a short test video of the effect:

a fast idea. if it is what you need, make a plane add a shape key sculpted a face, back to basis add key sculpted another face. turn one key off as you turn another on. Is that what teacher wants? You could go that at the breakfast table. get the nose and mouth and parts in the same space. maybe. just a idea.

Blendercookie has a tutorial for this. Using… Shapekeys…? I think.
Search their site for a werewolf tutorial.

Here is another .blend that will hopefully explain the sphere transformation.

Basic-topology-002.blend (463 KB)

Good luck

PS Should have mentioned the torus is on layer one and the sphere on layer two. The camera is adapted for the latter.

Here is my blend file in case it’s still needed :slight_smile:
Similarly to Mats Halldin’s file the transitions are separated in their own layers.

Good luck with your presentation!
Plane2Torus2Sphere.blend (1.29 MB)

Thank you guys so much :smiley:
I don’t know why I didn’t try having a semi-cylinder wrap up into a sphere; I never thought of it :eek:

Also, I noticed that there’s always a little dot on both of your spheres (and my own), at both poles, whenever the empties are at exact multiples of pi. Zooming in,the dots reveal loads of self-intersection. The only way to fix it is to make the empty offset at slightly greater than a multiple of pi :eek:. Is that just because of floating-point imprecision, or something? Not a big deal, of course, since it’s not possible to see unless zoomed in a lot, but I was wondering about that :stuck_out_tongue:

Anyways, I don’t think I’m recreating Wikipedia’s coffee mug image, since it’ll work perfectly for my presentation and my teacher wouldn’t mind. But I definitely needed to make my own plane -> torus and plane -> sphere, at least for the purpose of suiting my ideas (:p), so thank you guys so much for this :smiley: