1 \def\oeil{\psarc[linewidth=
2pt
](
0,
2.5)
{2.5}{215}{270}%
2 \psarc[linewidth=
2pt
](
0,-
2.5)
{2.5}{90}{140}%
3 \psarc(-
2.5,
0)
{1}{-
30}{30}%
4 \psarc(
0,
0)
{1.75}{160}{200}
6 \pscircle[linestyle=none
](
0,
0)
{1.75}}
7 \pscircle[fillstyle=solid,fillcolor=lightgray
](-
2.5,
0)
{0.9}
11 \begin{pspicture
}(-
7,-
7)(
7,
10)
13 \newcommand\hauteur{5}
15 \FPeval{\pasrad}{\pas*
\FPpi/
180}
16 \FPmul{\Largeur}{\R}{\pasrad}
17 \FPdiv{\largeur}{\Largeur}{2}
18 %Les coordonnées de viewpoint
19 \def\vx{1}\def\vy{-
0.8}\def\vz{1}
20 \FPeval{\RH}{(
\R)/(
\hauteur)
}
22 \FPeval{\OH}{sin(
\phy)*
\hauteur}
23 \FPeval{\zH}{sin(
\phy)*
\OH}
24 \FPeval{\OK}{cos(
\phy)*
\OH}
25 \FPeval{\generatrice}{root(
2,(
\hauteur*
\hauteur)+(
\R*
\R))
}
26 \psset{viewpoint=
{\vx} {\vy} {\vz}}
27 \ThreeDput[normal=
0 0 1](
0,
0,
0)
{%%
28 \psframe*
[linecolor=gray!
25](-
10,-
10)(
10,
10)
29 \psaxes(
0,
0)(-
10,-
10)(
10,
10)
30 \pscircle[doubleline=true
]{3}
32 \multido{\n=-
1.50+
0.50}{7}{%
33 \pnode(!
\n\space -
2.50)
{A
}
34 \pnode(!
\n\space -
0.50)
{B
}
35 \psline[linecolor=green
](A)(B)
36 \pslineA[linecolor=green
](A)(B)
38 \multido{\N=-
2.50+
0.50}{5}{%
41 \pslineA[linecolor=green
](A)(B)
42 \psline[linecolor=green
](A)(B)
45 \multido{\n=-
1.50+
0.50}{7}{%
46 \pnode(!
\n\space 2.50)
{A
}
47 \pnode(!
\n\space 0.50)
{B
}
48 \psline[linecolor=green
](A)(B)
49 \pslineA[linecolor=green
](A)(B)
51 \multido{\N=
2.50+-
0.50}{5}{%
54 \pslineA[linecolor=green
](A)(B)
55 \psline[linecolor=green
](A)(B)
57 \multido{\n=-
1.50+
0.50}{7}{%
58 \pnode(!
\n\space -
2.50)
{A
}
59 \pnode(!
\n\space -
0.50)
{B
}
63 \multido{\N=-
2.50+
0.50}{5}{%
69 \multido{\n=-
1.50+
0.50}{7}{%
70 \pnode(!
\n\space 2.50)
{A
}
71 \pnode(!
\n\space 0.50)
{B
}
75 \multido{\N=
2.50+-
0.50}{5}{%
81 \psanamorphosis[type=conical,scale=-
0.7 -
0.7](
0,
1.5)
{tiger.eps
}
82 \pstextA[fontsize=
15,fillcolor=green,scale=
1 -
1](
0,-
0.5)
{Anamorphose
}
83 \pscircle[doubleline=true
]{3}}
86 \FPmul{\tempa}{\FPpi}{\the\n}
87 \FPdiv{\angle}{\tempa}{180}
88 \FPsin{\SIN}{\angle}\FPcos{\COS}{\angle}
89 \FPmul{\xH}{\COS}{\OK}
90 \FPmul{\yH}{\SIN}{\OK}
91 \FPdiv{\grise}{\the\n}{360}
92 \FPsub{\gris}{1}{\grise}
93 \FPdiv{\teinte}{\grise}{2}
94 \definecolor{gris
}{cmyk
}{\teinte,
\teinte,
\teinte,
0}
95 %tester les faces visibles
96 %le produit scalaire du vecteur viewpoint et du vecteur normal à la face >0 ?
97 \FPeval{\costest}{(
\vx)*
\xH+(
\vy)*
\yH+(
\vz)*
\zH}
99 \ThreeDput[normal=
{\xH} {\yH} \zH](
0,
0,
\hauteur)
{%
100 \pspolygon[linecolor=BleuCiel
]%[fillstyle=solid,fillcolor=gris,dimen=outer]%
101 (
0,
0)(-
\largeur,-
\generatrice)(
\largeur,-
\generatrice)
}\else{}\fi
103 \ThreeDput[normal=
{\xH} {\yH} \zH](
0,
0,
\hauteur)
{%
104 \psline[linestyle=dashed,linecolor=gray
](
0,
0)(
\largeur,-
\generatrice)
}\else{}\fi
105 \ifnum\n<
360 \advance\n by
\pas
107 %Dessin des faces de dessus et de dessous
110 %\ThreeDput[normal=0 0 -1](0,0,0){%
111 %\pscircle[fillstyle=solid,fillcolor=lightgray](0,0){\R}\rput(0,0){\Large\textbf{\textsf{Dessous}}}}\fi
112 \ThreeDput[normal=
1 0 0](
0,
0,
0)
{%
114 \rput{90}(
0,
12)
{\oeil}%
128 \psset{linecolor=red
}
130 \pcline[nodesepB=
2,nodesepA=
1,linecolor=red,arrowsize=
0.175,arrowinset=
0.075]{->
}(P')(I)
131 \pcline[nodesepB=
4,nodesepA=
1,linecolor=red,arrowsize=
0.175,arrowinset=
0.075]{->
}(I)(V)
132 \psline[linestyle=dashed
](I)(P)
}}%