Equation of Logarithmic Spiral That Goes Through Given Points

93 Views Asked by At

Suppose I generate the following list of points:

0 (5.00000, 15.00000)
1 (5.00000, -1.66667)
2 (-0.55556, -1.66667)
3 (-0.55556, 0.18519)
4 (0.06173, 0.18519)
5 (0.06173, -0.02058)
6 (-0.00686, -0.02058)
7 (-0.00686, 0.00229)
8 (0.00076, 0.00229)
9 (0.00076, -0.00025)
10 (-0.00008, -0.00025)
11 (-0.00008, 0.00003)
12 (0.00001, 0.00003)
13 (0.00001, -0.00000)
14 (-0.00000, -0.00000)

Which looks like this:

enter image description here

What is the equation of the continuous logarithmic spiral that goes through all of those points? Either parametric or polar is fine.

For reference, this is the Python code I used to generate those points:

import math
start_x = -45 
start_y = 15
points = [(start_x,start_y)]
for ii in range(20):
  
  if ii%4 == 0:
    start_x += 50*math.exp(-ii*math.log(3))
  elif ii%4 == 1:
    start_y -= 50*math.exp(-ii*math.log(3))
  elif ii%4 == 2:
    start_x -= 50*math.exp(-ii*math.log(3))
  else:
    start_y += 50*math.exp(-ii*math.log(3))
  print(ii, f'({start_x:.5f}, {start_y:.5f})')
  points.append((start_x,start_y))