**Motion in Space**

**Copyright © 2001 by James F. Hurley, University of Connecticut Department of Mathematics, Unit 3009, Storrs CT 06269-3009. All rights reserved.**

*The interactive version of this worksheet is in the Math 210 folder in the Workspace volume of MSB 203.*

This worksheet, a continuation of
*Space Curves*
, focuses on motion of a particle along a curve

**r**
(
*t*
) =
*x*
(
*t*
)
**i**
+
*y*
(
*t*
)
**j**
+
*z*
(
*t*
)
**k**
= <
*x*
(
*t*
),
*y*
(
*t*
),
*z*
(
*t*
) >.

in space. To begin, return to the first curve considered in the previous worksheet, namely the circular helix

** r**
(
*t*
) = <
>.

It is easy to calculate its veclocity and acceleration vectors, namely,

**v**
(
*t*
) = <
> and
**a**
(
*t*
) = <
>.

Since the speed of a particle moving along the curve is ||
**v**
(
*t*
) || =
=
, the unit tangent vector is

**T**
(
*t*
) =
<
>.

To find the unit normal vector
**N**
(
*t*
), first differentiate
**T**
(
*t*
), and then divide by its length, which for the circular helix is the constant
.

[
**T**
(
*t*
)] =
<
>, so
** N**
(
*t*
) =
**i**
**j**
.

The next routine plots the helix, along with its unit tangent and normal vectors at the point where
*t*
=
/2. It draws the unit tangent vector by plotting the segment of the tangent line

** r**
= < 0, 1,
/2 > +
*t*
<
>

at the point
*P*
(0, 1,
/2) in the direction of the unit tangent vector
**T**
= <
> for
*t*
ranging from 0 to 1. (At
*t*
= 0, we are at
*P*
and at
*t*
= 1 we are at the end of the
**T**
(
/2) drawn from initial point
*P*
.) It uses the same approach for
**N**
(
/2): starting from
*P*
it plots the normal line

** r**
= < 0, 1,
/2 > +
*t*
<
>.

for
*t*
between 0 and 1 (where we reach the end of the unit normal vector).

`> `
**with (plots):
curve := spacecurve( [cos(t), sin(t), t], t = 0..2*Pi, color = black, axes=boxed, numpoints = 150, labels = ["x", "y", "z"] ):
utan := spacecurve( [-t/sqrt(2), 1, Pi/2 + t/sqrt(2)], t = 0..1, color = blue, axes = boxed, numpoints = 150 ):
unorm := spacecurve( [0, 1 - t, Pi/2], t = 0..1, color = green, axes = boxed, numpoints = 150 ):
xaxis := spacecurve( [t, 0, 0, t = -1..1, color = magenta] ):
yaxis := spacecurve( [0, t, 0, t = -1..1, color = magenta] ):
zaxis := spacecurve( [0, 0, t, t = -1..6, color = magenta] ):
labx := textplot3d([1.2, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,1.2, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 6.5, `z`], color = magenta):
display(curve, utan, unorm, xaxis, yaxis, zaxis, labx, laby, labz);**

Warning, the name changecoords has been redefined

The binormal vector is defined to be
**B**
(
*t*
) =
**T**
(
*t*
)
´
**N**
(
*t*
). For the helix, this gives

**B**
(
*t*
) =
<
>

=
<1, 0, 1> for t =
/2.

The next routine uses the same technique that plotted
**T**
and
**N**
in the preceding plot to add a plot of this binormal vector at
*t*
=
/2.

`> `
**with (plots):
curve := spacecurve( [cos(t), sin(t), t], t = 0..Pi, color = black, axes=boxed, numpoints = 150, labels = ["x", "y", "z"] ):
utan := spacecurve( [-t/sqrt(2), 1, Pi/2 + t/sqrt(2)], t = 0..1, color = blue, axes = boxed, numpoints = 150 ):
unorm := spacecurve( [0, 1 - t, Pi/2], t = 0..1, color = green, axes = boxed, numpoints = 150 ):
binorm := spacecurve( [t/sqrt(2), 1, Pi/2 + t/sqrt(2)],t = 0..1, color = brown, axes = boxed, numpoints = 150 ):
xaxis := spacecurve( [t, 0, 0, t = -1..1, color = magenta] ):
yaxis := spacecurve( [0, t, 0, t = -1..1, color = magenta] ):
zaxis := spacecurve( [0, 0, t, t = -1..4, color = magenta] ):
labx := textplot3d([1.2, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,1.2, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 4.5, `z`], color = magenta):
display(curve, utan, unorm, binorm, xaxis, yaxis, zaxis, labx, laby, labz, scaling = constrained);**

