diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-solides3d/doc-src/par-geode-en.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-solides3d/doc-src/par-geode-en.tex | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-solides3d/doc-src/par-geode-en.tex b/Master/texmf-dist/doc/generic/pst-solides3d/doc-src/par-geode-en.tex new file mode 100644 index 00000000000..20b2027289a --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-solides3d/doc-src/par-geode-en.tex @@ -0,0 +1,200 @@ +\section{The object \texttt{geode}} + +\subsection{Mathematical presentation} + +Some excellent tutorials about geodes and their duals are available on the following websites: + +\centerline{\url{http://fr.wikipedia.org/wiki/G\%C3\%A9ode}} +%I was not sure whether you meant ``geode'' so I looked up this url. Wikipedia indicated that there is no article about this. + +The parametrisation of a geode complies with that given on the website: + + +\centerline{\url{http://hypo.ge-dip.etat-ge.ch/www/math/html/amch104.html}} + +``\textit{We can define a geode with two parameters: a number $N$ indicating the type of the initial polyhedron ($N = 3$ for the tetrahedron, $N = 4$ for the octahedron and $N = 5$ for the icosahedron) and a number $n$ indicating the number of divisions along the edge's length.}'' + + +The article \textit{Indexing the Sphere with the Hierarchical Triangular Mesh} describes a method that allows us to obtain a representation of geodes: + + +\centerline{\url{http://research.microsoft.com/research/pubs/view.aspx?msr_tr_id=MSR-TR-2005-123}} + +\subsection{Construction with pst-solides3d} + +Two approaches are possible to generate a geode or its dual: +either via \verb+\codejps+, or via the objects of +\Lcs{psSolid}. + +For a geode, the codes +\begin{verbatim} +\codejps{N n newgeode drawsolid**} +\end{verbatim} +and +\begin{verbatim} +\psSolid[object=geode,ngrid=N n] +\end{verbatim} +are equivalent. And for its dual, the codes +\begin{verbatim} +\codejps{N n newdualgeode drawsolid**} +\end{verbatim} +and +\begin{verbatim} +\psSolid[object=geode,dualreg,ngrid=N n] +\end{verbatim} + + + +\subsection{Some examples of geodes and their duals} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}(-3,-3)(3,3) +\psset{viewpoint=50 -20 30 rtp2xyz,Decran=100} +\psSolid[object=geode, + ngrid=5 0] +%\codejps{5 0 newgeode drawsolid**} +\psframe*(-2,-2.8)(2,-2.2) +\rput(0,-2.5){\textcolor{white}{\textsf{N=5 n=0}}} +\end{pspicture} +\end{LTXexample} +\begin{LTXexample}[width=6cm] +\begin{pspicture}(-3,-3)(3,3) +\psset{viewpoint=50 -20 30 rtp2xyz,Decran=100} +\psSolid[object=geode, + dualreg, + ngrid=5 0] +%\codejps{5 0 newdualgeode drawsolid**} +\psframe*(-2,-2.8)(2,-2.2) +\rput(0,-2.5){\textcolor{white}{\textsf{N=5 n=0}}} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=6cm] +\begin{pspicture}(-3,-3)(3,3) +\psset{viewpoint=50 -20 30 rtp2xyz,Decran=100} +\psSolid[object=geode, + ngrid=5 1] +%\codejps{5 1 newgeode drawsolid**} +\psframe*(-2,-2.8)(2,-2.2) +\rput(0,-2.5){\textcolor{white}{\textsf{N=5 n=1}}} +\end{pspicture} +\end{LTXexample} +\begin{LTXexample}[width=6cm] +\begin{pspicture}(-3,-3)(3,3) +\psset{viewpoint=50 -20 30 rtp2xyz,Decran=100} +\psSolid[object=geode, + dualreg, + ngrid=5 1] +%\codejps{5 1 newdualgeode drawsolid**} +\psframe*(-2,-2.8)(2,-2.2) +\rput(0,-2.5){\textcolor{white}{\textsf{N=5 n=1}}} +\end{pspicture} +\end{LTXexample} + +\subsection{The parameters of the \Index{geodes}} + +The radius of the sphere is fixed at 1, so to vary the dimensions of the +geodes one plays around with one or the other of the two following parameters: +\begin{itemize} + \item The unit: \verb+\psset{unit=2}+ + \item The position of the screen: + \texttt{\Lkeyword{viewpoint}=50 -20 30},\texttt{\Lkeyword{Decran}=100}, if the distance to the screen + is twice as far as the distance to the viewer, one scales the scenery by a factor of two. +\end{itemize} + +\encadre{Within \textit{jps}, the setup for the geode is \textbackslash{}codejps\{\textbf{N n newgeode}\} and + for its dual it is \textbackslash{}codejps\{\textbf{N n + newdualgeode}\}.} + +\encadre{With \Lcs{psSolid}, the parameters $N$ and $n$ are transmitted via the argument \Lkeyword{ngrid}} + +The color and \Index{transparency} options are available for the geodes as well. + +\begin{LTXexample}[width=7cm] +\psset{viewpoint=50 -20 30 rtp2xyz,Decran=150} +\begin{pspicture}(-3.5,-3.5)(3.5,3.5) +\psset{linewidth=2pt} +\codejps{ +/geode42{4 2 newdualgeode} def +.7 setfillopacity +orange +/geodetransparente{ +geode42 +dup videsolid +dup (orange) inputcolors +dup [.1 .9] solidputhuecolors} def +geodetransparente +drawsolid**} +\end{pspicture} +\end{LTXexample} + +\subsection{Advice for a `fast' construction of a geode} + +The calculation time for the geodes and their duals depends on the number of divisions of an edge +(the second parameter $n$) and will increase rapidly with $n$ +which is really uncomfortable, because one has to wait more or less patiently, until +the result of the transformation \Cadre{dvips->ps2pdf} is ready. + +As happens for all other solids, it is possible to save the calculation in external files, + which then saves calculation time when one has to make a test run of colours or view point. + +We have to operate in two stages: + +\subsubsection{Backup the parameters of the geodes in a \texttt{\Index{.dat}} file} + +\begin{verbatim} +\documentclass{article} +\usepackage{pst-solides3d} +\begin{document} +\codejps{ +4 4 newdualgeode + dup {[.5 .6]} exec solidputhuecolors +(geodedual44) writesolidfile +} +\end{document} +\end{verbatim} +\Cadre{LaTeX->dvips->GSview (Windows)ou gv (Linux)} + +The last operation will generate 4 files: +\begin{itemize} + \item \texttt{geodedual44-couleurs.dat} $\rightarrow$ the colors of the faces; + \item \texttt{geodedual44-faces.dat} $\rightarrow$ the list of the faces; + \item \texttt{geodedual44-sommets.dat} $\rightarrow$ the list of the vertices; + \item \texttt{geodedual44-io.dat} $\rightarrow$ the number of the faces and vertices. +\end{itemize} + +\encadre{By default, under Windows and Linux, the security of files on the hard drive is activated and doesn't allow you to write on the drive. +To deactivate that security option, more or less temporarily, here the two corresponding procedures: + +\begin{description} + + \item[Linux:] Advice from Jean-Michel \textsc{Sarlat}: the simplest will be to use GhostScript directly, within the console. As there is no image to wait for: + +\$$>$ gs -dNOSAFER monfichier.ps quit.ps + \item[Windows:] Within the menu \texttt{Options}, the option + \textsf{Security of files} must be unchecked. +\end{description}} + +\subsubsection{Reading the data and drawing the geode} + +%% \begin{LTXexample}[pos=t] +%% \psset{unit=2} +%% \psset{lightsrc=10 0 10,SphericalCoor=true,viewpoint=50 -20 30,Decran=100} +%% \begin{pspicture}(-2,-2)(2,2) +%% \psframe(-2,-2)(2,2) +%% \psSolid[object=datfile,file=./geodedual44] +%% \end{pspicture} +%% \end{LTXexample} + +The advantage of this method becomes even more evident when one compares the compilation of two files producing the same result by different methods: + +The file \texttt{geode42\_direct.tex} calculates the solid and its view. The file \texttt{geode42\_precalcul.tex} uses the file + \texttt{.dat} including the precalculated data of the file +\texttt{calc\_geode42.tex}. These three files are included in the distribution. + +\subsection{Some other examples} +You will find numerous other examples of geodes on the website: + +\centerline{\url{http://melusine.eu.org/lab/bpst/pst-solides3d/geodes}} + +\endinput |