views:

1734

answers:

2

What is the equation of a helix parametrized by arc length (i.e. a function of arc length) between any two points in space? Is there any function for this ? How do i implement the same using matlab or mathematica ?

+2  A: 

To find the arc length parameterization of the helix defined by

    r(t)  =  cos t i + sin t j + t k

Arc Length = s = Integral(a,b){sqrt((dx/dt)^2 + (dy/dt)^2 + (dz/dt)^2) dt}

First find the arc length function

     s(t) = Integral(0,t) { sqrt((sin u)^2 + (cos u)^2 + 1) du }
          = Integral(0,t) { sqrt(2) du } = sqrt(2) * t

Solving for t gives

    t   =  s / sqrt(2)

Now substitute back to get

    r(s)  =  cos(s / sqrt(2)) i + sin(s / sqrt(2)) j + (s / sqrt(2)) k

I'll leave the last bit to you!

Mitch Wheat
+2  A: 

just to add to Mitch Wheat's answer, helices are not unique; for a given axis, the degrees of freedom are distance between turns, radius, and phase (P, A, and phi below)

if you generalize to

w = 2*pi/P
r(t) = (A cos (wt-phi)) i + (A sin (wt-phi)) j + (t) k

then one way to analyze the arclength as a function of t (without having to compute the arclength integral explicitly) is to realize that the magnitude of velocity is constant; the component of velocity parallel to the radius is 0, the component of velocity parallel to the axis is 1, the component of velocity perpendicular to both radius and axis is Aw, so therefore the magnitude of velocity is speed = sqrt(1 + A2w2), => arclength s = sqrt(1 + A2w2)t

You'd need some way of defining the axis, P, A and phi as a function of whatever inputs you are given. Just the endpoints and arclength wouldn't be enough.

Jason S