Download raw (15.0 KB)
%!PS-Adobe-3.0 % % ******************************************************************************** % % Figure 3.3(a)-(d) 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 two line grids % % ******************************************************************************** % /inch {72 mul} def /centiinch {0.72 mul} def 0.9 centiinch setlinewidth /figno (7.5) def 0.95 inch 6.08 inch translate % ****************************************** left image row 1: /theta1 0 def /theta2 6 def % alpha /ak 90 def /am 90 def /rot 0 def % general rotation to prevent printer artifacts /p1 3 def % period for K1 grating /p2 3 def % period for M1 grating /p1y 3 def % period for K2 grating /p2y 3 def % period for M2 grating /xshift1 0 p1 mul def % x phase shift for first grid (e.g. 0.5) /yshift1 0 p1y mul def % y phase shift for first grid (e.g. 0.5) /xshift2 0 p2 mul def % x phase shift for second grid /yshift2 0 p2y mul def % y phase shift for second grid gsave % draw surrounding crosses: gsave 2 inch 3.5 inch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw first (reference) grid: gsave 2 inch 3.5 inch yshift1 add translate theta1 rot add rotate newpath 0 p1 180 % draw vertical lines {centiinch 90 p1 div round p1 mul xshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 2 inch xshift1 add 3.5 inch translate ak theta1 add rot add rotate newpath 0 p1y 180 % draw vertical lines {centiinch 90 p1y div round p1y mul yshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw second grid: gsave 2 inch 3.5 inch yshift2 add translate theta2 rot add rotate newpath 0 p2 180 % draw vertical lines {centiinch 90 p2 div round p2 mul xshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 2 inch xshift2 add 3.5 inch translate am theta2 add rot add rotate newpath 0 p2y 180 % draw vertical lines {centiinch 90 p2y div round p2y mul yshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw white cross: gsave 2 inch 3.5 inch translate newpath 0.1 inch 0.01 inch moveto 0 inch -0.02 inch rlineto -0.09 inch 0 inch rlineto 0 inch -0.09 inch rlineto -0.02 inch 0 inch rlineto 0 inch 0.09 inch rlineto -0.09 inch 0 inch rlineto 0 inch 0.02 inch rlineto 0.09 inch 0 inch rlineto 0 inch 0.09 inch rlineto 0.02 inch 0 inch rlineto 0 inch -0.09 inch rlineto closepath 1 setgray fill grestore gsave /Helvetica findfont 10 scalefont setfont 2 inch 3.5 inch translate theta1 rot add rotate -1.01 inch -0.91 inch moveto (A) show grestore gsave /Helvetica findfont 10 scalefont setfont 2 inch 3.5 inch translate theta2 rot add rotate -1.02 inch -0.95 inch moveto (B) show grestore gsave /Times-Roman findfont 12 scalefont setfont 2 inch 3.5 inch translate -0.04 inch -1.15 inch moveto ((a)) show grestore grestore % ****************************************** right image row 1: /theta1 0 def /theta2 6 def % alpha /ak 90 def /am 90 def /rot 0 def % general rotation to prevent printer artifacts /p1 3 def % period for K1 grating /p2 3 def % period for M1 grating /p1y 3 def % period for K2 grating /p2y 3 def % period for M2 grating /xshift1 0.5 p1 mul def % x phase shift for first grid (e.g. 0.5) /yshift1 0 p1y mul def % y phase shift for first grid (e.g. 0.5) /xshift2 0 p2 mul def % x phase shift for second grid /yshift2 0 p2y mul def % y phase shift for second grid gsave gsave 4.5 inch 3.5 inch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw shifted surrounding crosses: gsave 4.5 inch 3.5 inch translate 1.5 centiinch 0 centiinch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw first (reference) grid: gsave 4.5 inch 3.5 inch yshift1 add translate theta1 rot add rotate newpath 0 p1 180 % draw vertical lines {centiinch 90 p1 div round p1 mul xshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 4.5 inch xshift1 add 3.5 inch translate ak theta1 add rot add rotate newpath 0 p1y 180 % draw vertical lines {centiinch 90 p1y div round p1y mul yshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw second grid: gsave 4.5 inch 3.5 inch yshift2 add translate theta2 rot add rotate newpath 0 p2 180 % draw vertical lines {centiinch 90 p2 div round p2 mul xshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 4.5 inch xshift2 add 3.5 inch translate am theta2 add rot add rotate newpath 0 p2y 180 % draw vertical lines {centiinch 90 p2y div round p2y mul yshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw white cross: gsave 4.5 inch 3.5 inch translate newpath 0.1 inch 0.01 inch moveto 0 inch -0.02 inch rlineto -0.09 inch 0 inch rlineto 0 inch -0.09 inch rlineto -0.02 inch 0 inch rlineto 0 inch 0.09 inch rlineto -0.09 inch 0 inch rlineto 0 inch 0.02 inch rlineto 0.09 inch 0 inch rlineto 0 inch 0.09 inch rlineto 0.02 inch 0 inch rlineto 0 inch -0.09 inch rlineto closepath 1 setgray fill grestore gsave /Helvetica findfont 10 scalefont setfont 4.5 inch 3.5 inch translate theta1 rot add rotate -1.01 inch -0.91 inch moveto (A) show grestore gsave /Helvetica findfont 10 scalefont setfont 4.5 inch 3.5 inch translate theta2 rot add rotate -1.02 inch -0.95 inch moveto (B) show grestore gsave /Times-Roman findfont 12 scalefont setfont 4.5 inch 3.5 inch translate -0.04 inch -1.15 inch moveto ((b)) show grestore grestore % ****************************************** left image row 2: /theta1 0 def /theta2 6 def % alpha /ak 90 def /am 90 def /rot 0 def % general rotation to prevent printer artifacts /p1 3 def % period for K1 grating /p2 3 def % period for M1 grating /p1y 3 def % period for K2 grating /p2y 3 def % period for M2 grating /xshift1 0 p1 mul def % x phase shift for first grid (e.g. 0.5) /yshift1 0.5 p1y mul def % y phase shift for first grid (e.g. 0.5) /xshift2 0 p2 mul def % x phase shift for second grid /yshift2 0 p2y mul def % y phase shift for second grid gsave % draw surrounding crosses: gsave 2 inch 0.9 inch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw shifted surrounding crosses: gsave 2 inch 0.9 inch translate 0 centiinch 1.5 centiinch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw first (reference) grid: gsave 2 inch 0.9 inch yshift1 add translate theta1 rot add rotate newpath 0 p1 180 % draw vertical lines {centiinch 90 p1 div round p1 mul xshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 2 inch xshift1 add 0.9 inch translate ak theta1 add rot add rotate newpath 0 p1y 180 % draw vertical lines {centiinch 90 p1y div round p1y mul yshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw second grid: gsave 2 inch 0.9 inch yshift2 add translate theta2 rot add rotate newpath 0 p2 180 % draw vertical lines {centiinch 90 p2 div round p2 mul xshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 2 inch xshift2 add 0.9 inch translate am theta2 add rot add rotate newpath 0 p2y 180 % draw vertical lines {centiinch 90 p2y div round p2y mul yshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw white cross: gsave 2 inch 0.9 inch translate newpath 0.1 inch 0.01 inch moveto 0 inch -0.02 inch rlineto -0.09 inch 0 inch rlineto 0 inch -0.09 inch rlineto -0.02 inch 0 inch rlineto 0 inch 0.09 inch rlineto -0.09 inch 0 inch rlineto 0 inch 0.02 inch rlineto 0.09 inch 0 inch rlineto 0 inch 0.09 inch rlineto 0.02 inch 0 inch rlineto 0 inch -0.09 inch rlineto closepath 1 setgray fill grestore gsave /Helvetica findfont 10 scalefont setfont 2 inch 0.9 inch translate theta1 rot add rotate -1.01 inch -0.91 inch moveto (A) show grestore gsave /Helvetica findfont 10 scalefont setfont 2 inch 0.9 inch translate theta2 rot add rotate -1.02 inch -0.95 inch moveto (B) show grestore gsave /Times-Roman findfont 12 scalefont setfont 2 inch 0.9 inch translate -0.04 inch -1.15 inch moveto ((c)) show grestore grestore % ****************************************** right image row 2: /theta1 0 def /theta2 6 def % alpha /ak 90 def /am 90 def /rot 0 def % general rotation to prevent printer artifacts /p1 3 def % period for K1 grating /p2 3 def % period for M1 grating /p1y 3 def % period for K2 grating /p2y 3 def % period for M2 grating /xshift1 0.5 p1 mul def % x phase shift for first grid (e.g. 0.5) /yshift1 0.5 p1y mul def % y phase shift for first grid (e.g. 0.5) /xshift2 0 p2 mul def % x phase shift for second grid /yshift2 0 p2y mul def % y phase shift for second grid gsave % draw surrounding crosses: gsave 4.5 inch 0.9 inch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw shifted surrounding crosses: gsave 4.5 inch 0.9 inch translate 1.5 centiinch 1.5 centiinch translate 0.5 centiinch setlinewidth %-1.400 inch -1.200 inch moveto -1.150 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch -1.200 inch moveto 0.950 inch -1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %-1.400 inch 1.200 inch moveto -1.150 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto %1.000 inch 1.200 inch moveto 0.950 inch 1.050 inch moveto 0.2 inch 0 inch rlineto -0.1 inch -0.1 inch rmoveto 0 inch 0.2 inch rlineto stroke grestore % draw first (reference) grid: gsave 4.5 inch 0.9 inch yshift1 add translate theta1 rot add rotate newpath 0 p1 180 % draw vertical lines {centiinch 90 p1 div round p1 mul xshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 4.5 inch xshift1 add 0.9 inch translate ak theta1 add rot add rotate newpath 0 p1y 180 % draw vertical lines {centiinch 90 p1y div round p1y mul yshift1 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw second grid: gsave 4.5 inch 0.9 inch yshift2 add translate theta2 rot add rotate newpath 0 p2 180 % draw vertical lines {centiinch 90 p2 div round p2 mul xshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore gsave 4.5 inch xshift2 add 0.9 inch translate am theta2 add rot add rotate newpath 0 p2y 180 % draw vertical lines {centiinch 90 p2y div round p2y mul yshift2 sub centiinch sub -0.9 inch moveto 0 1.8 inch rlineto} for stroke grestore % draw white cross: gsave 4.5 inch 0.9 inch translate newpath 0.1 inch 0.01 inch moveto 0 inch -0.02 inch rlineto -0.09 inch 0 inch rlineto 0 inch -0.09 inch rlineto -0.02 inch 0 inch rlineto 0 inch 0.09 inch rlineto -0.09 inch 0 inch rlineto 0 inch 0.02 inch rlineto 0.09 inch 0 inch rlineto 0 inch 0.09 inch rlineto 0.02 inch 0 inch rlineto 0 inch -0.09 inch rlineto closepath 1 setgray fill grestore gsave /Helvetica findfont 10 scalefont setfont 4.5 inch 0.9 inch translate theta1 rot add rotate -1.01 inch -0.91 inch moveto (A) show grestore gsave /Helvetica findfont 10 scalefont setfont 4.5 inch 0.9 inch translate theta2 rot add rotate -1.02 inch -0.95 inch moveto (B) show grestore gsave /Times-Roman findfont 12 scalefont setfont 4.5 inch 0.9 inch translate -0.04 inch -1.15 inch moveto ((d)) show grestore grestore gsave 0.9 inch -3.8 inch translate 0 inch 0 inch moveto /Times-Bold findfont 12 scalefont setfont (Figure 3.3(a)-(d)) 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.05 inch -0.25 inch moveto (Vol. II: Aperiodic Layers,) show /Times-Roman findfont 12 scalefont setfont ( by I. Amidror, published by Springer, 2007.) show grestore showpage