%% $Id: pst-antiprism-doc.tex 729 2018-02-13 17:48:53Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,headings=small,
   headinclude=false,footinclude=false,oneside=true]{pst-doc}
\listfiles

\usepackage[utf8]{inputenc}
\usepackage{pst-antiprism}
\let\pstFV\fileversion
\def\bgImage{\resizebox{7cm}{!}{\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=100}
\psAntiprism[a=1,n=15,hue=0 1 0.5 1,
            linecolor={[rgb]{0 0 0.5}}]
\end{pspicture}}}

\usepackage{showexpl,listings,xltabular,booktabs,animate}

\lstset{explpreset={pos=l,width=-99pt,overhang=0pt,hsep=\columnsep,vsep=\bigskipamount,rframe={}}}

\usepackage{biblatex}
\addbibresource{\jobname.bib}


\definecolor{Miel} {RGB}{218 179 10}
\definecolor{Maroon} {cmyk}{0 0.87 0.68 0.32}

\begin{document}
\title{\texttt{pst-antiprism}: Drawing an antiprism \\
\small v.\pstFV}
%\docauthor{}
\author{Manuel Luque\\Herbert Voß}

\maketitle

\tableofcontents



\section{Introduction}

An antiprism is a semiregular polyhedron constructed with 2 n-gons and 2n triangles.
The nets are particularly simple, consisting of two n-gons on top and bottom, separated by a
ribbon of 2n triangles, with the two n-gons being offset by one ribbon segment.
The duals of the antiprisms are the trapezohedra.~\cite{weisstein}

The macro \Lcs{psAntiprism} has the following syntax:

\begin{BDef}
\Lcs{psAntiprism}\OptArgs
\end{BDef}

The special optional arguments with its default values are

\begin{xltabular}{\linewidth}{@{} >{\ttfamily}l l X @{}}\toprule
\rmfamily\emph{name} & \emph{default} & \emph{description}\\\midrule
n & 8 & number of the edges of the polygon\\
a & 1 &  the radius of the outer polygon circle\\
meshbases & true & A boolean to mesh the bases with triangles whose one vertex is the
   center of the base and the two other two consecutive vertices of the polygon of the base.\\
colored & false & A boolean which will color the antiprism. This is  only possible with \texttt{meshbases=true}.
   The bases of the triangles allow a coloration by continuity of a triangle of the periphery of the
    antiprisme and the corresponding triangle of the base. It is an adaptation of the idea of H.\,B.\,Meyer
 for hexagonal antiprism.~\cite{meyer}\\
fan & false & draw the antiprism as a fan.\\
\bottomrule
\end{xltabular}


\section{Examples}
\subsection{The default behaviour}

For \Lkeyword{viewpoint} and \Lkeyword{Decran} see the documentation of \LPack{pst-solides3d}.~\cite{solides3d}

\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=100}
\psAntiprism
\end{pspicture}
\end{LTXexample}


\clearpage

\subsection{Using the optional arguments}


\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=100}
\psAntiprism[a=1,n=15,hue=0 1 0.5 1,
            linecolor={[rgb]{0 0 0.5}}]
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=75}
\psAntiprism[a=2,n=10,fillcolor=Miel,hollow,incolor=yellow!20,
            linecolor={[rgb]{0 0 0.5}},
            linewidth=1.5pt,
            opacity=0.9]
\end{pspicture}
\end{LTXexample}



\subsection{No lines for the base triangles: option \texttt{meshbases=false}}
In this case, the 2 bases have the numbers 0 and 1 and we can delete them with the optional
argument setting  \Lkeyword{rm}\texttt{=0 1}.







\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=100}
\psAntiprism[a=2,n=8,inouthue=1 0 0.5 1,
            meshbases=false,hollow,
            opacity=0.8]
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=100}
\psAntiprism[a=2,n=8,inouthue=1 0 0.5 1,
            meshbases=false,numfaces=,hollow,
            opacity=0.8,rm=0 1,affinage=]
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 60 30 rtp2xyz,Decran=100}
\psAntiprism[a=2,n=10,fillcolor=Maroon,
            incolor=yellow!20,
            linecolor=blue,
            meshbases=false,hollow,
            opacity=0.8,affinage=all]
\end{pspicture}
\end{LTXexample}


\section{Colored anitpriam}

This behaviour needs the setting \texttt{meshbases=true} and \texttt{colored=true}.

It allows coloring by continuity of a triangle
around the antiprism and the corresponding triangle of the base. The other options didn't changed
its meaning.

\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 90 30 rtp2xyz,Decran=100}
\psset{a=1,r=1}
\psAntiprism[colored,n=17]
\end{pspicture}
\end{LTXexample}


