Let us have three points: $p_0 = (0,0)$, $p_1 = (a,0)$ and $p_2=(b,c)$. (We can assume that $b<a$.)

I want to define a log spiral (in polar space) of the form $r=r_0e^{k\theta}$ from some $center=(x,y)$ that passes through the three points. We can assume the spiral passes through $p_0$ when $\theta = 0$, so that $r_0^2=x^2+y^2$.

We must compute values for $r_0$, $k$ and another parameter that would allows us to find $centre$.

It is easy to setup a system of equations to represent the problem, but it is very ugly, and I am not sure how to solve it computationally.

For example, if $\theta_0 = cos^{-1}[(r_0^2 + r_1^2 - a^2)/2r_0r_1]$ and $\theta_1 = cos^{-1}[(r_0^2 + r_2^2 - d^2)/2r_0r_2]$, where $d^2=b^2+c^2$, we can have equations, such as:

$r_1 = r_0e^{k\theta_0} = r_0e^{k\times cos^{-1}[(r_0^2 + r_1^2 - a^2)/2r_0r_1]}$

$r_2 = r_0e^{k\theta_1} = r_0e^{k\times cos^{-1}[(r_0^2 + r_2^2 - d^2)/2r_0r_2]}$

and another uglier equation involving the angle $\theta_2$ between $p_1$ and $p_2$: $r_2 = r_1e^{k\theta_2}$.

There must be a better way of setting the equations to solve the problem, involving a better representation of the problem, for example a complex representation, or some clever geometry.

EDIT: Complex Representation

We can represents the points in the complex plan as: $p_0 = 0$, $p_1 = a$ and $p_2=b + ci$.

Then, the problem is equivalent to finding two complex numbers z and s such that the graph of the complex-valued function over the reals $z^\theta + s$ passes through the points. z should not be a muliple of $e^i$, in which case it will reduce to a circle. In this case, s is the centre of the spiral.


Solution 1:

Here is one method. Consider the three given points in the complex plane and the unknown $\,z\,$

$$ p_0 = 0,\quad p_1=a,\quad p_2 = b+i\,c,\quad z = x+i\,y \tag{1}$$

where $\,z\,$ is the center of the logarithmic spiral. The given conditions are not enough to uniquely specify the spiral. However, if we assume that $\,p_0,p_1,p_2\,$ have equal angular difference from $\,z,\,$ then the equation

$$ w := (p_1-z)/(p_0-z) = (p_2-z)/(p_1-z) \tag{2}$$

has the solution

$$ z = a^2/(2a-b-i\,c). \tag{3}$$

The equation of the spiral is

$$ a(n) := z + (p_0-z)w^n. \tag{4}$$

Here is a simple example. Let$\,a=1,\, b=2,\, c=1.\,$ Then the calculations produce

$$z=i,\quad p_0-z=-i,\quad w=1+i,\quad a(n) = i - i(1+i)^n. \tag{5} $$

The points $\,(0, 1, 2+i, 2+3i,5i,-4+5i)\,$ for $\,0\le n\le 5\,$ are on a logarithmic spiral.