summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-02-18 22:50:16 +0000
committerKarl Berry <karl@freefriends.org>2014-02-18 22:50:16 +0000
commit08d2b2d2d99819f17efdf5fea76b3f485c5a6ce1 (patch)
tree19d6cf77d57f92809adde775ffb7f65973041834 /Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro
parent1bf884494029484b848f0d3a04324cab50b93b28 (diff)
pst-mirror (18feb14)
git-svn-id: svn://tug.org/texlive/trunk@32997 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro')
-rw-r--r--Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro137
1 files changed, 114 insertions, 23 deletions
diff --git a/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro b/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro
index ec382555756..7b0155df77d 100644
--- a/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro
+++ b/Master/texmf-dist/dvips/pst-mirror/pst-mirror.pro
@@ -1,4 +1,4 @@
-%% $Id: pst-mirror.pro 169 2009-12-08 17:55:59Z herbert $
+%% $Id: pst-mirror.pro 894 2014-02-18 09:46:21Z herbert $
%%
%% This is file `pst-mirror.pro',
%%
@@ -16,7 +16,98 @@
%% DESCRIPTION:
%% `pst-mirror' is a PSTricks package to view objects ob a spherical sphere
%%
-%% version 1.0 2009-09-12
+%% version 1.1 2014-02-17
+%
+%% === ajouté le 28 octobre 2011 -----------------------------------------------
+%% === adapté de Jean-Michel Sarlat dans pst-anamorphosis ----------------------
+/tx@Sphere3DImageDict 100 dict def
+tx@Sphere3DImageDict begin
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% === Capture de commandes de systemdict --------------------------------------
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/LINETO { systemdict /lineto get exec } def
+/MOVETO { systemdict /moveto get exec } def
+/CURVETO { systemdict /curveto get exec } def
+/CLOSEPATH { systemdict /closepath get exec } def
+/RLINETO { systemdict /rlineto get exec } def
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% === Transformation des commandes de construction des path(s) ----------------
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% 12/10/2011 : version incompléte et un peu brute !
+/moveto {
+ /s@y ED /s@x ED /c@x s@x def /c@y s@y def
+/Xpoint s@x unit_image reduction mul def
+/Ypoint s@y unit_image reduction mul def
+ 2dto3d
+ /Zpoint exch def
+ /Ypoint exch def
+ /Xpoint exch def
+ CalculsPointsApresTransformations
+ 3dto2d
+ MOVETO
+} bind def
+/lineto {
+ /c@yt ED /c@xt ED /dx c@xt c@x sub 50 div def /dy c@yt c@y sub 50 div def
+ 1 1 50 {dup dx mul c@x add exch dy mul c@y add
+/Ypoint exch unit_image reduction mul def
+/Xpoint exch unit_image reduction mul def
+ 2dto3d
+ /Zpoint exch def
+ /Ypoint exch def
+ /Xpoint exch def
+ CalculsPointsApresTransformations
+ 3dto2d
+ LINETO} for
+ /c@x c@xt def /c@y c@yt def
+} bind def
+/closepath {
+ s@x s@y lineto CLOSEPATH
+} bind def
+/curveto {
+ /c@yt ED /c@xt ED
+ /c@yb ED /c@xb ED
+ /c@ya ED /c@xa ED
+ 1 1 20 {
+ 20 div /s ED 1 s sub /t ED
+ t c@x mul 3 s c@xa mul mul add t mul 3 s s c@xb mul mul mul add t mul s 3 exp c@xt mul add
+ t c@y mul 3 s c@ya mul mul add t mul 3 s s c@yb mul mul mul add t mul s 3 exp c@yt mul add
+/Ypoint exch unit_image reduction mul def
+/Xpoint exch unit_image reduction mul def
+ 2dto3d
+ /Zpoint exch def
+ /Ypoint exch def
+ /Xpoint exch def
+ CalculsPointsApresTransformations
+ 3dto2d
+ LINETO
+ } for
+ /c@x c@xt def /c@y c@yt def
+} bind def
+/curvetoinv {
+ /c@ya ED /c@xa ED
+ /c@yb ED /c@xb ED
+ /c@yt ED /c@xt ED
+ 1 1 20 {
+ 20 div /s ED 1 s sub /t ED
+ t c@x mul 3 s c@xa mul mul add t mul 3 s s c@xb mul mul mul add t mul s 3 exp c@xt mul add
+ t c@y mul 3 s c@ya mul mul add t mul 3 s s c@yb mul mul mul add t mul s 3 exp c@yt mul add
+/Ypoint exch unit_image reduction mul def
+/Xpoint exch unit_image reduction mul def
+ 2dto3d
+ /Zpoint exch def
+ /Ypoint exch def
+ /Xpoint exch def
+ CalculsPointsApresTransformations
+ 3dto2d
+ LINETO
+ } for
+ /c@x c@xt def /c@y c@yt def
+} bind def
+/rlineto {
+ c@y add exch c@x add exch lineto
+} bind def
+end
+%
%
/tx@Sphere3DDict 100 dict def
tx@Sphere3DDict begin
@@ -123,13 +214,13 @@ end
/XH M11 A mul M12 B mul sub M13 C mul sub CX add def
/YH M21 A mul M22 B mul sub M23 C mul sub CY add def
/ZH M31 A mul M32 B mul sub M33 C mul sub CZ add def
-% Centres des faces : condition de visibilité
+% Centres des faces : condition de visibilité
% FACE 1
% OC1
/XC1 M13 C mul CX add def
/YC1 M23 C mul CY add def
/ZC1 M33 C mul CZ add def
-% Normale à la face 1
+% Normale à la face 1
/NX1 M13 C mul def
/NY1 M23 C mul def
/NZ1 M33 C mul def
@@ -141,7 +232,7 @@ end
/XC2 M11 A mul CX add def
/YC2 M21 A mul CY add def
/ZC2 M31 A mul CZ add def
-% normale à la face 2
+% normale à la face 2
/NX2 M11 A mul def
/NY2 M21 A mul def
/NZ2 M31 A mul def
@@ -153,7 +244,7 @@ end
/XC3 M13 C neg mul CX add def
/YC3 M23 C neg mul CY add def
/ZC3 M33 C neg mul CZ add def
-% normale à la face 3
+% normale a la face 3
/NX3 M13 C neg mul def
/NY3 M23 C neg mul def
/NZ3 M33 C neg mul def
@@ -165,7 +256,7 @@ end
/XC4 M11 A neg mul CX add def
/YC4 M21 A neg mul CY add def
/ZC4 M31 A neg mul CZ add def
-% normale à la face 4
+% normale a la face 4
/NX4 M11 A neg mul def
/NY4 M21 A neg mul def
/NZ4 M31 A neg mul def
@@ -177,7 +268,7 @@ end
/XC5 M12 B neg mul CX add def
/YC5 M22 B neg mul CY add def
/ZC5 M32 B neg mul CZ add def
-% normale à la face 5
+% normale a la face 5
/NX5 M12 B neg mul def
/NY5 M22 B neg mul def
/NZ5 M32 B neg mul def
@@ -189,7 +280,7 @@ end
/XC6 M12 B mul CX add def
/YC6 M22 B mul CY add def
/ZC6 M32 B mul CZ add def
-% normale à la face 6
+% normale a la face 6
/NX6 M12 B mul def
/NY6 M22 B mul def
/NZ6 M32 B mul def
@@ -689,7 +780,7 @@ fill
/xD 0 def
/yD 0 def
/zD RayonBaseTetraedre 1.414 mul def
-% coordonnées centre des faces
+% coordonnées centre des faces
/xFaceA xA xB xC add add 3 div def
/yFaceA yA yB yC add add 3 div def
/zFaceA zA zB zC add add 3 div def
@@ -702,7 +793,7 @@ fill
/xFaceD xD xB xC add add 3 div def
/yFaceD yD yB yC add add 3 div def
/zFaceD zD zB zC add add 3 div def
-% sommets après rotation et translation
+% sommets après rotation et translation
/XA M11 xA mul M12 yA mul add M13 zA mul add CX add def
/YA M21 xA mul M22 yA mul add M23 zA mul add CY add def
/ZA M31 xA mul M32 yA mul add M33 zA mul add CZ add def
@@ -741,7 +832,7 @@ fill
/NxD XFaceD XA sub def
/NyD YFaceD YA sub def
/NzD ZFaceD ZA sub def
-% Conditions de visibilité
+% Conditions de visibilité
/PSA XFaceA NxA mul YFaceA NyA mul add ZFaceA NzA mul add def
/PSB XFaceB NxB mul YFaceB NyB mul add ZFaceB NzB mul add def
/PSC XFaceC NxC mul YFaceC NyC mul add ZFaceC NzC mul add def
@@ -905,7 +996,7 @@ def
/xS 0 def
/yS 0 def
/zS Hpyramide def
-% coordonnées centre des faces
+% coordonnées centre des faces
/Alpha A Hpyramide atan def
/xFaceSAB Hpyramide Alpha dup sin exch cos mul mul def
/yFaceSAB 0 def
@@ -919,7 +1010,7 @@ def
/xFaceSDA 0 def
/yFaceSDA xFaceSAB neg def
/zFaceSDA zFaceSAB def
-% sommets après rotation et translation
+% sommets après rotation et translation
/XA M11 xA mul M12 yA mul add M13 zA mul add CX add def
/YA M21 xA mul M22 yA mul add M23 zA mul add CY add def
/ZA M31 xA mul M32 yA mul add M33 zA mul add CZ add def
@@ -935,7 +1026,7 @@ def
/XS M11 xS mul M12 yS mul add M13 zS mul add CX add def
/YS M21 xS mul M22 yS mul add M23 zS mul add CY add def
/ZS M31 xS mul M32 yS mul add M33 zS mul add CZ add def
-% centres de faces après transformations
+% centres de faces après transformations
/XFaceSAB M11 xFaceSAB mul M12 yFaceSAB mul add M13 zFaceSAB mul add CX add def
/YFaceSAB M21 xFaceSAB mul M22 yFaceSAB mul add M23 zFaceSAB mul add CY add def
/ZFaceSAB M31 xFaceSAB mul M32 yFaceSAB mul add M33 zFaceSAB mul add CZ add def
@@ -964,7 +1055,7 @@ def
/NxABCD CX XS sub def
/NyABCD CY YS sub def
/NzABCD CZ ZS sub def
-% Conditions de visibilité
+% Conditions de visibilité
/PSAB XFaceSAB NxSAB mul YFaceSAB NySAB mul add ZFaceSAB NzSAB mul add def
/PSBC XFaceSBC NxSBC mul YFaceSBC NySBC mul add ZFaceSBC NzSBC mul add def
/PSCD XFaceSCD NxSCD mul YFaceSCD NySCD mul add ZFaceSCD NzSCD mul add def
@@ -1007,9 +1098,9 @@ def
%
%
/tx@WARP{
-%% D'après un fichier original de
+%% D'après un fichier original de
%%(c) P. Kleiweg 1997
-%% adapté par :
+%% adapté par :
%% Manuel Luque
%% Arnaud Schmittbuhl
%% Jean-Paul Vignault
@@ -1055,9 +1146,9 @@ warpit
} def
/tx@TransformPlan{ % le calcul des coefficients
-%% pour passer des coordonnées du plan aux coordonnées
-%% (x,y,z) du repère absolu
-%% les coordonnées sphériques du vecteur normal
+%% pour passer des coordonnées du plan aux coordonnées
+%% (x,y,z) du repère absolu
+%% les coordonnées sphériques du vecteur normal
%% au plan
%% l'origine du plan
/zO' exch def
@@ -1070,7 +1161,7 @@ warpit
/C22 {K_phi sin K_theta sin mul neg } bind def
/C31 {K_phi cos} bind def
/2dto3d {
-%% coordonnées dans le repère absolu
+%% coordonnées dans le repère absolu
3 dict begin
C11 Xpoint mul C12 Ypoint mul add xO' add % x
C21 Xpoint mul C22 Ypoint mul add yO' add % y
@@ -1078,4 +1169,4 @@ warpit
end } def
} def
%
-end
+end \ No newline at end of file