Curves in ℝ×ℝ = (ℝ^2)

Circles

The most well known curve in ℝ×ℝ is the unit circle. The only way to represent the unit circle in the plane is to use its parametric equations. Below I use the set notation. The unit circle is the set of points in ℝ×ℝ given by

{ (Cos[t],Sin[t])∈ℝ×ℝ | t∈[0,2 π) }

In Mathematica we can represent this a Table of points using the command Graphics.

Graphics[Table[Point[{Cos[t],Sin[t]}],{t,0,2 Pi,(Pi/32)}],PlotRange->{{-3,3},{-3,3}},Frame->True]

Or using the command ParametricPlot as follows

ParametricPlot[{Cos[t],Sin[t]},{t,0,2 Pi},PlotRange->{{-3,3},{-3,3}}]

It is important to see the parametric equation of the unit circle as one vector equation. Name the two coordinate vectors as follows

vi={1,0}; vj = {0,1} ;

Then we can write the unit circle as

Cos[t] vi + Sin[t] vj

This is important since in the three dimensional space ℝ×ℝ×ℝ=(ℝ^3), we can replace the coordinate vectors vi and vj by any orthogonal unit vectors in (ℝ^3) and we get a unit circle in (ℝ^3)centered at the origin and placed in the plane determind by chosen unit vectors. We will demonstrate this in the next section: Curves in (ℝ^3).

So far we considered the unit circle centered at the origin. To change the radius to any positive number we multiply the vector by the radius:

ParametricPlot[(3/2)(Cos[t] vi + Sin[t] vj ),{t,0,2 Pi},PlotRange->{{-3,3},{-3,3}}]

To change the center we add the vector which ends at the center:

vc ={(2/3),-1}; 

mcir=ParametricPlot[vc+(3/2)(Cos[t] vi + Sin[t] vj ),{t,0,2 Pi},PlotRange->{{-3,3},{-3,3}}]

?BaseStyle

Animate[
Show[mcir,Graphics[{{Red,PointSize[0.02],Point[vc+(3/2)(Cos[t] vi + Sin[t] vj )]},{Text["t =",{0.8,0.8},BaseStyle->{FontSize-> 16}],Text[NumberForm[N[t],{5,4}],{1.2,0.8},BaseStyle->{FontSize-> 16}]}}],PlotRange->{{-1,3},{-3,1}}],{t,0,2 Pi}
]

Lines

Let us now deduce a vector equation of a line. We are familiar with y = m x + b as an equation for a line. Here m and b are given real numbers. This equation means that the points (x, m x + b), where x is any real number, are on line. These points we can write in vector form  (x, m x + b) = (x, m x) + (0, b) = x (1,m) + (0,b). Here (1,m) and (0,b) are fixed vectors. In general given vectors

vu = {2,1} ; va = {-1,(1/2)}

the vector eqaution  t vu + va  represents a line:

ParametricPlot[t vu + va,{t,-10,10},PlotRange->{{-3,3},{-3,3}}]

It is illustrative to emphasize the vectors vu and va on the plot.

?Arrow

ParametricPlot[t vu + va,{t,-10,10},PlotRange->{{-3,3},{-3,3}},Epilog->{{Cyan,Arrow[{{0,0},va}]},{Magenta,Arrow[{{0,0},vu}],Arrow[{va,va+vu}]}}]

The advantage of this way of representing lines is that we can easily write an equation of a vertical line:

ParametricPlot[t vj + va,{t,-10,10},PlotRange->{{-3,3},{-3,3}},Epilog->{{Blue,Arrow[{{0,0},va}]},{Magenta,Arrow[{{0,0},vj}],Arrow[{va,va+vj}]}}]

Graphs

Another kind of curves that you have encountered before are graphs. For example the graph of y = Sin[x] is a curve. How to represent this curve using a vector equation?  This vector equation represents the same graph

ParametricPlot[t vi + Sin[t] vj,{t,-3 Pi,3 Pi},PlotRange->{{-2Pi,2 Pi},{-2 Pi,2 Pi}},Ticks->{Range[-3 Pi,3 Pi,(Pi/2)],Range[-3 Pi,3 Pi,(Pi/2)]}]

