Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / par-fusion.tex
1 \section {Fusionner des solides}
2
3 Il est possible d'assembler plusieurs solides en une seule structure~:
4 c'est l'opération de \textsl {fusion\/} des solides. Cette technique
5 permet d'appliquer l'algorithme du peintre à toute une scéne.
6
7 Pour ce faire, il faut activer la possibilité de mettre en mémoire par
8 \verb+\psset{solidmemory}+, puis construire ses différents solides
9 avec \verb+\psSolid+, sans omettre de leur donner un nom chacun.
10
11 On utilise ensuite l'objet \verb+fusion+ de \verb+\psSolid+, en
12 indiquent dans le paramètre \verb+base+ la liste des noms des solides
13 à fusionner.
14
15 Pour visualiser la scène, ne pas oublier de conclure par
16 \verb+\composeSolid+.
17
18 \begin{multicols}{2}
19 \bgroup
20 \psset{lightsrc=50 -50 50,viewpoint=40 16 32 rtp2xyz,Decran=40}
21 \psset{unit=.6}
22 \begin{pspicture}(-6,-5)(6,7)
23 \psframe*[linecolor=gray!40](-6,-5)(6,7)
24 \psset{solidmemory}
25 \psSolid[object=cylindre,h=6,fillcolor=blue,
26 r=1.5,
27 ngrid=4 16,
28 action=none,
29 name=A1,
30 ](0,0,-4)
31 \psSolid[object=anneau,h=6,fillcolor=red!50,
32 R=4,r=3,h=1,
33 action=none,
34 name=B1,
35 ](0,0,-1)
36 \psSolid[object=fusion,
37 action=draw**,
38 base=A1 B1,
39 ](0,0,0)
40 \composeSolid
41 \end{pspicture}
42 \egroup
43
44 \columnbreak
45
46 \begin{verbatim}
47 \psset{solidmemory}
48 \psSolid[object=cylindre,h=6,fillcolor=blue,
49 r=1.5,
50 ngrid=4 16,
51 action=none,
52 name=A1,
53 ](0,0,-4)
54 \psSolid[object=anneau,h=6,fillcolor=red!50,
55 R=4,r=3,h=1,
56 action=none,
57 name=B1,
58 ](0,0,-1)
59 \psSolid[object=fusion,
60 action=draw**,
61 base=A1 B1,
62 ](0,0,0)
63 \composeSolid
64 \end{verbatim}
65 \end{multicols}
66
67
68 \begin{multicols}{2}
69 \bgroup
70 \psset{unit=0.5}
71 \begin{pspicture}(-6,-5)(6,5)
72 \psset{solidmemory}
73 \psset{lightsrc=50 -50 50,viewpoint=100 -30 40,
74 Decran=100,linewidth=0.5\pslinewidth,
75 ngrid=18 18,fillcolor=white,
76 h=12,r=2,RotX=90}
77 \psframe*[linecolor=black](-6,-5)(6,5)
78 \psSolid[object=cylindrecreux,
79 action=none,
80 name=cylindre1](0, 6, 0)
81 \psSolid[object=cylindrecreux,
82 RotZ=90,
83 action=none,
84 name=cylindre2](-6, 0, 0)
85 \psSolid[object=fusion,
86 base=cylindre1 cylindre2,RotX=0]
87 \composeSolid
88 \end{pspicture}
89 \egroup
90
91 \columnbreak
92
93 \begin{verbatim}
94 \psset{solidmemory}
95 \psset{lightsrc=50 -50 50,
96 viewpoint=100 -30 40,
97 Decran=100,linewidth=0.5\pslinewidth,
98 ngrid=18 18,fillcolor=white,
99 h=12,r=2,RotX=90}
100 \psframe*[linecolor=black](-6,-5)(6,5)
101 \psSolid[object=cylindrecreux,
102 action=none,
103 name=cylindre1](0, 6, 0)
104 \psSolid[object=cylindrecreux,
105 RotZ=90,
106 action=none,
107 name=cylindre2](-6, 0, 0)
108 \psSolid[object=fusion,
109 base=cylindre1 cylindre2,RotX=0]
110 \composeSolid
111 \end{verbatim}
112
113 \end{multicols}
114

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.