Two-dimensional morphing is transforming an array of m by n pixels into another array progressively. An intermediate value between two pixels can be obtained by interpolating rgb values of the source and end pixels in more or less complicated ways. However, straight color interpolation creates many unwanted side effects such as ghosting and unnatural transitions.
![]() |
A better way to accomplish two-dimensional morphing is to identify line segments on the source image with line segments on the target image so that pixel values will actually move across the image so that features will be preserved better. For example to map a face to another face, it is important that certain features such as the eyes, nose, and mouth are identified so that intermediate images actually look natural. The mouth of the source image will move to the proper place in the target image.
Three dimensional morphing has been done using more or less the same technique. Instead of dealing with pixels in a two-dimensional image though, the people who did this used pixels in a three dimensional structure. The algorithms however are still the same, the features identified being now points, edges, cubes, and other three-dimensional structures.
The MIT approach is different however, from any prior work we could find on morphing. They are transforming objects, and not interpolating pixels. They are dealing with transforming the geometry itself of an object. The representation of a three-dimensional object is a union of the triangles in its triangulation, and our goal is an algorithm that maps triangles in the source object to triangles in the target.
Three dimensional morphing of objects
The three-dimensional morpher creates intermediate scenes, calculating the geometry of every scene that falls between the source and the target. In the figure above, every intermediate object between a table and a chair, is an object by itself, and it’s hard to know when the object stops being a table and starts being showing smooth transitions of geometry as well as the color varying continuously.