The advantage of this way of representing graphs is that we can replace the vectors vi and vj by any other pair of orthogonal unit vectors:

vu1=(1/(Sqrt[2])){1,1}; vv1=(1/(Sqrt[2])){-1,1};ParametricPlot[t vu1 + Sin[t] vv1,{t,-3 Pi,3 Pi},PlotRange->{{-2Pi,2 Pi},{-2 Pi,2 Pi}},Ticks->{Range[-3 Pi,3 Pi,(Pi/2)],Range[-3 Pi,3 Pi,(Pi/2)]},Epilog->{{Blue,Arrow[{{0,0},vu1}]},{Magenta,Arrow[{{0,0},vv1}]}}]

A generic pair of orthogonal unit vectors is (Cos[θ], Sin[θ]) and (-Sin[θ], Cos[θ]):

Manipulate[ParametricPlot[t {Cos[θ],Sin[θ]} + Sin[t]{-Sin[θ],Cos[θ]},{t,-3 Pi,3 Pi},PlotRange->{{-2Pi,2 Pi},{-2 Pi,2 Pi}},Ticks->{Range[-3 Pi,3 Pi,(Pi/2)],Range[-3 Pi,3 Pi,(Pi/2)]},Epilog->{{Blue,Arrow[{{0,0},{Cos[θ],Sin[θ]}}]},{Magenta,Arrow[{{0,0},{-Sin[θ],Cos[θ]}}]}}],{θ,0,2 Pi}]

It might be interesting to put all many of these graphs in one plot

Show[Table[ParametricPlot[t {Cos[θ],Sin[θ]} + Sin[t]{-Sin[θ],Cos[θ]},{t,-3 Pi,3 Pi},PlotStyle->{{Hue[(θ/(2 Pi))]}},PlotRange->{{-2Pi,2 Pi},{-2 Pi,2 Pi}},Ticks->{Range[-3 Pi,3 Pi,(Pi/2)],Range[-3 Pi,3 Pi,(Pi/2)]}],{θ,0,2 Pi,(Pi/24)}]]

Spiral

It is essntial to view parametric equations dinamicaly; think of  the parameter t being time and the point moving in time.

Manipulate[ParametricPlot[{Cos[s],Sin[s]},{s,0,2Pi},PlotRange->{{-3,3},{-3,3}},Epilog->{{Red,PointSize[0.02],Point[{Cos[t],Sin[t]}]}}],{t,0,4 Pi}]

Now think that the moving point is getting closer to the origin as it moves:

Manipulate[ParametricPlot[((2 Pi)/(s+2 Pi)){Cos[s],Sin[s]},{s,0,12Pi},PlotRange->{{-1,1},{-1,1}},PlotPoints->120,Epilog->{{Red,PointSize[0.02],Point[((2 Pi)/(t+2 Pi)){Cos[t],Sin[t]}]}}],{t,0,12 Pi}]

Next we add the velocity vector to the above plot

D[{((2 Pi)/(t+2 Pi))Cos[t],((2 Pi)/(t+2 Pi))Sin[t]},t]

Manipulate[ParametricPlot[((2 Pi)/(s+2 Pi)){Cos[s],Sin[s]},{s,0,12Pi},PlotRange->{{-0.9,1.1},{-0.8,1.2}},PlotPoints->120,Epilog->{{Red,PointSize[0.02],Point[((2 Pi)/(t+2 Pi)){Cos[t],Sin[t]}]},
{RGBColor[1,0,1],Thickness[0.007],Arrow[{((2 Pi)/(t+2 Pi)){Cos[t],Sin[t]},((2 Pi)/(t+2 Pi)){Cos[t],Sin[t]}+
{-((2 π Cos[t])/(((2 π+t))^2))-((2 π Sin[t])/(2 π+t)),((2 π Cos[t])/(2 π+t))-((2 π Sin[t])/(((2 π+t))^2))}}]},{Text["t =",{-0.6,1.15},BaseStyle->{FontSize-> 16}],Text[NumberForm[N[t],{5,4}],{-.38,1.15},BaseStyle->{FontSize-> 16}],Text["\[LeftDoubleBracketingBar]v(t)\[LeftDoubleBracketingBar] =",{-0.7,1.05},BaseStyle->{FontSize-> 16}],Text[NumberForm[N[Norm[{-((2 π Cos[t])/(((2 π+t))^2))-((2 π Sin[t])/(2 π+t)),((2 π Cos[t])/(2 π+t))-((2 π Sin[t])/(((2 π+t))^2))}]],{5,4}],{-.38,1.05},BaseStyle->{FontSize-> 16}]}}],{t,0,12 Pi}]

