PERIM3(3NCARG)
π PERIM3 β it's giving perimeter π
okay so bestie, welcome to PERIM3 from the NCAR GRAPHICS manual (3NCARG, she's a legend). this one draws the projection of a rectangular perimeter in a plane parallel to one of the three coordinate planes, and it puts inward-pointing tick marks at specified intervals. yes ma'am, tick marks, we love a little detail. π
β¨ SYNOPSIS β¨
CALL PERIM3 (MAJOR1,MINOR1,MAJOR2,MINOR2,IAXIS,VALUE)
π C-BINDING SYNOPSIS
#include <ncarg/ncargC.h>
void c_perim3 (int major1, int minor1, int major2, int minor2,
int iaxis, float value)
π¦ DESCRIPTION π¦
here's the whole squad of arguments, no gatekeeping, we're going through every single one:
MAJOR1β an input expression of typeINTEGER. she specifies the number of major divisions of those sides of the perimeter parallel to direction 1. (directions 1 and 2 are defined by the value ofIAXIS.) major divisions are indicated by tick marks. periodt.MINOR1β an input expression of typeINTEGER. this one specifies the number of minor divisions per major division along those sides of the perimeter parallel to direction 1. (again, directions 1 and 2 are defined by the value ofIAXIS.) minor divisions are indicated by tick marks that, by default, are smaller than the tick marks indicating major divisions. tiny ticks, iconic behaviour.MAJOR2β an input expression of typeINTEGER. the number of major divisions of those sides of the perimeter parallel to direction 2. (directions 1 and 2 are defined by the value ofIAXIS.) major divisions are indicated by tick marks.MINOR2β an input expression of typeINTEGER. the number of minor divisions per major division along those sides of the perimeter parallel to direction 2. (directions 1 and 2 are defined by the value ofIAXIS.) minor divisions are indicated by tick marks that, by default, are smaller than the tick marks indicating major divisions.IAXISβ an input expression of typeINTEGER. she specifies which of the three axes the perimeter is to be perpendicular to, and she identifies directions 1 and 2. the vibe check:- the perimeter is to be perpendicular to the U axis. direction 1 is parallel to the V axis and direction 2 is parallel to the W axis.
- the perimeter is to be perpendicular to the V axis. direction 1 is parallel to the U axis and direction 2 is parallel to the W axis.
- the perimeter is to be perpendicular to the W axis. direction 1 is parallel to the U axis and direction 2 is parallel to the V axis.
VALUEβ an input expression of typeREAL. this is the value at which the plane of the perimeter is to intersect the axis specified byIAXIS. ifIAXISis a 1,VALUEis a U coordinate; ifIAXISis a 2,VALUEis a V coordinate; and, ifIAXISis a 3,VALUEis a W coordinate. fr fr, that's the whole mapping.
okay so now the actual lore. every single call to PERIM3 draws a perimeter: a rectangle representing the intersection of a plane perpendicular to one of the three axes with the box specified by the arguments UMIN, UMAX, VMIN, VMAX, WMIN, and WMAX in the last call to SET3. π«Ά
the perimeter can be placed at any desired position along the axis to which it is perpendicular; it can have inward-pointing major and minor tick marks along its edges, spaced as specified by the user. tick marks along two parallel edges of the perimeter are controlled by one pair of arguments, and tick marks along the other two parallel edges are controlled by the other pair of arguments. two pairs, two jobs, balanced as she should be. π
the way that MAJOR1 and MAJOR2 work: each of these arguments refers to the number of major divisions (spaces between ticks) rather than to the number of major ticks. counting those at the ends, there will be one more major tick than there are major divisions. math girlies rise.
same energy for MINOR1 and MINOR2: each of these arguments refers to the number of minor divisions (spaces between ticks) rather than to the number of minor ticks; in a given major interval, there will be one fewer minor tick than there are minor divisions. not me double-checking that every time π
the rectangle itself is drawn in the current polyline color, as determined by the last call to the GKS routine GSPLCI; by default, color index 1 is used. major ticks and minor ticks are drawn in the colors implied by the values of the variables ITHRMJ and ITHRMN in the Threed COMMON block:
COMMON /THRINT/ ITHRMJ,ITHRMN,ITHRTX
the default value of both ITHRMJ and ITHRMN is 1; user code may change these values. π
all lines are drawn using the current GKS line width scale factor, as set by the last call to the GKS routine GSLWSC.
πΈ C-BINDING DESCRIPTION πΈ
the C-binding argument descriptions are the same as the FORTRAN argument descriptions. no notes, she ate and left no crumbs.
π₯ EXAMPLES π₯
use the ncargex command to see the following relevant examples: tthree, fthex01, fthex02, fthex03, fthex04, fthex05. six examples, six little blessings. go look at them, bestie.
β ACCESS β
to use PERIM3 or c_perim3, load the NCAR Graphics libraries ncarg, ncarg_gks, and ncarg_c, preferably in that order. order matters, don't do your own thing here. π
π SEE ALSO π
Online: threed, curve3, fence3, frst3, line3, point3, psym3, pwrz, pwrzt, set3, threed, tick3, tick43, vect3, ncarg_cbind.
Hardcopy: NCAR Graphics Fundamentals, UNIX Version.
π COPYRIGHT π
Copyright (C) 1987-2009 University Corporation for Atmospheric Research The use of this Software is governed by a License Agreement.
ok that's the whole page, no cap. π
and that's a wrap on the UNIX release, March 1993 β the PERIM3(3NCARG) era, still serving looks. bye bestie, go draw a rectangle β¨π¦πΈ
π¦ 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