CSSTRID(3NCARG)

πŸ’– CSSTRID β€” the Delaunay-triangulation-on-a-sphere girlie πŸ’–

okay so bestie, welcome to the NCAR GRAPHICS corner of the manual pages πŸŽ€. Today's main character is CSSTRID, and she's here to serve you a whole Delaunay triangulation of points scattered across a sphere. No cap, it's giving computational geometry but make it ✨cute✨. Grab a strawberry πŸ“, sit down, and let's get into it.


✨ NAME ✨

CSSTRID β€” calculates a Delaunay triangulation for data on a sphere πŸ¦‹


🌸 SYNOPSIS 🌸

CALL CSSTRID (N, RLAT, RLON, NT, NTRI, IWK, RWK, IER)

like, that's the whole summoning ritual. say it with your chest πŸ’…


πŸ‘‘ DESCRIPTION πŸ‘‘

okay here's the cast of characters, one by one, no skipping, we don't do that here 🫢

  • N (integer, input) β€” the number of input data points. And it's gotta be N > 2, because triangulating two points is not a vibe, bestie, you literally cannot.
  • RLAT (double precision, input) β€” an array holding the latitudes of the input data, expressed in degrees. ⚠️ Important lore: the first three points must not be collinear, meaning they cannot lie on a common great circle. If they do? That's a problem, and we don't do problems. 😭
  • RLON (double precision, input) β€” an array holding the longitudes of the input data, also expressed in degrees. Yes it's a separate array, yes you need both, that's just the lore. 🌍
  • NT (integer, output) β€” the number of triangles in the triangulation! πŸŽ‰ Exceptβ€”plot twistβ€”if IER .NE. 0, then NT = 0. The math of it, where NB is the number of boundary points on the convex hull of the data: if NB .GE. 3, then NT = 2N-NB-2; otherwise NT = 2N-4. The input data are considered to be bounded if they all lie in one hemisphere. And honestly? Dimensioning NT for 2*N will always work. always. slay. πŸ’…
  • NTRI (integer, output) β€” a two-dimensional integer array dimensioned for 3 x NT, where NT is the number of triangles in the triangulation (NT is at most 2*N). NTRI contains the triangulation data. The vertices of the Kth triangle are:
(PLAT(NTRI((1,K)),PLON(NTRI(1,K)),
(PLAT(NTRI((2,K)),PLON(NTRI(2,K)),
(PLAT(NTRI((3,K)),PLON(NTRI(3,K))

yeah we're just gonna let that sit there exactly as it is, iconic behavior, no notes πŸ”₯

  • IWK (integer, input) β€” an integer workspace of length 27*N. yes, twenty-seven times N. she needs room to think. 🧠
  • RWK (double precision, input) β€” a work array dimensioned for 13*N. πŸ“Œ And listen: this work array must be typed DOUBLE PRECISION. Do not come in here with single precision, I am begging you. πŸ™ˆ
  • IER (integer, output) β€” the error return value! If IER comes back as 0, then no errors were detected, we love a clean run, we love a flawless serve ✨. If IER is non-zero, then go refer to the man page for cssgrid_errors for the details β€” she will tell you exactly what went wrong, iykyk.

πŸ¦‹ USAGE πŸ¦‹

CSSTRID is called to find a Delaunay triangulation of data randomly positioned on the surface of a sphere. 🌐 And the tea: CSSTRID is a double precision version of CSSTRI. So if you're out here wanting the double-precision experience, you're in the right place, bestie. πŸ’œ


🌈 ACCESS 🌈

To use CSSTRID, load the NCAR Graphics library ngmath. that's it, that's the whole access requirement, periodt. πŸ‘‘


πŸŽ€ SEE ALSO πŸŽ€

  • css_overview
  • cssgrid
  • csstri
  • csvoro

Complete documentation for Cssgrid is available at URL http://ngwww.ucar.edu/ngdoc/ng/ngmath/cssgrid/csshome.html 🌸


Copyright (C) 2000 University Corporation for Atmospheric Research

The use of this Software is governed by a License Agreement.

fr fr, read the license, bestie, it's the rules. 🫢

and that's the whole page!! πŸ’… NCAR Graphics girlies stay winning, this one dropped back in May 2000 and she's still serving CSSTRID(3NCARG) energy to this very day. go forth, triangulate your sphere, and remember: double precision work arrays only. mwah πŸŽ€βœ¨πŸ¦‹