Parametric Curves in 3-space

Here is a parametric curve in space

In[1]:=

F[t_] := {2 * E^t * Cos[10 * t]/(1 + E^(2t)), 2 * E^t * Sin[10 * t]/(1 + E^(2t)), 1 - 2/(1 + E^(2t)) }

Mathematica writes it a little nicer:

In[2]:=

F[t]

Out[2]=

{(2 ^t Cos[10 t])/(1 + ^(2 t)), (2 ^t Sin[10 t])/(1 + ^(2 t)), 1 - 2/(1 + ^(2 t))}

Here is how to evaluate the function at a point

In[3]:=

F[0]

Out[3]=

{1, 0, 0}

In[4]:=

F[1]

Out[4]=

{(2  Cos[10])/(1 + ^2), (2  Sin[10])/(1 + ^2), 1 - 2/(1 + ^2)}

The N[ ] function allows us to evaluate an expression numerically

In[5]:=

N[F[1]]

Out[5]=

RowBox[{{, RowBox[{RowBox[{-, 0.543764}], ,, RowBox[{-, 0.352555}], ,, 0.761594}], }}]

Now we attempt to plot it:

In[6]:=

ParametricPlot3D[F[t], {t, -10, 10}]

[Graphics:HTMLFiles/index_11.gif]

Out[6]=

⁃Graphics3D⁃

Options for ParametricPlot3D

Use the option PlotPoints->n to plot n points. It uses 75 as a default, but often more are needed.

PlotRange->All makes sure Mathematica plots all points on the curve, rather than the points it wants to.

ViewPoint->{x,y,z} allows you to change the viewpoint of the plot.

List all available options and their default settings: (More information on each can be found in help)

In[7]:=

Options[ParametricPlot3D]

Out[7]=

RowBox[{{, RowBox[{RowBox[{AmbientLight, , RowBox[{GrayLevel, [, 0., ]}]}], ,, AspectR ... .}], }}]}], ,, RowBox[{ViewVertical, , RowBox[{{, RowBox[{0., ,, 0., ,, 1.}], }}]}]}], }}]

Here is a new plot using the PlotPoints and PlotRange options

In[8]:=

ParametricPlot3D[F[t], {t, -10, 10}, PlotRangeAll]

[Graphics:HTMLFiles/index_16.gif]

Out[8]=

⁃Graphics3D⁃

In[9]:=

ParametricPlot3D[F[t], {t, -10, 10}, PlotRangeAll, PlotPoints3000]

[Graphics:HTMLFiles/index_19.gif]

Out[9]=

⁃Graphics3D⁃

We change perspectives using the ViewPoint option. {1,2,1} is the coordinates of "your eye"

In[10]:=

ParametricPlot3D[F[t], {t, -10, 10}, PlotPoints3000, PlotRangeAll, ViewPoint {4, 2, .5}]

[Graphics:HTMLFiles/index_22.gif]

Out[10]=

⁃Graphics3D⁃

Set P to be the point F(1)

In[11]:=

P = F[1]

Out[11]=

{(2  Cos[10])/(1 + ^2), (2  Sin[10])/(1 + ^2), 1 - 2/(1 + ^2)}

This gives us access to the first coordinate of P

In[12]:=

P[[1]]

Out[12]=

(2  Cos[10])/(1 + ^2)

The second and third coordinates

In[13]:=

P[[2]] P[[3]]

Out[13]=

(2  Sin[10])/(1 + ^2)

Out[14]=

1 - 2/(1 + ^2)

We define a function r2 which gives us the square of the distance from the origin to P

In[15]:=

r2[P_] := P[[1]]^2 + P[[2]]^2 + P[[3]]^2

We can compose our two functions

In[16]:=

r2[F[t]]

Out[16]=

(1 - 2/(1 + ^(2 t)))^2 + (4 ^(2 t) Cos[10 t]^2)/(1 + ^(2 t))^2 + (4 ^(2 t) Sin[10 t]^2)/(1 + ^(2 t))^2

The Simplify[ ] command attempts to reduce an expression to a simpler form:
Behold: the following shows that our curve lies on the surface of the unit sphere!

In[17]:=

Simplify[r2[F[t]]]

Out[17]=

1

Another view of the same curve:

In[18]:=

ParametricPlot3D[F[t], {t, -10, 10}, PlotPoints3000, PlotRangeAll, ViewPoint {-2, 1, -.2}]

