> with(plots); -1
 

> `:=`(Cycloid, animatecurve([`+`(t, `-`(sin(t))), `+`(1, `-`(cos(t))), t = 0 .. `+`(`*`(4, `*`(Pi)))], color = blue, scaling = constrained, frames = 20)); -1
 

> `:=`(Wheel, animate(plot, [[`+`(t, cos(theta)), `+`(1, sin(theta)), theta = 0 .. `+`(`*`(2, `*`(Pi)))], color = red], t = 0 .. `+`(`*`(4, `*`(Pi))), frames = 20, scaling = constrained)); -1
`:=`(Wheel, animate(plot, [[`+`(t, cos(theta)), `+`(1, sin(theta)), theta = 0 .. `+`(`*`(2, `*`(Pi)))], color = red], t = 0 .. `+`(`*`(4, `*`(Pi))), frames = 20, scaling = constrained)); -1
 

> `:=`(PointOnRim, animate(plot, [[`+`(t, `-`(sin(t)), `*`(.1, `*`(cos(theta)))), `+`(1, `-`(cos(t)), `*`(.1, `*`(sin(theta)))), theta = 0 .. `+`(`*`(2, `*`(Pi)))], color = black], t = 0 .. `+`(`*`(4, `...
`:=`(PointOnRim, animate(plot, [[`+`(t, `-`(sin(t)), `*`(.1, `*`(cos(theta)))), `+`(1, `-`(cos(t)), `*`(.1, `*`(sin(theta)))), theta = 0 .. `+`(`*`(2, `*`(Pi)))], color = black], t = 0 .. `+`(`*`(4, `...
 

> `:=`(Spoke, animate(plot, [[`+`(`*`(s, `*`(t)), `*`(`+`(1, `-`(s)), `*`(`+`(t, `-`(sin(t)))))), `+`(s, `*`(`+`(1, `-`(s)), `*`(`+`(1, `-`(cos(t)))))), s = 0 .. 1], color = black], t = 0 .. `+`(`*`(4, ...
`:=`(Spoke, animate(plot, [[`+`(`*`(s, `*`(t)), `*`(`+`(1, `-`(s)), `*`(`+`(t, `-`(sin(t)))))), `+`(s, `*`(`+`(1, `-`(s)), `*`(`+`(1, `-`(cos(t)))))), s = 0 .. 1], color = black], t = 0 .. `+`(`*`(4, ...
`:=`(Spoke, animate(plot, [[`+`(`*`(s, `*`(t)), `*`(`+`(1, `-`(s)), `*`(`+`(t, `-`(sin(t)))))), `+`(s, `*`(`+`(1, `-`(s)), `*`(`+`(1, `-`(cos(t)))))), s = 0 .. 1], color = black], t = 0 .. `+`(`*`(4, ...
 

> `:=`(Surface, plot(0, t = -1 .. `+`(`*`(4, `*`(Pi)), 1), color = black)); -1
 

> display(Surface, Cycloid, Wheel, PointOnRim, Spoke, axes = boxed); 1
 

Plot_2d
 

>