1 \documentclass[12pt
]{article
}
2 \usepackage{pst-anamorphosis-add,pst-
3d
}
3 \usepackage[nomessages
]{fp
}
4 \usepackage[T1]{fontenc}
5 \usepackage[latin1]{inputenc}
6 \usepackage{amsmath,amssymb
}
7 \usepackage[a4paper,margin=
2cm
]{geometry
}
12 \pscurve(
1;
160)(
0.8;
180)(
1;
200)
14 \pscustom[linewidth=
0.05]{\gsave\psarc(
0,
0)
{1}{165}{195}
15 \pscurve(
1;
195)(
0.85;
180)(
1;
165)
16 \fill[fillstyle=solid,fillcolor=blue
]\grestore}
17 \pscurve[linewidth=
.4pt
](
1;
195)(
0.85;
180)(
1;
165)
19 {\psset{linewidth=
0.05}
20 \psarc(
0,
1)
{1}{180}{270}
21 \psarc(
0,-
1)
{1}{90}{180}}
22 \psarc(
0,
0)
{1}{150}{210}
23 \pscurve[linewidth=
0.075](-
.5,
3.7)(-
1,
3)(-
1.2,
2.5)(-
1.3,
2)
24 (-
1.4,
1)(-
1.35,
0.5)(-
1.2,-
.2)(-
1.3,-
.5)
25 (-
1.4,-
1)(-
1.5,-
1.5)(-
1.8,-
2)(-
1.8,-
2.3)
%
26 (-
1.65,-
2.5)(-
1.35,-
2.55)(-
.95,-
2.8)
27 (-
.95,-
3.35)(-
1,-
3.65)(-
.8,-
4)(-
.4,-
4.1)
28 \pscurve[linewidth=
0.075](-
0.5,
3.7)(
0.5,
4.3)(
2.2,
4.7)(
4,
4.5)(
5.6,
3.5)(
6.3,
2)(
6.2,
0)(
5.8,-
1.2)(
5.1,-
2.4)(
4.9,-
4.2)(
5.5,-
6)
29 \pscurve[linewidth=
0.075](-
.8,-
4)(-
.8,-
4.2)(-
.5,-
4.5)(-
.4,-
5)(-
.25,-
5.5)(
0,-
5.8)(
.5,-
6)(
1.6,-
5.8)(
2.1,-
5.6)(
2.7,-
6.5)(
3.1,-
7.2)
30 \pscurve[linewidth=
0.1](-
1.4,
1)(-
1,
1.5)(
0.2,
1)
31 \pscurve[linewidth=
0.075](
2.8,
0.2)(
3.4,
0.7)(
4,
0.2)(
4.2,-
0.8)(
4,-
1.5)(
3,-
2)(
2.8,-
1.5)
32 \pscurve[linewidth=
0.075](-
1.5,-
2.5)(-
1.2,-
2.45)(-
0.8,-
2.6)(-
0.5,-
2.5)(-
0.7,-
2)
}
36 \begin{pspicture
}(-
14,-
12)(
14,
11)
37 \psframe[linecolor=red
](-
16,-
12)(
20,
11)
38 \newcommand\Rmirror{2}
42 \pstVerb{/ANGLE
\vy\space \vx\space atan def
43 /XC1
\Rmirror\space ANGLE -
90 add cos mul def
44 /YC1
\Rmirror\space ANGLE
90 add sin mul neg def
45 /XC2
\Rmirror\space ANGLE -
90 add cos mul neg def
46 /YC2
\Rmirror\space ANGLE
90 add sin mul def
}%
47 \psset{viewpoint=
{\vx} {\vy} {\vz}}
48 \ThreeDput[normal=
0 0 1](
0,
0,
0)
{%
49 \psgrid[gridlabels=
0pt,subgriddiv=
0,gridcolor=lightgray,griddots=
10](-
13,-
14)(
13,
10)
50 \psset{Yv=-
20,Xv=
0,Zv=
15,type=cylindricalV,Rmirror=
\Rmirror}
51 \psframe[linecolor=red
](-
13,
10)(
13,-
14)
52 \multido{\n=-
2.0+
0.5}{9}{%
53 \pnode(!
\n\space 0)
{A
}
54 \pnode(!
\n\space 5)
{B
}
58 \multido{\N=
0+
0.5}{11}{%
64 \psanamorphosis[drawanamorphosis=true,image
](
0,
2.5)
{sylvestre.eps
}
65 \psarcn[linecolor=blue,linewidth=
0.05](
0,
0)
{\Rmirror}{! ANGLE
90 add
}{! ANGLE
90 sub
}
66 \psarc[linestyle=dashed
](
0,
0)
{\Rmirror}{! ANGLE
90 add
}{! ANGLE
90 sub
}
70 \ThreeDput[normal=
0 -
1 0](
0,
0,
0)
{%
71 \psgrid[gridlabels=
0pt,subgriddiv=
0,gridcolor=lightgray,griddots=
10](-
13,
0)(
13,
6)
72 \psframe[linecolor=red
](-
13,
0)(
13,
6)
73 \psframe[fillstyle=solid
](-
2,
0)(
2,
5)
74 \multido{\n=-
2.0+
0.5}{9}{%
75 \pnode(!
\n\space 0)
{A
}
76 \pnode(!
\n\space 5)
{B
}
79 \multido{\N=
0+
0.5}{11}{%
84 \psanamorphosis[drawanamorphosis=false,image=true
](
0,
2.5)
{sylvestre.eps
}
86 \ThreeDput[normal=
0 0 1](
0,
0,
6)
{%
87 \pscircle[linecolor=blue,linewidth=
0.05](
0,
0)
{\Rmirror}
91 \psline[linecolor=blue,linewidth=
0.05](A1)(B1)
92 \psline[linecolor=blue,linewidth=
0.05](A2)(B2)
93 \ThreeDput[normal=-
1 0 0](
0,
0,
0)
{%
97 \rput{30}(V)
{\psscalebox{0.5}{\spectateur}}
99 %\psline[linestyle=dashed](Vy)(V)(Vx)
100 %\psline[linestyle=dashed](0,0)(Vx)
101 %\psline[linestyle=dashed](Vy)(0,0)
104 La position du spectateur est déterminée par les paramètres
\verb+
\psset{Yv=-
20,Xv=
0,Zv=
15}+. On pourra placer l'
\oe{}il de l'observateur dans le schéma avec les commandes suivantes :
106 \ThreeDput[normal=-
1 0 0](
0,
0,
0)
{%
108 \rput{30}(V)
{\psscalebox{0.5}{\spectateur}}
111 Un autre personnage et un autre point de vue :
114 \begin{pspicture
}(-
14,-
8)(
14,
11)
115 \psframe[linecolor=red
](-
18,-
8)(
21,
9)
116 \newcommand\Rmirror{2}
120 \pstVerb{/ANGLE
\vy\space \vx\space atan def
121 /XC1
\Rmirror\space ANGLE -
90 add cos mul def
122 /YC1
\Rmirror\space ANGLE
90 add sin mul neg def
123 /XC2
\Rmirror\space ANGLE -
90 add cos mul neg def
124 /YC2
\Rmirror\space ANGLE
90 add sin mul def
}%
125 \psset{viewpoint=
{\vx} {\vy} {\vz}}
126 \ThreeDput[normal=
0 0 1](
0,
0,
0)
{%
127 \psgrid[gridlabels=
0pt,subgriddiv=
0,gridcolor=lightgray,griddots=
10](-
15,-
15)(
14,
11)
128 \psset{Yv=-
20,Xv=
0,Zv=
10,type=cylindricalV,Rmirror=
\Rmirror}
129 \psframe[linecolor=red
](-
15,
11)(
14,-
15)
130 \pslineA[fillstyle=solid,fillcolor=yellow!
20](-
2,
0)(
2,
0)(
2,
3.5)(-
2,
3.5)(-
2,
0)
131 \multido{\n=-
2.0+
0.5}{9}{%
132 \pnode(!
\n\space 0)
{A
}
133 \pnode(!
\n\space 3.5)
{B
}
137 \multido{\N=
0+
0.5}{8}{%
143 \psanamorphosis[drawanamorphosis=true,image
](
0,
0)
{mickey2.eps
}
144 \psarcn[linecolor=blue,linewidth=
0.05](
0,
0)
{\Rmirror}{! ANGLE
90 add
}{! ANGLE
90 sub
}
145 \psarc[linestyle=dashed
](
0,
0)
{\Rmirror}{! ANGLE
90 add
}{! ANGLE
90 sub
}
149 \ThreeDput[normal=
0 -
1 0](
0,
0,
0)
{%
150 \psgrid[gridlabels=
0pt,subgriddiv=
0,gridcolor=lightgray,griddots=
10](-
15,
0)(
14,
6)
151 \psframe[linecolor=red
](-
15,
0)(
14,
6)
152 \psframe[fillstyle=solid,fillcolor=yellow!
20](-
2,
0)(
2,
3.5)
153 \multido{\n=-
2.0+
0.5}{9}{%
154 \pnode(!
\n\space 0)
{A
}
155 \pnode(!
\n\space 3.5)
{B
}
158 \multido{\N=
0+
0.5}{8}{%
163 \psanamorphosis[drawanamorphosis=false,image=true
](
0,
0)
{mickey2.eps
}
165 \ThreeDput[normal=
0 0 1](
0,
0,
5)
{%
166 \pscircle[linecolor=blue,linewidth=
0.05](
0,
0)
{\Rmirror}
170 \psline[linecolor=blue,linewidth=
0.05](A1)(B1)
171 \psline[linecolor=blue,linewidth=
0.05](A2)(B2)
172 \ThreeDput[normal=-
1 0 0](
0,
0,
0)
{%
176 \rput{30}(V)
{\psscalebox{0.5}{\spectateur}}
178 %\psline[linestyle=dashed](Vy)(V)(Vx)
179 %\psline[linestyle=dashed](0,0)(Vx)
180 %\psline[linestyle=dashed](Vy)(0,0)