Solving convex programs by random walks
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Polygonal chains cannot lock in 4D
Computational Geometry: Theory and Applications
Proceedings of the nineteenth annual symposium on Computational geometry
A combinatorial approach to planar non-colliding robot arm motion planning
FOCS '00 Proceedings of the 41st Annual Symposium on Foundations of Computer Science
Locked and unlocked chains of planar shapes
Proceedings of the twenty-second annual symposium on Computational geometry
Proceedings of the twenty-second annual symposium on Computational geometry
SIGGRAPH '04 ACM SIGGRAPH 2004 Sketches
On Unfolding 3D Lattice Polygons and 2D Orthogonal Trees
COCOON '08 Proceedings of the 14th annual international conference on Computing and Combinatorics
3D Topology Preserving Flows for Viewpoint-Based Cortical Unfolding
International Journal of Computer Vision
Morphing planar graphs while preserving edge directions
GD'05 Proceedings of the 13th international conference on Graph Drawing
On unfolding lattice polygons/trees and diameter-4 trees
COCOON'06 Proceedings of the 12th annual international conference on Computing and Combinatorics
Energy-Based pose unfolding and interpolation for 3d articulated characters
MIG'11 Proceedings of the 4th international conference on Motion in Games
Hi-index | 0.00 |
We present a new algorithm for unfolding planar polygonal linkages without self-intersection based on following the gradient flow of a "repulsive" energy function. This algorithm has several advantages over previous methods. (1) The output motion is represented explicitly and exactly as a piecewise-linear curve in angle space. As a consequence, an exact snapshot of the linkage at any time can be extracted from the output in strongly polynomial time (on a real RAM supporting arithmetic, radicals, and trigonometric functions). (2) Each linear step of the motion can be computed exactly in O(n2) time on a real RAM where n is the number of vertices. (3) We explicitly bound the number of linear steps (and hence the running time) as a polynomial in n and the ratio between the maximum edge length and the initial minimum distance between a vertex and an edge. (4) Our method is practical and easy to implement. We provide a publicly accessible Java applet [1] that implements the algorithm.