The radius, the start and end angles for the arc
command can be calculated, see the following example.
(Update:) For the red "spiral" line I have used the plot
function with a polar coordinate. The length of the polar coordinate linearly increases with the angle going from point (z)
to (a)
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{topaths}
\begin{document}
\begin{tikzpicture}
\draw [<->]
(0,4) node[left]{$ \mbox{Im} (z) $}
-- (0,0)
-- (4,0) node[below]{$ \mbox{Re} (z) $};
\draw [<->]
(1,3) coordinate (a) node[above] {$ \alpha z $}
-- (0,0)
-- (2,1) coordinate (z) node[right] {$ z $};
\draw[blue]
let \p{z} = (z),
\n{angle_z} = {atan(\y{z}/\x{z})},
\p{a} = (a),
\n{angle_a} = {atan(\y{a}/\x{a})},
\n{radius} = {sqrt(\x{z}*\x{z} + \y{z}*\y{z})}
in
(z) arc[start angle=\n{angle_z},
end angle=\n{angle_a},
radius=\n{radius}]
;
\draw[red, densely dashed]
let \p{z} = (z),
\p{a} = (a),
\n{zAngle} = {atan2(\y{z}, \x{z})},
\n{aAngle} = {atan2(\y{a}, \x{a})},
\n{diffAngle} = {\n{aAngle} - \n{zAngle}},
\n{zLength} = {sqrt(\x{z}*\x{z} + \y{z}*\y{z})},
\n{aLength} = {sqrt(\x{a}*\x{a} + \y{a}*\y{a})},
\n{diffLength} = {\n{aLength} - \n{zLength}}
in
plot[
smooth,
variable=\t,
domain=\n{aAngle}:\n{zAngle},
samples=8,
]
(\t:{\n{zLength} + \n{diffLength} * (\t - \n{zAngle}) / \n{diffAngle}})
;
\end{tikzpicture}
\end{document}

Remark:
The order of arguments for function atan2
has changed in TikZ 3.0: atan2(<y>, <x>)
. In case of older TikZ versions, <y>
and <x>
has to be exchanged.