[Math] Transform polygons into one another

algorithmsgeometryinterpolationpolygonstransformation

I am aware that there must be no standard way to achieve this, but I don't know what has been done so far. I feel like I'm missing keywords to investigate further.

I have any two 2D polygons $a$ and $b$, possibly concave but not crossed, and they share the same barycenter.

How do I gradually transform $a$ into $b$, in a way that, for the resulting "movie" $(c_t)_{t\in[0,1]}$:

  • each $c_t$ "frame of the movie" is a non-crossed polygon
  • $c_0=a\ \&\ c_1 = b$
  • the number of vertices in $c_t$ respects $V(a) \leqslant V(C_t) \leqslant V(b)$ (or the other way round) for any $t$
  • the amount of "area adjustment" $\int_0^1{A'(t)^2\mathrm{d}t}$ is minimal, where $A'(t)$ is the derivative of the area of $c_t$ with respect to $t$. Or anything that would measure "area adjustment". The idea is that, if workers where digging material in and out to perform the transformation, they should perform the least effort. (no matter where the material is put and where it is taken out from)

I am aware that there will be discontinuities if $V(a)\neq V(b)$, but I don't mind. What I'm more interested in is: what choices will I have to make? Are there interesting results that would help me build an algorithm finding a $c$? Are there interesting readings about interpolating polygons into one another?

[UPDATE:] As suggested by Joseph O'Rourke, this is a really good reading about polygon morphing.
Based on the algorithm they suggest, what constraint should I use then for the morph to let the area of $c$ vary as few as possible between $A(a)$ and $A(b)$?

Best Answer

There as been some sophisticated work on morphing without self-intersection between two rather different polygons with fixed edge lengths:

Iben, Hayley N., James F. O’Brien, and Erik D. Demaine. "Refolding planar polygons." Discrete & Computational Geometry 41.3 (2009): 444-460. (Author link.)


Piston


Related Question