DECLARE SUB peset (x!, y!, z!, c!, c!) SCREEN 13: FOR i = 0 TO 63: PALETTE i, 65536 * i + 256 * i + i: NEXT FOR z = 100 TO -100 STEP -.5 FOR x = -100 TO 1 STEP .5 IF x <> 0 OR z <> 0 THEN q = SQR(x * x + z * z) / 5 p = -SIN(q) / q / 5 xx = p * x zz = p * z END IF qq = 1.73 * SQR(xx * xx + 1 + zz * zz) c1 = (1 + (xx + 1 - zz) / qq) * 31 c2 = (1 + (-xx + 1 - zz) / qq) * 30 CALL peset(x, COS(q) * 5, z, c1, c2) NEXT NEXT DO: LOOP SUB peset (x, y, z, c1, c2) zzz = z zz = z * .86 - .5 * y yy = zzz * .5 + .86 * y yyy = 100 - 160 * ((yy) / (zz + 194)) xxx = 160 * (x / (zz + 194)) PSET (160 + xxx, yyy), c1 PSET (160 - xxx, yyy), c2 'CIRCLE (RND * 400, RND * 340), RND * 12 END SUB