Advertisement
Guest User

Epicycloid

a guest
Dec 3rd, 2015
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. > epicycloid_anim := proc (r, R) local epicycloid, A, B, C, E, interval; interval := 4*Pi; epicycloid := proc (t) options operator, arrow; [(R+r)*cos(r*t/R)-r*cos(t+r*t/R), (R+r)*sin(r*t/R)-r*sin(t+r*t/R)] end proc; A := animatecurve([epicycloid(t)[1], epicycloid(t)[2], t = 0 .. interval], frames = 50, numpoints = 200); B := animate([(R+r)*cos(s)+t*(epicycloid(s*R/r)[1]-(R+r)*cos(s)), (R+r)*sin(s)+t*(epicycloid(s*R/r)[2]-(R+r)*sin(s)), t = 0 .. 1], s = 0 .. r*interval/R, color = blue, frames = 50); C := animate([(R+r)*cos(s)+r*cos(t), (R+r)*sin(s)+r*sin(t), t = 0 .. 2*Pi], s = 0 .. r*interval/R, frames = 50, color = blue); E := plot([R*cos(t), R*sin(t), t = 0 .. 2*Pi], color = black); display(A, B, C, E) end proc;
  2. > epicycloid_anim(2, 4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement