diff options
Diffstat (limited to 'Master/texmf-dist/tex')
-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 |
2 files changed, 133 insertions, 58 deletions
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} |