[Graphics:HTMLFiles/index_37.gif]

Out[18]=

⁃Graphics3D⁃

Here we have a bunch of viewpoints using a For statement:

In[19]:=

For[k = 0, k<40, k = k + 1, ParametricPlot3D[F[t], {t, -10, 10}, PlotPoints3000, PlotRangeAll, ViewPoint {2 Cos[k/40 * 2 * Pi], 2 Sin[k/40 * 2 * Pi], 1}]]

[Graphics:HTMLFiles/index_40.gif]

[Graphics:HTMLFiles/index_41.gif]

[Graphics:HTMLFiles/index_42.gif]

[Graphics:HTMLFiles/index_43.gif]

[Graphics:HTMLFiles/index_44.gif]

[Graphics:HTMLFiles/index_45.gif]

[Graphics:HTMLFiles/index_46.gif]

[Graphics:HTMLFiles/index_47.gif]

[Graphics:HTMLFiles/index_48.gif]

[Graphics:HTMLFiles/index_49.gif]

[Graphics:HTMLFiles/index_50.gif]

[Graphics:HTMLFiles/index_51.gif]

[Graphics:HTMLFiles/index_52.gif]

[Graphics:HTMLFiles/index_53.gif]

[Graphics:HTMLFiles/index_54.gif]

[Graphics:HTMLFiles/index_55.gif]

[Graphics:HTMLFiles/index_56.gif]

[Graphics:HTMLFiles/index_57.gif]

[Graphics:HTMLFiles/index_58.gif]

[Graphics:HTMLFiles/index_59.gif]

[Graphics:HTMLFiles/index_60.gif]

[Graphics:HTMLFiles/index_61.gif]

[Graphics:HTMLFiles/index_62.gif]

[Graphics:HTMLFiles/index_63.gif]

[Graphics:HTMLFiles/index_64.gif]

[Graphics:HTMLFiles/index_65.gif]

[Graphics:HTMLFiles/index_66.gif]

[Graphics:HTMLFiles/index_67.gif]

[Graphics:HTMLFiles/index_68.gif]

[Graphics:HTMLFiles/index_69.gif]

[Graphics:HTMLFiles/index_70.gif]

[Graphics:HTMLFiles/index_71.gif]

[Graphics:HTMLFiles/index_72.gif]

[Graphics:HTMLFiles/index_73.gif]

[Graphics:HTMLFiles/index_74.gif]

[Graphics:HTMLFiles/index_75.gif]

[Graphics:HTMLFiles/index_76.gif]

[Graphics:HTMLFiles/index_77.gif]

[Graphics:HTMLFiles/index_78.gif]

[Graphics:HTMLFiles/index_79.gif]

You can animate the above by first selecting the group of images by selecting the blue bracket on the right containing them, then clicking on the menu
Cell->Animate Selected Graphics
Its lots of fun, try it!

Limits

Set F(t)=(cos(1/t^2)t, sin(1/t^2)t, t^(1/2))
What is the limit of F(t) as t->0?

In[20]:=

F[t_] := {Cos[1/t^2] t, Sin[1/t^2] t, Sqrt[t]}

As written by mathematica:

In[21]:=

F[t]

Out[21]=

{t Cos[1/t^2], t Sin[1/t^2], t^(1/2)}

Here we evaluate it at a few points

In[22]:=

F[0]

                                     1 Power :: infy : Infinite expression  - encountered. More…                                      0

                                     1 Power :: infy : Infinite expression  - encountered. More…                                      0

Out[22]=

{Indeterminate, Indeterminate, 0}

In[23]:=

F[.11]

Out[23]=

RowBox[{{, RowBox[{0.0627968, ,, 0.0903137, ,, 0.331662}], }}]

A first look:

In[24]:=

ParametricPlot3D[F[t], {t, 1, 10}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_91.gif]

Out[24]=

⁃Graphics3D⁃

Some more plots, changing the interval we plot

In[25]:=

ParametricPlot3D[F[t], {t, .5, 10}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_94.gif]

Out[25]=

⁃Graphics3D⁃

In[26]:=

ParametricPlot3D[F[t], {t, .25, 10}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_97.gif]

Out[26]=

⁃Graphics3D⁃

In[27]:=

ParametricPlot3D[F[t], {t, .1, 1}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_100.gif]

Out[27]=

⁃Graphics3D⁃

In[28]:=

ParametricPlot3D[F[t], {t, .001, 1}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_103.gif]

