???
[pst-anamorphosis.git] / doc / fig3d-anacon.tex
1 \begin{center}
2 \psscalebox{0.7}{
3 \begin{pspicture}(-7,-8)(7,9)
4 \newcommand\R{3}
5 \newcommand\hauteur{5}
6 \newcommand\pas{10}
7 \FPeval{\pasrad}{\pas*\FPpi/180}
8 \FPmul{\Largeur}{\R}{\pasrad}
9 \FPdiv{\largeur}{\Largeur}{2}
10 %Les coordonn\'{e}es de viewpoint
11 \def\vx{1}\def\vy{-0.8}\def\vz{1}
12 \FPeval{\RH}{(\R)/(\hauteur)}
13 \FParctan{\phy}{\RH}
14 \FPeval{\OH}{sin(\phy)*\hauteur}
15 \FPeval{\zH}{sin(\phy)*\OH}
16 \FPeval{\OK}{cos(\phy)*\OH}
17 \FPeval{\generatrice}{root(2,(\hauteur*\hauteur)+(\R*\R))}
18 \psset{viewpoint={\vx} {\vy} {\vz}}
19 \ThreeDput[normal=0 0 1](0,0,0){%%
20 \psframe*[linecolor=lightgray!25](-10,-10)(10,10)
21 \psgrid[subgriddiv=0,gridcolor=lightgray,gridlabels=0pt](-10,-10)(10,10)
22 \psaxes(0,0)(-10,-10)(10,10)
23 \pscircle[doubleline=true]{3}
24 \psset{type=conical}
25 \multido{\n=-1.50+0.50}{7}{%
26 \pnode(! \n\space -2.50){A}
27 \pnode(! \n\space -0.50){B}
28 \psline[linecolor=green](A)(B)
29 \pslineA[linecolor=green](A)(B)
30 }
31 \multido{\N=-2.50+0.50}{5}{%
32 \pnode(!-1.50 \N){A}
33 \pnode(!1.50 \N){B}
34 \pslineA[linecolor=green](A)(B)
35 \psline[linecolor=green](A)(B)
36 }
37 %
38 \multido{\n=-1.50+0.50}{7}{%
39 \pnode(! \n\space 2.50){A}
40 \pnode(! \n\space 0.50){B}
41 \psline[linecolor=green](A)(B)
42 \pslineA[linecolor=green](A)(B)
43 }
44 \multido{\N=2.50+-0.50}{5}{%
45 \pnode(!-1.50 \N){A}
46 \pnode(!1.50 \N){B}
47 \pslineA[linecolor=green](A)(B)
48 \psline[linecolor=green](A)(B)
49 }
50 \multido{\n=-1.50+0.50}{7}{%
51 \pnode(! \n\space -2.50){A}
52 \pnode(! \n\space -0.50){B}
53 \psline(A)(B)
54 \pslineA(A)(B)
55 }
56 \multido{\N=-2.50+0.50}{5}{%
57 \pnode(!-1.50 \N){A}
58 \pnode(!1.50 \N){B}
59 \pslineA(A)(B)
60 \psline(A)(B)
61 }
62 \multido{\n=-1.50+0.50}{7}{%
63 \pnode(! \n\space 2.50){A}
64 \pnode(! \n\space 0.50){B}
65 \psline(A)(B)
66 \pslineA(A)(B)
67 }
68 \multido{\N=2.50+-0.50}{5}{%
69 \pnode(!-1.50 \N){A}
70 \pnode(!1.50 \N){B}
71 \pslineA(A)(B)
72 \psline(A)(B)
73 }
74 \psanamorphosis[type=conical,scale=-0.7 -0.7](0,1.5){tiger.eps}
75 \pstextA[fontsize=15,fillcolor=green,scale=1 -1](0,-0.5){Anamorphose}
76 \pscircle[doubleline=true]{3}}
77 \newcount\n \n=0
78 \loop
79 \FPmul{\tempa}{\FPpi}{\the\n}
80 \FPdiv{\angle}{\tempa}{180}
81 \FPsin{\SIN}{\angle}\FPcos{\COS}{\angle}
82 \FPmul{\xH}{\COS}{\OK}
83 \FPmul{\yH}{\SIN}{\OK}
84 \FPdiv{\grise}{\the\n}{360}
85 \FPsub{\gris}{1}{\grise}
86 \FPdiv{\teinte}{\grise}{2}
87 \definecolor{gris}{cmyk}{\teinte,\teinte,\teinte,0}
88 %tester les faces visibles
89 %le produit scalaire du vecteur viewpoint et du vecteur normal \`{a} la face >0 ?
90 \FPeval{\costest}{(\vx)*\xH+(\vy)*\yH+(\vz)*\zH}
91 \FPifpos{\costest}
92 \ThreeDput[normal={\xH} {\yH} \zH](0,0,\hauteur){%
93 \pspolygon[linecolor=BleuCiel]%[fillstyle=solid,fillcolor=gris,dimen=outer]%
94 (0,0)(-\largeur,-\generatrice)(\largeur,-\generatrice)}\else{}\fi
95 \FPifneg{\costest}
96 \ThreeDput[normal={\xH} {\yH} \zH](0,0,\hauteur){%
97 \psline[linestyle=dashed,linecolor=gray](0,0)(\largeur,-\generatrice)}\else{}\fi
98 \ifnum\n<360 \advance\n by \pas
99 \repeat
100 %Dessin des faces de dessus et de dessous
101 %\FPifneg\vz
102 %face de dessous
103 %\ThreeDput[normal=0 0 -1](0,0,0){%
104 %\pscircle[fillstyle=solid,fillcolor=lightgray](0,0){\R}\rput(0,0){\Large\textbf{\textsf{Dessous}}}}\fi
105 \ThreeDput[normal=1 0 0](0,0,0){%
106 \psaxes(1,10)
107 \rput{90}(0,12){\oeil}%
108 {\boldmath
109 \red
110 \pnode(0,10){V}
111 \uput[0](V){$V$}
112 \pnode(0,5){S}
113 \uput[0](S){$S$}
114 \pnode(-1.5,2.5){I}
115 \uput[180](I){$I$}
116 \qdisk(I){2pt}
117 \pnode(-2,0){P}
118 \uput[135](P){$P$}
119 \pnode(-4.545,0){P'}
120 \uput[135](P'){$P'$}
121 \psset{linecolor=red}
122 \psline(V)(I)(P')
123 \pcline[nodesepB=2,nodesepA=1,linecolor=red,arrowsize=0.175,arrowinset=0.075]{->}(P')(I)
124 \pcline[nodesepB=4,nodesepA=1,linecolor=red,arrowsize=0.175,arrowinset=0.075]{->}(I)(V)
125 \psline[linestyle=dashed](I)(P)}}%
126 \end{pspicture}
127 }
128 \end{center}

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.