Cycloid

Manipulate[Graphics[{
{RGBColor[0,0,.6],Thickness[0.005],Circle[{t,1},1]},{RGBColor[0,0,.6],PointSize[0.015],Point[{t,1}]},{GrayLevel[0.6],Table[Line[{{t,1},{t-Sin[t+k((2 Pi)/5)],1-Cos[t+k((2 Pi)/5)]}}],{k,0,4}]},
{RGBColor[.7,0,0],Thickness[0.006],Line[Table[{s-Sin[s],1-Cos[s]},{s,-Pi,t,(Pi/128)}]]},
{Red,PointSize[0.02],Point[{t-Sin[t],1-Cos[t]}]}
},
PlotRange->{{-1.1,4 Pi+1},{-.4,2.2}},
Frame->False,Axes->True,FrameTicks->None,Ticks->{Range[-2Pi,5Pi,2Pi/5],{0,1,2}},ImageSize->430
],{{t,0},-Pi,5Pi}]

Curves in (ℝ^3)

Circles

As we mentioned to obtain a circle in (ℝ^3) we use a pair of orthogonal unit vectors in (ℝ^3) and use the same equation as in (ℝ^2):

vi3={1,0,0}; vj3={0,1,0};vk3={0,0,1};

cirij=ParametricPlot3D[Cos[t] vi3+ Sin[t] vj3,{t,0, 3 Pi},PlotStyle->{{Thickness[0.015],Red}},PlotRange-> {{-2,2},{-2,2},{-2,2}},Axes->True,AxesOrigin->{0,0,0}];cirjk=ParametricPlot3D[Cos[t] vj3+ Sin[t] vk3,{t,0, 3 Pi},PlotStyle->{{Thickness[0.015],Green}},PlotRange-> {{-2,2},{-2,2},{-2,2}},Axes->True,AxesOrigin->{0,0,0}];cirki=ParametricPlot3D[Cos[t] vk3+ Sin[t] vi3,{t,0, 3 Pi},PlotStyle->{{Thickness[0.015],Blue}},PlotRange-> {{-2,2},{-2,2},{-2,2}},Axes->True,AxesOrigin->{0,0,0}];Show[cirij,cirjk,cirki]

And add a circle not using the coordinate vectors:

va3=(1/(Sqrt[3])){1,1,1}; vb3=(1/(Sqrt[2])){1,-1,0}; vc3=(1/(Sqrt[6])){1,1,-2}; 

Show[cirij,cirjk,cirki,ParametricPlot3D[Cos[t] vb3+ Sin[t] vc3,{t,0, 2 Pi},PlotStyle->{{Thickness[0.015],Black}},PlotRange-> {{-2,2},{-2,2},{-2,2}},Axes->True]]

Helix

Since we are in three dimensions now and circle lies in a plane we can decide to lift the moving point from that plane.

vi3={1,0,0}; vj3={0,1,0};vk3={0,0,1};Show[cirij,helij=ParametricPlot3D[Cos[t] vi3+ Sin[t] vj3+(t/(2 Pi)) vk3,{t,0, 6 Pi},PlotStyle->{{Thickness[0.015],RGBColor[0.5,0,0]}},Axes->True],PlotRange-> {{-2,2},{-2,2},{-0.1,3}}]

