Epicycloids  etc. - Animated

Circles Rotating on Circles

Oid.mws - A Maple Work Sheet

 chabot - 8/98


Hyperlinks - to pre-computed examples and explanations ( in  OidEG.m )

       Go To TOP of Example File 


Definitions with Explanations :

      Cycloid/Trochoid      Epicycloid      Hypocycloid      Epitrochoid      Hypotrochoid  

Animated Examples :

      cycloid      trochoid      epicycloid      hypocycloid      epitrochoid      hypotrochoid   

The little hyperlinks " o " center the nearest figure for good viewing.

Instructions --- Create Your Own  ---

 "Execute" a command group by placing the cursor in the red stuff (anywhere) and [ENTER].

1.  You MUST execute the command group "Initialize".

2.   Select one  of the 4 types by removing the "#" to un-comment your choice, and execute.

3.  i)  Set "N" only for ----cycloid types (always  a = 1,  and  "b", "c" are computed from  N).

     ii)  Set "b" also for ----trochoid types (always  a = 1,  and  "c" is computed from  N).

           [Since these curves began by studying radius b-circles rolling on (or inside) radius a-circles,]

           [usually  b < a (= 1), but interesting effects can be produced with larger values of  b.]

     iii)  Execute this command group.

Now, you see the "Static Graph" for your choices. If happy continue else go to step 2 or 3.

4.   Animate your curve by simple executing the next command group.  Some patience is needed.

5.   (optional)  Do "Save As" from F ile.  "Save" is no good since this is a "Read Only" file, for safety.

Initialize - resets Maple environment, loads needed command packages, sets standard form

>    restart: with(plots): with(plottools):

Basic Parametric 2-D Curve  :   all points  (x, y)  with  t  in the domain  [L . . R]

>    G:=[x(t),y(t),t=L..R]: L:=0: R:=2*Pi:

Standard Form   :   Epicycloids, Hypocycloids, Epitrochoids, Hypotrochoids

>    x:=t->A*cos(t)+B*cos(C*t): y:=t->A*sin(t)+B*sin(C*t):

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

Select a Curve Type -- un-comment ONE  of the following

un-assigning  a, b, c  allows not starting completely over to switch between curve types.

>    a:='a': b:='b': c:='c':

Epicycloid -

>    #A:=a+b: B:=-b: C:=(a+b)/b: titl:="Epicycloid": zz:=1:

Hypocycloid -

>    #A:=a-b: B:=b : C:=-(a-b)/b: titl:="Hypocycloid": zz:=2:

Epitrochoid -

>    #A:=a: B:=-b: C:=c: titl:="Epitrochoid": zz:=3:

Hypotrochoid -

>    A:=a: B:=b: C:=-c: titl:="Hypotrochoid": zz:=4:

>    titl, [x, y] =  G;

Set Values for  a, b, c  --  and see Static Plot

N = number of vertices (= a/b for ----cycloids) , you can change "b" if doing  ----trochoids.

>    N:=3: b:=2/3: c:=N-1: a:=1:

>    if (zz<3) then b:=a/N elif (zz=3) then c:=N+1 fi:

>    txN:=cat("  -  N = ",convert(N,string)): titx:=cat(titl,txN):

>    txb:=cat(" ,  b/a = ",convert(b,string)):

>    if (zz>2) then titx:=cat(titl,txN,txb) fi:

>    Opt1:=scaling=constrained,axes=none,numpoints=200,title=titx:

>    Optg:=Opt1,titlefont=[TIMES,BOLD,14],color=black,thickness=2:

>    g:=plot(G,Optg): g; G;


[Maple Plot]

[cos(t)+2/3*cos(2*t), sin(t)-2/3*sin(2*t), t = 0 .. 2*Pi]

Go To :    o      Hyperlinks      Restart     Select Curve Type      Re-Set Values       

Animated with Rotating Circles --

>    FF:=min(64,8*N): NN:=100+min(100,10*N): Dt:=evalf(2*Pi/FF):

>    OptAg:=Opt1,frames=FF+1,numpoints=NN,color=red,thickness=4:

>    Ag:=animatecurve(G,OptAg):

>    cent:=circle([0,0],a,color=green,thickness=3):

>    Optci:=color=blue,thickness=2,numpoints=32:

>    cir:=t->circle([A*cos(t),A*sin(t)],b,Optci):

>    Optra:=color=coral,thickness=5:

>    ray:=t->plot([[A*cos(t),A*sin(t)],[x(t),y(t)]],Optra):

>    Optpt:=color=maroon,font=[TIMES,BOLD,14]:

>    pt:=t->textplot([x(t),y(t),"P"],Optpt):

>    dc:=t->display(pt(t),cir(t),ray(t)):

>    cs:=seq([dc(i*Dt)],i=0..FF): V:=A+b+.1:

>    Optcs:=scaling=constrained,insequence=true,view=[-V..V,-V..V]:

>    dcs:=display(cs,Optcs): display(Ag,g,dcs,cent); G;


[Maple Plot]

[cos(t)+2/3*cos(2*t), sin(t)-2/3*sin(2*t), t = 0 .. 2*Pi]

Go To :     o      Hyperlinks      Restart     Select Curve Type      Re-Set Values