"Refolding Planar Polygons"

This paper describes an algorithm for generating a guaranteed-intersection-free interpolation sequence between any pair of compatible polygons. Our algorithm builds on prior results from linkage unfolding, and if desired it can ensure that every edge length changes monotonically over the course of the interpolation sequence. The computational machinery that ensures against self-intersection is independent from the distance metric that determines the overall character of the interpolation sequence. This approach provides a powerful control mechanism for determining how the interpolation should appear, while still assuring against intersection and guaranteeing termination of the algorithm. Our algorithm also allows additional control by accommodating set of algebraic constraints that can be weakly enforced throughout the interpolation sequence.



Iben, H. N., O'Brien, J. F., and Demaine, E. D., "Refolding Planar Polygons." The Proceedings of the 2006 Symposium on Computational Geometry, pages 71-79, Sedona, Arizona, June 5-7, 2006.

Download PDF           BibTex 



Iben, H. N., O'Brien, J. F., Demaine, E. D., "Refolding Planar Polygons." ACM SIGGRAPH 2004, Los Angeles, California, August 8-12. Technical Sketch.

Download PDF          


Examples

The following movie is Quicktime MPEG-4 encoded. (Quicktime version 6 or higher is needed to view it.)

Full Paper Movie
Full Movie (55 Mb)



Piston example

An intersection-free interpolation sequence generated using our algorithm. For this example, all edge lengths were held constant, the linear interpolation of vertex positions was used for the direction heuristic, and the total computation time was 1.6 minutes on a 3.06 GHz Pentium IV computer with 1 GB of memory.




Jagged teeth, constrained edge lengths
Jagged teeth, unconstrained edge lengths

This example interpolates between two configurations of interlocked teeth. The top row shows the result computed with the edge lengths constrained to change monotonically and required 5.0 minutes of computation. The bottom row shows the result computed with unconstrained edge lengths and required 1.8 minutes of computation.




Vertex position metric alone
Collision avoidance algorithm

The top row demonstrates how using the simple vertex position metric alone will, as expected, generate a sequence with self intersections. The bottom row illustrates how our collision avoidance machinery alters the vertex motions to avoid self intersection. Computation times were less than one second.




Vertex position metric
Addition of distance constraints
Joint angle distance metric

These images show interpolation between a box with an arm-like protrusion and a rotated version of the box with the arm bent. These simple examples demonstrate how the direction metric and constraints can affect the computed sequence. The first row shows the result computed using the vertex position metric. The second row shows the result for the vertex position metric after several extra distance constraints have been added. The bottom row uses a distance metric based on joint angles with no additional constraints. For each row, the edge lengths were held fixed and less than two seconds of computation was required. (All other examples use the vertex position metric.)




Leaf to plane, constrained edge lengths
Leaf to plane, unconstrained edge lengths

As an experiment, we relaxed the requirement that steps never increase energy. The top row was computed with constrained edge lengths, requiring 4.1 minutes of computation. The bottom row has unconstrained edge lengths, requiring 2.0 minutes of computation. The leaf and plane outlines were provided by Marc Alexa. Note that these input objects are not symmetric.





Examples of interpolating with constrained edge lengths between levels of the Hilbert curve. The frames in the top row have 260 vertices and computation time was 2.0 minutes. The bottom row frames have 1026 vertices and required 1.3 hours of computation.




Struts examples

In addition to constrained edge lengths, this example has eighteen distance constraints (drawn light gray in the first and last frames). The total computation time was 1.3 minutes.




Key frame example

This example was created by generating two successive sequences using three key frames. The keys are shown in the first, center, and last positions. Total computation time was three seconds.




Two polygons

Transforming between two polygons, with unconstrained edge lengths. Total computation time was less than three seconds.





This example interpolates between a letter U and S, demonstrating that adding distance constraints can control the animation sequence. The first row shows the result computed using the vertex position metric alone, requiring eighteen seconds of computation time. The middle row shows the animation after adding 41 distance constraints to create a more rigid motion, requiring 5.5 minutes. The bottom row displays a different motion created using less distance constraints (19), requiring 3.0 minutes. For each row, the edge lengths were constrained to change monotonically.




Letters

Our final example. Total computation time was less than one second.


Project Members

Hayley N. Iben James F. O'Brien Erik D. Demaine