% cc.ps, art work. Title: "Two Views" % larger circle: colors are all combinations satisfying: % - 0,1, and 0.5 values in three color components, % - at either 1 or 2 0.5 values % - not 0 and 1 at the same time (i.e., not 1 0.5 0) % smaller circle: colors are combinations of % 0 or 1 values in three color components, % but not 3 0's (white) or 3 1's (black) % % Explanation: % Small upper image: all primary colors, simple, % not necessarily bad. % Large lower image: more complicated, interesting. % Outer circle: darker versions of colors in % outer circle of upper image. % Inner circle: lighter versions of colors in % inner circle of upper image. % Middle two circles: odd colors. % Patterns in lower image: % "Bluish" colors alternate back and forth % Similarly for "redish" and "greenish" colors. % /r 200 def % size of larger circle /path1 { % stack: rp; a third segment of a circle /rp exch def newpath 0 0 moveto % everything centered at origin rp 120 cos mul rp 120 sin mul lineto 0 0 rp 120 0 arcn closepath } def % path1 /inch {72 mul} def /back { % make background black newpath 0 0 moveto 8.5 inch 0 lineto 8.5 inch 11.7 inch lineto 8.5 inch neg 11.7 inch lineto closepath 1 1 1 0 setcmykcolor % black fill } def % back /doit { % do larger circle % circle 1 (outer) r path1 % feed r in as size 0.5 1 1 0 setcmykcolor fill 120 rotate r path1 1 1 0.5 0 setcmykcolor fill 120 rotate r path1 1 0.5 1 0 setcmykcolor fill 120 rotate % circle 2 180 rotate /s r .8 mul def s path1 0.5 1 0.5 0 setcmykcolor fill 120 rotate s path1 1 0.5 0.5 0 setcmykcolor fill 120 rotate s path1 0.5 0.5 1 0 setcmykcolor fill 120 rotate 180 neg rotate % circle 3 120 neg rotate /t r .6 mul def t path1 0.5 0 0.5 0 setcmykcolor fill 120 rotate t path1 0 0.5 0.5 0 setcmykcolor fill 120 rotate t path1 0.5 0.5 0 0 setcmykcolor fill 120 rotate 120 rotate % circle 4 (inner) 60 neg rotate /u r .4 mul def u path1 0.5 0 0 0 setcmykcolor fill 120 rotate u path1 0 0 0.5 0 setcmykcolor fill 120 rotate u path1 0 0.5 0 0 setcmykcolor fill 120 rotate 60 rotate } def % doit /doit2 { % do smaller circle % circle 1 (outer) /s r 0.5 mul def s path1 0 1 1 0 setcmykcolor fill 120 rotate s path1 1 1 0 0 setcmykcolor fill 120 rotate s path1 1 0 1 0 setcmykcolor fill 120 rotate % circle 4 (inner) 180 rotate /t r 0.3 mul def t path1 0 1 0 0 setcmykcolor fill 120 rotate t path1 1 0 0 0 setcmykcolor fill 120 rotate t path1 0 0 1 0 setcmykcolor fill 120 rotate 180 neg rotate } def % doit2 back % black background 300 300 translate doit % larger circle in lower half 0 350 translate doit2 % smaller circle in upper half showpage