T
- the type of the field elementspublic class TimeStampedFieldAngularCoordinates<T extends RealFieldElement<T>> extends FieldAngularCoordinates<T> implements TimeStamped
time-stamped
version of FieldAngularCoordinates
.
Instances of this class are guaranteed to be immutable.
Constructor and Description |
---|
TimeStampedFieldAngularCoordinates(AbsoluteDate date,
FieldRotation<T> rotation,
FieldVector3D<T> rotationRate,
FieldVector3D<T> rotationAcceleration)
Builds a rotation/rotation rate pair.
|
Modifier and Type | Method and Description |
---|---|
TimeStampedFieldAngularCoordinates<T> |
addOffset(FieldAngularCoordinates<T> offset)
Add an offset from the instance.
|
AbsoluteDate |
getDate()
Get the date.
|
static <T extends RealFieldElement<T>> |
interpolate(AbsoluteDate date,
AngularDerivativesFilter filter,
Collection<TimeStampedFieldAngularCoordinates<T>> sample)
Interpolate angular coordinates.
|
TimeStampedFieldAngularCoordinates<T> |
revert()
Revert a rotation/rotation rate pair.
|
TimeStampedFieldAngularCoordinates<T> |
shiftedBy(double dt)
Get a time-shifted state.
|
TimeStampedFieldAngularCoordinates<T> |
subtractOffset(FieldAngularCoordinates<T> offset)
Subtract an offset from the instance.
|
estimateRate, getRotation, getRotationAcceleration, getRotationRate, interpolate, toAngularCoordinates
public TimeStampedFieldAngularCoordinates(AbsoluteDate date, FieldRotation<T> rotation, FieldVector3D<T> rotationRate, FieldVector3D<T> rotationAcceleration)
date
- coordinates daterotation
- rotationrotationRate
- FieldRotationrotationAcceleration
- FieldRotationpublic AbsoluteDate getDate()
getDate
in interface TimeStamped
public TimeStampedFieldAngularCoordinates<T> revert()
revert
in class FieldAngularCoordinates<T extends RealFieldElement<T>>
public TimeStampedFieldAngularCoordinates<T> shiftedBy(double dt)
The state can be slightly shifted to close dates. This shift is based on a simple linear model. It is not intended as a replacement for proper attitude propagation but should be sufficient for either small time shifts or coarse accuracy.
shiftedBy
in interface TimeShiftable<FieldAngularCoordinates<T extends RealFieldElement<T>>>
shiftedBy
in class FieldAngularCoordinates<T extends RealFieldElement<T>>
dt
- time shift in secondspublic TimeStampedFieldAngularCoordinates<T> addOffset(FieldAngularCoordinates<T> offset)
We consider here that the offset FieldRotationa.addOffset(b)
and b.addOffset(a)
lead to different results in most cases.
The two methods addOffset
and
subtractOffset
are designed
so that round trip applications are possible. This means that both ac1.subtractOffset(ac2).addOffset(ac2)
and ac1.addOffset(ac2).subtractOffset(ac2)
return angular coordinates equal to ac1.
addOffset
in class FieldAngularCoordinates<T extends RealFieldElement<T>>
offset
- offset to subtractsubtractOffset(FieldAngularCoordinates)
public TimeStampedFieldAngularCoordinates<T> subtractOffset(FieldAngularCoordinates<T> offset)
We consider here that the offset Rotation is applied first and the
instance is applied afterward. Note that angular coordinates do not
commute under this operation, i.e. a.subtractOffset(b)
and b.subtractOffset(a)
lead to different results in most cases.
The two methods addOffset
and
subtractOffset
are designed
so that round trip applications are possible. This means that both ac1.subtractOffset(ac2).addOffset(ac2)
and ac1.addOffset(ac2).subtractOffset(ac2)
return angular coordinates equal to ac1.
subtractOffset
in class FieldAngularCoordinates<T extends RealFieldElement<T>>
offset
- offset to subtractaddOffset(FieldAngularCoordinates)
public static <T extends RealFieldElement<T>> TimeStampedFieldAngularCoordinates<T> interpolate(AbsoluteDate date, AngularDerivativesFilter filter, Collection<TimeStampedFieldAngularCoordinates<T>> sample) throws OrekitException
The interpolated instance is created by polynomial Hermite interpolation
on Rodrigues vector ensuring FieldRotation
This method is based on Sergei Tanygin's paper Attitude
Interpolation, changing the norm of the vector to match the modified Rodrigues
vector as described in Malcolm D. Shuster's paper A
Survey of Attitude Representations. This change avoids the singularity at π.
There is still a singularity at 2π, which is handled by slightly offsetting all FieldRotation
Note that even if first time derivatives (FieldRotation
T
- the type of the field elementsdate
- interpolation datefilter
- filter for derivatives from the sample to use in interpolationsample
- sample points on which interpolation should be doneOrekitException
- if the number of point is too small for interpolatingCopyright © 2002-2015 CS Systèmes d'information. All rights reserved.