Out[28]=

⁃Graphics3D⁃

In[29]:=

ParametricPlot3D[F[t], {t, .001, 10}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_106.gif]

Out[29]=

⁃Graphics3D⁃

A tornando or a whirlpool? But the limit as t->0 appears to be the origin!

However the following parametric curve does not have a limit as t->infinite

In[30]:=

F[t_] := {Cos[t], Sin[t], 1/Log[Log[t]]}

In[31]:=

F[t]

Out[31]=

{Cos[t], Sin[t], 1/Log[Log[t]]}

Mathematica defines Log[ ] to be the natural log. Note: You refer to the constant e as E:

In[32]:=

Log[E]

Out[32]=

1

Here are some plots of our curve

In[33]:=

ParametricPlot3D[F[t], {t, 3, 10}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_114.gif]

Out[33]=

⁃Graphics3D⁃

In[34]:=

ParametricPlot3D[F[t], {t, 4, 100}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_117.gif]

Out[34]=

⁃Graphics3D⁃

Time as the third dimension

Take a parametric curve in the plane:

In[35]:=

G[t_] := {Sin[5 t], Cos[7 t]}

In[36]:=

G[t]

Out[36]=

{Sin[5 t], Cos[7 t]}

Here we plot our curve
(AspectRatio->1 gives us our curve in a square)

In[37]:=

ParametricPlot[G[t], {t, 0, 2 * Pi}, AspectRatio1]

[Graphics:HTMLFiles/index_123.gif]

Out[37]=

⁃Graphics⁃

In[38]:=

Options[ParametricPlot]

Out[38]=

RowBox[{{, RowBox[{AspectRatio1/GoldenRatio, ,, AxesAutomatic, ,, AxesLabel ... ; {}, ,, RotateLabelTrue, ,, TextStyle$TextStyle, ,, TicksAutomatic}], }}]

We can make a G into a parametric curve in space by setting z=t:

In[39]:=

F[t_] := {Sin[5 t], Cos[7 t], t}

Note: G is periodic with period 2 Pi

In[40]:=

G[t]

Out[40]=

{Sin[5 t], Cos[7 t]}

In[41]:=

G[t + 2 * Pi]

Out[41]=

{Sin[5 (2 π + t)], Cos[7 (2 π + t)]}

In[42]:=

Simplify[G[t + 2 * Pi]]

Out[42]=

{Sin[5 t], Cos[7 t]}

This means that F should be invariant under a vertical translation of 2 Pi

In[43]:=

ParametricPlot3D[F[t], {t, 0, 2 Pi}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_135.gif]

Out[43]=

⁃Graphics3D⁃

Can you see that the top half is the same curve as the bottom half?

In[44]:=

ParametricPlot3D[F[t], {t, 0, 4 Pi}, PlotPoints3000, PlotRangeAll]

[Graphics:HTMLFiles/index_138.gif]

Out[44]=

⁃Graphics3D⁃

We plot the curve from several different viewpoints

In[45]:=

RowBox[{For, [, RowBox[{k = 0, ,, k<2 Pi, ,,  , k += Pi/20, ,, RowBox[{ParametricPlot3D, [, ... owBox[{ViewPoint, , RowBox[{{, RowBox[{2 Sin[k], ,, 2Cos[k], ,, 1.1}], }}]}]}], ]}]}], ]}]

[Graphics:HTMLFiles/index_141.gif]

[Graphics:HTMLFiles/index_142.gif]

[Graphics:HTMLFiles/index_143.gif]

[Graphics:HTMLFiles/index_144.gif]

[Graphics:HTMLFiles/index_145.gif]

[Graphics:HTMLFiles/index_146.gif]

[Graphics:HTMLFiles/index_147.gif]

[Graphics:HTMLFiles/index_148.gif]

[Graphics:HTMLFiles/index_149.gif]

[Graphics:HTMLFiles/index_150.gif]

[Graphics:HTMLFiles/index_151.gif]

[Graphics:HTMLFiles/index_152.gif]

[Graphics:HTMLFiles/index_153.gif]

[Graphics:HTMLFiles/index_154.gif]

[Graphics:HTMLFiles/index_155.gif]

[Graphics:HTMLFiles/index_156.gif]

[Graphics:HTMLFiles/index_157.gif]

[Graphics:HTMLFiles/index_158.gif]

[Graphics:HTMLFiles/index_159.gif]

[Graphics:HTMLFiles/index_160.gif]

[Graphics:HTMLFiles/index_161.gif]

[Graphics:HTMLFiles/index_162.gif]

[Graphics:HTMLFiles/index_163.gif]

[Graphics:HTMLFiles/index_164.gif]

[Graphics:HTMLFiles/index_165.gif]

[Graphics:HTMLFiles/index_166.gif]

[Graphics:HTMLFiles/index_167.gif]

[Graphics:HTMLFiles/index_168.gif]

[Graphics:HTMLFiles/index_169.gif]

[Graphics:HTMLFiles/index_170.gif]

[Graphics:HTMLFiles/index_171.gif]

[Graphics:HTMLFiles/index_172.gif]

[Graphics:HTMLFiles/index_173.gif]

[Graphics:HTMLFiles/index_174.gif]

[Graphics:HTMLFiles/index_175.gif]

[Graphics:HTMLFiles/index_176.gif]

[Graphics:HTMLFiles/index_177.gif]

[Graphics:HTMLFiles/index_178.gif]

[Graphics:HTMLFiles/index_179.gif]

[Graphics:HTMLFiles/index_180.gif]

Recall to animate select the graphics, then click menu CELL->ANIMATE SELECTED GRAPHICS

It jumps around and the box is annoying. We can clean it up by playing with some options. Here they all are:

In[46]:=

Options[ParametricPlot3D]

Out[46]=

RowBox[{{, RowBox[{RowBox[{AmbientLight, , RowBox[{GrayLevel, [, 0., ]}]}], ,, AspectR ... .}], }}]}], ,, RowBox[{ViewVertical, , RowBox[{{, RowBox[{0., ,, 0., ,, 1.}], }}]}]}], }}]

Here it is fixed up a lot

In[47]:=

RowBox[{For, [, RowBox[{k = 0, ,, k<2 Pi, ,,  , k += Pi/20, ,, RowBox[{ParametricPlot3D, [, ... , }}]}], ,, AxesFalse, ,, BoxedFalse, ,, SphericalRegionTrue}], ]}]}], ]}]

[Graphics:HTMLFiles/index_184.gif]

[Graphics:HTMLFiles/index_185.gif]

[Graphics:HTMLFiles/index_186.gif]

[Graphics:HTMLFiles/index_187.gif]

[Graphics:HTMLFiles/index_188.gif]

[Graphics:HTMLFiles/index_189.gif]

[Graphics:HTMLFiles/index_190.gif]

[Graphics:HTMLFiles/index_191.gif]

[Graphics:HTMLFiles/index_192.gif]

[Graphics:HTMLFiles/index_193.gif]

[Graphics:HTMLFiles/index_194.gif]

[Graphics:HTMLFiles/index_195.gif]

[Graphics:HTMLFiles/index_196.gif]

[Graphics:HTMLFiles/index_197.gif]

[Graphics:HTMLFiles/index_198.gif]

[Graphics:HTMLFiles/index_199.gif]

[Graphics:HTMLFiles/index_200.gif]

[Graphics:HTMLFiles/index_201.gif]

[Graphics:HTMLFiles/index_202.gif]

[Graphics:HTMLFiles/index_203.gif]

[Graphics:HTMLFiles/index_204.gif]

[Graphics:HTMLFiles/index_205.gif]

[Graphics:HTMLFiles/index_206.gif]

[Graphics:HTMLFiles/index_207.gif]

[Graphics:HTMLFiles/index_208.gif]

[Graphics:HTMLFiles/index_209.gif]

[Graphics:HTMLFiles/index_210.gif]

[Graphics:HTMLFiles/index_211.gif]

[Graphics:HTMLFiles/index_212.gif]

[Graphics:HTMLFiles/index_213.gif]

[Graphics:HTMLFiles/index_214.gif]

[Graphics:HTMLFiles/index_215.gif]

[Graphics:HTMLFiles/index_216.gif]

[Graphics:HTMLFiles/index_217.gif]

[Graphics:HTMLFiles/index_218.gif]

[Graphics:HTMLFiles/index_219.gif]

[Graphics:HTMLFiles/index_220.gif]

[Graphics:HTMLFiles/index_221.gif]

[Graphics:HTMLFiles/index_222.gif]

[Graphics:HTMLFiles/index_223.gif]

You should animate the above sequence of pictures!


Created by Mathematica  (September 14, 2004)