public class DualQuaternionDeriv
extends java.lang.Object
Constructor and Description |
---|
DualQuaternionDeriv() |
Modifier and Type | Method and Description |
---|---|
static void |
computeDerivs(Matrix4x3 DQrDr,
Matrix4x3 DQtDr,
DualQuaternion dqr,
RigidTransform3d TW0)
Compute the angular displacement derivatives of the rotational and
translational parts of the dual quaternion
dq representing the
relative motion of a frame described with respect to a base frame. |
static void |
computeDQrDr(Matrix4x3 D,
Quaternion qr)
Compute derivative of the rotational part of a dual quaternion
with respect to angular velocity.
|
static void |
computeDQtDr(Matrix4x3 D,
Quaternion qt,
Quaternion qr)
Compute derivative of the translation part of a dual quaternion
with respect to angular velocity.
|
static void |
computeJrJtt(Matrix3x4 Jr,
Matrix3x4 Jtt,
DualQuaternion dq,
double m0,
double me,
Point3d r)
Computes the Jr and Jtt matrices for a normalized dual quaternion, its
original real and dual magnitudes m0 and me, and an original point
position r.
|
static Matrix4x3 |
computeNumericDQrDr(RigidTransform3d TW,
RigidTransform3d TW0) |
static Matrix4x3 |
computeNumericDQtDr(RigidTransform3d TW,
RigidTransform3d TW0) |
static void |
postmulDeriv(Matrix4x3 DR,
Matrix4x3 D1,
Quaternion q)
Post-multiplies in place the columns of a 4x3 quaternion derivative
matrix by a quaternon q.
|
public static void computeDerivs(Matrix4x3 DQrDr, Matrix4x3 DQtDr, DualQuaternion dqr, RigidTransform3d TW0)
dq
representing the
relative motion of a frame described with respect to a base frame. The
angular displacement is defined with respect to the frame's current
position (in world coordinates). If the current frame position id TW
and the base frame is TWO
, then the relative motion is
described by
TR = TW * inv(TW0)
DQrDr
- returns the derivative of the rotational componentDQtDr
- returns the derivative of the translational componentdqr
- dual quaternion describing the relative motionTW0
- base framepublic static void computeDQrDr(Matrix4x3 D, Quaternion qr)
D
- returns the 4x3 derivativeqr
- rotational part of the dual quaternuonpublic static void postmulDeriv(Matrix4x3 DR, Matrix4x3 D1, Quaternion q)
public static void computeDQtDr(Matrix4x3 D, Quaternion qt, Quaternion qr)
D
- returns the 4x3 derivativeqt
- translational part of the dual quaternuonqr
- rotational part of the dual quaternuonpublic static Matrix4x3 computeNumericDQtDr(RigidTransform3d TW, RigidTransform3d TW0)
public static Matrix4x3 computeNumericDQrDr(RigidTransform3d TW, RigidTransform3d TW0)
public static void computeJrJtt(Matrix3x4 Jr, Matrix3x4 Jtt, DualQuaternion dq, double m0, double me, Point3d r)
Jr
- returns the Jr matrixJtt
- returns the Jtt matrixdq
- normalized dual quaternionm0
- real magnitude of original non-normalized dual quaternionme
- dual magnitude of original non-normalized dual quaternionr
- original point position