CONST Duration = 2; PROC D(a, b, c, d) IS IF PS.SetWidth(5); PS.MoveTo(a); PS.CurveTo(b, c, d); PS.Close(); PS.Stroke() FI END; UI PointTool(D); PROC DAtT(a, b, c, d, e, t) IS VAR theta = Math.Pi * 2 * t, p = (COS(theta), SIN(theta)) IN D(a, b, p REL (e, c), d) END END; PROC Go(a, b, c, d, e) IS Anim.Play((CLOSE(DAtT, a, b, c, d, e), Duration)) END; UI PointTool(Go); PROC Cmd0() IS IF VAR a = (78.01, 402), b = (229.5, 395.9), c = (207.5, 231.3), d = (81.8, 194.2), e = (259.8, 191.1) IN Go(a, b, c, d, e); PS.Reset() END FI END;