cosic.rescue
clone your own copy | download snapshot

Snapshots | iceberg

Inside this repository

fII2_8_3.ps
application/postscript

Download raw (4.4 KB)

%!PS-Adobe-3.0
%
% ********************************************************************************
%
% Figure 2.8 from the book: "The Theory of the Moire Phenomenon, Vol. II"
% by I. Amidror, published by Springer, 2007.
%
%		* * *  Copyright (c) 2007 EPFL  * * *
%
% Author: I. Amidror
%
% Modified: March 21, 2007
%
% ********************************************************************************
%
% Superpositions of three dot screens - third layer only
%
% ********************************************************************************
%



/inch {72 mul} def
/centiinch {0.72 mul} def
%1.0 centiinch setlinewidth

/dim 450 def		% dimensions of the screen in centiinches
/dim2 225 def		% dim/2

/myrand {rand 2147483647 div 2 mul 1 sub} def	% random number between -1...1

1 setlinecap


/Helvetica-Bold findfont
10 scalefont setfont

1.7 inch -1.2 inch translate



/alpha 3.5 def

/theta1 0 def
/theta2 0 def
/theta3 0 def

/rot 0 def		% general rotation to prevent printer artifacts

/p1 3 def		% period for first (reference) dot screen
/p2 3 def		% period for second dot screen
/p3 3 def		% period for third dot screen

/p1y 3 def		% period for first (reference) dot screen
/p2y 3 def		% period for second dot screen
/p3y 3 def		% period for third dot screen

/xshift1 3 p1 mul def		% x phase shift for first dot screen (e.g. 0.5)
/yshift1 0 p1y mul def		% y phase shift for first dot screen (e.g. 0.5)
/xshift2 0 p2 mul def		% x phase shift for second dot screen
/yshift2 0 p2y mul def		% y phase shift for second dot screen
/xshift3 0 p3 mul def		% x phase shift for third dot screen
/yshift3 0 p3y mul def		% y phase shift for third dot screen

/rr 1 def	% random numbers will be generated in the range -rr...rr
		% (in PostScript points!)


% draw first (reference) dot screen:

1.2 centiinch setlinewidth

8 srand		% seed for rand


/y dim2 neg def

gsave
2.5 inch 9.4 inch translate
theta1 rot add rotate
gsave
0 p1y dim		% draw horizontal lines of dots
{newpath
	/x dim2 neg def
	/ysave exch dim2 p1y div round p1y mul sub def
	0 p1 dim	% draw a horizontal line of dots
		{/xsave exch dim2 p1 div round p1 mul sub def
		xsave x sub
		x						% g1(x,y)
		add xshift1 add
		centiinch myrand rr mul sub 

		ysave y sub
		y						% g2(x,y)
		add yshift1 add
		centiinch myrand rr mul sub moveto
		0 0 rlineto
		/x x p1 add def
	} for
%	stroke
	/y y p1y add def
} for
-2.28 inch 2.22 inch moveto
%(A) show
grestore
gsave
/Times-Roman findfont
12 scalefont setfont
-0.07 inch -1.6 inch moveto
%((a)) show
grestore
grestore


% draw second dot screen:

1.5 centiinch setlinewidth

8 srand		% same seed for rand


/y dim2 neg def

gsave
2.5 inch 9.4 inch translate
theta2 rot add rotate
0 p2y dim		% draw horizontal lines of dots
{newpath
	/x dim2 neg def
	/ysave exch dim2 p2y div round p2y mul sub def
	0 p2 dim	% draw a horizontal line of dots
		{/xsave exch dim2 p2 div round p2 mul sub def
		xsave x sub
		1.067 x mul					% g3(x,y)
		add xshift2 add
		centiinch myrand rr mul sub 

		ysave y sub
		1.067 y mul					% g4(x,y)
		add yshift2 add
		centiinch myrand rr mul sub moveto
		0 0 rlineto
		/x x p2 add def
	} for
%	stroke
	/y y p2y add def
} for
-2.55 inch 2.35 inch moveto
%(B) show
grestore



% draw third dot screen:

1.5 centiinch setlinewidth

8 srand		% same seed for rand


/y dim2 neg def

gsave
2.5 inch 9.4 inch translate
theta3 rot add rotate
0 p3y dim		% draw horizontal lines of dots
{newpath
	/x dim2 neg def
	/ysave exch dim2 p3y div round p3y mul sub def
	0 p2 dim	% draw a horizontal line of dots
		{/xsave exch dim2 p3 div round p3 mul sub def
		xsave x sub
		alpha cos x mul alpha sin y mul sub		% g5(x,y)
		add xshift3 add
		centiinch myrand rr mul sub 

		ysave y sub
		alpha sin x mul alpha cos y mul add		% g6(x,y)
		add yshift3 add
		centiinch myrand rr mul sub moveto
		0 0 rlineto
		/x x p3 add def
	} for
	stroke
	/y y p3y add def
} for
-2.54 inch 2.0 inch moveto
(C) show
grestore


gsave
0.25 inch 3.5 inch translate
0 inch 0 inch moveto
/Times-Bold findfont
12 scalefont setfont
(Figure 2.8) show
/Times-Roman findfont
12 scalefont setfont
( from the book: ) show
/Times-Italic findfont
12 scalefont setfont
(The Theory of the Moire) show
-0.06 inch 0 inch rmoveto
(\302 Phenomenon) show
-0.15 inch -0.25 inch moveto
(Vol. II: Aperiodic Layers,) show
/Times-Roman findfont
12 scalefont setfont
( by I. Amidror, published by Springer, 2007.) show
1.6 inch -0.65 inch moveto
((Third layer only.)) show
grestore


showpage