# archimedian spiral from curvature

I am trying to reconstruct an archimedean spiral from its curvature

$$\kappa (\text{s\_})\text{:=}\frac{s^2+2}{\left(s^2+1\right)^{3/2}};$$

eqns:

$$\left( \begin{array}{c} t'(s)=\frac{\left(s^2+2\right) n(s)}{\left(s^2+1\right)^{3/2}} \\ n'(s)=-\frac{\left(s^2+2\right) t(s)}{\left(s^2+1\right)^{3/2}} \\ r'(s)=t(s) \\ t(0)=\{1,0\} \\ n(0)=\{0,1\} \\ r(0)=\{0,0\} \\ \end{array} \right)$$

eqns = {(t^\[Prime])[s]==((2+s^2) n[s])/(1+s^2)^(3/2),(n^\[Prime])[s]==-(((2+s^2) t[s])/(1+s^2)^(3/2)),(r^\[Prime])[s]==t[s],t[0]=={1,0},n[0]=={0,1},r[0]=={0,0}}

sol = First@NDSolve[eqns, {r, t, n}, {s, 0, 64 2 \[Pi]}]


This gives a solution:

plotting the result:

With[{s1=(r/.sol)["Domain"][[1,1]],s2=(r/.sol)["Domain"][[1,2]]},

ParametricPlot[Evaluate[r[s]/.sol],{s,s1,s2},PlotRange->30{{-1,1},{-1,1}},AspectRatio->Automatic]]


gives this obviously non archimedean spiral:

What ist going wrong here?

Any hints wellcome

• Incomplete info. You have not provided the definition of eqns. – Henrik Schumacher Feb 17 at 16:42
• I can see them but I cannot copy them. And I am too lazy to retype them (like virtually every other user here). So, what is not copyable does not exist. – Henrik Schumacher Feb 17 at 16:54
• Are you sure your formula for curvature is correct? I believe yours is curvature as function of the polar angle rather than of the arclength. – მამუკა ჯიბლაძე Feb 17 at 19:39
• Precisely - it only works for the arclength. You need to correct the equations using $\frac{df}{ds}=\frac{df}{d\theta}\frac{d\theta}{ds}$ for $f=r,t,n$, where (in your case) $\frac{d\theta}{ds}=\frac1{\sqrt{1+\theta^2}}$ – მამუკა ჯიბლაძე Feb 17 at 20:44
• With equally spaced values of the angular parameter, points must be at equal radial angles rather than arc length distances from each other. – მამუკა ჯიბლაძე Feb 18 at 7:01

Ok, thanks to მამუკა ჯიბლაძე I got the following solution:

Archimedean[\[Theta]_]:=\[Theta]{Cos@\[Theta],Sin@\[Theta]}
ac[\[Theta]_]:=ArcCurvature[Archimedean[\[Theta]],\[Theta]]//Simplify
l[\[Theta]_]:=Archimedean[\[Theta]]//Sqrt[Total[D[#,\[Theta]]^2]]&//Simplify

Archimedean[\[Theta]]
ac[\[Theta]]
l[\[Theta]]


this gives the archimedean, it's curvature and the arclength derivative $$\left( \begin{array}{c} \{\theta \cos (\theta ),\theta \sin (\theta )\} \\ \frac{\theta ^2+2}{\left(\theta ^2+1\right)^{3/2}} \\ \sqrt{\theta ^2+1} \\ \end{array} \right)$$

here are the (differential) equations to be solved $$\begin{array}{l} \kappa (s)=\frac{\theta (s)^2+2}{\left(\theta (s)^2+1\right)^{3/2}} \\ \theta '(s)=\frac{1}{\sqrt{\theta (s)^2+1}} \\ t'(s)=n(s) \kappa (s) \\ n'(s)=-t(s)\kappa (s) \\ r'(s)=t(s) \\ t(0)=\{1,0\} \\ n(0)=\{0,1\} \\ r(0)=\{0,0\} \\ \theta (0)=0 \\ \end{array}$$

now let's solve and plot a perfect (with respect to NDSolve) archimedean with perfectly equal arclength-spaced points.

eqns = {
\[Kappa][s] == ((2 + \[Theta][s]^2)/(1 + \[Theta][s]^2)^(3/2)),
\[Theta]'[s] == 1/Sqrt[1 + \[Theta][s]^2],
t'[s] == \[Kappa][s] n[s],
n'[s] == -\[Kappa][s] t[s],
r'[s] == t[s],
t[0] == {1, 0},
n[0] == {0, 1},
r[0] == {0, 0},
\[Theta][0] == 0
};

sol = First@NDSolve[eqns, {r, t, n, \[Theta], \[Kappa]}, {s, 0, 200}]
With[{sr = (r /. sol)["Domain"][[1]]},
Table[Evaluate[r[s] /. sol], {s, sr[[1]], sr[[2]], 1}]] //
ListPlot[#, AspectRatio -> Automatic] &