[pstricks] Slices of a solid of revolution
Herbert Voss
LaTeX at zedat.fu-berlin.de
Sun Jun 10 11:54:46 CEST 2007
Chicoine Martin wrote:
> I would like to draw the slices of a solid of revolution as in the following example :
>
> http://www.seg.etsmtl.ca/Math/Animations/disqRMin1.htm
>
> Does something exist that could do it?
>
We can make it exist ... :-)
Herbert
\documentclass{article}
\usepackage{pst-plot}
\SpecialCoor
\usepackage{multido}
\parindent=0pt
\def\psVolume(#1,#2)#3#4{{
\begin{pspicture}(-1,-2.1)(5,2.1)
\psaxes{->}(0,0)(0,-2)(5,2)
\psplot{#1}{#2}{#4}\psplot{#1}{#2}{#4 neg}
\multido{\iA=1+1}{#3}{%
\pscustom[fillcolor=green,fillstyle=solid]{%
\code{
/dX #2 #1 sub #3 div def
/Start dX \iA\space 1 sub mul def
/End Start dX add def
/Height End Start add 2 div /x ED #4 def }
\psellipticarc(!Start 0)(!0.25 Height){90}{270}
\rlineto(! dX 0)
\psellipticarc(!End 0)(!0.25 Height){270}{90}
\rlineto(!dX neg 0)}}
\psline{->}(#2,0)(5,0)
\psellipticarc(#2,0)(!0.25 #2 dup #1 sub #3 div 2 div sub
TeXDict begin /x ED #4 end){90}{270}
\psset{plotstyle=line,linestyle=dashed,plotpoints=40,dotstyle=*,dotsize=0.5pt}
\psplot{#1}{#2}{#4}\psplot{#1}{#2}{#4 neg}
\end{pspicture}
}}
\begin{document}
\psVolume(0,4){1}{x sqrt}\\
\psVolume(0,4){2}{x sqrt}\\
\psVolume(0,4){4}{x sqrt}\\
\psVolume(0,4){8}{x sqrt}\\
\psVolume(0,4){16}{x sqrt}\\
\psVolume(0,4){32}{x sqrt}
\end{document}
More information about the PSTricks
mailing list