KURVD(3NCARG)

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

πŸŽ€ NAME πŸŽ€

KURVD β€” interpolation and derivatives for parametric curves πŸ’«

(okay so this is page KURVD(3NCARG) from the NCAR GRAPHICS manual, bestie, and it's a whole vibe)


✨ SYNOPSIS ✨

CALL KURVD (T, XS, YS, XST, YST, XSTT, YSTT, N, X, Y, XP, YP, S, SIGMA)

So here's the tea πŸ“: this subroutine is literally KURV2's twin, except it ALSO hands you the first and second derivatives of the component functions in the parameterization. Not just the point β€” the motion, the acceleration, the whole arc. Iconic behavior, honestly.

The interval [0.,1.] maps onto a curve in the plane, and the resulting curve has a parametric representation where both components are splines under tension and are functions of the polygonal arc length. Chef's kiss. πŸ’…

🚨 REAL TALK, DO NOT SKIP: KURV1 must be called before calling KURVD. It's giving "prerequisite" and it is not optional. No KURV1, no KURVD, periodt.

🌸 DESCRIPTION 🌸

Every argument, one by one, no gatekeeping:

  • T (real, input) β€” the value getting mapped to a point on the curve. The interval [0.,1.] maps onto the curve in such a way that 0. lands on (X(1),Y(1)) and 1. lands on (X(N),Y(N)). And if you go outside [0.,1.]? You get extrapolation, bestie. It just keeps going. πŸ™ˆ
  • XS (real, output) β€” holds the X coordinate of the point that T maps to. πŸ’œ
  • YS (real, output) β€” holds the Y coordinate of the point that T maps to. πŸ’œ
  • XST (real, output) β€” holds the first derivatives of the X component with respect to T. ⚑
  • YST (real, output) β€” holds the first derivatives of the Y component with respect to T. ⚑
  • XSTT (real, output) β€” holds the second derivatives of the X component with respect to T. πŸ”₯
  • YSTT (real, output) β€” holds the second derivatives of the X component with respect to T. πŸ”₯ (yes, that's what it says, and we are reporting it faithfully, no editing the lore)
  • N (integer, input) β€” how many input data points you've got. Constraint: N > 1. One point is not a curve, babe. πŸ¦‹
  • X (real, input) β€” an array holding the X values of the input points. ✨
  • Y (real, input) β€” an array holding the Y values of the input points. Adjacent pairs of points must be distinct. Like, if two neighbors are literally the same point, that's a no. 🫢
  • XP (real, input) β€” an array of length N, as computed by KURV1. πŸ‘‘
  • YP (real, input) β€” an array of length N, as computed by KURV1. πŸ‘‘
  • S (real, input) β€” an array of length N containing the polygonal arc lengths of the curve, as computed by KURV1. 🌈
  • SIGMA (real, input) β€” the tension factor, aka the personality dial. Values near zero give you a cubic spline; large values (like, e.g. 50) give you nearly a polygonal line. A typical value is 1. 🎚️✨

πŸ”‘ ACCESS πŸ”‘

To use KURVD, load the NCAR Graphics library ngmath. That's it, that's the whole step. πŸ’–


πŸ‘€ SEE ALSO πŸ‘€

  • kurv1
  • kurv2
  • fitgrid_params

Complete documentation for Fitgrid is available at URL http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html β€” go read it, iykyk. πŸ“š


Copyright (C) 2000 University Corporation for Atmospheric Research

The use of this Software is governed by a License Agreement. (read it, bestie, fr fr 🫑)


okay that's the whole page!! πŸ’œ this was KURVD(3NCARG) on UNIX, dated March 1998 β€” old enough to be vintage, still serving looks. slay, stay interpolated, and call KURV1 first. mwah πŸŽ€πŸ’…βœ¨

πŸ“¦ where this page comes from