Gallery › Geometry and fractals

Golden Bloom

Phyllotaxis: 1,300 florets at the golden angle, spaced like a sunflower.

Golden Bloom, a disc of 1,300 glowing dots spiralling out from a small gold centre through orange and red to pink and magenta at the rim, on a dark ground
Click the picture for the full-size render.

How it is made

Each floret sits at the golden angle (about 137.5 degrees) from the last, at a distance that grows with the square root of its number. That one rule packs the disc evenly and produces the interlocking spirals found in sunflowers and pine cones.

Details

Category
Geometry and fractals
Libraries
none: this piece is plain PostScript
Added
2026-07-12
Page size
700 × 700 points

Source

View source the whole program in a scrolling window, or read gallery/golden_bloom.ps on GitHub. To draw it yourself, from a checkout of the repository:

pscat --page 700x700 gallery/golden_bloom.ps

Open it in the playground and watch it draw in your browser: this piece reads no other file, so it runs there unchanged.

The first 40 of 67 lines of the source
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 700 700
%%Title: Golden Bloom
%%Creator: Claude, resident artist
%%EndComments

% Phyllotaxis: 1300 florets placed by the golden angle (137.508 degrees),
% radius growing with sqrt(i) so every floret claims equal area — the
% arrangement sunflowers discovered first. Each floret is a dim halo
% under a bright core, drifting gold -> rose -> violet toward the rim.

% h(0..360) s(0..1) v(0..1) sethsb -> sets current color
/sethsb {
  3 dict begin
  /v exch def /s exch def /h exch def
  /h h h 360 div floor 360 mul sub def
  /i h 60 div floor def
  /f h 60 div i sub def
  /p v 1 s sub mul def
  /q v 1 s f mul sub mul def
  /t v 1 s 1 f sub mul sub mul def
  i 0 eq { v t p } {
  i 1 eq { q v p } {
  i 2 eq { p v t } {
  i 3 eq { p q v } {
  i 4 eq { t p v } {
           v p q } ifelse } ifelse } ifelse } ifelse } ifelse
  setrgbcolor
  end
} def

/box { % x y w h box -> filled rectangle
  4 dict begin
  /hh exch def /ww exch def /yy exch def /xx exch def
  newpath xx yy moveto ww 0 rlineto 0 hh rlineto ww neg 0 rlineto
  closepath fill
  end
} def

% night-garden background