GEVTM(3NCARG)
π GEVTM π (Evaluate transformation matrix)
okay bestie, so this is a page from the NCAR GRAPHICS manual set, and it's literally all about building one (1) transformation matrix. yes. one. iconic.
β¨ NAME β¨
GEVTM (short for Evaluate transformation matrix, iykyk) β it constructs a GKS segment transformation matrix, and it does it starting from a given point, a shift vector, a rotation angle, and X and Y scale factors. that's the whole vibe. π
π SYNOPSIS π
CALL GEVTM(X0,Y0,DX,DY,PHI,FX,FY,SW,MOUT)
π¦ C-BINDING SYNOPSIS π¦
#include <ncarg/gks.h>
void geval_tran_matrix(const Gpoint *point, const Gvec *shift, Gdouble
angle, const Gvec *scale, Gcoord_switch coord_switch, Gtran_matrix
tran_matrix);
πΈ DESCRIPTION πΈ
here's the whole cast of characters, no skips:
X0β (Real, Input) the X coordinate value for a fixed point, and this fixed point is what the scaling and rotation parts of the output transformation get built around. and like, is X in world coordinates or normalized device coordinates? that depends on how you setSW, which we get to below. π«ΆY0β (Real, Input) the Y coordinate value for that same fixed point used by the scaling and rotation parts of the output transformation. same deal: world coordinates or normalized device coordinates, whicheverSWsays. β¨DXβ (Real, Input) the X component of a shift vector, and this one feeds the scaling part of the output transformation. again: world coords or normalized device coords, perSW. πDYβ (Real, Input) the Y component of that shift vector, also feeding the scaling part of the output transformation. and yep, world coords or NDC, depending onSW. πPHIβ (Real, Input) the rotation angle, in radians, used for the rotation part of the output transformation. radians!! not degrees!! bestie i'm begging you πFXβ (Real, Input) an X coordinate scale factor, used in the scaling part of the output transformation.FYβ (Real, Input) a Y coordinate scale factor, also used in the scaling part of the output transformation.SWβ (Integer, Input) the coordinate switch. it tells you whether the values forX0,Y0,DX, andDY(all described above, bestie) are in world coordinates or normalized device coordinates.SW=0means world coordinates andSW=1means normalized device coordinates. that's it. that's the switch. π₯MOUTβ (Real, Output) a 2x3 array holding the GKS transformation matrix, in a form that can be handed straight to other GKS functions such asGSSGT. main character output energy, honestly. π
π USAGE π
if world coordinates are the move, then the shift vector and the fixed point get transformed by the current normalization transformation. periodt.
the order of the transformation operations, as they're built into the output matrix, is:
- scale (relative to the fixed point)
- rotate (relative to the fixed point)
- shift
and lowkey important: elements MOUT(1,3) and MOUT(2,3) are in normalized device coordinates, while all the other elements of MOUT are unitless. π§
π EXAMPLE π
okay so this code right here:
PI = 3.1415926
CALL GEVTM(.5,.5,.25,0.,45.*PI/180.,.5,1.5,0,TM)
would produce a transformation matrix in TM that would:
- scale the X coordinates by
.5 - scale the Y coordinates by
1.5(relative to the fixed point of(.5,.5)) - rotate by 45 degrees (relative to the fixed point
(.5,.5)) - and shift by
.25in X and0.in Y
and just so you know: the input values for the fixed point and the shift vector are in world coordintes. (that's the original's spelling, bestie, i'm not touching it π)
β ACCESS β
to use GKS routines, load the NCAR GKS-0A library ncarg_gks.
π SEE ALSO π
Online: gactm, gclsg, gcrsg, gcsgwk, gdsg, gqopsg, gqsgus, gssgt., geval_tran_matrix
Hardcopy: "User's Guide for NCAR GKS-0A Graphics"
π COPYRIGHT π
Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.
okay that's the whole page bestie, go forth and transform π¦β¨ this was GEVTM(3NCARG), straight out of the UNIX manual, dated March 1993 β vintage fr fr, she's been slaying since before you were born ππ
no cap, that's the sign-off πΈ
π¦ where this page comes from
- epel 9: ncl-devel 6.6.2-59.el9 Β· LicenseRef-Callaway-BSD
- fedora 43: ncl-devel 6.6.2-58.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: ncl-devel 6.6.2-62.fc44 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms