Initialisation du projet pst-solides3d.git (SVN revision 142)
[pst-solides3d.git] / doc / pst-solides3d-doc.tex
1 \documentclass[twoside]{book}
2 \usepackage[dvipsnames,svgnames]{pstricks}
3 \usepackage{pst-plot,pst-eucl}
4 \usepackage{pstricks-add,pst-solides3d}
5 \let\PSTfileversion\fileversion
6 \let\PSTfiledate\filedate
7 \usepackage[latin1]{inputenc}
8 \usepackage[T1]{fontenc}
9 \usepackage{manfnt}
10 \usepackage{lmodern}
11 \usepackage[garamond]{mathdesign}
12 %\renewcommand{\ttdefault}{lmtt}
13 \usepackage{colortbl}
14 \usepackage{multicol}
15 \usepackage{longtable}
16 \usepackage{array}
17 \usepackage{amsmath}
18 \usepackage{arrayjob}
19 \usepackage{url}
20 \usepackage[a4paper,dvips,hmargin=2cm,vmargin=3cm]{geometry}
21 \usepackage[colorlinks=true,dvips]{hyperref}
22 \usepackage{showexpl}
23 \usepackage{ragged2e}
24 \usepackage{framed}
25 \usepackage[frenchb]{babel}
26 \listfiles
27 \DeclareFixedFont{\timesnormal}{T1}{ptm}{m}{n}{2cm}
28 \raggedbottom
29 %% adapté de \psRandom du package pstricks-add
30 %% pour rendre aléatoire la taille des étoiles
31 %% Manuel Luque
32 \newdimen\pssizeStar
33 \makeatletter
34 \def\psset@sizeStar#1{\pssetlength\pssizeStar{#1}}
35 \psset@sizeStar{1pt}
36 \def\psRandomStar{\pst@object{psRandomStar}}%
37 \def\psRandomStar@i{\@ifnextchar({\psRandomStar@ii}{\psRandomStar@iii(0,0)(1,1)}}
38 \def\psRandomStar@ii(#1){\@ifnextchar({\psRandomStar@iii(#1)}{\psRandomStar@iii(0,0)(#1)}}
39 \def\psRandomStar@iii(#1)(#2)#3{%
40 \def\pst@tempA{#3}%
41 \ifx\pst@tempA\pst@empty\psclip{\psframe(#2)}\else\psclip{#3}\fi
42 \pst@getcoor{#1}\pst@tempA
43 \pst@getcoor{#2}\pst@tempB
44 \begin@SpecialObj
45 \addto@pscode{
46 \pst@tempA\space /yMin exch def
47 /xMin exch def
48 \pst@tempB\space /yMax exch def
49 /xMax exch def
50 /dy yMax yMin sub def
51 /dx xMax xMin sub def
52 rrand srand % initializes the random generator
53 /getRandReal { rand 2147483647 div } def
54 \psk@randomPoints {
55 /DS \pst@number\pssizeStar\space getRandReal mul def
56 \@nameuse{psds@\psk@dotstyle}
57 \ifPst@color getRandReal 1 1 sethsbcolor \fi
58 getRandReal dx mul xMin add
59 getRandReal dy mul yMin add
60 Dot
61 \ifx\psk@fillstyle\psfs@solid fill \fi stroke
62 } repeat
63 }%
64 \end@SpecialObj
65 \endpsclip
66 \ignorespaces
67 }
68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69 %% macro H.Voss sur :
70 %%http://tug.org/mailman/htdig/pstricks/2007/004640.html
71
72 \def\GetCenter#1{ tx@NodeDict begin /N@#1 load GetCenter end
73 \pst@number\psyunit div /#1.y ED
74 \pst@number\psxunit div /#1.x ED }
75 \makeatother
76 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77 %% Jean-Michel Sarlat et Guillaume Connan
78 \newenvironment{gbar}{%
79 \def\FrameCommand{{\color{red}\vrule width 2pt}\colorbox{yellow!30}}%
80 \MakeFramed {\advance\hsize-\width \FrameRestore}}%
81 {\endMakeFramed}
82 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
83 \newcommand\Cadre[1]{\psframebox[fillstyle=solid,fillcolor=yellow,linecolor={[cmyk]{0,0,1,0.1}}]{\texttt{#1}}}
84 \newcommand\encadre[1]{\begin{center}
85 \psframebox[fillstyle=solid,fillcolor=green!33,linecolor=green,linewidth=0.5mm]{
86 \begin{minipage}{0.95\textwidth}
87 {#1}
88 \end{minipage}}
89 \end{center}}
90
91 \newcommand\toptableau{
92 \rowcolor{yellow}
93 \textbf{solide} & \begin{tabular}{c}
94 \textbf{paramètres}\\
95 \textbf{par défaut}
96 \end{tabular} &
97 \begin{minipage}{4cm}
98 \centerline{\textbf{vue}}
99 \end{minipage}&
100 \begin{minipage}{4cm}
101 \centerline{\textbf{code}}
102 \end{minipage}}
103
104 \newarray\colors
105 \readarray{colors}{%
106 Apricot&Aquamarine%
107 &Bittersweet&Black&Blue&BlueGreen&BlueViolet&BrickRed&Brown&BurntOrange%
108 &CadetBlue&CarnationPink&Cerulean&CornflowerBlue&Cyan&Dandelion&DarkOrchid%
109 &Emerald&ForestGreen&Fuchsia&Goldenrod&Gray&Green&GreenYellow&JungleGreen%
110 &Lavender&LimeGreen&Magenta&Mahogany&Maroon&Melon&MidnightBlue&Mulberry%
111 &NavyBlue&OliveGreen&Orange&OrangeRed&Orchid&Peach&Periwinkle&PineGreen%
112 &Plum&ProcessBlue&Purple&RawSienna&Red&RedOrange&RedViolet&Rhodamine&RoyalBlue%
113 &RoyalPurple&RubineRed&Salmon&SeaGreen&Sepia&SkyBlue&SpringGreen&Tan&TealBlue%
114 &Thistle&Turquoise&Violet&VioletRed&White&WildStrawberry&Yellow&YellowGreen&YellowOrange}
115
116
117 \edef\colorfaces{}%
118 \multido{\i=0+1}{67}{%
119 \checkcolors(\i)
120 \xdef\colorfaces{\colorfaces\i\space(\cachedata)\space}}
121
122 \definecolor{bleuciel}{rgb}{0.78,0.84,0.99}
123
124 % pour le dessin du point de vue
125 \def\PointEcran(#1,#2,#3)#4{% position du point sur l'écran
126 \pstVerb{/xM #1 def /yM #2 def /zM #3 def
127 /kC dE dup mul xM xE mul yM yE mul zM zE mul add add sub
128 xV xE mul xM xE mul sub
129 yV yE mul yM yE mul sub add
130 zV zE mul zM zE mul sub add
131 div def
132 /x_E kC xV xM sub mul xM add def
133 /y_E kC yV yM sub mul yM add def
134 /z_E kC zV zM sub mul zM add def}%
135 \psPoint(x_E,y_E,z_E){#4}}
136
137
138 \title{\texttt{pst-solides3d} :\\
139 guide de l'utilisateur
140 \\[0.5cm]
141 {\normalsize v. \PSTfileversion\ (\PSTfiledate)}\\
142 \input \datapath tintin
143 %\input \datapath init3d
144 }
145 \author{Jean-Paul \textsc{Vignault}, Manuel \textsc{Luque}, Arnaud
146 \textsc{Schmittbuhl}\\
147 {\small
148 \url{<jpv@melusine.eu.org>}, \url{<manuel.luque27@gmail.com>},
149 \url{<aschmittbuhl@libertysurf.fr>}}
150 \thanks{Avec la collaboration de :
151 Jürgen \textsc{Gilg}\url{<gilg@acrotex.net>},
152 Jean-Michel \textsc{Sarlat}\url{<jm.sarlat@gmail.com>},
153 Herbert \textsc{Voss}\url{<Herbert.Voss@FU-Berlin.DE>}.}}
154 \date{\today}
155
156 \def\datapath{}%../doc/}
157
158 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Herbert %%%%%%%%%%%%%%%%%%%%%%%%%%
159 \usepackage{fancyhdr}
160 \pagestyle{fancy}
161 \fancyfoot{}% delete all
162 \fancyfoot[LE,RO]{\thepage}
163 \newcommand\Input[2][\datapath]{\fancyfoot[RE,LO]{{\footnotesize#2}}%
164 \begingroup\input{#1#2}\endgroup\par}
165 % doesnt work with underscores in filename
166
167 \begin{document}
168 \maketitle
169
170 \tableofcontents
171
172 \newpage
173
174 %\end {document}
175
176 \Input{par-constitution}
177 \Input{par-preambule}
178 \Input{par-presentation}
179 \Input{par-changements}
180
181 \chapter{Commandes de bases}
182 \Input{par-choixpointdevue}
183 \Input{par-axes3D}
184 \newpage
185 \Input{par-solidespredefinis}
186 \Input{par-positionnersolide}
187
188
189 \chapter{Les options de \textbackslash{}psSolid}
190 \Input{par-commandestrace}
191 \Input{par-solidescreux}
192 \Input{par-numeroterfacettes}
193 \Input{par-enleverfacettes}
194 \Input{par-pointagesommets}
195
196 \Input{par-couleurs}
197 \Input{par-colorierfacettes}
198 \Input{par-opacity}
199 \Input{par-definitionmaillage}
200 \Input{par-modes}
201
202 \Input{par-eclairageponctuel}
203 \Input{par-tronque}
204 \Input{par-affinage}
205 \Input{par-chanfrein}
206 \Input{par-transform}
207 \Input{par-lignedeniveau}
208
209
210 \chapter{Utilisation de fichiers externes}
211 \Input{par-datfile}
212 %\Input{par-offfile
213 %\Input{par-objfile
214
215 \chapter{Quelques objets spécifiques}
216 %\Input{par-grille
217 \Input{par-plan}
218 \Input{par-vecteur}
219 \Input{par-point}
220 \Input{par-geode}
221
222
223 \chapter{Fabriquer de nouveaux solides}
224 \Input{par-codejps}
225 \Input{par-definirfonction}
226
227 \Input{par-courbeR3}
228 \Input{par-tube}
229 \Input{par-prisme}
230 \Input{par-new}
231 \Input{par-face}
232 \Input{par-ruban}
233 %\newpage
234
235 \Input{par-anneaux}% Problem with the \Input macro and par-anneaux here
236 %\fancyfoot[RE,LO]{{\footnotesize par-anneaux}}\input{\datapath par-anneaux}
237 %\fancyfoot[RE,LO]{}
238 \clearpage
239 \Input{par-anneaux2}% Problem with the \Input macro and par-anneaux here
240
241
242 \Input{par-cylindres-cones}
243
244
245 \Input{par-surfacesparametrees}
246
247
248 \chapter{Surfaces définies par une fonction}
249 \Input{par-surfaces}
250
251 \chapter{Utilisation avancée}
252 \Input{par-nommersolide}
253 \Input{par-section}
254 \Input{par-fusion}
255 \Input{par-fusionjps}
256
257
258 \chapter{Interaction avec PSTricks}
259 \Input{par-positionnerpointconnu}
260 \Input{par-ligne3D}
261 \Input{par-tracerpolygone}
262 \Input{par-transformpointconnu}
263 \Input{par-annoterschema}
264 %%\Input{par-composervue}
265
266
267 \chapter{Projections}
268 \Input{par-projpresentation}
269 \Input{par-projectionvisibility}
270 \Input{par-definirplanquelconque}
271 \Input{par-projectionpoint}
272 \Input{par-projectionvecteur}
273 \Input{par-projectiondroite}
274 \newpage
275 \Input{par-projectioncercle}
276 \Input{par-projectionpolygone}
277 \Input{par-projectionligne}
278 \newpage
279 \Input{par-projectionangledroit}
280 %% \Input{par-definirfacesolideproj} %% destroy
281 \Input{par-projectioncourbe}
282 %% \Input{par-projectionchemin}
283 \Input{par-projectiontexte}
284
285 \appendix
286 \chapter{Annexe}
287 \Input{par-parametres}
288
289 \nocite{*}
290 \bgroup
291 \fancyfoot{}
292 \RaggedRight
293 \bibliographystyle{plain}
294 \bibliography{pst-solides3d-doc}
295 \egroup
296
297 \end{document}

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.