From: alena@nikhefh.nikhef.nl (Alena Lacova)
Newsgroups: comp.lang.postscript
Subject: funny and beautifull
Keywords: PostScript programs
Date: 8 Sep 92 12:14:19 GMT
Organization: Nikhef-H, Amsterdam (the Netherlands).


Warning! *********** This is just for fun.*********** 
Two of my PostScript programs which try to make life nicer.
You can run them again and again and the result will be (almost) 
always different.
Enjoy it !! 

Alena

********************************************************************************
| Alena Lacova				    !!     I am a PostScript fan       !
| +31 20-592-5104			    !!   and looking for a new job     !
| alena@nikhef.nl			    !!        in Netherlands           !
| NIKHEF, Kruislaan 409, 1009DB Amsterdam   !!   starting from January 1993    !
********************************************************************************

%*******************************************************************************
%*---------------------*    F I R S T     O N E     *--------------------------*
%*******************************************************************************
%!PS
%% Author: Alena Lacova,  alena@nikhef.nl
%% Date: 14-FEB-1992
%% Description: This program draws many different butterflies 
%% 		at random positions
%%
%%---------- Beginning of Definitions ----------
%%
/Red 0 def /Green 0 def /Blue 0 def
/wedge { %def
  newpath
  	0 0 moveto
	X1 Y1 X2 Y2 X3 Y3 curveto
	closepath
	0 0 moveto
	X1 neg Y1 X2 neg Y2 X3 neg Y3 curveto
	closepath
} def
/ButterflyProp { %def
	/X1 rand 80 mod def /Y1 rand 80 mod def
	/X2 rand 80 mod def /Y2 rand 80 mod def
	/X3 rand 80 mod def /Y3 rand 80 mod def
	/x { rand 450 mod 80 add } def
	/y { rand 650 mod 80 add } def
 	x y  translate 
	0.02 setlinewidth
	Red Green Blue setrgbcolor 
} def
/DrawButterfly { %def
  gsave
	ButterflyProp
	2 { gsave wedge gsave eofill grestore
	    grestore 180 rotate 
	} repeat
	.5 .1 .1  setrgbcolor
	0 10 moveto 10 20 rlineto 
	0 10 moveto 10 neg 20 rlineto 
	stroke
	10 30  2 0 360 arc fill 
	-10 30  2 0 360 arc fill 
	0 -10 moveto 0 4 lineto
	0 8 moveto 0 10 lineto
	1 setlinecap
	6 setlinewidth stroke
  grestore
} def
%%
%%---------- End of Definitions ----------
%%---------- Beginning of Program --------
%%
/seed usertime def
seed  srand
gsave
0 0.3 1.0 { %for
	/Blue exch def  
	0 .3 1.0 { %for
		/Green exch def 
		.1 .3 1.0 { %for
			/Red exch def DrawButterfly 
		} for 
	} for 
} for
grestore
showpage
%%---------- End of Program --------------
%*******************************************************************************
%*---------------------*    S E C O N D     O N E     *------------------------*
%*******************************************************************************
%!PS
%% Author: Alena Lacova,  alena@nikhef.nl
%% Date: 14-FEB-1992
%% Description: This program draws many different flowers at random positions
%%
%%---------- Beginning of Definitions ----------
%%
/Red 0 def /Green 0 def /Blue 0 def
/wedge { %def
  newpath
  	0 0 moveto X1 Y1 X2 Y2 X3 Y3 curveto closepath
	0 0 moveto X1 neg Y1 X2 neg Y2 X3 neg Y3 curveto closepath
} def
/FlowerProp { %def
	/radius rand 10 mod 10 add def
	/X1 rand 120 mod def /Y1 rand 120 mod def
	/X2 rand 120 mod def /Y2 rand 120 mod def
	/X3 rand 120 mod def /Y3 rand 120 mod def
	/x { rand 400 mod 120 add } def
	/y { rand 550 mod 130 add } def
 	x y  translate 
	0.02 setlinewidth
	Red Green Blue setrgbcolor 
} def
/DrawFlower { %def
  gsave
	FlowerProp
	5 { gsave wedge gsave eofill grestore
    		%0 setgray stroke 
		grestore 72 rotate 
	} repeat
	1 1 0 setrgbcolor
	0 0 radius 0 360 arc fill 0 setgray stroke
  grestore
} def
%%
%%---------- End of Definitions ----------
%%---------- Beginning of Program --------
%%
usertime srand
gsave
0.2 0.4 1.1 { %for
	/Blue exch def  
	0 .4 1.1 { %for
		/Green exch def 
		0.1 .4 1.1 { %for
			/Red exch def DrawFlower 
		} for 
	} for 
} for
grestore
showpage
%%---------- End of Program --------------
Newsgroups: comp.lang.postscript