summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-mirror
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-12-12 01:03:00 +0000
committerKarl Berry <karl@freefriends.org>2009-12-12 01:03:00 +0000
commitd69c8e6f02c8ccddda5d0e298d8ef6dd9e3810c0 (patch)
tree590d7f24265a91a9f2224781aa4bde527837921d /Master/texmf-dist/doc/generic/pst-mirror
parentb3d72971aeaf06ea2627c5ebca11fef7d76e0d5b (diff)
new pstricks package pst-mirror (8dec09)
git-svn-id: svn://tug.org/texlive/trunk@16370 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-mirror')
-rw-r--r--Master/texmf-dist/doc/generic/pst-mirror/Changes12
-rw-r--r--Master/texmf-dist/doc/generic/pst-mirror/README12
-rw-r--r--Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.bib118
-rw-r--r--Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.pdfbin0 -> 6332400 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.tex1041
5 files changed, 1183 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-mirror/Changes b/Master/texmf-dist/doc/generic/pst-mirror/Changes
new file mode 100644
index 00000000000..ce6d1726287
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-mirror/Changes
@@ -0,0 +1,12 @@
+..... pst-mirror.tex
+1.00 2009-12-08 initial version
+
+..... pst-mirror.pro
+1.00 2009-12-08 initial version
+
+..... pst-mirror.sty
+ 2009-12-08 first version
+
+..... pst-mirror-doc.tex
+2009-12-08 initial version
+
diff --git a/Master/texmf-dist/doc/generic/pst-mirror/README b/Master/texmf-dist/doc/generic/pst-mirror/README
new file mode 100644
index 00000000000..a67daf938de
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-mirror/README
@@ -0,0 +1,12 @@
+pst-mirror: 3d objects on a spherical mirror
+
+Save the files pst-mirror.sty|tex|pro in a directory, which is part of your
+local TeX tree. The pro file should go into $TEXMF/dvips/pstricks/
+Then do not forget to run texhash to update this tree.
+For more information see the documentation of your LATEX distribution
+on installing packages into your local TeX system or read the
+TeX Frequently Asked Questions:
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+PSTricks is PostScript Tricks, the documentation cannot be run
+with pdftex, use the sequence latex->dvips->ps2pdf. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.bib b/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.bib
new file mode 100644
index 00000000000..953dcdda342
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.bib
@@ -0,0 +1,118 @@
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+
+@Book{PostScript,
+ Author = {Kollock, Nikolai G.},
+ Title = {PostScript richtig eingesetzt: vom Konzept zum
+ praktischen Einsatz},
+ Publisher = {IWT},
+ Address = {Vaterstetten},
+ year = 1989,
+}
+
+@Manual{pstricks,
+ Title = {PSTricks - {\PS} macros for Generic TeX},
+ Author = {Timothy Van Zandt},
+ Organization = {},
+ Address = {\url{http://www.tug.org/application/PSTricks}},
+ Note = {},
+ year = 1993,
+}
+
+
+@Manual{pdftricks,
+ Title = {PSTricks Support for pdf},
+ Author = {Herbert Voss},
+ Organization = {},
+ Address = {\url{http://PSTricks.de/pdf/pdfoutput.phtml}},
+ Note = {},
+ year = 2002,
+}
+
+@Manual{miwi,
+ Title = {References for \TeX{} and Friends},
+ Author = {Michael Wiedmann and Peter Karp},
+ Organization = {},
+ Address = {\url{http://www.miwie.org/tex-refs/}},
+ Note = {},
+ year = 2003,
+}
+
+
+@Manual{vue3d:2002,
+ Title = {Vue en 3D},
+ Author = {Manuel Luque},
+ Organization = {},
+ Address = {\url{http://members.aol.com/Mluque5130/vue3d16112002.zip}},
+ Note = {},
+ year = 2002,
+}
+
+@Article{dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Vo{\ss}},
+ title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ keywords = {},
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
+
+@Article{dtk02.1:voss:mathematischen,
+ author = {Herbert Vo{\ss}},
+ title = {Die mathematischen {F}unktionen von {P}ostscript},
+ journal = dtk,
+ year = 2002,
+ volume = {1/02},
+ altvolume = 1,
+ altnumber = 14,
+ month = mar,
+ pages = {40-47},
+ annote = bretter,
+ keywords = {},
+ abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im
+ Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es
+ darum geht zu beurteilen, was es denn nun im eigentlichen
+ Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass
+ sich mit den \PS-Funktionen viele Dinge erledigen lassen,
+ bei denen sonst auf externe Programme zur{\"u}ckgegriffen
+ wird. Dies wird im Folgenden f{\"u}r die mathematischen
+ Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot}
+ gezeigt. }
+}
+
+@Book{companion,
+ author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Denis Roegel and Herbert Vo{\ss}},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = second,
+ year = {2007},
+ address = {Reading, Mass.}
+}
+
+@Book{PSTricks2,
+ author = {Herbert Vo\ss},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {5.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2008},
+ address = {Heidelberg/Hamburg}
+}
+
+@Book{LaTeXRef,
+ author = {Herbert Vo\ss},
+ title = {\LaTeX\ Referenz},
+ edition = {1.},
+ publisher = {DANTE -- Lehmanns},
+ year = {2007},
+ address = {Heidelberg/Hamburg}
+}
diff --git a/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.pdf b/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.pdf
new file mode 100644
index 00000000000..ee38b847202
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.tex b/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.tex
new file mode 100644
index 00000000000..b850baa76c7
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pst-mirror/pst-mirror-doc.tex
@@ -0,0 +1,1041 @@
+%% $Id: pst-mirror-doc.tex 168 2009-12-08 17:55:07Z herbert $
+\documentclass[11pt,frenchb,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
+ headexclude,footexclude,oneside]{pst-doc}
+\usepackage[utf8]{inputenc}
+\usepackage{pst-mirror}
+\let\myFV\fileversion
+\usepackage{pst-grad}
+\usepackage{tabularx}
+\usepackage{longtable}
+
+\def\UrlFont{\small\ttfamily}
+\makeatletter
+\def\verbatim@font{\small\normalfont\ttfamily}
+\makeatother
+\let\myPart\part
+\renewcommand{\part}[1]{\clearpage\myPart{#1}}
+\newcommand\verbI[1]{\small\texttt{#1}}
+
+\psset{subgriddiv=0,gridlabels=7pt,gridcolor=black!15}
+\hypersetup{pdfauthor={Herbert Voss},pdftitle={Sphere mirror}}
+%
+\newcounter{boua}
+\newcommand\itemBoua{\addtocounter{boua}{1}\strut\indent\textit{\theboua}\textsuperscript{o} --- }
+\makeatletter
+% macro d'Etienne RIGA sur fr.comp.text.tex
+\newcount\r@pport \newdimen\r@ppord
+\newcount\kslant \newdimen\kslantd
+
+\def\ARC#1{\setbox0\hbox{$\m@th\displaystyle#1$}\kslant=\ht0
+ \divide\kslant by1000\multiply\kslant by\fontdimen1\textfont1
+ \divide\kslant by10000\kslantd=\kslant\fontdimen6\textfont1
+ \divide\kslantd by7750\kern\kslantd
+ \r@ppord=\wd0\multiply\r@ppord by100\divide\r@ppord by\ht0
+ \multiply\r@ppord by300\advance\r@ppord by\ht0
+ \pspicture(0,0)
+ \psparabola[linewidth=.3pt](0,1.05\ht0)(.5\wd0,1.21\r@ppord)
+ \endpspicture\kern-\kslantd\box0}
+\makeatother
+
+\def\oeil{\psarc[linewidth=2pt](0,2.5){2.5}{215}{270}%
+ \psarc[linewidth=2pt](0,-2.5){2.5}{90}{140}%
+ \psarc(-2.5,0){1}{-30}{30}\psarc(0,0){1.75}{160}{200}
+ \psclip{%
+ \pscircle[linestyle=none](0,0){1.75}}
+ \pscircle[fillstyle=solid,fillcolor=lightgray](-2.5,0){0.9}
+ \endpsclip}%
+
+\def\decor{%
+% plan de front
+ \psset{Sphere=false}
+ {\psset{normale=0 0, Xorigine=40, Yorigine=0, Zorigine=0}
+ \pstSphereFrame[fillstyle=solid,fillcolor=OrangePale](-70,-50)(70,10)
+ \pstSphereGrid[linecolor=blue,linewidth=0.2mm,grille=10,Ymin=-50,Ymax=10,Xmax=70,Xmin=-70](40,0,0)}%
+ % plan horizontal
+ {\psset{normale=0 90, Xorigine=40, Yorigine=0, Zorigine=-10}
+ \pstSphereFrame[fillstyle=solid,fillcolor=cyan,opacity=0.5](-70,-30)(70,0)
+ \pstSphereGrid[linecolor=blue,linewidth=0.2mm,grille=10,Ymin=-30,Ymax=0,Xmax=70,Xmin=-70](40,0,-10)}%
+ % plan vertical gauche
+ {\psset{normale=90 0, Xorigine=40, Yorigine=70, Zorigine=-10}
+ \pstSphereFrame[fillstyle=solid,fillcolor=yellow](0,0)(-30,-60)
+ \pstSphereGrid[linecolor=blue,linewidth=0.05mm,grille=10,Ymin=-60,Ymax=0,Xmin=-30,Xmax=0](40,70,-10)}
+ % plan vertical droit
+ {\psset{normale=90 0,%
+ Xorigine=40,%
+ Yorigine=-70,%
+ Zorigine=-10}
+\pstSphereFrame[fillstyle=solid,fillcolor=yellow](0,0)(-30,-60)
+\pstSphereGrid[linecolor=blue,linewidth=0.05mm,grille=10,Ymin=-60,Ymax=0,Xmin=-30,Xmax=0](40,-70,-10)}}
+
+\def\bgImage{\psscalebox{0.7}{\begin{pspicture}(-7,-7)(7,7)
+ \newpsstyle{GradWhiteYellow}{fillstyle=gradient,gradbegin=yellow,gradend=yellow!20,
+ linecolor=yellow!50,GradientCircle=true,gradmidpoint=0,GradientPos={(1,1)}}%
+ \pscircle[style=GradWhiteYellow]{7.07}
+ \pstSphereGrid[linecolor=red,grille=10,Ymin=-50,Ymax=50,Xmax=80,Xmin=-80,normale=0 0](20,0,0)
+ \pstSphereGrid[linecolor=blue,grille=10,Ymin=-40,Ymax=-20,Xmax=80,Xmin=-80,normale=0 90](40,0,-10)%
+ \pstTextSphere[fillstyle=solid,fillcolor=red,normale=0 0,fontscale=40,PSfont=Time-Roman,yO=0](20,0,10){pst-mirror}
+ \pstTextSphere[fillstyle=solid,fillcolor=black,normale=0 0,fontscale=20,PSfont=Helvetica,yO=0](20,0,35){PSTricks}
+ \pstTextSphere[fillstyle=solid,fillcolor=blue,normale=0 90,fontscale=10,PSfont=Helvetica,yO=2.5](10,0,-10){A Spherical Mirror}%
+\end{pspicture}}}
+
+\lstset{basicstyle=\ttfamily\footnotesize}
+
+\begin{document}
+\author{Manuel Luque\\Herbert Vo\ss}
+\docauthor{}
+\date{\today}
+\title{Images on a spherical mirror}
+\subtitle{A PSTricks package for drawing 3D objects on a sphere, v\myFV}
+\maketitle%
+
+\tableofcontents
+
+\clearpage
+\begin{abstract}
+
+\vfill\noindent
+Thanks for feedback and contributions to:\\
+Bruno Guegan; Jean-Paul Vignault
+\end{abstract}
+
+
+\section{Objectifs }
+On voit souvent dans les villes, lorsque la visibilité à la sortie
+d'un garage ou à un carrefour est insuffisante, ou bien
+dans certains magasins pour des motifs de surveillance, des
+miroirs bombés donnant de l'environnement un panorama trés large.
+On peut prendre aussi une boule argentée ou dorée que l'on suspend
+aux branches des sapins de Noél, pour voir le décor se réfléchir dans la Sphere
+avec une distorsion bien particuliére.
+
+L'objectif est de définir des éléments de décor en 3D, \textit{des
+briques}, pour reconstruire ce qu'un observateur placé é une
+certaine distance d'une boule miroir, é la méme hauteur que son
+centre verrait.
+
+
+Les \textit{briques} é notre disposition sont :
+\begin{compactitem}
+ \item Un parallélépipéde rectangle donné par ses trois
+ dimensions \verb+A,B,C+ : il peut donc se transformer en cube et
+ méme en dé.
+ \item Un quadrillage plan défini par son origine, la normale au
+ plan et ses limites.
+ \item Une ligne.
+ \item Un rectangle défini comme le quadrillage.
+ \item Un polygone.
+ \item Un cercle défini par la normale é son plan, son origine et
+ son rayon, un arc de cercle défini comme le cercle avec ses deux angles limites.
+ \item Un point de l'espace.
+ \item Un tétraédre donné par les coordonnées du centre de sa base et le rayon du
+ cercle inscrivant chaque face, que l'on peut faire
+ tourner.
+ \item Une pyramide é base carrée donnée par le demi-cété de sa
+ base et sa hauteur que l'on peut faire tourner et placer oé on
+ veut.
+ \item Une sphére donnée par les coordonnées du centre \verb+CX=...+,\verb+CY=...+,\verb+CZ=...+
+ et le rayon, que l'on peut faire
+ tourner avec les paramétres
+ \verb+RotX=...+,\verb+RotY=...+,\verb+RotZ=...+.
+ \item Un cylindre vertical défini par son rayon, sa hauteur, que l'on peut faire
+ tourner avec les paramétres
+ \verb+RotX=...+,\verb+RotY=...+,\verb+RotZ=...+ et dont le centre
+ de la base se placera avec les paramétres \verb+CX=...+,\verb+CY=...+,\verb+CZ=...+
+ \item Un céne et tronc de céne définis par le rayon de la base,
+ la hauteur et la fraction de hauteur qu'on souhaite retenir (pour le tronc ce céne).
+ On peut les placer ou l'on veut et les faire tourner comme les autres éléments.
+ \item Image d'un texte écrit sur un plan quelconque.
+\end{compactitem}
+
+\clearpage
+\section{Présentation du probléme théorique}
+
+\begin{center}
+\begin{pspicture}(-5,-6)(11,6)
+\pnode(0,0){O}
+\pnode(! /xA 8 def /yA 5 def xA yA){A}
+\pnode(! /Theta 10 def /xI1 5 Theta cos mul def /yI1 5 Theta sin mul def
+ xI1 yI1){I1}
+\psline[linecolor=red](I1)(A)
+\pnode(!/Alpha1 yA yI1 sub xA xI1 sub atan def
+ /iAngle Alpha1 Theta sub def
+ /Alpha1' Theta iAngle sub def
+ /xP1' xI1 6 Alpha1' cos mul add def
+ /yP1' yI1 6 Alpha1' sin mul add def
+ xP1' yP1'){P1'}
+\psline[linecolor=red](I1)(P1') \pcline[linecolor=blue,nodesepB=-4](O)(I1)
+\pnode(!/Theta 20 def /xI2 5 Theta cos mul def /yI2 5 Theta sin mul def xI2 yI2){I2}
+\pnode(!
+ /Alpha2 yA yI2 sub xA xI2 sub atan def
+ /iAngle Alpha2 Theta sub def
+ /Alpha2' Theta iAngle sub def
+ /xP2' xI2 6 Alpha2' cos mul add def
+ /yP2' yI2 6 Alpha2' sin mul add def
+ xP2' yP2'){P2'}
+\psline[linecolor=red](I2)(P2')
+\pcline[linecolor=blue,nodesepB=-4](O)(I2)
+\pnode(!
+ /tanAlpha1' Alpha1' dup sin exch cos div def
+ /tanAlpha2' Alpha2' dup sin exch cos div def
+ /xA' yI2 yI1 sub xI2 tanAlpha2' mul sub xI1 tanAlpha1' mul add
+ tanAlpha1' tanAlpha2' sub div def
+ /yA' xA' tanAlpha1' mul yI1 add xI1 tanAlpha1' mul sub def
+ xA' yA'){A'}
+\psdot(A')
+\pswedge[fillstyle=solid,fillcolor=black](A'){0.5}{-35}{-5}
+\uput{0.5}[-15](A'){$\varepsilon'$}
+\psline[linestyle=dashed](A')(I1)
+\psline[linestyle=dashed](A')(I2)
+\pscircle{5}
+\psdot(A)
+\psline[linestyle=dotted](O)(A)
+\uput[0](A){A}
+\uput[45](A'){A'}
+\uput[180](O){O}
+\uput[80](I2){$\mathrm{I_1}$}
+\uput[-135](I1){$\mathrm{I_2}$}
+\psline[linestyle=dotted](O)(A')
+\pswedge[fillstyle=solid,fillcolor=black](A){2}{224.9}{233.335}
+\uput{2.1}[230](A){$\varepsilon$}
+\psline[linecolor=red](I2)(A)
+\psline[linecolor=red](I1)(A)
+\pswedge[fillstyle=solid,fillcolor=black](O){2}{10}{20}
+\uput{2.1}[15](O){$\omega$}
+\psarc(O){2}{10}{20}
+\psarc[doubleline=true](I1){0.75}{10}{53.335}
+\psarc[doubleline=true](I1){0.95}{-33.335}{10}
+\uput{1}[-12](I1){$i+\mathrm{d}i$}
+\psarc(I2){0.75}{20}{44.9}
+\psarc(I2){0.95}{-4.9}{20}
+\uput{0.8}[31](I2){$i$}
+\uput{1}[7.5](I2){$i$}
+% \psaxes(0,0)(-5,-6)(10,6)
+\end{pspicture}
+\end{center}
+
+Il s'agit d'étudier la réflexion d'un mince pinceau conique émis
+par~A se réfléchissant sur le miroir sphérique et qui pénétrera dans l'\oe{}il de
+l'observateur. C'est un probléme trés complexe qui a été abordé
+dans sa généralité par Henri Bouasse dans son livre : \textit{Optique supérieure}, paru en 1917 aux éditions Delagrave.
+
+Le point lumineux A, quel qu'il soit, est dans le plan du grand
+cercle de la sphére défini par $\mathrm{OI_1A}$. Je donne le début
+de cette étude théorique, qui est une adaptation des pages~108 et suivantes de son livre,
+sans la développer jusqu'é son terme, car
+comme l'indique Henri Bouasse lui-méme \guillemotleft \textit{ Le
+probléme est généralement inextricable, sauf dans le cas oé la
+symétrie du systéme indique quels rayons il faut regrouper aprés
+réflexion} \guillemotright. Et bien que la fin de cette remarque
+s'applique au miroir sphérique, encore faudrait-il que les calculs
+soient facilement programmables et relativement rapides et j'avoue
+avoir été découragé par leur complexité. Heureusement, nous
+verrons que dans certaines conditions, de judicieuses
+approximations permettent d'obtenir une solution réaliste.
+
+Afin d'apprécier la difficulté du probléme, on considére d'abord les limites du pinceau
+dans ce plan, c'est é dire sur l'arc \ARC{\mathrm{\hspace{0.5em}I_1I_2}}.
+
+Les angles sont exagérément grands
+pour des raisons de clarté.
+
+Dans le triangle $\mathrm{OI_1A}$,
+$$i=\mathrm{\widehat{I_1OA}+\widehat{OAI_1}}$$
+Dans le triangle $\mathrm{OI_2A}$,
+$$\begin{array}{rcl}
+i+\mathrm{d}i&=&\mathrm{\widehat{I_2OA}+\widehat{OAI_2}}\\
+&=&\mathrm{\widehat{I_2OI_1}+\widehat{I_1OA}+\widehat{OAI_1}+\widehat{I_1AI_2}}\\
+&=&\mathrm{\omega+\widehat{I_1OA}+\widehat{OAI_1}+\varepsilon}
+\end{array}
+$$
+On en déduit :
+\begin{equation}
+\mathrm{d}i=\omega+\varepsilon
+\label{di_one}
+\end{equation}
+Dans le triangle $\mathrm{OI_1A'}$
+$$i=\mathrm{\pi-(\widehat{I_1OA'}+\widehat{OA'I_1})}$$
+Dans le triangle $\mathrm{OI_2A'}$
+$$\begin{array}{rcl}
+i+\mathrm{d}i&=&\pi-(\mathrm{\widehat{I_2OA'}+\widehat{OA'I_2})}\\
+&=&\pi-\left(\mathrm{(\widehat{I_2OI_1}+\widehat{I_1OA'})+(\widehat{OAI'_1}-\widehat{I_1A'I_2})}\right)\\
+&=&\pi-\left(\mathrm{(\omega+\widehat{I_1OA'})+(\widehat{OA'I_1}-\varepsilon')}\right)
+\end{array}
+$$
+On en déduit :
+\begin{equation}
+\mathrm{d}i=-\omega+\varepsilon'
+\label{di_two}
+\end{equation}
+En rapprochant (\ref{di_one}) et (\ref{di_two}) :
+\begin{equation}
+\omega+\varepsilon=-\omega+\varepsilon'\Longleftrightarrow2\omega=\varepsilon'-\varepsilon
+\label{omega}
+\end{equation}
+En se rappelant qu'en réalité $\varepsilon$, $\varepsilon'$ et
+$\omega$ sont de petits angles, on établit les relations
+suivantes, en posant :
+$$t=\mathrm{AI_1}\textrm{ et } t'=\mathrm{A'I_1}$$
+$$\mathrm{d}s=\ARC{\mathrm{\hspace{0.5em}I_1I_2}}=R\omega=\frac{t\varepsilon}{\cos i}=\frac{t'\varepsilon'}{\cos i}$$
+$$\varepsilon=\frac{\mathrm{R}\omega\cos i}{t}\qquad\varepsilon'=\frac{\mathrm{R}\omega\cos
+i}{t'}$$
+Compte-tenu de la relation (\ref{omega}), on en déduit la formule
+fondamentale :
+$$\frac{1}{t'}-\frac{1}{t}=\frac{2}{\mathrm{R}\cos i}$$
+S'il n'y avait que le faisceau de rayons balayant depuis A l'arc
+\ARC{\mathrm{I_1I_2}}, l'image virtuelle que verrait
+l'\oe{}il serait $\mathrm{A'}$, qui est dans ce plan la trace de la
+\textit{focale tangentielle}.
+
+Il faut maintenant envisager toutes les autres génératrices du
+céne. On en prend deux de particuliéres, celles qui sont sur les
+bouts de l'arc de cercle de la sphére perpendiculaire au grand
+cercle précédent. Nous ne pouvons plus nous placer maintenant dans
+un plan pour faire le schéma. Ces deux génératrices permettent de
+déterminer la \textit{focale radiale} $\mathrm{A''}$. Les deux focales $\mathrm{A'}$ et
+$\mathrm{A''}$ sont alignées avec le rayon réfléchi correspondant
+au rayon moyen du pinceau incident.
+
+
+En conclusion, é la page 134, Henri Bouasse écrit :
+ \guillemotleft \textit{ l'\oe{}il n'utilise qu'un pinceau
+ extrémement étroit ; il s'accommode sur l'une des focales ou sur le cercle de
+ diffusion.} \guillemotright. Nous avons un peu avancé, mais quel(s) point(s)
+ calculer?
+
+Les milieux des focales tangentielles, radiales et du cercle de
+diffusion se trouvent alignés avec l'\oe{}il et le point
+d'incidence du rayon moyen du faisceau (celui qui aprés réflexion
+passe par l'\oe{}il). L'image obtenue d'un objet quelconque n'est
+ pas plane. On pourrait contourner la difficulté en imaginant un plan
+ fictif perpendiculaire à l'axe \oe{}il-centre de la boule et
+ passant par une valeur moyenne des cercles de diffusion, sur
+ lequel on calculerait les intersections des rayons. Il faut bien
+ reconnaétre que tout cela est passablement compliqué.
+
+Henri Bouasse propose, dans certaines conditions, une méthode approximative qui donne de bons
+résultats et qui a l'avantage d'étre simple. C'est
+l'intégralité de cette solution qu'il donne dans les
+pages 133, 134 et 135 de son livre, qui est développée ci-aprés.
+
+\section{Vision dans une boule de jardin}
+\begin{center}
+\begin{pspicture}(-5,-2)(8,14)
+\pscircle{2}
+\psline[linewidth=0.8mm](8,0.2)(8,14) \psline[linewidth=0.8mm](8,-0.2)(8,-2)
+\psline(-5,0)(8.2,0)\psline(4;30)\psarc(0,0){1}{0}{30}\uput[15](1;15){$i$}
+\pnode(!2 30 cos mul 2 30 sin mul){I}
+\psline[linestyle=dashed](!0 2 30 sin mul)(I) \psline(!0 2 30 sin mul)(0,0)
+\uput[180](!0 1 30 sin mul){$\rho'$} \psline(I)(!8 2 30 sin mul)
+\rput(I){\psarc(0,0){1}{0}{30} \uput[15](1;15){$i$}
+\psline(! /IH 8 2 30 cos mul sub 2 mul def IH 60 cos mul IH 60 sin mul)}
+\uput[270](0,0){C} \uput[45](8,0){T} \uput[180](8,-2){E} \uput[180](-2,0){B}
+\uput[270](5,0){D} \uput[180](8,6){$\rho$}
+\end{pspicture}
+\end{center}
+
+\itemBoua Pour effectuer les expériences suivantes, on se sert
+d'une boule de jardin achetée dans un bazar, ou d'un petit ballon
+de verre de 5~cm de diamétre environ dont on argente la surface
+extérieure. On peut argenter extérieurement une bille d'ivoire.
+
+Sur une trés grande feuille de carton blanc E, on trace un
+quadrillage en traits noirs épais. On regarde l'image de ce
+quadrillage par un petit trou percé au centre du carton.
+
+La distance $\mathrm{D=TB}$ sera prise d'une trentaine de
+centimétres.
+
+Le quadrillage apparaét déformé \textit{en barillet}, mais
+\textit{parfaitement net}.
+
+\itemBoua
+Pour avoir une idée de la loi de déformation supposons l'\oe{}il
+assez loin pour que les rayons réfléchis qui y parviennent, soient
+quasi-paralléles. Appelons $\rho'$ la distance d'un rayon é la
+droite TB.
+
+Soit R le rayon de la boule. l'angle d'incidence est :
+$$i=\arcsin(\rho':\mathrm{R})$$
+Le point oé le rayon conjugué coupe l'écran E, est é une distance
+$\rho$ de TB donnée par la formule~:
+$$\rho=\mathrm{D}\tan2i$$
+D'oé la loi approchée :
+$$\arctan\frac{\rho}{\mathrm{D}}=2\arcsin\frac{\rho'}{\mathrm{R}}$$
+$\rho$ devient infini pour :
+$$\arcsin(\rho':\mathrm{R})=45^\mathrm{o}\qquad \rho'=0.7\mathrm{R}$$
+En conséquence, si grand que soit le carton, son image occupera
+moins des sept dixiémes du diamétre.
+
+\section{Exemples}
+\begin{pspicture}(-8,-8)(8,8)
+\pstSphereFrame[normale=0 90,Xorigine=50,Yorigine=0,Zorigine=-20,fillstyle=solid,
+ fillcolor=OrangePale](-70,-50)(70,50)
+\pstSphereGrid[normale=0 90,linecolor=blue,linewidth=0.2mm,grille=10,
+ Ymin=-50,Ymax=50,Xmax=70,Xmin=-70](50,0,-20)
+{\psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A}
+\multido{\iX=95+-20}{4}{\multido{\iZ=55+-10}{6}{\psset{CX=\iX,CZ=\iZ,CY=45}\pstCube}
+ \multido{\iZ=-15+10}{2}{\psset{CX=\iX,CZ=\iZ,CY=45}\pstCube}
+ \multido{\iZ=55+-10}{6}{\psset{CX=\iX,CZ=\iZ,CY=-45}\pstCube}
+ \multido{\iZ=-15+10}{2}{\psset{CX=\iX,CZ=\iZ,CY=-45}\pstCube}
+ \multido{\iY=35+-10}{4}{\psset{CX=\iX,CZ=55,CY=\iY}\pstCube}
+ \multido{\iY=-35+10}{4}{\psset{CX=\iX,CZ=55,CY=\iY}\pstCube}}}
+\multido{\iZ=-15+10,\iRotZ=20+45}{2}{%
+ \psset{fillstyle=solid,fillstyle=gradient,fillcolor=GrisClair,A=5,B=A,C=A,
+ CX=5,CY=-65,CZ=\iZ,RotZ=\iRotZ}\pstCube}
+\multido{\iZ=-15+10}{2}{%
+ \psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A,CX=15,CY=45,CZ=\iZ}\pstCube
+ \psset{CY=-45}\pstCube}
+\multido{\iZ=15+-10,\iRotZ=30+30}{2}{%
+ \psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A,
+ CX=15,CY=45,CZ=\iZ,RotZ=\iRotZ}\pstCube}
+\multido{\iZ=25+-10,\iRotZ=30+20}{3}{%
+ \psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A,
+ CX=15,CY=-45,CZ=\iZ,RotZ=\iRotZ}\pstCube}
+\multido{\iX=95+-20}{5}{\multido{\iY=-25+10}{6}{%
+ \psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.05mm,
+ CY=\iY,CZ=-20,CX=\iX}
+ \ifnum\iX=15
+ \ifnum\iY=-15 {\psset{RotY=90,RotZ=-45,CZ=-17.5}\pstSphereCylinder{2.5}{-10}}
+ \else \pstSphereCylinder{2.5}{10}\fi
+ \else\pstSphereCylinder{2.5}{10}\fi}}
+\multido{\iY=25+-10,\iRotY=0+60}{6}{%
+ \psset{fillstyle=solid,linewidth=0.05mm,CX=55,CY=\iY,CZ=-10,A=2.5,Hpyramide=5}\pstPyramide}
+\multido{\iY=25+-10,\iRotY=0+60}{6}{%
+ \psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,
+ linewidth=0.05mm,CX=35,CY=\iY,CZ=-10}\pstSphereCone{2.5}{2.5}}
+\multido{\iY=25+-10,\iRotY=0+60}{6}{%
+\psset{fillstyle=gradient,gradbegin=white,gradend=blue,gradmidpoint=0.2,linecolor=cyan,linewidth=0.1mm}
+\ifnum\iY=-15 {\psset{CX=7.5,CY=-5,CZ=-17.5,RotY=\iRotY} \pstMirrorSphere{2.5}}
+\else {\psset{CX=15,CY=\iY,CZ=-7.5,RotY=\iRotY}\pstMirrorSphere{2.5}}\fi}
+\psset{CX=2.5,CZ=-10,CY=15,fracHcone=0.5,linecolor=red,fillstyle=gradient,gradbegin=yellow,
+ gradend=red,gradmidpoint=0,linewidth=0.05mm}
+\pstSphereCone{2.5}{5}
+{\psset{RotX=0,RotZ=20,RotY=30,CX=2.5,CZ=-10,CY=2.5,fillstyle=solid,linecolor=black,A=2,Hpyramide=3}
+\pstPyramide}
+{\psset{linecolor=red,CZ=5,A=2.5,B=A,C=A,RotZ=-50,RotX=20,RotY=30,CY=0,CX=20,%
+ fillstyle=solid,fillcolor=OrangePale}
+\pstDie}
+\end{pspicture}
+
+\begin{lstlisting}
+\begin{pspicture}(-8,-8)(8,8)
+\pstSphereFrame[normale=0 90,Xorigine=50,Yorigine=0,Zorigine=-20,fillstyle=solid,
+ fillcolor=OrangePale](-70,-50)(70,50)
+\pstSphereGrid[normale=0 90,linecolor=blue,linewidth=0.2mm,grille=10,
+ Ymin=-50,Ymax=50,Xmax=70,Xmin=-70](50,0,-20)
+{\psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A}
+\multido{\iX=95+-20}{4}{\multido{\iZ=55+-10}{6}{\psset{CX=\iX,CZ=\iZ,CY=45}\pstCube}
+ \multido{\iZ=-15+10}{2}{\psset{CX=\iX,CZ=\iZ,CY=45}\pstCube}
+ \multido{\iZ=55+-10}{6}{\psset{CX=\iX,CZ=\iZ,CY=-45}\pstCube}
+ \multido{\iZ=-15+10}{2}{\psset{CX=\iX,CZ=\iZ,CY=-45}\pstCube}
+ \multido{\iY=35+-10}{4}{\psset{CX=\iX,CZ=55,CY=\iY}\pstCube}
+ \multido{\iY=-35+10}{4}{\psset{CX=\iX,CZ=55,CY=\iY}\pstCube}}}
+\multido{\iZ=-15+10,\iRotZ=20+45}{2}{%
+ \psset{fillstyle=solid,fillstyle=gradient,fillcolor=GrisClair,A=5,B=A,C=A,
+ CX=5,CY=-65,CZ=\iZ,RotZ=\iRotZ}\pstCube}
+\multido{\iZ=-15+10}{2}{%
+ \psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A,CX=15,CY=45,CZ=\iZ}\pstCube
+ \psset{CY=-45}\pstCube}
+\multido{\iZ=15+-10,\iRotZ=30+30}{2}{%
+ \psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A,
+ CX=15,CY=45,CZ=\iZ,RotZ=\iRotZ}\pstCube}
+\multido{\iZ=25+-10,\iRotZ=30+20}{3}{%
+ \psset{fillstyle=solid,fillstyle=solid,fillcolor=GrisClair,A=5,B=A,C=A,
+ CX=15,CY=-45,CZ=\iZ,RotZ=\iRotZ}\pstCube}
+\multido{\iX=95+-20}{5}{\multido{\iY=-25+10}{6}{%
+ \psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.05mm,
+ CY=\iY,CZ=-20,CX=\iX}
+ \ifnum\iX=15
+ \ifnum\iY=-15 {\psset{RotY=90,RotZ=-45,CZ=-17.5}\pstSphereCylinder{2.5}{-10}}
+ \else \pstSphereCylinder{2.5}{10}\fi
+ \else\pstSphereCylinder{2.5}{10}\fi}}
+\multido{\iY=25+-10,\iRotY=0+60}{6}{%
+ \psset{fillstyle=solid,linewidth=0.05mm,CX=55,CY=\iY,CZ=-10,A=2.5,Hpyramide=5}\pstPyramide}
+\multido{\iY=25+-10,\iRotY=0+60}{6}{%
+ \psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,
+ linewidth=0.05mm,CX=35,CY=\iY,CZ=-10}\pstSphereCone{2.5}{2.5}}
+\multido{\iY=25+-10,\iRotY=0+60}{6}{%
+\psset{fillstyle=gradient,gradbegin=white,gradend=blue,gradmidpoint=0.2,linecolor=cyan,linewidth=0.1mm}
+\ifnum\iY=-15 {\psset{CX=7.5,CY=-5,CZ=-17.5,RotY=\iRotY} \pstMirrorSphere{2.5}}
+\else {\psset{CX=15,CY=\iY,CZ=-7.5,RotY=\iRotY}\pstMirrorSphere{2.5}}\fi}
+\psset{CX=2.5,CZ=-10,CY=15,fracHcone=0.5,linecolor=red,fillstyle=gradient,gradbegin=yellow,
+ gradend=red,gradmidpoint=0,linewidth=0.05mm}
+\pstSphereCone{2.5}{5}
+{\psset{RotX=0,RotZ=20,RotY=30,CX=2.5,CZ=-10,CY=2.5,fillstyle=solid,linecolor=black,A=2,Hpyramide=3}
+\pstPyramide}
+{\psset{linecolor=red,CZ=5,A=2.5,B=A,C=A,RotZ=-50,RotX=20,RotY=30,CY=0,CX=20,%
+ fillstyle=solid,fillcolor=OrangePale}
+\pstDie}
+\end{pspicture}
+\end{lstlisting}
+
+
+
+
+\begin{pspicture}(-8,-8)(8,8)
+%\psset{scale=2}
+\pstSphereFrame[Xorigine=20,Yorigine=0,Zorigine=0,fillstyle=solid,fillcolor=OrangePale](-70,-50)(70,10)
+\pstSphereGrid[linecolor=blue,linewidth=0.2mm,grille=5,Ymin=-50,Ymax=50,Xmax=70,Xmin=-70](20,0,0)%
+%
+\pstSphereFrame[normale=90 0,Xorigine=10,Yorigine=70,Zorigine=0,fillstyle=solid,fillcolor=yellow](-10,-50)(10,10)
+\multido{\nX=17.5+-10.0}{2}{%
+ \multido{\nY=-67.5+10.0}{14}{%
+ \pstSphereFrame[normale=0 90,Xorigine=\nX,Yorigine=\nY,Zorigine=-10,fillstyle=solid,
+ fillcolor=yellow](-2.5,-2.5)(2.5,2.5)}}
+\multido{\nX=12.5+-10.0}{2}{%
+ \multido{\nY=-62.5+10.0}{14}{%
+ \pstSphereFrame[normale=0 90,Xorigine=\nX,Yorigine=\nY,Zorigine=-10,fillstyle=solid,
+ fillcolor=yellow](-2.5,-2.5)(2.5,2.5)}}
+\pstSphereGrid[normale=90 0,linecolor=blue,linewidth=0.2mm,grille=5,
+ Xmin=-10,Xmax=10,Ymax=10,Ymin=-50](10,70,0)%
+\pstSphereGrid[normale=0 90,linecolor=blue,linewidth=0.2mm,grille=5,
+ Xmin=-70,Xmax=70,Ymax=10,Ymin=-10](10,0,-10)%
+{\psset{linecolor=black,CZ=52,A=5,B=70,C=2,CY=0,CX=15,fillstyle=solid}\pstCube}
+{\psset{linecolor=red,CX=15,A=5,B=A,C=A,CY=-10,CZ=-5,RotZ=0,fillstyle=solid,fillcolor=blue}\pstDie}%
+\multido{\nZ=47.5+-5.0}{10}{%
+ \psset{linecolor=red,CY=22.5,A=2.5,B=A,C=A,CZ=\nZ,CX=17.5,fillstyle=solid}\pstCube}
+\multido{\nZ=-7.5+5.0}{2}{%
+ \psset{linecolor=red,CY=22.5,A=2.5,B=A,C=A,CZ=\nZ,CX=17.5,fillstyle=solid}\pstCube}
+{\psset{fillstyle=gradient,gradbegin=white,gradend=blue,gradmidpoint=0.2,linecolor=cyan,linewidth=0.1mm,%
+ CX=15,RotX=45,RotY=60}
+\pstMirrorSphere{5}}
+{\psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.1mm,CX=10,CY=20,CZ=-10}
+\pstSphereCylinder{5}{7.5}}
+{\psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.1mm,%
+ CX=15,CY=10,CZ=-7.5,RotY=90,RotX=-45}\pstSphereCylinder{2.5}{-10}}
+{\psset{linecolor=red,CX=10,A=2.5,B=A,C=A,CY=-40,CZ=-7.5,RotZ=60,fillstyle=solid,fillcolor=yellow}\pstDie}%
+{\psset{CZ=-10,CY=-2.5,CX=2.5,RotZ=-20,linecolor=black,fillstyle=gradient,Rtetraedre=2.5}\pstTetraedre}
+\multido{\nY=-67.5+10.0}{9}{%
+ {\psset{linecolor=blue,CZ=17.5,A=1,B=2.5,C=2.5,CY=\nY,CX=19,fillstyle=solid,linewidth=0.1mm}\pstCube}}
+\multido{\nY=-62.5+10.0}{8}{\psset{RotX=0,RotZ=0,RotY=-90,CX=20,CZ=12.5,CY=\nY,
+ fillstyle=solid,linecolor=black,A=2.5,Hpyramide=3}\pstPyramide}
+\end{pspicture}
+
+\begin{lstlisting}
+\begin{pspicture}(-8,-8)(8,8)
+%\psset{scale=2}
+\pstSphereFrame[Xorigine=20,Yorigine=0,Zorigine=0,fillstyle=solid,fillcolor=OrangePale](-70,-50)(70,10)
+\pstSphereGrid[linecolor=blue,linewidth=0.2mm,grille=5,Ymin=-50,Ymax=50,Xmax=70,Xmin=-70](20,0,0)%
+%
+\pstSphereFrame[normale=90 0,Xorigine=10,Yorigine=70,Zorigine=0,fillstyle=solid,fillcolor=yellow](-10,-50)(10,10)
+\multido{\nX=17.5+-10.0}{2}{%
+ \multido{\nY=-67.5+10.0}{14}{%
+ \pstSphereFrame[normale=0 90,Xorigine=\nX,Yorigine=\nY,Zorigine=-10,fillstyle=solid,
+ fillcolor=yellow](-2.5,-2.5)(2.5,2.5)}}
+\multido{\nX=12.5+-10.0}{2}{%
+ \multido{\nY=-62.5+10.0}{14}{%
+ \pstSphereFrame[normale=0 90,Xorigine=\nX,Yorigine=\nY,Zorigine=-10,fillstyle=solid,
+ fillcolor=yellow](-2.5,-2.5)(2.5,2.5)}}
+\pstSphereGrid[normale=90 0,linecolor=blue,linewidth=0.2mm,grille=5,
+ Xmin=-10,Xmax=10,Ymax=10,Ymin=-50](10,70,0)%
+\pstSphereGrid[normale=0 90,linecolor=blue,linewidth=0.2mm,grille=5,
+ Xmin=-70,Xmax=70,Ymax=10,Ymin=-10](10,0,-10)%
+{\psset{linecolor=black,CZ=52,A=5,B=70,C=2,CY=0,CX=15,fillstyle=solid}\pstCube}
+{\psset{linecolor=red,CX=15,A=5,B=A,C=A,CY=-10,CZ=-5,RotZ=0,fillstyle=solid,fillcolor=blue}\pstDie}%
+\multido{\nZ=47.5+-5.0}{10}{%
+ \psset{linecolor=red,CY=22.5,A=2.5,B=A,C=A,CZ=\nZ,CX=17.5,fillstyle=solid}\pstCube}
+\multido{\nZ=-7.5+5.0}{2}{%
+ \psset{linecolor=red,CY=22.5,A=2.5,B=A,C=A,CZ=\nZ,CX=17.5,fillstyle=solid}\pstCube}
+{\psset{fillstyle=gradient,gradbegin=white,gradend=blue,gradmidpoint=0.2,linecolor=cyan,linewidth=0.1mm,%
+ CX=15,RotX=45,RotY=60}
+\pstMirrorSphere{5}}
+{\psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.1mm,CX=10,CY=20,CZ=-10}
+\pstSphereCylinder{5}{7.5}}
+{\psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.1mm,%
+ CX=15,CY=10,CZ=-7.5,RotY=90,RotX=-45}\pstSphereCylinder{2.5}{-10}}
+{\psset{linecolor=red,CX=10,A=2.5,B=A,C=A,CY=-40,CZ=-7.5,RotZ=60,fillstyle=solid,fillcolor=yellow}\pstDie}%
+{\psset{CZ=-10,CY=-2.5,CX=2.5,RotZ=-20,linecolor=black,fillstyle=gradient,Rtetraedre=2.5}\pstTetraedre}
+\multido{\nY=-67.5+10.0}{9}{%
+ {\psset{linecolor=blue,CZ=17.5,A=1,B=2.5,C=2.5,CY=\nY,CX=19,fillstyle=solid,linewidth=0.1mm}\pstCube}}
+\multido{\nY=-62.5+10.0}{8}{\psset{RotX=0,RotZ=0,RotY=-90,CX=20,CZ=12.5,CY=\nY,
+ fillstyle=solid,linecolor=black,A=2.5,Hpyramide=3}\pstPyramide}
+\end{pspicture}
+\end{lstlisting}
+
+
+\clearpage
+\section{Utilisation des briques}
+\subsection{Le repére}
+l'origine est placée contre la boule, sur l'horizontale joignant le
+centre~C de la boule é l'\oe{}il de l'observateur. O$z$ est
+vertical, O$xy$ forme le plan horizontal. Tous les objets seront
+donc placés au-delé de O avec $x>0$.
+\begin{center}
+\begin{pspicture}(-2,-2)(10,5)
+\pscircle{2}
+\rput(2,0){%
+\psline{->}(5,0)
+\psline{->}(0,5)
+\psline{->}(4;30)
+\uput[-90](5,0){$x$}
+\uput[180](0,5){$z$}
+\uput[30](4;30){$y$}}
+\rput(10,0){\oeil}
+\uput[180](2,0){O}
+\psdot(0,0)
+\end{pspicture}
+\end{center}
+
+\subsection{Placer un quadrillage}
+Le plan du quadrillage est défini par une origine
+(\textsf{Xorigine,Yorigine,Zorigine}), le vecteur unitaire normal au plan donné par
+sa longitude et sa latitude $(\theta,\phi)$ lesquelles sont paramétrées, avec des valeurs en degrés avec :
+\textsf{%
+\begin{compactitem}
+ \item normale =$\theta$ $\phi$
+\end{compactitem}}
+Un vecteur unitaire quelconque a pour coordonnées, en fonction de $\theta$ et $\phi$ :
+$$
+\vec{u}=\left(
+\begin{array}{c}
+\cos\theta\cos\phi\\
+\sin\theta\cos\phi\\
+\sin\phi
+\end{array}
+\right)
+$$
+$\vec{i},\vec{j},\vec{k}$ sont les vecteurs unitaires dirigés
+respectivement suivant O$x$, O$y$ et O$z$.
+
+Le vecteur unitaire normal é un plan de front, c'est-é-dire paralléle é O$yz$,
+est le vecteur $\vec{i}$
+ou $-\vec{i}$, $\vec{u}(\theta=0\textrm{ ou } \pi,\phi=0)$.
+
+Un plan horizontal est paralléle é O$xy$, un vecteur normal est
+soit $\vec{k}$, soit $-\vec{k}$, il est défini par
+$\vec{u}(\theta=\textrm{valeur indifférente} (0),\phi=\pi/2\textrm{ ou }-\pi/2)$.
+
+Un plan vertical paralléle é O$xz$ a pour normale $\vec{j}$ ou
+$-\vec{j}$, donc $\theta=\pi/2\textrm{ ou }-\pi/2$ et $\phi=0$.
+
+\textbf{Une remarque importante} : le vecteur unitaire choisi normal au plan $\vec{u}$, détermine
+l'orientation des vecteurs $\vec{I}$ et $\vec{J}$ du plan, avec
+les régles habituelles d'orientation : le triédre $(\vec{I},\vec{J},\vec{u})$ est direct,
+ \textbf{ mais le vecteur $\vec{I}$ a étépris dans le plan de référence O$xy$}.
+
+%$
+Pour que le quadrillage soit parfaitement déterminé, on fixe les
+valeurs de deux sommets opposé avec :
+\textsf{Ymin=-50,Ymax=10,Xmax=70,Xmin=-70}. Ainsi que le pas de la
+grille avec \textsf{grille=10}, par exemple.
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+ \decor
+ % les graduations
+ \multido{\iY=-70+10}{15}{%
+ \pstSpherePoint(40,\iY,0){A}
+ \uput[90](A){\footnotesize\red\iY}}
+ \multido{\iX=10+10}{4}{%
+ \pstSpherePoint(\iX,0,-10){A}
+ \uput[-45](A){\footnotesize\blue\iX}}
+ \multido{\iZ=-10+10}{7}{%
+ \pstSpherePoint(40,0,\iZ){A}
+ \uput[135](A){\footnotesize\green\iZ}}
+\end{pspicture}
+\end{center}
+
+
+\begin{lstlisting}
+\begin{pspicture}(-5,-4)(5,5)
+ \decor% les graduations, see preamble
+ \multido{\iY=-70+10}{15}{\pstSpherePoint(40,\iY,0){A}\uput[90](A){\footnotesize\red\iY}}
+ \multido{\iX=10+10}{4}{\pstSpherePoint(\iX,0,-10){A} \uput[-45](A){\footnotesize\blue\iX}}
+ \multido{\iZ=-10+10}{7}{\pstSpherePoint(40,0,\iZ){A} \uput[135](A){\footnotesize\green\iZ}}
+\end{pspicture}
+\end{lstlisting}
+
+
+En bleu graduations de l'axe O$x$, en rouge celles de O$x$ et en
+vert celles de O$z$.
+
+Le quadrillage du plan de front est défini par :
+
+\begin{lstlisting}
+\pstSphereGrid[normale=0 0,% default
+ linecolor=blue,linewidth=0.2mm,grille=10,Ymin=-50,Ymax=10,Xmax=70,Xmin=-70](40,0,0)%
+\end{lstlisting}
+Le quadrillage du plan horizontal par :
+
+\begin{lstlisting}
+\pstSphereGrid[normale=0 90,linecolor=blue,linewidth=0.2mm,grille=10,
+ Ymin=-30,Ymax=0,Xmax=70,Xmin=-70](40,0,-10)%
+\end{lstlisting}
+
+Les quadrillages des plans latéraux par :
+
+\begin{lstlisting}
+\pstSphereGrid[normale=90 0,linecolor=blue,linewidth=0.05mm,grille=10,
+ Ymin=-60,Ymax=0,Xmin=-30,Xmax=0](40,70,-10)
+\pstSphereGrid[normale=90 0,linecolor=blue,linewidth=0.05mm,grille=10,%
+ Ymin=-60,Ymax=0,Xmin=-30,Xmax=0](40,-70,-10)
+\end{lstlisting}
+
+On peut se rendre compte de ce qui se produit en changeant l'orientation
+du vecteur normal. J'inverse l'orientation de la normale pour les quatre plans.
+
+On obtient la méme chose que précédemment en faisant :
+
+\begin{lstlisting}
+\begin{pspicture}(-5,-4)(5,4)
+% plan de front
+\psset{Sphere=false}
+{\psset{normale=180 0,Xorigine=40,Yorigine=0,Zorigine=0}
+\pstSphereFrame[fillstyle=solid,fillcolor=OrangePale](-70,-50)(70,10)
+\pstSphereGrid[linecolor=blue,linewidth=0.2mm,grille=10,
+ Ymin=-50,Ymax=10,Xmax=70,Xmin=-70](40,0,0)}
+% plan horizontal
+{\psset{normale=0 -90,Xorigine=40,Yorigine=0,Zorigine=-10}
+\pstSphereFrame[fillstyle=solid,fillcolor=cyan](70,30)(-70,0)
+\pstSphereGrid[linecolor=blue,linewidth=0.2mm,grille=10,
+ Ymin=0,Ymax=30,Xmax=70,Xmin=-70](40,0,-10)}%
+% plan vertical de gauche
+{\psset{normale=-90 0,Xorigine=40,Yorigine=70,Zorigine=-10}
+\pstSphereFrame[fillstyle=solid,fillcolor=yellow](0,0)(30,-60)
+\pstSphereGrid[linecolor=blue,linewidth=0.05mm,grille=10,
+ Ymin=-60,Ymax=0,Xmin=0,Xmax=30](40,70,-10)}
+% plan vertical a droite
+{\psset{normale=-90 0,Xorigine=40,Yorigine=-70,Zorigine=-10}
+\pstSphereFrame[fillstyle=solid,fillcolor=yellow](0,0)(30,-60)
+\pstSphereGrid[linecolor=blue,linewidth=0.05mm,grille=10,Ymin=-60,
+ Ymax=0,Xmin=0,Xmax=30](40,-70,-10)}
+\end{pspicture}
+\end{lstlisting}
+
+
+\subsection{Dessiner un rectangle}
+Dans l'exemple précédent, j'ai dessiné les rectangles
+correspondants aux quadrillages. La commande est identique é celle
+du quadrillage avec les mémes paramétres pour l'origine et le
+vecteur normal au plan. On donne les coordonnées de deux sommets
+opposés comme dans la commande \verb+\psframe+ de PSTricks, dans le
+plan.
+
+\subsection{Tracer une ligne, marquer un point}
+Un segment de droite est déterminé par les coordonnées de ses
+extrémités. Un point par ses coordonnées. On peut tracer une ligne brisée en plaéant les points é la suite, comme dans la commande de PStricks \verb+\psline+.
+\begin{lstlisting}
+\pstSpherePoint(40,0,40){A}
+\pstSpherePoint(10,-40,-10){B}
+\pstSpherePoint(10,40,-10){C}
+\psdots[dotsize=1mm,linecolor=green](A)(B)(C)
+\pstSphereLine[linecolor=red](10,40,-10)(40,0,40)(10,-40,-10)
+\end{lstlisting}
+Vous remarquerez que les coordonnées de $y$ sont inversées. Je
+rappelle que le plan couleur \textsf{cyan} est é la cote $z=-10$.
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor
+\pstSphereLine[linecolor=red,linewidth=1mm](10,40,-10)(40,0,40)(10,-40,-10)
+\pstSpherePoint(40,0,40){A}
+\pstSpherePoint(10,-40,-10){B}
+\pstSpherePoint(10,40,-10){C}
+\psdots[dotsize=2mm,linecolor=green](A)(B)(C)
+\end{pspicture}
+\end{center}
+
+\subsection{Dessiner un polygone}
+Commande identique é celle de PStricks.
+\begin{lstlisting}
+\psSpherePolygon[options](x0,y0,z0)(x1,y1,z1)...(xn,yn,zn)
+\end{lstlisting}
+
+\clearpage
+\subsection{Parallélépipéde}
+Le parallélépipéde est défini par ses trois dimensions
+\textsf{A,B,C}. On peut le déplacer en fixant les coordonnées de
+son centre avec : \textsf{CX,CY,CZ} et le faire tourner avec autour
+des axes avec : \textsf{RotX,RotY,RotZ} dont les valeurs sont par défauts, positionnées é 0.
+\begin{lstlisting}
+\psset{A=2.5,B=5,C=A,fillstyle=solid,fillcolor=GrisClair,linecolor=red}
+\psset{CX=10,CZ=-5,CY=0}
+\Cube
+\end{lstlisting}
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor
+\psset{A=2.5,B=5,C=A,fillstyle=solid,fillcolor=GrisClair,linecolor=red}
+\psset{CX=15,CZ=-5,CY=0}
+\pstCube
+\end{pspicture}
+\end{center}
+
+On le fait tourner autour de O$z$ avec \Lkeyword{RotZ}=30 etc.
+
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor
+\psset{A=2.5,B=5,C=A,fillstyle=solid,fillcolor=GrisClair,linecolor=red}
+\psset{CX=15,CZ=-5,CY=0,RotZ=30}
+\pstCube
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\psset{CX=15,CZ=-5,CY=0,RotZ=30}
+\end{lstlisting}
+
+\clearpage
+\subsection{Le dé}
+Le dé posséde une commande propre \Lcs{pstDie}, qui en interne utilise celle
+du \Lcs{pstCube} en affichant les points. Voici quelques dés.
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor
+\psset{A=2.5,B=A,C=A,fillstyle=solid,fillcolor=GrisClair,linecolor=red}
+\psset{CX=15,CZ=-5,CY=10,RotZ=60,RotX=90}
+\pstDie
+\psset{A=5,B=A,C=A,fillstyle=solid,fillcolor=OrangeTresPale,linecolor=red}
+\psset{CX=25,CZ=5,CY=-5,RotZ=45,RotY=20,RotX=-60}
+\pstDie
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\psset{A=2.5,B=A,C=A,fillstyle=solid,fillcolor=GrisClair,linecolor=red}
+\psset{CX=15,CZ=-5,CY=10,RotZ=60,RotX=90}
+\pstDie
+\psset{A=5,B=A,C=A,fillstyle=solid,fillcolor=OrangeTresPale,linecolor=red}
+\psset{CX=25,CZ=5,CY=-5,RotZ=45,RotY=20,RotX=-60}
+\pstDie
+\end{lstlisting}
+
+\subsection{Tracer un cercle ou un arc de cercle}
+Le cercle et l'arc de cercle seront définis par le plan auquel ils
+appartiennent. Comme précédemment le plan sera défini par une
+origine et le vecteur unitaire normal é ce plan. Ces données étant
+posées, il n'y plus que le rayon du cercle é fixer et les deux
+angles limites s'il s'agit de l'arc de cercle.
+
+\begin{BDef}
+\Lcs{pstSphereCircle}\OptArgs\Largb{radius}\\
+\Lcs{pstSphereArc}\OptArgs\Largb{radius}\Largb{angle\_min}\Largb{angle\_max}
+\end{BDef}
+
+\verb+\pstSphereArc+ : respectez l'ordre des angles limites sinon l'interpréteur
+\textsf{PostScript} signalera une erreur.
+
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+ \decor
+ \psset{Xorigine=40}%
+ \multido{\iYorigine=-65+10}{14}{\psset{Yorigine=\iYorigine,Zorigine=15}
+ \pstSphereCircle[linecolor=red]{5}}
+ \multido{\iYorigine=-65+10}{14}{\psset{Yorigine=\iYorigine,Zorigine=50}%
+ \pstSphereArc[linecolor=blue,linewidth=0.5mm,fillstyle=solid,fillcolor=OrangePale]{5}{180}{360}}
+\end{pspicture}
+\end{center}
+
+Des cercles et des arcs de cercle sur le plan de front :
+\begin{lstlisting}
+\psset{Xorigine=40}
+\multido{\iYorigine=-65+10}{14}{%
+ \psset{Yorigine=\iYorigine,Zorigine=15}\pstSphereCircle[linecolor=red]{5}}
+\multido{\iYorigine=-65+10}{14}{\psset{Yorigine=\iYorigine,Zorigine=50}
+ \pstSphereArc[linecolor=blue,linewidth=0.5mm,fillstyle=solid,fillcolor=OrangePale]{5}{180}{360}}
+\end{lstlisting}
+
+\clearpage
+\subsection{La sphére}
+Elle est définie par son rayon, son centre se place avec les
+paramétres \Lkeyword{CX}, \Lkeyword{CY}, \Lkeyword{CZ}, on la fait tourner autour de son
+centre avec \Lkeyword{RotX}, \Lkeyword{RotY}, \Lkeyword{RotZ}.
+
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor% defined in the preamble
+\multido{\iCY=-65+10,\iRotX=0+20}{7}{%
+\psset{CY=\iCY,CZ=-5,CX=15,RotX=\iRotX}
+\psset{fillstyle=gradient,gradbegin=white,gradend=red,%
+ gradmidpoint=0.2,linecolor=magenta,linewidth=0.05mm}
+\ifnum\multidocount=7
+\psset{CZ=0}
+\fi
+\ifnum\multidocount=3
+\psset{CZ=20}
+\fi
+\pstMirrorSphere{5}}
+\multido{\iCY=65+-10,\iRotX=0+15}{7}{%
+\psset{CY=\iCY,CZ=-5,CX=15,RotX=\iRotX}
+\psset{fillstyle=gradient,gradbegin=white,gradend=red,%
+ gradmidpoint=0.2,linecolor=magenta,linewidth=0.05mm}
+\ifnum\multidocount=6
+\psset{CZ=10}
+\fi
+\ifnum\multidocount=3
+\psset{CZ=20,CY=5}
+\fi
+\pstMirrorSphere{5}}
+\end{pspicture}
+\end{center}
+\begin{lstlisting}
+\multido{\iCY=-65+10,\iRotX=0+20}{7}{%
+ \psset{CY=\iCY,CZ=-5,CX=15,RotX=\iRotX,fillstyle=gradient,gradbegin=white,gradend=red,%
+ gradmidpoint=0.2,linecolor=magenta,linewidth=0.05mm}\pstMirrorSphere{5}}
+\end{lstlisting}
+
+\clearpage
+\subsection{Dessiner un cylindre}
+Le cylindre sera donné par le rayon de sa base et sa hauteur. Le
+centre de la base sera positionné avec \Lkeyword{CX}, \Lkeyword{CY}, \Lkeyword{CZ}, on le fait tourner autour
+autour des axes avec \Lkeyword{RotX}, \Lkeyword{RotY}, \Lkeyword{RotZ}.
+
+\begin{BDef}
+\Lcs{pstSphereCylinder}\OptArgs\Largb{radius}\Largb{hauteur}
+\end{BDef}
+
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+ \decor
+% \pstTextSphere[fillstyle=solid,fillcolor=red,fontscale=10,PSfont=Helvetica,normale=0 90](15,0,-10){l'aventure mathématique}
+ \psset{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0.2,linewidth=0.1mm}
+ { \psset{CX=20,CY=20,CZ=-10} \pstSphereCylinder{5}{7.5} }
+ { \psset{CX=15,CY=10,CZ=-7.5,RotY=90,RotX=-45} \pstSphereCylinder{2.5}{-10}}
+% \pstTextSphere[fillstyle=solid,fillcolor=red,fontscale=25,PSfont=Bookman-demibold,
+% normale=0 0](40,0,10){Tangente}
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\psset{fillstyle=gradient,gradbegin=white,gradend=red,%
+ gradmidpoint=0.2,linewidth=0.1mm}
+{\psset{CX=20,CY=20,CZ=-10}
+\pstSphereCylinder{5}{7.5}}
+{\psset{CX=15,CY=10,CZ=-7.5,RotY=90,RotX=-45}
+\pstSphereCylinder{2.5}{-10}}
+\end{lstlisting}
+
+\clearpage
+\subsection{Dessiner un céne}
+Le céne se définit comme le cylindre, rayon de la base, hauteur et
+en option la fraction de hauteur de céne si l'on souhaite avoir un
+tronc de céne.
+
+\begin{BDef}
+\Lcs{pstSphereCone}\OptArgs\Largb{radius}\Largb{hauteur}
+\end{BDef}
+
+
+\Lkeyword{fracHcone} est obligatoirement un nombre compris entre 0 et 1.
+
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor
+\psset{linecolor=red,fillstyle=gradient,gradbegin=yellow,gradend=red,gradmidpoint=0,linewidth=0.05mm}
+{\psset{CX=15,CZ=-10,CY=5,fracHcone=0.5}\pstSphereCone{5}{10}}
+{\psset{CX=40,CZ=5,CY=-25,RotY=-90} \pstSphereCone{5}{10}}
+{\psset{CX=25,CZ=5,CY=-70,RotX=-90} \pstSphereCone{5}{30}}
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+{\psset{CX=15,CZ=-10,CY=5,fracHcone=0.5}\pstSphereCone{5}{10}}
+{\psset{CX=40,CZ=5,CY=-25,RotY=-90} \pstSphereCone{5}{10}}
+{\psset{CX=25,CZ=5,CY=-70,RotX=-90} \pstSphereCone{5}{30}}
+\end{lstlisting}
+
+\clearpage
+\subsection{Tracer une pyramide}
+La pyramide é base carrée est donnée par le demi-cété (\Lkeyword{A})de sa
+ base et sa hauteur (\Lkeyword{Hpyramide}), que l'on peut faire tourner et placer oé on
+ veut, comme les objets précédents.
+
+\begin{center}
+\begin{pspicture}(-5,-4)(5,5)
+\decor
+\psset{fillstyle=solid,linecolor=black,A=5}
+\multido{\nY=-65+20.0}{7}{%
+\psset{RotX=0,RotZ=0,RotY=-90,CX=40,CZ=5,CY=\nY,Hpyramide=5}
+\pstPyramide}
+\multido{\nY=65+-20.0,\iRotZ=0+20}{6}{%
+\psset{RotX=0,RotZ=\iRotZ,RotY=0,CX=20,CZ=-10,CY=\nY,Hpyramide=8}
+\pstPyramide}
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\psset{fillstyle=solid,linecolor=black,A=5}
+\multido{\nY=-65+20.0}{4}{%
+ \psset{RotX=0,RotZ=0,RotY=-90,CX=40,CZ=5,CY=\nY,Hpyramide=5}\pstPyramide}
+\multido{\nY=65+-20.0,\iRotZ=0+20}{6}{%
+ \psset{RotX=0,RotZ=\iRotZ,RotY=0,CX=20,CZ=-10,CY=\nY,Hpyramide=8}\pstPyramide}
+\end{lstlisting}
+
+\section{Image d'un texte}
+
+C'est la commande \Lcs{pstTextSphere}\OptArgs\Largs{x,y,z}\Largb{texte} qui permet d'afficher le texte
+souhaité avec les paramétres suivants :
+\begin{compactitem}
+ \item Le plan qui contient le texte est défini par :
+ \begin{compactitem}
+ \item sa normale \Lkeyword{normale}=$\theta$ $\phi$ ;
+ \item et son origine \texttt{(x,y,z)}.
+ \end{compactitem}
+ \item La taille des caractéres est fixée par \Lkeyword{fontscale}=1 : 1 cm par défaut.
+ \item Le type de fonte par \Lkeyset{PSfont=Times-Roman} par défaut.
+ \item Le booléen \Lkeyword{isolatin} qui est positionné é \texttt{true} par défaut, permet l'écriture
+ des caractéres accentués. Si l'on souhaite utiliser la police \texttt{Symbol}, permettant d'écrire
+ les caractéres grecs, il faut positionner ce booléen é \texttt{false}.
+\end{compactitem}
+\begin{center}
+\begin{pspicture}(-8,-10)(8,10)
+%\psset{Rayon=8}
+\newpsstyle{GradWhiteYellow}{fillstyle=gradient,%
+ gradbegin=yellow,gradend=yellow!20,linecolor=yellow!50,GradientCircle=true,gradmidpoint=0,GradientPos={(1,1)}}%
+\pscircle[style=GradWhiteYellow]{7.07}
+\pstSphereGrid[linecolor=red,grille=10,Ymin=-50,Ymax=50,Xmax=80,Xmin=-80,normale=0 0](20,0,0)
+\pstSphereGrid[linecolor=blue,grille=10,Ymin=-40,Ymax=-20,Xmax=80,Xmin=-80,normale=0 90](40,0,-10)%
+\pstTextSphere[fillstyle=solid,fillcolor=red,normale=0 0,fontscale=30,PSfont=Bookman-demibold,yO=0](20,0,10){Tangente}
+\pstTextSphere[fillstyle=solid,fillcolor=blue,normale=0 90,fontscale=10,
+ PSfont=Helvetica,yO=2.5](10,0,-10){l'aventure math\'ematique}%
+\end{pspicture}
+\end{center}
+
+\begin{lstlisting}
+\begin{pspicture}(-8,-10)(8,10)
+%\psset{Rayon=8}
+\newpsstyle{GradWhiteYellow}{fillstyle=gradient,gradbegin=yellow,gradend=yellow!20,
+ linecolor=yellow!50,GradientCircle=true,gradmidpoint=0,GradientPos={(1,1)}}%
+\pscircle[style=GradWhiteYellow]{7.07}
+\pstSphereGrid[linecolor=red,grille=10,Ymin=-50,Ymax=50,Xmax=80,Xmin=-80,normale=0 0](20,0,0)
+\pstSphereGrid[linecolor=blue,grille=10,Ymin=-40,Ymax=-20,Xmax=80,Xmin=-80,normale=0 90](40,0,-10)%
+\pstTextSphere[fillstyle=solid,fillcolor=red,normale=0 0,fontscale=30,
+ PSfont=Bookman-demibold,yO=0](20,0,10){Tangente}
+\pstTextSphere[fillstyle=solid,fillcolor=blue,normale=0 90,fontscale=10,
+ PSfont=Helvetica,yO=2.5](10,0,-10){l'aventure math\'ematique}%
+\end{pspicture}
+\end{lstlisting}
+
+\section{Conclusion}
+Nous pouvons maintenant nous atteler é la téche de construire des
+décors en 3D vus dans une boule qui soient intéressants et
+artistiques, un prolongement vers une animation est toujours possible.
+J'ai pensé inclure dans ce package, é l'aide d'une option,
+la 3D conventionnelle : il suffit de changer les formules
+relatives é la boule et d'y rajouter les paramétres relatifs au
+point de vue, mais finalement cela aurait trop alourdi cette
+étude -- vous pouvez regardez la commande \Lcs{pnodeTroisD} et les
+nombreuses applications développées dans ma page personnelle.
+
+\textbf{Une remarque importante :} si le calcul des faces cachées
+est pris en compte pour chaque objet pris individuellement, il en
+est pas de méme pour l'ensemble du panorama. Il convient donc de
+placer en premier les objets les plus éloignés de boule, puis ceux
+qui sont de plus en plus proche de la boule.
+
+
+\section{List of all optional arguments for \texttt{pst-mirror}}
+
+\xkvview{family=pst-mirror,columns={key,type,default}}
+
+
+\bgroup
+\nocite{*}
+\raggedright
+\bibliographystyle{plain}
+\bibliography{\jobname}
+\egroup
+
+\printindex
+
+
+\end{document}