Parametrization by arclength

752 Views Asked by At

I could not re-parametrize the curve

r[s_] := {-(5 + 2*Cos[2*s])*Sin[3*s], (5 + 2*Cos[2*s])*Cos[3*s], 
2*Sin[2*s]}

neither by hand nor with Mathematica. Is there any method else to parametrize the curve with uniform velocity (edit: not velocity, speed) without taking the integral with respect to parameter s?

Thank you.


UPDATE2:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.3151&rep=rep1&type=pdf

Link

http://algorithmist.net/docs/arcparam.pdf

I have not read them all thoroughly but I think this is the solution. I would like to ask a question on Mathematica SE for coding these but I cannot due to the rules of the website. Does anyone know about these methods, how and which one to use?

Thanks.


2

There are 2 best solutions below

4
On BEST ANSWER

Your notation is a bit risky, as $s$ usually denotes the curvilinear abscissa. Here I am using $a$ for the latter.

I recommend recasting the problem as a differential equation.

You start from the expression of the curvilinear abscissa $a$ $$\frac{da}{ds}=\sqrt{\left(\frac{dx}{ds}\right)^2+\left(\frac{dy}{ds}\right)^2+\left(\frac{dz}{ds}\right)^2}=\sqrt{x'^2+y'^2+z'^2}$$ and solve for the parameter $s$ as a function of $a$: $$\frac{ds}{da}=\frac1{\sqrt{x'^2+y'^2+z'^2}}.$$ You can integrate with Runge-Kutta.


Alternatively, you can sample points on the curve and approximate by a sequence of line segments or, much better, circular arcs (taking points in triples).

Rectification of the approximating curve is straightforward.

3
On

The given lines are center-lines of a standard MoebiusBand.So it would appear it is at all possible to re-parametrize the Band with respect to toroidal coordinates with some transformations to find arc length.

MoebiusBandParametrization

r[s_,v_]:={-(5+2*Cos[2*s])*Sin[3*s+v],(5+2*Cos[2*s])*Cos[3*s+v],2*Sin[2*s]}
ParametricPlot3D[r[s,t],{s,0,2Pi},{t,0,Pi/3},Mesh->{40,3},PlotStyle->{Yellow},Boxed->False,Axes->None]
r[s_,v_]:={-(5+2*Cos[2*s])*Sin[3*s+v],(5+2*Cos[2*s])*Cos[3*s+v],2*Sin[2*s]}
ParametricPlot3D[r[s,t],{s,0,2Pi},{t,0,Pi 2},Mesh->{40,6},PlotStyle->{Yellow},Boxed->False,Axes->None]