Show[cirjk,heljk=ParametricPlot3D[Cos[t] vj3+ Sin[t] vk3+(t/(2 Pi)) vi3,{t,0, 6 Pi},PlotStyle->{{Thickness[0.015],RGBColor[0,0.5,0]}},Axes->True,AxesOrigin->{0,0,0}],PlotRange-> {{-0.1,3},{-2,2},{-2,2}}]

Show[cirki,helki=ParametricPlot3D[Cos[t] vk3+ Sin[t] vi3+(t/(2 Pi)) vj3,{t,0, 6 Pi},PlotStyle->{{Thickness[0.015],RGBColor[0,0,0.5]}},Axes->True,AxesOrigin->{0,0,0}],PlotRange-> {{-2,2},{-0.1,3},{-2,2}}]

Or all together

Show[cirij,helij,cirjk,heljk,cirki,helki,PlotRange-> {{-1.1,3},{-1.1,3},{-1.1,3}}]

Or with some other triple of orthogonal unit vectors

va3=(1/(Sqrt[3])){1,1,1}; vb3=(1/(Sqrt[2])){1,-1,0}; vc3=(1/(Sqrt[6])){1,1,-2};

Show[Graphics3D[{{Thickness[0.01],Blue,Arrow[{{0,0,0},va3}]},{Thickness[0.01],Red,Arrow[{{0,0,0},vb3}]},{Thickness[0.01],Green,Arrow[{{0,0,0},vc3}]}}],ParametricPlot3D[Cos[t] vb3+ Sin[t] vc3,{t,0, 2 Pi},PlotStyle->{{Thickness[0.015],Black}},PlotRange-> {{-2,2},{-2,2},{-2,2}},Axes->True],ParametricPlot3D[Cos[t] vb3+ Sin[t] vc3+(t/(2 Pi))va3,{t,0,7 Pi},PlotStyle->{{Thickness[0.015],GrayLevel[0.5]}}],PlotRange-> {{-1,3},{-1,3},{-1,3}},Axes->True,AxesOrigin->{0,0,0}]

Now, it is irresistable not to combine a spiral and a helix

Show[Graphics3D[{{Thickness[0.01],Blue,Arrow[{{0,0,0},va3}]},{Thickness[0.007],Red,Arrow[{{0,0,0},vb3}]},{Thickness[0.01],Green,Arrow[{{0,0,0},vc3}]}}],ParametricPlot3D[Cos[t] vb3+ Sin[t] vc3,{t,0, 2 Pi},PlotStyle->{{Thickness[0.007],GrayLevel[0.9]}},PlotRange-> {{-2,2},{-2,2},{-2,2}},Axes->True],ParametricPlot3D[((2 Pi)/(t+2 Pi))(Cos[t] vb3+ Sin[t] vc3)+0va3,{t,0,12 Pi},PlotStyle->{{Thickness[0.01],GrayLevel[0.75]}}],ParametricPlot3D[((2 Pi)/(t+2 Pi))(Cos[t] vb3+ Sin[t] vc3)+(t/(2 Pi))va3,{t,0,12 Pi},PlotStyle->{{Thickness[0.015],GrayLevel[0.5]}}],PlotRange-> {{-1,3},{-1,3},{-1,3}},Axes->True,AxesOrigin->{0,0,0}]

Lines

As in (ℝ^2), given two vectors in (ℝ^3) we obtain a vector equation for a line in (ℝ^3) in the following way:

vuu3 = {2,1,-1} ; vaa3 = {-1,(1/2),1}

the vector equation  t vuu3 + vaa3  represents a line:

Show[ParametricPlot3D[t vuu3 + vaa3,{t,-10,10},PlotStyle->{{GrayLevel[.75],Thickness[0.01]}},PlotRange->{{-3,3},{-3,3},{-3,3}},Axes->True,AxesOrigin->{0,0,0}],Graphics3D[{{Thickness[0.01],Magenta,Arrow[{{0,0,0},vaa3}]},{Thickness[0.01],Blue,Arrow[{{0,0,0},vuu3}],Arrow[{vaa3,vaa3+vuu3}]}}]]

Graphs

At this point it is no wonder that we can put a graph anywhere in (ℝ^3)