\begin{LTXexample}[width=0.35\linewidth]
\begin{pspicture}(-3,-3)(3,3)
\psset{viewpoint=100 90 -30 rtp2xyz,Decran=100}
\psset{lightsrc=viewpoint}
\psset{a=1,r=1,hollow,opacity=0.8,linecolor=blue}
\psAntiprism[colored,n=17]
\end{pspicture}
\end{LTXexample}


\section{An antiprism as a fan}

With the optional argument \Lkeyword{fan} the antiprism can be drawn like a fan:

\begin{LTXexample}[width=0.5\linewidth]
\begin{pspicture}(-4.5,-2.5)(4.5,2.5)
\psset{viewpoint=200 15 20 rtp2xyz,
 Decran=500}
\psAntiprism[fan,a=0.5,n=20,
 inouthue=0.1 1,hollow,opacity=0.9]
\end{pspicture}
\end{LTXexample}



\begin{LTXexample}[width=0.55\linewidth]
\begin{pspicture}(-4.5,-3)(4.5,3)
\psset{viewpoint=100 20 30 rtp2xyz,
 Decran=150}
\psAntiprism[fan,n=12,a=1.5,hollow,
 incolor=yellow,fillcolor=red,
 linecolor=blue,opacity=0.95,
 affinage=all,affinagecoeff=0.9]
\end{pspicture}
\end{LTXexample}

\begin{LTXexample}[width=0.55\linewidth]
\begin{pspicture}(-4.5,-3)(4.5,3)
\psset{viewpoint=200 2 25 rtp2xyz,
 Decran=500,solidmemory}
\psAntiprism[fan,n=20,a=0.5,hollow,
 inouthue=0.1 1,opacity=0.9,
 plansepare={[1 0 0 0.05]},
 name=eventail,action=none]
\psSolid[object=load,load=eventail1,
 deactivatecolor,hollow,opacity=0.8]
\end{pspicture}
\end{LTXexample}


\subsection{animation}
With the package \LPack{animate} one can create inline animations in an easy way:


\begin{center}
\begin{animateinline}[controls,loop,
                    begin={\begin{pspicture}(-4.5,-2.5)(4.5,2.5)},
                    end={\end{pspicture}}]{12}% 25 images/s
\multiframe{72}{iTheta=0+5}{%
\psset{viewpoint=200 \iTheta\space 20 rtp2xyz,
 Decran=500}
\psAntiprism[fan,a=0.5,n=20,inouthue=0.1 1,hollow,opacity=0.9]}
\end{animateinline}
\end{center}


\begin{lstlisting}
\begin{animateinline}[controls,loop,
                    begin={\begin{pspicture}(-4.5,-2.5)(4.5,2.5)},
                    end={\end{pspicture}}]{12}% 25 images/s
\multiframe{72}{iTheta=0+5}{%
\psset{viewpoint=200 \iTheta\space 20 rtp2xyz,
 Decran=500}
\psAntiprism[fan,a=0.5,n=20,inouthue=0.1 1,hollow,opacity=0.9]}
\end{animateinline}
\end{lstlisting}


\begin{center}
\begin{animateinline}[controls,loop,
                    begin={\begin{pspicture}(-4,-4)(4,4)},
                    end={\end{pspicture}}]{12}% 25 images/s
\multiframe{72}{iTheta=0+5}{%
\psset{viewpoint=100 90 20 rtp2xyz,Decran=120}
\psset{lightsrc=viewpoint}
\psset{a=1,r=1,hollow,opacity=0.8,linecolor=blue,RotSequence=zxy,RotX=\iTheta,RotZ=\iTheta}
\psAntiprism[colored,n=17]}
\end{animateinline}
\end{center}


\begin{lstlisting}
\begin{animateinline}[controls,loop,
                    begin={\begin{pspicture}(-4,-4)(4,4)},
                    end={\end{pspicture}}]{12}% 25 images/s
\multiframe{72}{iTheta=0+5}{%
\psset{viewpoint=100 90 20 rtp2xyz,Decran=120}
\psset{lightsrc=viewpoint}
\psset{a=1,r=1,hollow,opacity=0.8,linecolor=blue,RotSequence=zxy,RotX=\iTheta,RotZ=\iTheta}
\psAntiprism[colored,n=17]}
\end{animateinline}
\end{lstlisting}



\clearpage

\section{List of all optional arguments for \texttt{pst-antiprism}}

\xkvview{family=pst-antiprism,columns={key,type,default}}


\bgroup
\raggedright
\nocite{*}
\printbibliography
\egroup

\printindex
\end{document}