%!PS % A number spiral (of the primes) as per http://numberspiral.com/ % 2005-11-28 by Charlie Loyd. % Do not use for evil. /paperx 8.5 72 mul def /papery 11 72 mul def paperx 2 div papery 2 div translate % center % Letter-size paper at these settings holds about 200k; 10k looks fine: /max 65336 def /mark? { % n mark? boolean % Your filter here. This marks primes (the dumb but clear way). % Try, e.g., { 3 mod eq } for an interesting pattern. /n exch def % /goesinto false def n 1 eq { false } { n 2 mod 0 eq { n 2 eq } { /divide? false def 3 2 n sqrt ceiling { n exch mod 0 eq { /divide? true def exit } if } for divide? not } ifelse } ifelse } def 0 1 max { dup mark? { dup sqrt dup 360 mul dup rotate cvi 360 mod 360.0 div 1.0 1.0 sethsbcolor 0 1 0 360 arc fill sqrt 360 mul neg rotate % bottleneck } if } for showpage