1. The Wrapping Function, sin(x): The linked animation presents the wrapping function in graphical form. Note that the height of the sine function is the same as the height of the y-coordinate of the unit circle.
  2. restart: with(plots):
    
    n := 30:    # frames
    
    an1 := plot([cos(t),sin(t),t=0..2*Pi],
        scaling=constrained,tickmarks=[0,0],color=blue):
    an2 := animate([cos(2*k*Pi),sin(2*k*Pi)*t,t=0..1],
        k=1/n..1,color=red,frames=n):
    an3 := animate([2+k*t,sin(k*t),t=0..2*Pi],
        k=1/n..1,color=red,frames=n):
    an4 := animate([2+k*2*Pi,sin(k*2*Pi)*t,t=0..1],
        k=1/n..1,color=red,frames=n):
    an5 := animate([t*cos(2*k*Pi),sin(2*k*Pi)*t,t=0..1],
        k=1/n..1,color=black,frames=n):
    display(an1,an2,an3,an4,an5);
  3. The Wrapping Function, cos(x): This one presents the cosine function vertically.
  4. restart: with(plots):
    
    n := 30:    # frames
    
    an1 := plot([cos(t),sin(t),t=0..2*Pi],color=blue,
        scaling=constrained,tickmarks=[0,0]):
    an2 := animate([t*cos(2*k*Pi),sin(2*k*Pi)*t,t=0..1],
        k=1/n..1,color=black,frames=n):
    an3 := animate([cos(2*k*Pi)*t,sin(2*k*Pi),t=0..1],
        k=1/n..1,color=green,frames=n):
    an4 := animate([cos(2*k*Pi)*t,-2-2*k*Pi,t=0..1],
        k=1/n..1,color=green,frames=n):
    an5 := animate([cos(k*t),-2-k*t,t=0..2*Pi],
        k=1/n..1,color=green,frames=n):
    display(an1,an2,an3,an4,an5);
  5. Both Wrapping Functions: This one graphs both simultaneously, and then rotates the vertical one to put it in the usual horizontal perspective.
  6. restart: with(plots):
    
    n := 30:    # frames = 11*n / 6
    
    an1 := plot([cos(t),sin(t),t=0..2*Pi],
        scaling=constrained,tickmarks=[0,0],color=blue):
    an2 := animate([cos(2*k*Pi),sin(2*k*Pi)*t,t=0..1],
        k=1/n..1,color=red,frames=n):
    an3 := animate([2+k*t,sin(k*t),t=0..2*Pi],
        k=1/n..1,color=red,frames=n):
    an4 := animate([2+k*2*Pi,sin(k*2*Pi)*t,t=0..1],
        k=1/n..1,color=red,frames=n):
    an5 := animate([t*cos(2*k*Pi),sin(2*k*Pi)*t,t=0..1],
        k=1/n..1,color=black,frames=n):
    an6 := animate([cos(2*k*Pi)*t,sin(2*k*Pi),t=0..1],
        k=1/n..1,color=green,frames=n):
    an7 := animate([cos(2*k*Pi)*t,-2-2*k*Pi,t=0..1],
        k=1/n..1,color=green,frames=n):
    an8 := animate([cos(k*t),-2-k*t,t=0..2*Pi],
        k=1/n..1,color=green,frames=n):
    an9 := animate([cos(k)*cos(t)+sin(k)*(2+t),
        sin(k)*cos(t)-cos(k)*(2+t),t=0..2*Pi],
        k=Pi/(2*n)..Pi/2,color=green,frames=n/3):
    an10 := plot([2+t,sin(t),t=0..2*Pi],color=red):
    an11 := display(an1,an9,an10):
    an12 := display(an1,an2,an3,an4,an5,an6,an7,an8):
    an13 := animate([2+t,cos(t),t=0..2*Pi],k=1/n..1,
         color=green,frames=n/2):
    an14 := display(an1,an10,an13):
    display(an12,an11,an14,insequence=true);