function inch( x ) { return 72*x;
}
procedure wedge( angle ) {
newpath();
moveto( 0, 0 );
translate( 1, 0 );
rotate( angle / 2 );
translate( 0, sin(angle/2));
arc( 0, 0, sin(angle/2), -90, 90 );
closepath();
}
gsave();
translate( inch(3.75), inch(7.25) );
scale( inch(1), inch(1) );
wedge( 30 );
setlinewidth(.02);
stroke();
grestore();
gsave();
translate( inch(4.25), inch(4.25) );
scale( inch(1.75), inch(1.75) );
setlinewidth(.02);
n = 12;
for (i=1 to n) {
setrgbcolor( i/n, 1-i/n, 1-i/n );
gsave();
wedge( 360 / n );
gsave();
fill();
grestore();
setgray( 0 );
stroke();
grestore();
rotate( 360 / n );
}
grestore();
showpage(); |