PWRZT(3NCARG)

πŸ“¦ version 6.6.2, in epel 9, fedora 43, fedora 44

✨ PWRZT ✨

okay bestie, welcome to the NCAR Graphics corner of the universe πŸ’– this one's from the 3NCARG manual and it's literally all about yeeting a character string into 3-D space and drawing its projection. no cap.


🌸 NAME 🌸

PWRZT β€” draws the projections of character strings that are positioned in a plane parallel to one of the three coordinate planes. it's giving "text but make it 3-D" ✨

⚠️ NOTE: bestie, at one time there was a Threed routine called PWRZ and it was supported. but PWRZ has been superseded by PWRZT and is therefore considered obsolete. if you call PWRZ, you will get an error message telling you to use PWRZT instead and execution will be terminated. πŸ’€ so like… don't. it's not the vibe.

πŸŽ€ SYNOPSIS πŸŽ€

CALL PWRZT (U,V,W,CHRS,LCHRS,ISIZE,IDIR,ITOP,ICEN)

πŸ¦‹ C-BINDING SYNOPSIS πŸ¦‹

#include <ncarg/ncargC.h>

void c_pwrzt (float u, float v, float w, char *chrs, int lchrs,
int isize, int idir, int itop, int icen)

πŸ’… DESCRIPTION πŸ’…

okay so here's the tea on every single argument, and yes we're doing all of them 🫢

  • U,V,W β€” these are input expressions of type REAL, and they're the U, V, and W coordinates of a point, in the user's 3-space, relative to which the character string is to be positioned. it's the anchor, the main character, the spot everything's measured from. πŸ‘‘
  • CHRS β€” this is an input constant or variable of type CHARACTER, and it's the character string to be drawn. bestie, it may contain uppercase alphabetic characters, the digits 0 through 9, and a small set of "special" characters (plus, minus, asterisk, slash, left and right parentheses, equals sign, blank, comma, and period). other characters are treated as blanks. and note especially that lowercase alphabetic characters are not available 😭 so no soft lowercase energy here, it's uppercase only, periodt.
  • LCHRS β€” an input expression of type INTEGER, and it's simply the number of characters in CHRS. count them, bestie πŸ”’
  • ISIZE β€” an input expression of type INTEGER that specifies the character width to be used, defined in terms of the width of the plotter frame. now here's the ✨lore✨: because projected characters vary in width depending on just where they are placed within the box being viewed and the position from which that box is viewed, ISIZE is interpreted as specifying the width of a character when that character is positioned and viewed in such a way as to make it as large as it could possibly be β€” when the character is on the near side of the box and in a plane perpendicular to the line of sight. specifically:
    • if between 0 and 3, ISIZE is 1., 1.5, 2., or 3. times a standard width equal to 1/128th of the screen width.
    • if greater than 3, ISIZE is the character width in units of 1/1024th of the plotter frame.

one third of the "width" referred to here is white space. what ISIZE really specifies is the distance between the centers of adjacent characters in a string. characters are digitized to be 7/6 * ISIZE units high and 4/6 * ISIZE units wide, excluding white space. math girlies rise 🌈

  • IDIR β€” an input expression of type INTEGER, the direction in which the character string is to be written, as follows:
    • 1 = +U &nbsp;&nbsp;&nbsp;&nbsp; -1 = -U
    • 2 = +V &nbsp;&nbsp;&nbsp;&nbsp; -2 = -V
    • 3 = +W &nbsp;&nbsp;&nbsp;&nbsp; -3 = -W
  • ITOP β€” an input expression of type INTEGER, the direction from the center of the first character to the top of the first character; possible values of ITOP are the same as those of IDIR, above. and ⚠️ ABS(ITOP) must not be equal to ABS(IDIR). like they cannot match, that's the rule, no exceptions πŸ’€
  • ICEN β€” an input expression of type INTEGER, the centering option, specifying where (U,V,W) is relative to the string written, as follows:
    • -1 β€” (U,V,W) is the center of the left edge of the first character.
    • 0 β€” (U,V,W) is the center of the entire string.
    • 1 β€” (U,V,W) is the center of the right edge of the last character.

also, since characters drawn by PWRZT are stroked using the GKS polyline primitive (so that they can be projected from 3-D to 2-D, iconic behavior honestly), they are drawn in the current polyline color, as determined by the last call to the GKS routine GSPLCI; by default, color index 1 is used. line width is determined by the last call to the GKS routine GSLWSC; by default, the line width scale factor is 1. slay πŸŽ€


🌈 C-BINDING DESCRIPTION 🌈

the C-binding argument descriptions are the same as the FORTRAN argument descriptions. fr fr, same energy, different language πŸ’œ


⭐ EXAMPLES ⭐

use the ncargex command to see the following relevant example: tpwrzt. go look, it's cute, i promise πŸ¦‹


πŸ‘‘ ACCESS πŸ‘‘

to use PWRZT or c_pwrzt, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. order matters bestie, don't do it wrong πŸ’…


πŸ“ SEE ALSO πŸ“

online: threed, curve3, fence3, frst3, line3, perim3, point3, psym3, pwrz, set3, threed, tick3, tick43, vect3, ncarg_cbind.

(yes threed is listed twice and yes i'm keeping it twice because that's what the original says, we don't erase history in this house πŸ’–)


Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.


and that's the whole page bestie, mwah πŸ’‹ this was PWRZT(3NCARG) from the NCAR GRAPHICS manual, in the UNIX manual set, dated March 1993 β€” vintage but make it serve ✨ go forth and project those strings, you've got this 🫢

πŸ“¦ where this page comes from