| form maxVals deltaR | form := (Form extent: 320@200 depth: 8) fillBlack. maxVals := Array new: 160 withAll: 100. deltaR := Float pi / 180. -180 to: 180 by: 6 do: [:x | -180 to: 180 by: 4 do: [:y | | radius z sx sy | radius := deltaR * (x*x + (y*y)) sqrt. z := 100 * radius cos - (30 * (3 * radius) cos). sx := (80 + (x/3) - (y/6)) truncated. sy := (40 - (y/6) - (z/4)) truncated. ((sx between: 0 and: 159) and: [(maxVals at: sx + 1) > sy]) ifTrue: [ | zz color | color := Color black. zz := ((z + 100) * 0.035) truncated + 1. zz odd ifTrue: [color := color + Color blue]. ((#(2 3) includes: zz) or: [zz >= 6]) ifTrue: [color := color + Color red]. zz >= 4 ifTrue: [color := color + Color green]. form fill: (sx * 2 @ (sy * 2) extent: 2 @ 2) rule: Form over fillColor: color. maxVals at: sx + 1 put: sy ] ] ]. (form magnifyBy: 1.5) asMorph openInHand