Complex numbers can be used to represent rotations. Is it possible to interpolate between 2 normalized complex numbers in geometrical sense without going through the angles they represent?
Example:
a0 => z0 = sin(a0) + cos(a0) * i
a1 => z1 = sin(a1) + cos(a1) * i
I would like to obtain:
z = ...
where z represent the angle defined as a0 + (a1 - a0) * t, where t is [0, 1] without actually computing a0 and a1.
Literally, mostly yes. In practice, no.
Here's the literal approach: Compute $$ z = (1-s) z_0 + s z_1 $$ for some $s \in [0, 1]$. Then compute $$ z' = \frac{z}{|z|} $$ As long as $a_0$ and $a_1$ differ by less than 180 degrees, as $s$ varies from $0$ to $1$, the number $z'$ will range over all "rotations" between $z_0$ and $z_1$.
Here's the practical part:
The problem is that it won't do so "nicely": if $z_0$ and $z_1$ are near opposites, it'll mostly give you rotations near $z_0$ and $z_1$, "racing through" the rotations in the middle when $s \approx 0.5$.
The exact relation between $s$ and the $t$ you've named can be written out, so it's possible to do select the "s" values carefully to get a uniform-speed variation between $z_0$ and $z_1$...but it involves more mess than computing the angles in the first place.
There's another sense in which it's practically impossible. Consider the case where $a_0 = 0$ and $a_1 = 2\pi$. Then $z_0$ and $z_1$ are identical, and there's no way to know that they didn't arise from $a_0 = 0$ and $a_1 = 0$. If they arose from the first pair, then for $t = 0.5$, you want to compute $z = -1 + 0i$; if they arose from the second, then for $t = 0.5$, you want to compute $z = 1 + 0i$. In short you need to get two different answers from your interpolater given the same inputs. That's not possible.