va3=(1/(Sqrt[3])){1,1,1}; vb3=(1/(Sqrt[2])){1,-1,0}; vc3=(1/(Sqrt[6])){1,1,-2};

Show[Graphics3D[{{Thickness[0.01],Blue,Arrow[{{0,0,0},va3}]},{Thickness[0.007],Red,Arrow[{{0,0,0},vb3}]},{Thickness[0.01],Green,Arrow[{{0,0,0},vc3}]}}],ParametricPlot3D[t  va3+Sin[t]vb3,{t,0,12 Pi},PlotStyle->{{Thickness[0.015],GrayLevel[0.5]}}],PlotRange-> {{-1,10},{-1,10},{-1,10}},Axes->True,AxesOrigin->{0,0,0}]

Show[Graphics3D[{{Thickness[0.01],Blue,Arrow[{{0,0,0},va3}]},{Thickness[0.007],Red,Arrow[{{0,0,0},vb3}]},{Thickness[0.01],Green,Arrow[{{0,0,0},vc3}]}}],ParametricPlot3D[t  va3+Sin[t]vb3,{t,0,12 Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,.5]}}],ParametricPlot3D[t  va3+Sin[t]vc3,{t,0,12 Pi},PlotStyle->{{Thickness[0.01],RGBColor[0.5,1,.5]}}],PlotRange-> {{-1,10},{-1,10},{-1,10}},Axes->True,AxesOrigin->{0,0,0}]

Or to distinguish the graphs a little bit

Show[Graphics3D[{{Thickness[0.01],Blue,Arrow[{{0,0,0},2va3}]},{Thickness[0.007],Red,Arrow[{{0,0,0},2vb3}]},{Thickness[0.01],Green,Arrow[{{0,0,0},2vc3}]}}],ParametricPlot3D[t  va3+(2+Sin[t])vb3,{t,0,12 Pi},PlotStyle->{{Thickness[0.01],RGBColor[1,0.5,.5]}}],ParametricPlot3D[t  va3+(2+Sin[t])vc3,{t,0,12 Pi},PlotStyle->{{Thickness[0.01],RGBColor[0.5,1,.5]}}],PlotRange-> {{-2,10},{-2,10},{-2,10}},Axes->True,AxesOrigin->{0,0,0}]

Or to have some fun

Manipulate[Show[Graphics3D[{{Thickness[0.01],Blue,Arrow[{{0,0,0},2va3}]},{Thickness[0.007],Red,Arrow[{{0,0,0},2vb3}]},{Thickness[0.01],Green,Arrow[{{0,0,0},2vc3}]},{Thickness[0.01],Black,Arrow[{{0,0,0},2(Cos[θ]vb3+Sin[θ] vc3)}]}}],ParametricPlot3D[t  va3+(2+Sin[t])(Cos[θ]vb3+Sin[θ] vc3),{t,0,12 Pi},PlotStyle->{{Thickness[0.01],GrayLevel[0.5]}}],PlotRange-> {{-2,10},{-2,10},{-2,10}},Axes->True,AxesOrigin->{0,0,0}],{θ,0,2 Pi}]

Surfaces in (ℝ^3)

Spheres

We learned the parametric equations of the unit sphere centered at the origin when we studied spherical coordinates.

ParametricPlot3D[{Cos[θ]Sin[ϕ],Sin[θ]Sin[ϕ],Cos[ϕ]},{θ,0,2Pi},{ϕ,0,Pi},PlotStyle->{Opacity[0.7]},Mesh->True,MeshStyle->Gray,PlotPoints->{61,61},PlotRange-> {{-1.5,1.5},{-1.5,1.5},{-1.5,1.5}},Axes->True,AxesOrigin->{0,0,0},ViewPoint->{1.3`,2.4`,1.6`}]

It is convenient to use manipulate to learn how θ and ϕ work

Manipulate[ParametricPlot3D[{Cos[θ]Sin[ϕ],Sin[θ]Sin[ϕ],Cos[ϕ]},{θ,0,t},{ϕ,0,f},PlotStyle->{Opacity[0.7]},Mesh->True,MeshStyle->Gray,PlotPoints->{61,61},PlotRange-> {{-1.5,1.5},{-1.5,1.5},{-1.5,1.5}},Axes->True,AxesOrigin->{0,0,0},ViewPoint->{1.3`,2.4`,1.6`}],{{t,Pi},0.01,2 Pi},{{f,Pi/2},0.01, Pi}]

