KURVD(3NCARG)
π 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:KURV1must be called before callingKURVD. It's giving "prerequisite" and it is not optional. NoKURV1, noKURVD, 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 that0.lands on(X(1),Y(1))and1.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 thatTmaps to. πYS(real, output) β holds the Y coordinate of the point thatTmaps to. πXST(real, output) β holds the first derivatives of the X component with respect toT. β‘YST(real, output) β holds the first derivatives of the Y component with respect toT. β‘XSTT(real, output) β holds the second derivatives of the X component with respect toT. π₯YSTT(real, output) β holds the second derivatives of the X component with respect toT. π₯ (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 lengthN, as computed byKURV1. πYP(real, input) β an array of lengthN, as computed byKURV1. πS(real, input) β an array of lengthNcontaining the polygonal arc lengths of the curve, as computed byKURV1. π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 is1. ποΈβ¨
π ACCESS π
To use KURVD, load the NCAR Graphics library ngmath. That's it, that's the whole step. π
π SEE ALSO π
kurv1kurv2fitgrid_params
Complete documentation for Fitgrid is available at URL http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html β go read it, iykyk. π
Β©οΈ COPYRIGHT Β©οΈ
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
- 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