General method to "naturally interpolate" to a complex map?

Given a region of the complex plane and a map $z \to f(z)$, is there a general way to "naturally interpolate" the point $z$ to $f(z)$ in such a way that the movement follows a "natural" smooth path that doesn't generate unnecessary "kinks" and overlaps?

Background: I make educational animations. A couple of projects I've been playing around with involve complex numbers. I'm trying to figure out a general method to animate complex maps that look good and natural in terms of smooth deformations of the complex plane.

Forgive me, but I have no way to confidently and formally state this question at this point. But I can illustrate it.

Here's a great video illustrating Möbius transformations. You can see that for the inversion, the points on the plane follow a quite natural path from start to finish. This follows naturally from the rotation of the sphere used in the projection, in this particular case.

But here's what a naive linear interpolation ($z \to (1-t) z + t f(z)$, with $0 \leq t \leq 1$) of the same transformation $z \to \frac{1}{z}$ looks like:

inversion with linear interpolation

As you can see, this method creates a lot of "kinks" and weird bends along the way. (Also, ignore the straight lines). I'm trying to avoid this, as it makes the animation more confusing than it should be.

Some other examples. Here's the same method for $z \to z^2$:

z to z^2

And $z \to e^z$ (using $[-1,1] \times [-\pi,\pi]$):

z to exp(z)

In all these cases, I can imagine different and more natural ways to deform along the way, but I haven't come up with a general way to tackle this problem yet. I'm hoping there's something in complex analysis that can be helpful here, but I haven't found anything yet. Any ideas?

EDIT: Here's $z \to e^z$ using Rahul's method with some translation:

z to exp(z)

This is pretty much a perfect example of the sort of "natural" transformation I'm looking for. Each new step seems like an obvious deformation of the previous step following the same overall "style". It creates a nice sense of deliberation, which makes the movement intuitive, comprehensible and predictable.


Suppose $f$ is such that $f(0)=0$ and $f'(0)=1$. Then we can define $$f_t(z) = \begin{cases} z & \text{if $t = 0$,} \\ \frac1tf(tz) & \text{otherwise.} \end{cases}$$ One can verify that $\lim\limits_{t\to0}f_t={\rm id}$ and $f_1=f$, so $f_t$ interpolates between ${\rm id}$ and $f$. Furthermore, if $f$ is an analytic (or polynomial, or rational, etc.) function, then so is $f_t$.

For example, when $f(z)=e^z-1$, then $f_t(z)$ is also exponential:

enter image description here

If $f$ does not satisfy the conditions $f(0)=0$ and $f'(0)=1$, we will transform it so that it does. Pick a point $z_0$ such that $f'(z_0)\ne 0$. Let $w_0=f(z_0)$ and $a=f'(z_0)$. Define a pair of rigid transformations $$\begin{align} u=\phi_0(z) &= a^{1/2}(z-z_0), \\ v=\phi_1(w) &= a^{-1/2}(w-w_0), \\ \end{align}$$ and define $g$ so that this diagram commutes: $$\require{AMScd} \begin{CD} z @>{\phi_0}>> u \\ @V{f}VV @VV{g}V \\ w @>>{\phi_1}> v \end{CD}$$ One can verify that $g(0)=0$ and $g'(0)=1$. Thus, $g$ satisfies the conditions for interpolation as above. We can also construct a family of rigid transformations interpolating between $\phi_0$ and $\phi_1$, for example via $$\phi_t = a^{1/2-t}(\cdot-(1-t)z_0-tw_0).$$ Then we can interpolate $f$ by "slicing" the diagram a part of the way down, giving $$f_t = \phi_t^{-1}\circ g_t\circ\phi_0.$$

Here are some more examples.

$f(z)=1/z$ and $z_0=-i$:

enter image description here

$f(z)=e^z$ with $z_0=0$:

enter image description here

Sometimes it helps to insert other transformations before doing the interpolation. For example, $$\require{AMScd} \begin{CD} z @>{\log}>> @>{\phi_0}>> u \\ @V{f}VV @. @VV{g}V \\ w @>>{\log}> @>>{\phi_1}> v \end{CD}$$

$f(z)=z^2$ with $z_0=\log 1$ (this reduces to $f_t(z)=z^{2^t}$, not too far from the obvious $z^{1+t}$):

enter image description here


I have also made some graphics like this where I needed some kind of interpolation. I often ended up trying to find a general formula that includes the initial case as well as the target as special cases where each just some parameters have to be changed. For example for the function $z \mapsto z^2$ The more general function would be $f_c(z) = z^c$ and for the interpolation I'd just try to 'slide' c from $1$ to $2$.

In the following example lets have a look at a moebius transformation $z \mapsto \frac{z}{2z+3}$ Here you have multiple choices of doing the transition. Now you can for example take $f_{a,b,c}(z) = \frac{z}{(az+b)^c}$ Here we can for example 'slide' $c$ from $0$ to $1$ with $a=2, b=3$ or slide simultaneausly $a$ from $0$ to $2$ and $b$ from $1$ to $3$ or combine both with the sliding of $c$.

For the example $z \mapsto e^z$ such a 'more general funciton' might look like this $z \mapsto az+be^z$ (which results in linear interpolation with the suggested method) but you can also try $z \mapsto z^a+e^{zb} -1$ etc.

It often takes some trial and error to find a 'the right way' but this seems to work for many examples. I often use then an additional variable $t$ that definides the sliding with $t=0$ for the initial state and $t=1$ for the target state and $t\in(0,1)$ for everything between, so then the function looks like this:

$$F_t(z) = f_{2t,2t+1,t}(z)$$

The use of this variable makes it easier to modify again the sliding action by replacing t by different functions that map $[0,1]$ to $[0,1]$ continuously with $0 \mapsto 0$ and $1 \mapsto 1$. You can easily make a list of different functions like this which you can try for then optimizing the transitions. E.g. $t \mapsto sin(t\pi)^c$,$t \mapsto t^c$,$t \mapsto -2t^3+3t^2$ and so on.

EDIT: We found still no satisfying solution, here the graphics of $z \mapsto \frac 1 z$ relating to the problem mentioned in the comments. z to 1/z mapping in 3d