uses Graph3D; function ParametricTrajectory(a,b: real; N: integer; fun: real->Point3D) := PartitionPoints(a,b,N).Select(fun); begin var tr := ParametricTrajectory(0,2*Pi,100,t->P3D(8*cos(t),4*sin(t),0)); Polyline3D(tr); var b := Sphere(tr.First,1,Colors.Blue); b.AnimMoveTrajectory(tr.Skip(1),5).Forever.Begin; end.