DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles. More...
Inheritance diagram for com.mak.vrlj.math.TaitBryan:
Collaboration diagram for com.mak.vrlj.math.TaitBryan:Public Member Functions | |
| TaitBryan () | |
| Default constructor. | |
| TaitBryan (ConstTaitBryan other) | |
| Copy constructor. | |
| TaitBryan (double psi, double theta, double phi) | |
| Primitives constructor. | |
| void | assignFrom (ConstTaitBryan other) |
| Assign from other to this, avoids object allocation. | |
| void | assignFrom (ConstVector3d other) |
| Assign from other to this, avoids object allocation. | |
| boolean | equals (Object obj) |
| ConstTaitBryan | eulerToEuler (ConstMatrix3d rotation) |
| Perform a rotation of the TaitBryan by a rotation matrix. | |
| double | get (int i) |
| Get component by index number, where i=0 for phi, i=1 for theta and i=2 for psi. | |
| ConstMatrix3d | getEuler_to_BodyToRef () |
| Tait Bryans rotate counterclockwise first about Z, then the new Y, then the new X. | |
| double | getPhi () |
| Get the phi component. | |
| double | getPsi () |
| Get the psi component. | |
| double | getTheta () |
| Get the theta component. | |
| int | hashCode () |
| void | set (int i, double v) |
| Set a component by index number, where i=0 for phi, i=1 for theta and i=2 for psi. | |
| void | setPhi (double phi) |
| void | setPsi (double psi) |
| void | setPsiThetaPhi (double psi, double theta, double phi) |
| Set all components. | |
| void | setTheta (double theta) |
| String | toString () |
| ConstVector3d | toVector3d () |
Static Public Attributes | |
| static final ConstTaitBryan | zero = new TaitBryan(0.0, 0.0, 0.0) |
| TaitBryan with all elements zero. | |
Private Attributes | |
| double | myPsi |
| double | myTheta |
| double | myPhi |
DtTaitBryans are used to represent orientation of an object, using a set of three Euler angles.
To represent an orientation of an entity, a set of three rotations are used. The three rotations used by DIS and RPR FOM are called the Tait-Bryan sequence, where the first rotation is about the Z axis, the second is about the new Y axis and the third is about the newest X axis. The three angles are usually denoted by psi, theta, and phi respectively.
Please note that the three angles to not correspond to the familiar heading, pitch and roll of an entity except when the reference coordinate system is topographic.
|
inline |
Default constructor.
Referenced by com.mak.vrlj.math.TaitBryan.equals().
|
inline |
Copy constructor.
| other | original for copy. |
References com.mak.vrlj.math.ConstTaitBryan.getPhi(), com.mak.vrlj.math.ConstTaitBryan.getPsi(), com.mak.vrlj.math.ConstTaitBryan.getTheta(), com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.
|
inline |
Primitives constructor.
| psi | in radians. |
| theta | in radians. |
| phi | in radians. |
References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.
|
inline |
Assign from other to this, avoids object allocation.
| other | original for copy. |
References com.mak.vrlj.math.ConstTaitBryan.getPhi(), com.mak.vrlj.math.ConstTaitBryan.getPsi(), com.mak.vrlj.math.ConstTaitBryan.getTheta(), com.mak.vrlj.math.TaitBryan.setPhi(), com.mak.vrlj.math.TaitBryan.setPsi(), and com.mak.vrlj.math.TaitBryan.setTheta().
Referenced by com.mak.vrlj.coord.DeadReckoner.deadReckonEuler(), com.mak.vrlj.coord.DeadReckoner.setOrientation(), com.mak.vrlj.coord.DeadReckoner.setOrientationAtTimeOfValidity(), and com.mak.vrlj.object.Entity.setWorldOrientation().
|
inline |
Assign from other to this, avoids object allocation.
| other | original for copy. |
References com.mak.vrlj.math.ConstVector3d.getX(), com.mak.vrlj.math.ConstVector3d.getY(), com.mak.vrlj.math.ConstVector3d.getZ(), com.mak.vrlj.math.TaitBryan.setPhi(), com.mak.vrlj.math.TaitBryan.setPsi(), and com.mak.vrlj.math.TaitBryan.setTheta().
|
inline |
|
inlinevirtual |
Perform a rotation of the TaitBryan by a rotation matrix.
| rotation | the rotation matrix. |
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.Matrix3d.getBodyToRef_to_Euler(), com.mak.vrlj.math.TaitBryan.getEuler_to_BodyToRef(), com.mak.vrlj.math.Matrix3d.identity, and com.mak.vrlj.math.Matrix3d.multiply().
|
inlinevirtual |
Get component by index number, where i=0 for phi, i=1 for theta and i=2 for psi.
| i | index of which component to set. |
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.
|
inlinevirtual |
Tait Bryans rotate counterclockwise first about Z, then the new Y, then the new X.
Direction Cosine matrix; From frame A to frame B
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, com.mak.vrlj.math.TaitBryan.myTheta, com.mak.vrlj.math.Matrix3d.setR1C1(), com.mak.vrlj.math.Matrix3d.setR1C2(), com.mak.vrlj.math.Matrix3d.setR1C3(), com.mak.vrlj.math.Matrix3d.setR2C1(), com.mak.vrlj.math.Matrix3d.setR2C2(), com.mak.vrlj.math.Matrix3d.setR2C3(), com.mak.vrlj.math.Matrix3d.setR3C1(), com.mak.vrlj.math.Matrix3d.setR3C2(), and com.mak.vrlj.math.Matrix3d.setR3C3().
Referenced by com.mak.vrlj.math.TaitBryan.eulerToEuler().
|
inlinevirtual |
Get the phi component.
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.TaitBryan.myPhi.
Referenced by com.mak.vrlj.example.f18.VehicleSim.init().
|
inlinevirtual |
Get the psi component.
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.TaitBryan.myPsi.
Referenced by com.mak.vrlj.example.f18.VehicleSim.init(), and com.mak.vrlj.example.f18.VehicleSim.simTick().
|
inlinevirtual |
Get the theta component.
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.TaitBryan.myTheta.
Referenced by com.mak.vrlj.math.Matrix3d.getBodyToRef_to_Euler().
|
inline |
|
inline |
Set a component by index number, where i=0 for phi, i=1 for theta and i=2 for psi.
| i | index of which component to set. |
| v | the new value for the indexed component. |
References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.
|
inline |
| phi | in radians. |
References com.mak.vrlj.math.TaitBryan.myPhi.
Referenced by com.mak.vrlj.math.TaitBryan.assignFrom(), com.mak.vrlj.math.Matrix3d.getBodyToRef_to_Euler(), and com.mak.vrlj.example.f18.VehicleSim.init().
|
inline |
| psi | in radians. |
References com.mak.vrlj.math.TaitBryan.myPsi.
Referenced by com.mak.vrlj.math.TaitBryan.assignFrom(), com.mak.vrlj.math.Matrix3d.getBodyToRef_to_Euler(), com.mak.vrlj.example.f18.VehicleSim.init(), and com.mak.vrlj.example.f18.VehicleSim.simTick().
|
inline |
Set all components.
| psi | in radians. |
| theta | in radians. |
| phi | in radians. |
References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.
|
inline |
| theta | in radians. |
References com.mak.vrlj.math.TaitBryan.myTheta.
Referenced by com.mak.vrlj.math.TaitBryan.assignFrom(), com.mak.vrlj.math.Matrix3d.getBodyToRef_to_Euler(), and com.mak.vrlj.example.f18.VehicleSim.init().
|
inline |
|
inlinevirtual |
Implements com.mak.vrlj.math.ConstTaitBryan.
References com.mak.vrlj.math.TaitBryan.myPhi, com.mak.vrlj.math.TaitBryan.myPsi, and com.mak.vrlj.math.TaitBryan.myTheta.
|
private |
Referenced by com.mak.vrlj.math.TaitBryan.equals(), com.mak.vrlj.math.TaitBryan.get(), com.mak.vrlj.math.TaitBryan.getEuler_to_BodyToRef(), com.mak.vrlj.math.TaitBryan.getPhi(), com.mak.vrlj.math.TaitBryan.hashCode(), com.mak.vrlj.math.TaitBryan.set(), com.mak.vrlj.math.TaitBryan.setPhi(), com.mak.vrlj.math.TaitBryan.setPsiThetaPhi(), com.mak.vrlj.math.TaitBryan.TaitBryan(), com.mak.vrlj.math.TaitBryan.toString(), and com.mak.vrlj.math.TaitBryan.toVector3d().
|
private |
Referenced by com.mak.vrlj.math.TaitBryan.equals(), com.mak.vrlj.math.TaitBryan.get(), com.mak.vrlj.math.TaitBryan.getEuler_to_BodyToRef(), com.mak.vrlj.math.TaitBryan.getPsi(), com.mak.vrlj.math.TaitBryan.hashCode(), com.mak.vrlj.math.TaitBryan.set(), com.mak.vrlj.math.TaitBryan.setPsi(), com.mak.vrlj.math.TaitBryan.setPsiThetaPhi(), com.mak.vrlj.math.TaitBryan.TaitBryan(), com.mak.vrlj.math.TaitBryan.toString(), and com.mak.vrlj.math.TaitBryan.toVector3d().
|
private |
Referenced by com.mak.vrlj.math.TaitBryan.equals(), com.mak.vrlj.math.TaitBryan.get(), com.mak.vrlj.math.TaitBryan.getEuler_to_BodyToRef(), com.mak.vrlj.math.TaitBryan.getTheta(), com.mak.vrlj.math.TaitBryan.hashCode(), com.mak.vrlj.math.TaitBryan.set(), com.mak.vrlj.math.TaitBryan.setPsiThetaPhi(), com.mak.vrlj.math.TaitBryan.setTheta(), com.mak.vrlj.math.TaitBryan.TaitBryan(), com.mak.vrlj.math.TaitBryan.toString(), and com.mak.vrlj.math.TaitBryan.toVector3d().
|
static |
TaitBryan with all elements zero.