public abstract class Spline2D extends Object implements Serializable, Cloneable
The simplest method of obtaining multivariate interpolation and approximation
functions is to take univariate methods and form a multivariate method via
tensor products. In the case of two-dimensional spline interpolation, the
derivation proceeds as follows: Let
be a knot
sequence for splines of order
, and
be a knot sequence for splines of order
. Let
be the length
of
, and
be the length
of
. Then, the tensor-product spline has the
following form:
![]()
![]()
![]()
![]()
| Constructor and Description |
|---|
Spline2D() |
| Modifier and Type | Method and Description |
|---|---|
double[][] |
derivative(double[] xVec,
double[] yVec,
int xPartial,
int yPartial)
Returns the values of the partial derivative of the tensor-product spline
of an array of points.
|
double |
derivative(double x,
double y,
int xPartial,
int yPartial)
Returns the value of the partial derivative of the tensor-product spline
at the point (x, y).
|
double[][] |
getCoefficients()
Returns the coefficients for the tensor-product spline.
|
double[] |
getXKnots()
Returns the knot sequences in the x-direction.
|
double[] |
getYKnots()
Returns the knot sequences in the y-direction.
|
double |
integral(double a,
double b,
double c,
double d)
Returns the value of an integral of a tensor-product spline on a
rectangular domain.
|
double[][] |
value(double[] xVec,
double[] yVec)
Returns the values of the tensor-product spline of an array of points.
|
double |
value(double x,
double y)
Returns the value of the tensor-product spline at the point (x, y).
|
public double[][] derivative(double[] xVec,
double[] yVec,
int xPartial,
int yPartial)
xVec - a double array specifying the
x-coordinates at which the spline is to be evaluated.yVec - a double array specifying the
y-coordinates at which the spline is to be evaluated.xPartial - an int scalar specifying the x-partial derivative.yPartial - an int scalar specifying the y-partial derivative.double matrix containing the values of
the partial derivatives ![]()
xPartial and j =
yPartial, at each (x, y).public double derivative(double x,
double y,
int xPartial,
int yPartial)
x - a double scalar specifying the x-coordinate of
the evaluation point for the tensor-product spline.y - a double scalar specifying the y-coordinate of
the evaluation point for the tensor-product spline.xPartial - an int scalar specifying the x-partial derivative.yPartial - an int scalar specifying the y-partial derivative.double scalar containing the value of the
partial derivative ![]()
xPartial and j =
yPartial, at (x, y).public double[][] getCoefficients()
double matrix containing the coefficients.public double[] getXKnots()
double array containing the knot
sequences of the spline in the x-direction.public double[] getYKnots()
double array containing the knot
sequences of the spline in the y-direction.public double integral(double a,
double b,
double c,
double d)
If s is the spline, then the integral method returns
![]()
![int_{t_0 }^x {sumlimits_{i = 0}^{n - 1} {alpha _i } } B_{i,k} left( tau right)dtau = sumlimits_{i = 0}^{r - 1} {left[ {sumlimits_{j = 0}^i {alpha _j frac{{t_{j + k} - t_j }}{k}} } right]} B_{i,k + 1} left( x right)](eqn_0714.png)
It assumes (for all knot sequences) that the first and last k
knots are stacked, that is,
and
, where k is the order
of the spline in the x or y direction.
a - a double specifying the lower limit for the
first variable of the tensor-product spline.b - a double specifying the upper limit for the
first variable of the tensor-product spline.c - a double specifying the lower limit for the
second variable of the tensor-product spline.d - a double specifying the upper limit for the
second variable of the tensor-product spline.double, the integral of the tensor-product
spline over the rectangle [a, b] by
[c, d].public double[][] value(double[] xVec,
double[] yVec)
xVec - a double array specifying the
x-coordinates at which the spline is to be evaluated.yVec - a double array specifying the
y-coordinates at which the spline is to be evaluated.double matrix containing the
values evaluated.public double value(double x,
double y)
x - a double scalar specifying the x-coordinate of
the evaluation point for the tensor-product spline.y - a double scalar specifying the y-coordinate of
the evaluation point for the tensor-product spline.double scalar containing the value of the
tensor-product spline.Copyright © 1970-2015 Rogue Wave Software
Built June 18 2015.