diff options
author | Karl Berry <karl@freefriends.org> | 2011-03-03 00:38:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-03-03 00:38:36 +0000 |
commit | 3f55149c237c656f91c7f1e2facd7a1d558b5c63 (patch) | |
tree | a2f8b514e5b938e4d93a194fd905a08b8f3e0c35 | |
parent | d1089e94735a1af2d0b65b38f181f1f53b84bafc (diff) |
pst-3dplot (2mar11)
git-svn-id: svn://tug.org/texlive/trunk@21588 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-3dplot/Changes | 5 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-3dplot/more_docs/tb72voss3d.pdf | bin | 0 -> 542949 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.pdf | bin | 2937408 -> 2958277 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.tex | 8 | ||||
-rw-r--r-- | Master/texmf-dist/dvips/pst-3dplot/pst-3dplot.pro | 20 | ||||
-rw-r--r-- | Master/texmf-dist/source/generic/pst-3dplot/Makefile | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex | 189 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/pst-3dplot/pst-3dplot.sty | 2 |
8 files changed, 155 insertions, 71 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-3dplot/Changes b/Master/texmf-dist/doc/generic/pst-3dplot/Changes index 5d1f93b0fa2..ba911681485 100644 --- a/Master/texmf-dist/doc/generic/pst-3dplot/Changes +++ b/Master/texmf-dist/doc/generic/pst-3dplot/Changes @@ -17,6 +17,11 @@ pst-3dplot.pro -------- pst-3dplot.tex -------- +1.94 2011-03-01 - fix bug with \pstThreeDSquare and filling/drawCoor +1.93 2010-09-27 - experimental \psplotImpIIID +1.92 2010-04-14 - enable the IIIDshowgrid optional argument +1.91 2010-02-19 - make the origin argument for \paParaboloid and + \psIIIDCylinder work 1.90 2010-02-18 - enable the comma option - fix bug with tx@addDict for AlgParser 1.89 2010-01-28 - enable coordinates for calculations diff --git a/Master/texmf-dist/doc/generic/pst-3dplot/more_docs/tb72voss3d.pdf b/Master/texmf-dist/doc/generic/pst-3dplot/more_docs/tb72voss3d.pdf Binary files differnew file mode 100644 index 00000000000..ef3bc1f69bb --- /dev/null +++ b/Master/texmf-dist/doc/generic/pst-3dplot/more_docs/tb72voss3d.pdf diff --git a/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.pdf b/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.pdf Binary files differindex 185c74e3262..9a62049cac3 100644 --- a/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.pdf +++ b/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.pdf diff --git a/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.tex b/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.tex index 3e728963c74..83ba540b540 100644 --- a/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.tex +++ b/Master/texmf-dist/doc/generic/pst-3dplot/pst-3dplot-doc.tex @@ -1,6 +1,6 @@ \input{pst-3dplot-doc.dat} -%% $Id: pst-3dplot-doc.tex 241 2010-01-04 08:22:34Z herbert $ +%% $Id: pst-3dplot-doc.tex 294 2010-02-18 21:15:47Z herbert $ \documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings headexclude,footexclude,oneside,dvipsnames,svgnames]{pst-doc} \listfiles @@ -63,7 +63,8 @@ It is also important that after \LPack{pst-3dplot} no package is loaded, which u \vfill\noindent Thanks for feedback and contributions to:\\ -Bruce Burlton, Bernhard Elsner, Christophe Jorssen, Markus Krebs, Chris Kuklewicz, Darrell Lamm, +Bruce Burlton, Bernhard Elsner, Andreas Fehlner, +Christophe Jorssen, Markus Krebs, Chris Kuklewicz, Darrell Lamm, Patrice Mégret, Rolf Niepraschk, Michael Sharpe, Uwe Siart, Thorsten Suhling, Maja Zaloznik @@ -238,7 +239,7 @@ should be set with \Lcs{psset} and not part of an optional argument. \section{Coordinates and Axes} \LPack{pst-3dplot} accepts cartesian or spherical coordinates. In both cases there must be three parameters: \verb+(x,y,z)+ or alternatively ($r$,$\phi$,$\theta$), -where $r$ is the radius, $phi$ the \Index{longitude angle} and $\theta$ the \Index{lattitude angle}. +where $r$ is the radius, $\phi$ the \Index{longitude angle} and $\theta$ the \Index{lattitude angle}. For the spherical coordinates set the option \Lkeyword{SphericalCoor}=\true. Spherical coordinates are possible for all macros where three dimensional coordinates are expected, except for the plotting functions (math functions and data records). Maybe that this is also interesting @@ -2413,6 +2414,7 @@ The syntax is \verb|\tempa\tempb\tempc| must be user or system defined macros, which holds the three coordinates of the vector $\vec{C}=\vec{A}-\vec{B}$. +\clearpage \section{List of all optional arguments for \texttt{pst-3dplot}} \xkvview{family=pst-3dplot,columns={key,type,default}} diff --git a/Master/texmf-dist/dvips/pst-3dplot/pst-3dplot.pro b/Master/texmf-dist/dvips/pst-3dplot/pst-3dplot.pro index 335b8ad8d66..781251deea2 100644 --- a/Master/texmf-dist/dvips/pst-3dplot/pst-3dplot.pro +++ b/Master/texmf-dist/dvips/pst-3dplot/pst-3dplot.pro @@ -1,4 +1,4 @@ -%% $Id: pst-3dplot.pro 236 2009-12-31 08:59:43Z herbert $ +%% $Id: pst-3dplot.pro 298 2010-03-13 08:46:53Z herbert $ %% %% This is file `pst-3dplot.pro', %% @@ -16,7 +16,7 @@ %% `pst-3dplot' is a PSTricks package to draw 3d curves and graphical objects %% %% -%% version 0.30 / 2010-01-01 Herbert Voss <voss _at_ PSTricks.de> +%% version 0.31 / 2010-02-20 Herbert Voss <hvoss _at_ tug.org> %% with contributions of Darrell Lamm <darrell.lamm _at_ gtri.gatech.edu< %% % @@ -31,8 +31,8 @@ tx@3DPlotDict begin dxUnit mul /x ED } def % -/ConvertTo2D { - RotatePoint +/3Dto2D { % true or false on stack + { RotatePoint } if 1 { % dummy loop, will run only 1 time, allows exit coorType 0 le { % the default | /x2D x leftHanded not { neg } if Alpha cos mul y Alpha sin mul add def % /\ co system @@ -56,6 +56,8 @@ tx@3DPlotDict begin exit } if } repeat } def +/ConvertTo2D { true 3Dto2D } def +/ConvertTo2DWithoutRotating { false 3Dto2D } def % /Conv3D2D { /z ED /y ED /x ED ConvertTo2D x2D y2D } def % @@ -384,11 +386,11 @@ tx@3DPlotDict begin /Xpoint Rsphere theta increment 2 div add cos mul phi increment 2 div add cos mul CX add def /Ypoint Rsphere theta increment 2 div add sin mul phi increment 2 div add cos mul CY add def /Zpoint Rsphere phi increment 2 div add sin mul CZ add def - % normale � la facette + % normale a la facette /nXfacette Xpoint CX sub def /nYfacette Ypoint CY sub def /nZfacette Zpoint CZ sub def - % test de visibilit� + % test de visibilite /PSfacetteSphere vX nXfacette mul vY nYfacette mul add @@ -599,7 +601,7 @@ tx@3DPlotDict begin nZfacetteBox dup mul add add sqrt def NormeN 0 eq { /NormeN 1e-10 def } if -% test de visibilit� +% test de visibilite /PSfacetteBox vX nXfacetteBox mul vY nYfacetteBox mul add @@ -657,7 +659,7 @@ tx@3DPlotDict begin /V {Z sqrt} bind def /TableauxPoints [ 0 1 359 { - /U ED [ U U Z V calculate2DPoint ] % on d�crit le cercle + /U ED [ U U Z V calculate2DPoint ] % on decrit le cercle } for ] def newpath @@ -915,4 +917,4 @@ max 0 ne { end } def % end % tx@3DPlotDict - +%
\ No newline at end of file diff --git a/Master/texmf-dist/source/generic/pst-3dplot/Makefile b/Master/texmf-dist/source/generic/pst-3dplot/Makefile index 1ea2e39b135..9b01cfa343a 100644 --- a/Master/texmf-dist/source/generic/pst-3dplot/Makefile +++ b/Master/texmf-dist/source/generic/pst-3dplot/Makefile @@ -15,7 +15,7 @@ ARCHNAME = $(MAIN)-$(shell date +%y%m%d) ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile -all : doc clean +all : doc clean tds doc: $(MAIN).pdf $(MAIN).pdf : $(MAIN).ps diff --git a/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex b/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex index 7b3fb7d8c83..1eed785cf63 100644 --- a/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex +++ b/Master/texmf-dist/tex/generic/pst-3dplot/pst-3dplot.tex @@ -1,4 +1,4 @@ -%% $Id: pst-3dplot.tex 293 2010-02-14 17:11:57Z herbert $ +%% $Id: pst-3dplot.tex 298 2010-03-13 08:46:53Z herbert $ %% %% This is file `pst-3dplot.tex', %% @@ -27,8 +27,8 @@ \ifx\PSTMultidoLoaded\endinput\else \input multido.tex\fi \ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi % -\def\fileversion{1.90} -\def\filedate{2010/02/17} +\def\fileversion{1.94} +\def\filedate{2011/03/01} \message{`PST-3dplot' v\fileversion, \filedate\space (HV,DL)} % \edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax @@ -69,7 +69,7 @@ % 1 z y are orthogonal and angle Alpha is always 135, x-axis shortened by 1/sqrt(2), Beta has no meaning \define@key[psset]{pst-3dplot}{SphericalCoorType}[0]{\pst@getint{#1}{\psk@ThreeDplot@SphericalCoorType}} \psset[pst-3dplot]{drawing,drawCoor,hiddenLine=false,SphericalCoor=false,SphericalCoorType=0, - leftHanded=false,eulerRotation=false,coorType=0,IIIDshowgrid} + leftHanded=false,eulerRotation=false,coorType=0} % % ------- the global definitions for the pspicture frame ------ % @@ -140,14 +140,16 @@ % % -------------- the length and node definitions ------------- % +\iffalse \define@key[psset]{pst-3dplot}{XO}[0]{\def\psk@ThreeDplot@XO{#1}}% the X-offset \define@key[psset]{pst-3dplot}{YO}[0]{\def\psk@ThreeDplot@YO{#1}}% the y-offset -\define@key[psset]{pst-3dplot}{angleStep}[1]{\def\psk@ThreeDplot@angleStep{#1}}% for circles \define@key[psset]{pst-3dplot}{posStart}[0]{\def\psk@ThreeDplot@posStart{#1}}% where the arrows start \define@key[psset]{pst-3dplot}{length}[2]{\def\psk@ThreeDplot@length{#1}}% the length of the before|outlines \define@key[psset]{pst-3dplot}{arrowOffset}[0]{\def\psk@ThreeDplot@arrowOffset{#1}}%offset for \arrowLine -\define@key[psset]{pst-3dplot}{visibleLineStyle}[solid]{\def\psk@ThreeDplot@visibleLineStyle{#1}}% offset for \arrowLine -\define@key[psset]{pst-3dplot}{invisibleLineStyle}[dashed]{\def\psk@ThreeDplot@invisibleLineStyle{#1}}%offset for \arrowLine +\fi + +\define@key[psset]{pst-3dplot}{visibleLineStyle}[solid]{\def\psk@ThreeDplot@visibleLineStyle{#1}}% +\define@key[psset]{pst-3dplot}{invisibleLineStyle}[dashed]{\def\psk@ThreeDplot@invisibleLineStyle{#1}} % \define@boolkey[psset]{pst-3dplot}[Pst@]{IIIDticks}[true]{} \define@boolkey[psset]{pst-3dplot}[Pst@]{IIIDlabels}[true]{} @@ -224,7 +226,7 @@ xRotVec=1,yRotVec=0,zRotVec=0,RotAngle=0, PlaneSequence={}, drawStyle=xLines,xPlotpoints=25,yPlotpoints=25,beginAngle=0,endAngle=360, - XO=0,YO=0,angleStep=1,posStart=0,length=2,arrowOffset=0, +% XO=0,YO=0,posStart=0,length=2,arrowOffset=0, visibleLineStyle=solid,invisibleLineStyle=dashed,nameX=$x$,spotX=180, nameY=$y$,spotY=0,nameZ=$z$,spotZ=90,plane=xy,pOrigin=c, drawCoor=false,SphericalCoor=false, CylindricalCoor=false, @@ -235,6 +237,7 @@ leftHanded=false,coorType=0,IIIDdAlpha=0, xyzLight=1 1 2,showInside=true,SegmentColor={[cmyk]{0.2,0.6,1,0}}, increment=10,Hincrement=0.5, + IIIDshowgrid, }% \def\pst@linetype{2}% to prevent an unknown linetyp with dash } @@ -330,7 +333,8 @@ % \def\psxyzlabel#1{\bgroup\footnotesize\textsf{#1}\egroup} % -\define@key[psset]{pst-3dplot}{IIIDOffset}{\def\psk@ThreeDplot@Offset{#1}} +\define@key[psset]{pst-3dplot}{IIIDOffset}%[{(0,0,0)}] + {\def\psk@ThreeDplot@Offset{#1}} \define@key[psset]{pst-3dplot}{zlabelFactor}[\relax]{\def\psk@zlabelFactor{#1}} \psset[pst-3dplot]{IIIDOffset={(0,0,0)},zlabelFactor={}}% for coor axes % @@ -844,7 +848,9 @@ % \def\pstThreeDSquare{\def\pst@par{}\pst@object{pstThreeDSquare}} \def\pstThreeDSquare@i(#1,#2,#3)(#4,#5,#6)(#7,#8,#9){% - \ifPst@drawCoor % + \begingroup + \use@keep@par + \ifPst@drawCoor \pstThreeDDot[style=showCoorStyle](#1,#2,#3)% % \pst@addThreeDVecPS(#1,#2,#3)(#4,#5,#6)\pst@tempAA\pst@tempBB\pst@tempCC \pstThreeDDot[style=showCoorStyle](#1 #4 add, #2 #5 add, #3 #6 add)% @@ -853,6 +859,7 @@ % \pst@addThreeDVecPS(\pst@tempAA,\pst@tempBB,\pst@tempCC)(#4,#5,#6)\pst@tempA\pst@tempB\pst@tempC \pstThreeDDot[style=showCoorStyle](#1 #4 add #7 add, #2 #5 add #8 add, #3 #6 add #9 add)% \fi% + \endgroup \begin@ClosedObj \addto@pscode{ \pst@3ddict @@ -1151,6 +1158,13 @@ \addto@par{viewpoint=0 0 0}% \begin@SpecialObj% \addto@pscode{% + tx@3DPlotDict begin + \IIIDplot@variables + #1 #2 #3 + saveCoor + ConvertTo2DWithoutRotating + x2D \pst@number\psxunit mul y2D \pst@number\psyunit mul end + translate /height #4 def /radius #5 #4 sqrt div def /increment \psk@ThreeDplot@increment\space def @@ -1171,8 +1185,6 @@ 0 viewpoint 0 \tx@SetMatrixThreeD viewpoint \pst@3ddict /vZ ED /vY ED /vX ED - \IIIDplot@variables -% \psk@ThreeDplot@linejoin setlinejoin /pas 0.5 def /pas10 pas 10 div def /cmyk {} def % we need only the values @@ -1181,9 +1193,9 @@ % /calculate2DPoint { % four values on stack; x2D y2D are returned /V0 ED /Z0 ED /U20 ED /U10 ED - U10 cos V0 mul radius mul #1 add - U20 sin V0 mul radius mul #2 add - Z0 #3 add %\tx@ProjThreeD + U10 cos V0 mul radius mul + U20 sin V0 mul radius mul + Z0 tx@3DPlotDict begin saveCoor ConvertTo2D @@ -1244,21 +1256,19 @@ \end@SpecialObj% \ignorespaces} % -\def\pstIIIDCylinder{\def\pst@par{}\pst@object{pstIIIDCylinder}} +\def\pstIIIDCylinder{\pst@object{pstIIIDCylinder}} \def\pstIIIDCylinder@i{\@ifnextchar({\pstIIIDCylinder@ii}{\pstIIIDCylinder@ii(0,0,0)}} \def\pstIIIDCylinder@ii(#1,#2,#3)#4#5{{% - \let\pst@parOrig\pst@par - \begin@ClosedObj + \let\pst@parOrig\pst@par% + \begin@ClosedObj% \addto@pscode{% - \pst@3ddict \IIIDplot@variables end -% \psk@ThreeDplot@linejoin setlinejoin - /POrig { - #1 #2 #3 \ifPst@CylindricalCoor \tx@ConvCylToCartesian \fi - \pst@number\psunit mul 3 1 roll - \pst@number\psunit mul 3 1 roll - \pst@number\psunit mul 3 1 roll } def tx@3DPlotDict begin - POrig Conv3D2D translate + \IIIDplot@variables + #1 #2 #3 \ifPst@CylindricalCoor \tx@ConvCylToCartesian \fi + saveCoor + ConvertTo2DWithoutRotating + x2D \pst@number\psxunit mul y2D \pst@number\psyunit mul + translate % the lower center #4 \pst@number\psunit mul dup 0 360 false \pst@usecolor{\pslinecolor} IIIDEllipse @@ -1268,15 +1278,13 @@ \let\pst@par\pst@parOrig \begin@SpecialObj \addto@pscode{% - \pst@3ddict \IIIDplot@variables end -% \psk@ThreeDplot@linejoin setlinejoin - /POrig { - #1 #2 #3 \ifPst@CylindricalCoor \tx@ConvCylToCartesian \fi - \pst@number\psunit mul 3 1 roll - \pst@number\psunit mul 3 1 roll - \pst@number\psunit mul 3 1 roll } def - tx@3DPlotDict begin - POrig Conv3D2D translate + tx@3DPlotDict begin + \IIIDplot@variables + #1 #2 #3 \ifPst@CylindricalCoor \tx@ConvCylToCartesian \fi + saveCoor + ConvertTo2DWithoutRotating + x2D \pst@number\psxunit mul y2D \pst@number\psyunit mul + translate #4 \pst@number\psunit mul % radius #5 \pst@number\psunit mul % height 0 360 % for the future @@ -1289,18 +1297,16 @@ \let\pst@par\pst@parOrig \begin@ClosedObj \addto@pscode{% - \pst@3ddict \IIIDplot@variables end -% \psk@ThreeDplot@linejoin setlinejoin - /POrig { - #1 #2 #3 #5 add \ifPst@CylindricalCoor \tx@ConvCylToCartesian \fi - \pst@number\psunit mul 3 1 roll - \pst@number\psunit mul 3 1 roll - \pst@number\psunit mul 3 1 roll } def - tx@3DPlotDict begin - POrig Conv3D2D translate - #4 \pst@number\psunit mul dup 0 360 false - \pst@usecolor{\pslinecolor} - IIIDEllipse + tx@3DPlotDict begin + \IIIDplot@variables + #1 #2 #3 #5 add \ifPst@CylindricalCoor \tx@ConvCylToCartesian \fi + saveCoor + ConvertTo2DWithoutRotating + x2D \pst@number\psxunit mul y2D \pst@number\psyunit mul + translate + #4 \pst@number\psunit mul dup 0 360 false + \pst@usecolor{\pslinecolor} + IIIDEllipse end }% end of pscode \end@ClosedObj @@ -1491,8 +1497,8 @@ \addto@pscode{ \IIIDplot@variables /func { #5 } def - \ifPst@algebraic /Func ( #5 ) %tx@addDict begin - AlgParser %end + \ifPst@algebraic /Func ( #5 ) + AlgParser cvx def \fi /xMin #1 def /x xMin def @@ -1564,8 +1570,8 @@ \addto@pscode{% \IIIDplot@variables /func { #5 } def - \ifPst@algebraic /Func (#5) %tx@addDict begin - AlgParser %end + \ifPst@algebraic /Func (#5) + AlgParser cvx def \fi /x #1 def /x1 #2 def @@ -1591,8 +1597,8 @@ \addto@pscode{% \IIIDplot@variables /func { #5 } def - \ifPst@algebraic /Func (#5) %tx@addDict begin - AlgParser %end + \ifPst@algebraic /Func (#5) + AlgParser cvx def \fi /yMin #3 def /y yMin def @@ -1673,8 +1679,8 @@ \def\pslinetype{0}% \addto@pscode{% \IIIDplot@variables - \ifPst@algebraic /Func (#5) %tx@addDict begin - AlgParser %end + \ifPst@algebraic /Func (#5) + AlgParser cvx def \fi /tMin #1 def /t tMin def @@ -1700,8 +1706,8 @@ \@nameuse{beginplot@\psplotstyle}% \addto@pscode{% \IIIDplot@variables - \ifPst@algebraic /Func (#5) %tx@addDict begin - AlgParser %end + \ifPst@algebraic /Func (#5) + AlgParser cvx def \fi /tMin #1 def /t tMin def @@ -1967,6 +1973,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Utility stuff %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\iffalse % posStart=Starting point % length= Arrow length. \def\Arrows{\@ifnextchar[{\pst@Arrows}{\pst@Arrows[]}} @@ -2142,6 +2149,7 @@ /YB \pst@tempb exch pop \pst@number\psyunit div def XB XA add 2 div YB YA add 2 div){#3} } +\fi%-------------------------------------------------------- % % rotateNode(A) % (A) the node @@ -2324,6 +2332,73 @@ \ignorespaces% } % +\define@key[psset]{pst-3dplot}{stepFactor}[0.67]{\pst@checknum{#1}\psk@stepFactor } +\psset[pst-3dplot]{stepFactor=0.67} +% +\newdimen\pszunit \pszunit 1cm +% +\def\psplotImpIIID{\pst@object{psplotImpIIID}}% 20060420 +\def\psplotImpIIID@i(#1,#2,#3)(#4,#5,#6){% + \@ifnextchar[{\psplotImpIIID@ii(#1,#2,#3)(#4,#5,#6)}{\psplotImpIIID@ii(#1,#2,#3)(#4,#5,#6)[]}} +\def\psplotImpIIID@ii(#1,#2,#3)(#4,#5,#6)[#7]#8{% + \begin@OpenObj% + \addto@pscode{ + /xMin #1 def + /xMax #4 def + /yMin #2 def + /yMax #5 def + /zMin #3 def + /zMax #6 def + \IIIDplot@variables + #7 % additional PS code + /Func \ifPst@algebraic (#8) AlgParser cvx \else { #8 } \fi def + /xPixel xMax xMin sub \pst@number\psxunit mul round cvi def + /yPixel yMax yMin sub \pst@number\psyunit mul round cvi def + /zPixel zMax zMin sub \pst@number\pszunit mul round cvi def + /dx xMax xMin sub xPixel div def + /dy yMax yMin sub yPixel div def + /dz zMax zMin sub zPixel div def + /setpixel { + dz div 3 1 roll + dy div 3 1 roll + dx div 3 1 roll + tx@3DPlotDict begin Conv3D2D end + \pst@number\pslinewidth 2 div 0 360 arc fill } bind def +% + /VZ true def % suppose that F(x,y,z)>=0 + /x xMin def /y yMin def /z zMin def + Func 0.0 lt { /VZ false def } if % erster Wert + xMin dx \psk@stepFactor\space mul xMax { + /x exch def + yMin dy \psk@stepFactor\space mul yMax { + /y exch def + zMin dz \psk@stepFactor\space mul zMax { + /z exch def + Func 0 lt + { VZ { x y z setpixel /VZ false def} if } + { VZ {}{ x y z setpixel /VZ true def } ifelse } ifelse + } for + } for + } for +% + /x xMin def /y yMin def /z zMin def + Func 0.0 lt { /VZ false def } if % erster Wert + zMin dz \psk@stepFactor\space mul zMax { + /z exch def + yMin dy \psk@stepFactor\space mul yMax { + /y exch def + xMin dx \psk@stepFactor\space mul xMax { + /x exch def + Func 0 lt + { VZ { x y z setpixel /VZ false def} if } + { VZ {}{ x y z setpixel /VZ true def } ifelse } ifelse + } for + } for + } for + }% + \end@OpenObj% +} +% \catcode`\@=\PstAtCode\relax % %% END: pst-3dplot.tex diff --git a/Master/texmf-dist/tex/latex/pst-3dplot/pst-3dplot.sty b/Master/texmf-dist/tex/latex/pst-3dplot/pst-3dplot.sty index 045c85ee870..f33b6aa3a99 100644 --- a/Master/texmf-dist/tex/latex/pst-3dplot/pst-3dplot.sty +++ b/Master/texmf-dist/tex/latex/pst-3dplot/pst-3dplot.sty @@ -1,4 +1,4 @@ -%% $Id: pst-3dplot.sty 293 2010-02-14 17:11:57Z herbert $ +%% $Id: pst-3dplot.sty 294 2010-02-18 21:15:47Z herbert $ \RequirePackage{pstricks} \RequirePackage{pst-3d} \RequirePackage{pst-plot} |