ncl_c_ftkurvd - Man Page

calculate interpolated values and derivatives for parametric curves

Function Prototype

int c_ftkurvd (int, float [], float [], int, float [],
              float [], float [], float [], float [],
              float [], float []);

Synopsis

int c_ftkurvd (n, xi, yi, m, t, xo, yo, xd, yd, xdd, ydd);

Description

n

The number of input data points. (n > 1)

xi

An array containing the abscissae for the input function.

yi

An array containing the functional values (y[k] is the functional value  at x[k] for k=0,n).

m

The number of desired interpolated points.

t

Contains an array of values for the parameter mapping onto the  interpolated curve.

xo

An array containing the X values for the interpolated points.  t[k] maps to (xo[k],yo[k]) for k=0,n-1.

yo

An array containing the Y values for the interpolated points.

xd

Contains the first derivatives of the X component with respect to t.

yd

Contains the first derivatives of the Y component with respect to t.

xdd

Contains the second derivatives of the X component with respect to t.

ydd

Contains the second derivatives of the Y component with respect to t.

Return Value

c_ftkurvd returns an error value as per:

= 0 -- no error.
= 1 -- if n is less than 2.
= 2 -- if adjacent coordinate pairs coincide.

Usage

This procedure behaves like ftkurv except that in addition it returns  the first and second derivatives of the component functions in the  parameterization.

Given a sequence of input points  ( (x[0],y[0]), ... , (x[n-1],y[n-1]), the interpolated curve is parameterized by mapping points in the interval [0.,1.] onto the  interpolated curve. The resulting curve has a parametric representation both of whose components are  splines under tension and functions of the polygonal arc length. The value 0. is mapped onto  (x[0],y[0]) and the value 1. is mapped onto (x[n-1],y[n-1]).

c_ftkurvd is called after all of the desired values for control  parameters have been set using the procedures c_ftseti, c_ftsetr, c_ftsetc. Control parameters that  apply to c_ftkurvd are: sig, sl1, sln, sf1.

The value for the parameter sig specifies the tension factor.  Values near zero result in a cubic spline; large values (e.g. 50) result in nearly a polygonal line.  A typical value is 1. (the default).

The value for parameter sl1 is in radians and contains the slope  at (x[0],y[0]). The angle is measured counter-clockwise from the X axis and the positive sense of the  curve is assumed to be that moving from point 0 to point n-1. A value for sl1 may be omitted as  indicated by the switch sf1.

The value for parameter sln is in radians and contains the slope  at (x[n-1],y[n-1]). The angle is measured counter-clockwise from the X axis and the positive sense of  the curve is assumed to be that moving from point 0 to point n-1. A value for sln may be omitted as  indicated by the switch sf1.

The value of sf1 controls whether to use the values for sl1 and sln, or compute those values internally. Specifically, sf1

 = 0 if sl1 and sln are user-specified.
 = 1 if sl1 is user-specified, but sln is
     internally calculated.
 = 2 if sln is user-specified, but sl1 is
     internally calculated.
 = 3 if sl1 and sln are internally calculated.

Access

To use c_ftkurvd, load the NCAR Graphics library ngmath.

See Also

fitgrid_params, c_ftseti, c_ftsetr, c_ftsetc.

Complete documentation for Fitgrid is available at URL
http://ngwww.ucar.edu/ngdoc/ng/ngmath/fitgrid/fithome.html

Info

March 1998 UNIX NCAR GRAPHICS