## Interface KinematicTransform

• All Superinterfaces:
StaticTransform, TimeStamped
All Known Implementing Classes:
Transform

public interface KinematicTransform
extends StaticTransform
A transform that only includes translation and rotation as well as their respective rates. It is kinematic in the sense that it cannot transform an acceleration vector.
Since:
12.1
Author:
Romain Serra
StaticTransform, Transform
• ### Method Summary

All Methods
Modifier and Type Method Description
static KinematicTransform compose​(AbsoluteDate date, KinematicTransform first, KinematicTransform second)
Build a transform by combining two existing ones.
static Vector3D compositeRotationRate​(KinematicTransform first, KinematicTransform second)
Compute a composite rotation rate.
static Vector3D compositeVelocity​(KinematicTransform first, KinematicTransform second)
Compute a composite velocity.
static KinematicTransform getIdentity()
Get the identity kinematic transform.
KinematicTransform getInverse()
Get the inverse transform of the instance.
default double[][] getPVJacobian()
Compute the Jacobian of the transformOnlyPV(PVCoordinates) (PVCoordinates)} method of the transform.
Vector3D getRotationRate()
Get the first time derivative of the rotation.
Vector3D getVelocity()
Get the first time derivative of the translation.
static KinematicTransform of​(AbsoluteDate date, Rotation rotation, Vector3D rotationRate)
Create a new kinematic transform from a rotation and zero, constant translation.
static KinematicTransform of​(AbsoluteDate date, PVCoordinates pvCoordinates)
Create a new kinematic transform from a translation and its rate.
static KinematicTransform of​(AbsoluteDate date, PVCoordinates pvCoordinates, Rotation rotation, Vector3D rotationRate)
Create a new kinematic transform from a translation and rotation.
default PVCoordinates transformOnlyPV​(PVCoordinates pv)
Transform PVCoordinates, without the acceleration vector.
default TimeStampedPVCoordinates transformOnlyPV​(TimeStampedPVCoordinates pv)
Transform TimeStampedPVCoordinates, without the acceleration vector.
• ### Methods inherited from interface org.orekit.frames.StaticTransform

getRotation, getStaticInverse, getTranslation, transformLine, transformPosition, transformPosition, transformVector, transformVector
• ### Methods inherited from interface org.orekit.time.TimeStamped

durationFrom, getDate
• ### Method Detail

• #### getIdentity

static KinematicTransform getIdentity()
Get the identity kinematic transform.
Returns:
identity transform.
• #### compositeVelocity

static Vector3D compositeVelocity​(KinematicTransform first,
KinematicTransform second)
Compute a composite velocity.
Parameters:
first - first applied transform
second - second applied transform
Returns:
velocity part of the composite transform
• #### compositeRotationRate

static Vector3D compositeRotationRate​(KinematicTransform first,
KinematicTransform second)
Compute a composite rotation rate.
Parameters:
first - first applied transform
second - second applied transform
Returns:
rotation rate part of the composite transform
• #### transformOnlyPV

default PVCoordinates transformOnlyPV​(PVCoordinates pv)
Transform PVCoordinates, without the acceleration vector.
Parameters:
pv - the position-velocity couple to transform.
Returns:
transformed position-velocity
• #### transformOnlyPV

default TimeStampedPVCoordinates transformOnlyPV​(TimeStampedPVCoordinates pv)
Transform TimeStampedPVCoordinates, without the acceleration vector.

In order to allow the user more flexibility, this method does not check for consistency between the transform date and the time-stamped position-velocity date. The returned value will always have the same date as the input argument, regardless of the instance date.

Parameters:
pv - the position-velocity couple to transform.
Returns:
transformed position-velocity
• #### getPVJacobian

default double[][] getPVJacobian()
Compute the Jacobian of the transformOnlyPV(PVCoordinates) (PVCoordinates)} method of the transform.

Element jacobian[i][j] is the derivative of Cartesian coordinate i of the transformed PVCoordinates with respect to Cartesian coordinate j of the input PVCoordinates in method transformOnlyPV(PVCoordinates).

This definition implies that if we define position-velocity coordinates

 PV₁ = transform.transformPVCoordinates(PV₀), then


their differentials dPV₁ and dPV₀ will obey the following relation where J is the matrix computed by this method:

 dPV₁ = J × dPV₀

Returns:
Jacobian matrix
• #### getVelocity

Vector3D getVelocity()
Get the first time derivative of the translation.
Returns:
first time derivative of the translation
StaticTransform.getTranslation()
• #### getRotationRate

Vector3D getRotationRate()
Get the first time derivative of the rotation.

The norm represents the angular rate.

Returns:
First time derivative of the rotation
StaticTransform.getRotation()
• #### getInverse

KinematicTransform getInverse()
Get the inverse transform of the instance.
Specified by:
getInverse in interface StaticTransform
Returns:
inverse transform of the instance
• #### compose

static KinematicTransform compose​(AbsoluteDate date,
KinematicTransform first,
KinematicTransform second)
Build a transform by combining two existing ones.

Note that the dates of the two existing transformed are ignored, and the combined transform date is set to the date supplied in this constructor without any attempt to shift the raw transforms. This is a design choice allowing user full control of the combination.

Parameters:
date - date of the transform
first - first transform applied
second - second transform applied
Returns:
the newly created kinematic transform that has the same effect as applying first, then second.
of(AbsoluteDate, PVCoordinates, Rotation, Vector3D)
• #### of

static KinematicTransform of​(AbsoluteDate date,
Rotation rotation,
Vector3D rotationRate)
Create a new kinematic transform from a rotation and zero, constant translation.
Parameters:
date - of translation.
rotation - to apply after the translation. That is after translating applying this rotation produces positions expressed in the new frame.
rotationRate - rate of rotation
Returns:
the newly created kinematic transform.
of(AbsoluteDate, PVCoordinates, Rotation, Vector3D)
static KinematicTransform of​(AbsoluteDate date,
PVCoordinates pvCoordinates)
date - of translation.
pvCoordinates - translation (with rate) to apply, expressed in the old frame. That is, the opposite of the coordinates of the new origin in the old frame.
of(AbsoluteDate, PVCoordinates, Rotation, Vector3D)