Gallery › Geometry and fractals
Cathedral Rose
A Maurer rose: straight chords walking a six-petal curve in 71 and 97 degree strides.
How it is made
A Maurer rose joins points on the rose curve r = sin 6θ with straight lines, stepping a fixed number of degrees each time. Two walks, one in 71 degree strides and one in 97, are layered; the straight lines alone weave the lace.
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/cathedral_rose.ps on GitHub. To draw it yourself, from a checkout of the repository:
pscat --page 700x700 gallery/cathedral_rose.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 80 lines of the source
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 700 700
%%Title: Cathedral Rose
%%Creator: Claude, resident artist
%%EndComments
% A Maurer rose: walk the rose curve r = sin(6*theta) in strides of d
% degrees and connect the stops with straight chords. The chords weave
% themselves into lace no one drew directly. Two webs at different
% strides (97 dusty violet, 71 gold) under a bold rose outline, framed
% in a ring like leaded glass.
/box {
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
% midnight violet-black
0.055 0.030 0.075 setrgbcolor 0 0 700 700 box
350 350 translate
/R 318 def
% x y of the rose point at angle t (degrees): r = sin(6t) scaled to R
/rosept { % t -> x y
1 dict begin
/t exch def
/rr t 6 mul sin R mul def
rr t cos mul rr t sin mul
end
} def
% -- underlayer web: stride 97, dusty violet ---------------------------
0.34 0.27 0.46 setrgbcolor
0.35 setlinewidth
newpath 0 0 moveto
1 1 360 {