fr.cnes.sirius.patrius.guidance
Class Vector3DPolynomialSegment

java.lang.Object
  extended by fr.cnes.sirius.patrius.guidance.Vector3DPolynomialSegment
All Implemented Interfaces:
UnivariateVectorFunction, Vector3DFunction

public final class Vector3DPolynomialSegment
extends Object
implements Vector3DFunction

This class represents an angular velocity polynomial guidance profile on a segment.

Since:
1.3
Version:
$Id: Vector3DPolynomialSegment.java 8374 2013-04-04 16:09:06Z SabatiniT $
Author:
Tiziana Sabatini
Concurrency :
conditionally thread-safe
Concurrency comment :
thread-safe if the UnivariateFunction attributes are thread-safe

Constructor Summary
Vector3DPolynomialSegment(PolynomialFunctionLagrangeForm x, PolynomialFunctionLagrangeForm y, PolynomialFunctionLagrangeForm z, AbsoluteDate date0, AbsoluteDateInterval timeInterval)
          Build an angular velocity polynomial guidance profile on a segment.
The polynomial representing the vector 3D components are on lagrange form.
Vector3DPolynomialSegment(PolynomialFunction x, PolynomialFunction y, PolynomialFunction z, AbsoluteDate date0, AbsoluteDateInterval timeInterval)
          Build an angular velocity polynomial guidance profile on a segment.
The polynomial representing the vector 3D components are generic polynomial functions.
 
Method Summary
 AbsoluteDate getDateZero()
          Get the date zero of the polynomial functions.
 AbsoluteDateInterval getTimeInterval()
          Get the time interval of the guidance profile segment.
 Vector3D getVector3D(AbsoluteDate date)
          Get the angular velocity from the vector 3D polynomials at a given date.
 double[] getXCoefficients()
           
 double[] getYCoefficients()
           
 double[] getZCoefficients()
           
 Vector3D integral(double x0, double xf)
          Returns the integral of the vector function in the given interval.
 Vector3DFunction nthDerivative(int order)
          Compute the Vector3DFunction representing the n-th derivative of the current vector function.
 double[] value(double x)
          Compute the value for the function.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Vector3DPolynomialSegment

public Vector3DPolynomialSegment(PolynomialFunctionLagrangeForm x,
                                 PolynomialFunctionLagrangeForm y,
                                 PolynomialFunctionLagrangeForm z,
                                 AbsoluteDate date0,
                                 AbsoluteDateInterval timeInterval)
Build an angular velocity polynomial guidance profile on a segment.
The polynomial representing the vector 3D components are on lagrange form.

Parameters:
x - the polynomial function representing the x component of the vector3D
y - the polynomial function representing the y component of the vector3D
z - the polynomial function representing the z component of the vector3D
date0 - the date zero of the polynomial functions
timeInterval - the time interval of the segment

Vector3DPolynomialSegment

public Vector3DPolynomialSegment(PolynomialFunction x,
                                 PolynomialFunction y,
                                 PolynomialFunction z,
                                 AbsoluteDate date0,
                                 AbsoluteDateInterval timeInterval)
Build an angular velocity polynomial guidance profile on a segment.
The polynomial representing the vector 3D components are generic polynomial functions.

Parameters:
x - the polynomial function representing the x component of the vector3D
y - the polynomial function representing the y component of the vector3D
z - the polynomial function representing the z component of the vector3D
date0 - the date zero of the polynomial functions
timeInterval - the time interval of the segment
Method Detail

value

public double[] value(double x)
Description copied from interface: UnivariateVectorFunction
Compute the value for the function.

Specified by:
value in interface UnivariateVectorFunction
Parameters:
x - the point for which the function value should be computed
Returns:
the value

getVector3D

public Vector3D getVector3D(AbsoluteDate date)
Get the angular velocity from the vector 3D polynomials at a given date.

Specified by:
getVector3D in interface Vector3DFunction
Parameters:
date - the date
Returns:
the angular velocity at a given date

getTimeInterval

public AbsoluteDateInterval getTimeInterval()
Get the time interval of the guidance profile segment.

Returns:
the time interval of the guidance profile segment.

getDateZero

public AbsoluteDate getDateZero()
Get the date zero of the polynomial functions.

Returns:
the date zero of the polynomial functions.

getXCoefficients

public double[] getXCoefficients()
Returns:
the coefficients of the polynomial function representing x.

getYCoefficients

public double[] getYCoefficients()
Returns:
the coefficients of the polynomial function representing y.

getZCoefficients

public double[] getZCoefficients()
Returns:
the coefficients of the polynomial function representing z.

nthDerivative

public Vector3DFunction nthDerivative(int order)
Description copied from interface: Vector3DFunction
Compute the Vector3DFunction representing the n-th derivative of the current vector function. The derivation can be analytical or numerical, depending on the current vector function.

Specified by:
nthDerivative in interface Vector3DFunction
Parameters:
order - the order n
Returns:
the n-th derivative of the current vector function.

integral

public Vector3D integral(double x0,
                         double xf)
Returns the integral of the vector function in the given interval. The integration is performed using a numerical integration method.

Specified by:
integral in interface Vector3DFunction
Parameters:
x0 - the lower bound of the interval.
xf - the upper bound of the interval.
Returns:
the value of the integral


Copyright © 2016 CNES. All Rights Reserved.