Archimedean 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

• 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. Feb 17, 2020 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, 2020 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, 2020 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, 2020 at 7:01
• If I am not confusing things, the parameter $\theta$ is the polar angle. We applied the formalism but reexpressed everything in terms of $\theta$, using that derivative of arclength by $\theta$ is $\sqrt{1+\theta^2}$ in this case. If we would like to parametrize by arclength, we should substitute in the curvature formula the value of $\theta$ expressed by arclength, i. e. solve $\theta$ from $s=\frac12(\operatorname{arcsinh}(\theta)+\theta\sqrt{1+\theta^2})$. I don't know any explicit expression for that. Feb 18, 2020 at 9:36

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

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

Archimedean[θ]
ac[θ]
l[θ]


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 = {
κ[s] == ((2 + θ[s]^2)/(1 + θ[s]^2)^(3/2)),
θ'[s] == 1/Sqrt[1 + θ[s]^2],
t'[s] == κ[s] n[s],
n'[s] == -κ[s] t[s],
r'[s] == t[s],
t[0] == {1, 0},
n[0] == {0, 1},
r[0] == {0, 0},
θ[0] == 0
};

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