How does one interpolate between polar coordinates? 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?
 A: 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 

$(1/9,0)$, $(1,\pi/2)$, $(1/9,\pi)$, $(1,3\pi /2)$   

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}$ 
