CONST Duration = 10; PROC EqTri(a, b) IS IF VAR c ~ (0.4, 1) REL (a, b) IN (a, b) CONG (b, c) AND (b, c) CONG (c, a) -> PS.MoveTo(a); PS.LineTo(b); PS.LineTo(c); PS.Close(); PS.Fill() END FI END; UI PointTool(EqTri); PROC TriAtT(a, b, c, t) IS VAR theta = Math.Pi * 2 * t, p = (COS(theta), SIN(theta)) IN EqTri(a, p REL (c, b)) END END; PROC Go(a, b, c) IS Anim.Play((CLOSE(TriAtT, a, b, c), Duration)) END; UI PointTool(Go); PROC Cmd0() IS IF VAR a = (64.38, 238.2), b = (178.7, 288.2), c = (202.2, 198) IN Go(a, b, c); PS.Reset() END FI END;