diff options
author | Karl Berry <karl@freefriends.org> | 2014-06-23 23:33:57 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-06-23 23:33:57 +0000 |
commit | 2a3f80d33949f85ee55f2d478e94d9a53b9e44a4 (patch) | |
tree | 5b700d48c4333f1820229db72e01899a4705a4fc /Master/texmf-dist/dvips | |
parent | 40dbbf066a238c434a19aa846a2c0beb4a16cbda (diff) |
pst-solides3d (22jun14)
git-svn-id: svn://tug.org/texlive/trunk@34366 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips')
-rw-r--r-- | Master/texmf-dist/dvips/pst-solides3d/pst-solides3d.pro | 87 |
1 files changed, 72 insertions, 15 deletions
diff --git a/Master/texmf-dist/dvips/pst-solides3d/pst-solides3d.pro b/Master/texmf-dist/dvips/pst-solides3d/pst-solides3d.pro index 3ca3adb269b..5e107e75a96 100644 --- a/Master/texmf-dist/dvips/pst-solides3d/pst-solides3d.pro +++ b/Master/texmf-dist/dvips/pst-solides3d/pst-solides3d.pro @@ -1,6 +1,6 @@ %! % PostScript prologue for pst-solides3d.tex. -% Version 4.22, 2012/12/18 +% Version 4.23, 2014/06/07 % %% COPYRIGHT 2009-2013 by Jean-Paul Vignault %% opacity changes by Herbert Voss @@ -3600,6 +3600,72 @@ end /M31 {s2 neg} bind def /M32 {s1 c2 mul} bind def /M33 {c1 c2 mul} bind def + RotSequence (zyx) eq { + /M11 {c2 c3 mul} bind def + /M12 {c2 s3 mul neg} bind def + /M13 {s2} bind def + /M21 {s1 s2 mul c3 mul c1 s3 mul add} bind def + /M22 {s1 s2 mul s3 mul neg c1 c3 mul add} bind def + /M23 {s1 c2 mul neg} bind def + /M31 {c1 s2 mul c3 mul neg s1 s3 mul add} bind def + /M32 {c1 s2 mul s3 mul s1 c3 mul add} bind def + /M33 {c1 c2 mul} bind def + } if + RotSequence (yzx) eq { + /M11 {c2 c3 mul} bind def + /M12 {s3 neg} bind def + /M13 {s2 c3 mul} bind def + /M21 {c1 s3 mul c2 mul s1 s2 mul add} bind def + /M22 {c1 c3 mul} bind def + /M23 {c1 s2 mul s3 mul s1 c2 mul sub} bind def + /M31 {s1 c2 mul s3 mul c1 s2 mul sub} bind def + /M32 {s1 c3 mul} bind def + /M33 {s1 s2 mul s3 mul c1 c2 mul add} bind def + } if + RotSequence (zxy) eq { + /M11 {c2 c3 mul s1 s2 mul s3 mul add} bind def + /M12 {c2 s3 mul neg s1 s2 mul c3 mul add} bind def + /M13 {c1 s2 mul} bind def + /M21 {c1 s3 mul} bind def + /M22 {c1 c3 mul} bind def + /M23 {s1 neg} bind def + /M31 {s2 c3 mul neg s1 c2 mul s3 mul add} bind def + /M32 {s2 s3 mul s1 c2 mul c3 mul add} bind def + /M33 {c1 c2 mul} bind def + } if + RotSequence (xzy) eq { + /M11 {c2 c3 mul} bind def + /M12 {c1 s3 mul c2 mul neg s1 s2 mul add} bind def + /M13 {s1 c2 mul s3 mul c1 s2 mul add} bind def + /M21 {s3} bind def + /M22 {c1 c3 mul} bind def + /M23 {s1 c3 mul neg} bind def + /M31 {s2 c3 mul neg} bind def + /M32 {c1 s2 mul s3 mul s1 c2 mul add} bind def + /M33 {s1 s2 mul s3 mul neg c1 c2 mul add} bind def + } if + RotSequence (yxz) eq { + /M11 {c2 c3 mul s1 s2 mul s3 mul sub} bind def + /M12 {c1 s3 mul neg} bind def + /M13 {s2 c3 mul s1 c2 mul s3 mul add} bind def + /M21 {c2 s3 mul s1 s2 mul c3 mul add} bind def + /M22 {c1 c3 mul} bind def + /M23 {s2 s3 mul s1 c2 mul c3 mul sub} bind def + /M31 {c1 s2 mul neg} bind def + /M32 {s1} bind def + /M33 {c1 c2 mul} bind def + } if + RotSequence (xyz) eq { + /M11 {c2 c3 mul} bind def + /M12 {c1 s3 mul neg s1 s2 mul c3 mul add} bind def + /M13 {s1 s3 mul c1 s2 mul c3 mul add} bind def + /M21 {c2 s3 mul} bind def + /M22 {c1 c3 mul s1 s2 mul s3 mul add} bind def + /M23 {s1 c3 mul neg c1 s2 mul s3 mul add} bind def + /M31 {s2 neg} bind def + /M32 {s1 c2 mul} bind def + /M33 {c1 c2 mul} bind def + } if M11 Xpoint mul M12 Ypoint mul add M13 Zpoint mul add M21 Xpoint mul M22 Ypoint mul add M23 Zpoint mul add M31 Xpoint mul M32 Ypoint mul add M33 Zpoint mul add @@ -8302,12 +8368,10 @@ end %% %% syntaxe : xmin xmax ymin ymax [dx dy] {f} newsurface -> solid %% %% f : R^2 -> R -/newsurface { - true newsurfaceparametree -} def - +/newsurface { true newsurfaceparametree } def +% /biface true def - +% /newsurfaceparametree { 10 dict begin dup isbool { @@ -8434,7 +8498,6 @@ end 7 dict begin /f_surface exch def [[/nx /ny] [6 6] [6 8] [10 8] [16 12] [16 36]] gestionsolidmode - nx isinteger not { %% alors nx est un dx /nx xmax xmin sub nx div cvi store @@ -8445,10 +8508,8 @@ end } if /dy ymax ymin sub ny div def %% le pas sur y /dx xmax xmin sub nx div def %% le pas sur x - %% ny = nb de meridiens %% nx = nb d horizontales - /r exch def /F [ %% 1er etage @@ -8468,7 +8529,6 @@ end } for } for ] def - %% tableau des sommets /S [ 0 0 0 0 f_surface @@ -8479,11 +8539,10 @@ end /theta i 360 mul ny div def theta cos r j mul nx div mul theta sin r j mul nx div mul - 2 copy f_surface + 2 copy f_surface } for } for ] def - S F generesolid end } def @@ -10762,9 +10821,7 @@ end } ifelse } ifelse {f} newsurface* - solidbiface { - dup videsolid - } if + solidbiface { dup videsolid } if gere_pstricks_opt } def |