summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/dvips
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-23 23:33:57 +0000
committerKarl Berry <karl@freefriends.org>2014-06-23 23:33:57 +0000
commit2a3f80d33949f85ee55f2d478e94d9a53b9e44a4 (patch)
tree5b700d48c4333f1820229db72e01899a4705a4fc /Master/texmf-dist/dvips
parent40dbbf066a238c434a19aa846a2c0beb4a16cbda (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.pro87
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