1GACTM(3NCARG) NCAR GRAPHICS GACTM(3NCARG)
2
3
4
6 GACTM (Accumulate transformation matrix) - Constructs a GKS segment
7 transformation matrix by starting with an existing matrix and composing
8 it with a shift vector, a rotation angle, and X and Y scale factors to
9 create a new transformation matrix. The rotation and scaling are done
10 with respect to a user-defined fixed point.
11
13 CALL GACTM(MINP,X0,Y0,DX,DY,PHI,FX,FY,SW,MOUT)
14
16 #include <ncarg/gks.h>
17
18 void gaccum_tran_matrix(const Gtran_matrix t_matrix, const Gpoint
19 *point, const Gvec *shift, Gdouble angle, const Gvec *scale, Gco‐
20 ord_switch coord_switch, Gtran_matrix tran_matrix);
21
23 MINP (Real, Input) - A 2x3 GKS transformation matrix.
24
25 X0 (Real, Input) - An X coordinate value for a fixed point to
26 be used for the scaling and rotation parts of the output
27 transformation. X is either in world coordinates or nor‐
28 malized device coordinates depending on the setting of the
29 argument SW described below.
30
31 Y0 (Real, Input) - A Y coordinate value for a fixed point to
32 be used for the scaling and rotation parts of the output
33 transformation. Y is either in world coordinates or nor‐
34 malized device coordinates depending on the setting of the
35 argument SW described below.
36
37 DX (Real, Input) - The X component of a shift vector to be
38 used for the scaling part of the output transformation. DX
39 is either in world coordinates or normalized device coordi‐
40 nates depending on the setting of the argument SW described
41 below.
42
43 DY (Real, Input) - The Y component of a shift vector to be
44 used for the scaling part of the output transformation. DY
45 is either in world coordinates or normalized device coordi‐
46 nates depending on the setting of the argument SW described
47 below.
48
49 PHI (Real, Input) - The rotation angle, in radians, to be used
50 for the rotation part of the output transformation.
51
52 FX (Real, Input) - An X coordinate scale factor to be used in
53 the scaling part of the output transformation.
54
55 FY (Real, Input) - A Y coordinate scale factor to be used in
56 the scaling part of the output transformation.
57
58 SW (Integer, Input) - A coordinate switch to indicate whether
59 the values for the arguments X0, Y0, DX, and DY (described
60 above) are in world coordinates or normalized device coor‐
61 dinates. SW=0 indicates world coordinates and SW=1 indi‐
62 cates normalized device coordinates.
63
64 MOUT (Real, Output) - A 2x3 array that contains the GKS trans‐
65 formation matrix in a form that can be used as input to
66 other GKS functions such as GSSGT. This matrix is con‐
67 structed by composing the scale, rotate, and shift input,
68 described above, with the original input matrix MINP.
69
71 If world coordinates are used, the shift vector and the fixed point are
72 transformed by the current normalization transformation.
73
74 The order in which the transformations are applied is: input matrix,
75 scale, rotate, and shift.
76
77 Elements MOUT(1,3) and MOUT(2,3) are in normalized device coordinates
78 and the other elements of MOUT are unitless.
79
80 GACTM can be used to construct more general transformation matrices
81 than GEVTM. The most common usage of GACTM is to change the order in
82 which the operations of scale, rotate, and shift are applied (which is
83 fixed in GEVTM). The example below shows how to construct a transfor‐
84 mation matrix that shifts first and then rotates.
85
87 Assuming that the input matrix TIN is initially the identity, the fol‐
88 lowing code
89
90 PI = 3.1415926
91 CALL GACTM(TIN,.5,.5,.25,0.,0.,1.,1.,0,TOUT)
92 DO 20 I=1,2
93 DO 30 J=1,3
94 TIN(I,J) = TOUT(I,J)
95 30 CONTINUE
96 20 CONTINUE
97 CALL GACTM(TIN,.5,.5,0.,0.,45.*PI/180.,1.,1.,0,TOUT)
98
99 would produce a transformation matrix in TOUT that would shift by
100 (.25,0.) first, and then rotate by 45 degrees.
101
103 To use GKS routines, load the NCAR GKS-0A library ncarg_gks.
104
106 Online: gevtm, gclsg, gcrsg, gcsgwk, gdsg, gqopsg, gqsgus, gssgt., gac‐
107 cum_tran_matrix
108
109 Hardcopy: "User's Guide for NCAR GKS-0A Graphics"
110
112 Copyright (C) 1987-2007
113 University Corporation for Atmospheric Research
114
115 This documentation is free software; you can redistribute it and/or
116 modify it under the terms of the GNU General Public License as pub‐
117 lished by the Free Software Foundation; either version 2 of the
118 License, or (at your option) any later version.
119
120 This software is distributed in the hope that it will be useful, but
121 WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
122 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
123 Public License for more details.
124
125 You should have received a copy of the GNU General Public License along
126 with this software; if not, write to the Free Software Foundation,
127 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
128
129
130
131UNIX March 1993 GACTM(3NCARG)