I'm finding that when I try to use the standard methods of interpolation in polar space, the result is not what I would expect. For example, when interpolating between the following polar coordinates:
- $(3, 0)$
- $(1, \pi/2)$
- $(3, \pi)$
- $(1, 3\pi/2)$
one would expect the result to be an ellipse. However, using cosine interpolation, the result looks like this.
Is anyone aware of a different method that would produce the results I am looking for?
In order to preserve the convexity of the shape, one should make sure that the function $r=r(\theta)$ has "flat" minima; in contrast, the maxima can and should be relatively sharp. Applied to your data, the cosine interpolation yields $r=2+\cos 2\theta$ while the ellipse would have equation $r=3/\sqrt{5-4\cos 2\theta}$. While the large-scale behavior of these functions is the same, their extrema look rather different.
You can fix this by preprocessing the $r$-values. Instead of $(r,\theta)$ pairs, interpolate between $(1/r^2,\theta)$ pairs and then apply the inverse function $1/\sqrt{r}$. In your problem, this means interpolating between
which yields $(5-4\cos 2\theta)/9$. Hence, the shape is $r=1/\sqrt{(5-4\cos 2\theta)/9}$ which is exactly the ellipse with your four points as vertices.
To show that this works for shapes other than ellipses, I replaced the first point with $(5,0)$. The result is a nice convex egg with equation $r= 15/\sqrt{121-8\cos \theta -104 \cos 2\theta}$