It is irresistabel to experiment with these equations as we did

Manipulate[ParametricPlot3D[(Cos[θ]Sin[ϕ]vi3 +Sin[θ]Sin[ϕ]vj3)((θ/(2 Pi))+1)+Cos[ϕ]vk3,{θ,0,t},{ϕ,0,f},PlotStyle->{Opacity[0.7]},Mesh->True,MeshStyle->Gray,PlotPoints->{61,61},PlotRange-> {{-2.5,2.5},{-2.5,2.5},{-1.5,1.5}},Axes->True,AxesOrigin->{0,0,0},ViewPoint->{1.3`,2.4`,1.6`}],{{t,Pi},0.01,2 Pi},{{f,Pi/2},0.01, Pi}]

Manipulate[ParametricPlot3D[(Cos[θ]Sin[ϕ]vi3 +Sin[θ]Sin[ϕ]vj3+Cos[ϕ]vk3)((θ/(2 Pi))+1),{θ,0,t},{ϕ,0,f},PlotStyle->{Opacity[0.7]},Mesh->True,MeshStyle->Gray,PlotPoints->{61,61},PlotRange-> {{-2.5,2.5},{-2.5,2.5},{-2.5,2.5}},Axes->True,AxesOrigin->{0,0,0},ViewPoint->{1.3`,2.4`,1.6`}],{{t,Pi},0.01,2 Pi},{{f,Pi/2},0.01, Pi}]

Planes

Cylinders

Cones

Surfaces of revolution

Other stuff

Show[ParametricPlot[{(2*1 Cos[t]) Cos[t],(2*1 Cos[t]) Sin[t]},{t,-Pi/2,Pi/2}],ParametricPlot[{(2*2 Cos[t]) Cos[t],(2*2 Cos[t]) Sin[t]},{t,-Pi/2,Pi/2}],Graphics[{Table[Line[{{(2*1 Cos[t]) Cos[t],(2*1 Cos[t]) Sin[t]},{(2*2 Cos[t]) Cos[t],(2*2 Cos[t]) Sin[t]}}],{t,-Pi/2,Pi/2,Pi/128}]}],PlotRange->{{0,4},{-2,2}}]

Graphics3D[{Table[Line[{{(2*1 Cos[t]) Cos[t],(2*1 Cos[t]) Sin[t],Pi+t},{(2*2 Cos[t]) Cos[t],(2*2 Cos[t]) Sin[t],Pi+t}}],{t,-Pi/2,Pi/2,Pi/248}]}]

ParametricPlot3D[ (1-s){(2*1 Cos[t]) Cos[t],(2*1 Cos[t]) Sin[t],Pi+t}+s{(2*2 Cos[t]) Cos[t],(2*2 Cos[t]) Sin[t],Pi+t},{t,-Pi/2,Pi/2},{s,0,1}]

ParametricPlot3D[ (1-s){(2*1 Cos[t]) Cos[t],(2*1 Cos[t]) Sin[t],Pi+t}+s{(2*2 Cos[t]) Cos[t],(2*2 Cos[t]) Sin[t],(Pi+t)},{t,-Pi/2,Pi/2},{s,0,1},Mesh->False]

u=(1/(Sqrt[3])){1,1,1}; v=(1/(Sqrt[2])){1,-1,0};w=(1/(Sqrt[6])){1,1,-2};

ParametricPlot3D[Cos[t] u +Sin[t]v+s w,{t,0,2 Pi},{s,-2,2},PlotRange->{{-3,3},{-3,3},{-3,3}}]

ParametricPlot3D[Cos[t] u +Sin[t]v+(t/24) w,{t,0,12 Pi},PlotRange->{{-3,3},{-3,3},{-3,3}}]