1GACTM(3NCARG)                    NCAR GRAPHICS                   GACTM(3NCARG)
2
3
4

NAME

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

SYNOPSIS

13       CALL GACTM(MINP,X0,Y0,DX,DY,PHI,FX,FY,SW,MOUT)
14

C-BINDING SYNOPSIS

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

DESCRIPTION

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

USAGE

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

EXAMPLE

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

ACCESS

103       To use GKS routines, load the NCAR GKS-0A library ncarg_gks.
104

SEE ALSO

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)
Impressum