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}
11 \usepackage[garamond
]{mathdesign
}
12 %\renewcommand{\ttdefault}{lmtt}
15 \usepackage{longtable
}
20 \usepackage[a4paper,
dvips,hmargin=
2cm,vmargin=
3cm
]{geometry
}
21 \usepackage[colorlinks=true,
dvips]{hyperref
}
25 \usepackage[frenchb
]{babel
}
27 \DeclareFixedFont{\timesnormal}{T1}{ptm
}{m
}{n
}{2cm
}
29 %% adapté de \psRandom du package pstricks-add
30 %% pour rendre aléatoire la taille des étoiles
34 \def\psset@sizeStar
#1{\pssetlength\pssizeStar{#1}}
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{%
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
46 \pst@tempA
\space /yMin exch def
48 \pst@tempB
\space /yMax exch def
52 rrand srand
% initializes the random generator
53 /getRandReal
{ rand
2147483647 div
} def
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
61 \ifx\psk@fillstyle
\psfs@solid fill
\fi stroke
68 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
70 %%http://tug.org/mailman/htdig/pstricks/2007/004640.html
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
}
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}}%
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}
91 \newcommand\toptableau{
93 \textbf{solide
} &
\begin{tabular
}{c
}
98 \centerline{\textbf{vue
}}
100 \begin{minipage
}{4cm
}
101 \centerline{\textbf{code
}}
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
}
118 \multido{\i=
0+
1}{67}{%
120 \xdef\colorfaces{\colorfaces\i\space(
\cachedata)
\space}}
122 \definecolor{bleuciel
}{rgb
}{0.78,
0.84,
0.99}
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
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}}
138 \title{\texttt{pst-solides3d
} :\\
139 guide de l'utilisateur
141 {\normalsize v.
\PSTfileversion\ (
\PSTfiledate)
}\\
142 \input \datapath tintin
143 %\input \datapath init3d
145 \author{Jean-Paul
\textsc{Vignault
}, Manuel
\textsc{Luque
}, Arnaud
146 \textsc{Schmittbuhl
}\\
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>
}.
}}
156 \def\datapath{}%../doc/}
158 %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Herbert %%%%%%%%%%%%%%%%%%%%%%%%%%
159 \usepackage{fancyhdr
}
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
176 \Input{par-constitution
}
177 \Input{par-preambule
}
178 \Input{par-presentation
}
179 \Input{par-changements
}
181 \chapter{Commandes de bases
}
182 \Input{par-choixpointdevue
}
185 \Input{par-solidespredefinis
}
186 \Input{par-positionnersolide
}
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
}
197 \Input{par-colorierfacettes
}
199 \Input{par-definitionmaillage
}
202 \Input{par-eclairageponctuel
}
205 \Input{par-chanfrein
}
206 \Input{par-transform
}
207 \Input{par-lignedeniveau
}
210 \chapter{Utilisation de fichiers externes
}
215 \chapter{Quelques objets spécifiques
}
223 \chapter{Fabriquer de nouveaux solides
}
225 \Input{par-definirfonction
}
235 \Input{par-anneaux
}% Problem with the \Input macro and par-anneaux here
236 %\fancyfoot[RE,LO]{{\footnotesize par-anneaux}}\input{\datapath par-anneaux}
239 \Input{par-anneaux2
}% Problem with the \Input macro and par-anneaux here
242 \Input{par-cylindres-cones
}
245 \Input{par-surfacesparametrees
}
248 \chapter{Surfaces définies par une fonction
}
251 \chapter{Utilisation avancée
}
252 \Input{par-nommersolide
}
255 \Input{par-fusionjps
}
258 \chapter{Interaction avec PSTricks
}
259 \Input{par-positionnerpointconnu
}
261 \Input{par-tracerpolygone
}
262 \Input{par-transformpointconnu
}
263 \Input{par-annoterschema
}
264 %%\Input{par-composervue}
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
}
275 \Input{par-projectioncercle
}
276 \Input{par-projectionpolygone
}
277 \Input{par-projectionligne
}
279 \Input{par-projectionangledroit
}
280 %% \Input{par-definirfacesolideproj} %% destroy
281 \Input{par-projectioncourbe
}
282 %% \Input{par-projectionchemin}
283 \Input{par-projectiontexte
}
287 \Input{par-parametres
}
293 \bibliographystyle{plain
}
294 \bibliography{pst-solides3d-doc
}