**Note. **
To display the right angles between the unit normal and unit tangent vectors properly, the command
scaling = constrained
was added to the
display
command. It does not appear in the interactive version of this worksheet.

**Example. **
Exercise 8, Section 14.4 of Stewart's Calculus, 4th Edition, asks for a plot of the parametric curve and corresponding velocity and acceleration vectors with vector representation
**r**
(
*t*
) = <
> for
*t*
= 1.
**
Solution**
. Since

`> `
**with (plots):
curve := spacecurve( [t, t^2, t^3], t = 0..2, color = black, axes=boxed, numpoints = 150, labels = ["x", "y", "z"] ):
veloc := spacecurve( [1 + t, 1 + 2*t, 1 + 3*t], t = 0..1, color = blue, axes = boxed, numpoints = 150 ):
accel := spacecurve( [1, 1 + 2*t, 1 + 6*t], t = 0..1, color = green, axes = boxed, numpoints = 150 ):
xaxis := spacecurve( [t, 0, 0, t = -1..1, color = magenta] ):
yaxis := spacecurve( [0, t, 0, t = -1..1, color = magenta] ):
zaxis := spacecurve( [0, 0, t, t = -1..6, color = magenta] ):
labx := textplot3d([1.2, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,1.2, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 6.5, `z`], color = magenta):
display(curve, veloc, accel, xaxis, yaxis, zaxis, labx, laby, labz);**

It is easy to decompose the accleration vector
**a**
(1) into its tangential and normal components of the acceleration at the point
*P*
(1, 1, 1) corresponding to
*t*
= 1. From the calculations above, for instance,

(1) =
[
**(a á v)/(v á v)] v **
= [22/14] < 1, 2, 3 > = < 11/7, 22/7, 33/7 >.

Then

(1) =
(1) =
=
.

From this, it is easy to calculate

**N**
(1) = [1/||
(1)
||]
(1)
=
.

The next routine plots the accleration and its tangential and normal components at
*t*
= 1.

`> `
**with (plots):
curve := spacecurve( [t, t^2, t^3], t = 0..2, color = black, axes=boxed, numpoints = 150, labels = ["x", "y", "z"] ):
accel := spacecurve( [1, 1 + 2*t, 1 + 6*t], t = 0..1, color = green, axes = boxed, numpoints = 150 ):
asubt := spacecurve( [1 + 11*t/7, 1 + 22*t/7, 1 + 33*t/7], t = 0..1, color = blue, axes = boxed):
asubn := spacecurve( [1 - 11*t/7, 1 - 8*t/7, 1 + 9*t/7], t = 0..1, color = blue, axes = boxed ):
parall1 := spacecurve( [18/7 - 11*t/7, 29/7- 8*t/7, 40/7 + 9*t/7], t = 0..1, color = cyan, axes = boxed ):
parall2 := spacecurve( [-4/7 + 11*t/7, -1/7 + 22*t/7, 16/7 + 33*t/7], t = 0..1, color = cyan, axes = boxed ):
xaxis := spacecurve( [t, 0, 0, t = -1..1, color = magenta] ):
yaxis := spacecurve( [0, t, 0, t = -1..1, color = magenta] ):
zaxis := spacecurve( [0, 0, t, t = -1..6, color = magenta] ):
labx := textplot3d([1.2, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,1.2, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 6.5, `z`], color = magenta):
display(curve, accel, asubt, asubn, parall1, parall2, xaxis, yaxis, zaxis, labx, laby, labz);**

`> `

Finally, note that this decomposition of
**a**
(1) provides a quick way to calculate the curvature
(1)
at
*t*
= 1 without the necessity for any ugly differentiating or computation of a cross product. Since the normal component of acceleration is

(1)
**N**
(1) = 14
(1)
=
,

it follows that

14
(1)
=
and hence that
(1) =
=
.

As you can check, that agrees with the result from Formula (10) in Section 14.3.