CONST DotR = 3, SmallRad = 100, Num = 1000; PROC DrawDot(p) IS Circle.Draw(p, R2.Plus(p, (DotR, 0))); PS.Fill() END; UI PointTool(DrawDot); PROC HueDistrib(c) IS VAR i, r, theta, p IN i := 0; r := R2.Plus(c, (SmallRad, 0)); DO i < Num -> theta := 2 * Math.Pi * Color.HueN(i); p := (COS(theta), SIN(theta)); p := R2.Times(1 + (i / (Num * 1.5)), p); DrawDot(p REL (c, r)); i := i + 1 OD END END; UI PointTool(HueDistrib); PROC Cmd0() IS VAR a = R2.Origin IN HueDistrib(a) END END;