/** * Rotates qToTransform by the rotation described by q: qToTransform = q qToTransform q^-1 * Assumes that q is a unit-quaternion and describes a orientation. * Assumes that qToTransform is a pure-quaternion. */ public void transform(Quat4d q, Quat4d qToTransform) { transform(q, qToTransform, qToTransform); }
public void computeQDDot(QuaternionReadOnly q, Vector4DReadOnly qDot, Vector3DReadOnly angularAcceleration, Vector4DBasics qDDotToPack) { computeAngularVelocityInWorldFrame(q, qDot, intermediateAngularVelocity); computeQDDot(q, qDot, intermediateAngularVelocity, angularAcceleration, qDDotToPack); }
public void computeQDDot(QuaternionReadOnly q, Vector3DReadOnly angularVelocity, Vector3DReadOnly angularAcceleration, Vector4DBasics qDDotToPack) { computeQDot(q, angularVelocity, intermediateQDot); computeQDDot(q, intermediateQDot, angularVelocity, angularAcceleration, qDDotToPack); }
public void computeAngularAcceleration(QuaternionReadOnly q, Vector4DReadOnly qDDot, Vector3DReadOnly angularVelocity, Vector3DBasics angularAccelerationToPack) { computeQDot(q, angularVelocity, intermediateQDot); computeAngularAcceleration(q, intermediateQDot, qDDot, angularAccelerationToPack); }
/** * Interpolation from q0 to q1 for a given alpha = [0, 1] using SLERP. * Computes: resultToPack = q0 (q0^-1 q1)^alpha. */ public void interpolate(double alpha, QuaternionReadOnly q0, QuaternionReadOnly q1, QuaternionBasics qInterpolatedToPack) { interpolate(alpha, q0, q1, qInterpolatedToPack, true); }
@Override public void notifyOfVariableChange(YoVariable<?> v) { checkFrequency(); } });
public ComplexNumber[] getForwardTransform() { transform(false); return transformedCoeffs; }
/** * Rotates qToTransform by the inverse of the rotation described by q: qToTransform = q^-1 qToTransform q * Assumes that q is a unit-quaternion and describes a orientation. * Assumes that qToTransform is a pure-quaternion. */ public void invertTransform(Quat4d q, Quat4d qToTransform) { invertTransform(q, qToTransform, qToTransform); }
public void computeQDDot(Quat4d q, Quat4d qDot, Vector3d angularAcceleration, Quat4d qDDotToPack) { computeAngularVelocityInWorldFrame(q, qDot, intermediateAngularVelocity); computeQDDot(q, qDot, intermediateAngularVelocity, angularAcceleration, qDDotToPack); }
public void computeQDDot(Quat4d q, Vector3d angularVelocity, Vector3d angularAcceleration, Quat4d qDDotToPack) { computeQDot(q, angularVelocity, intermediateQDot); computeQDDot(q, intermediateQDot, angularVelocity, angularAcceleration, qDDotToPack); }
public void computeAngularAcceleration(Quat4d q, Quat4d qDDot, Vector3d angularVelocity, Vector3d angularAccelerationToPack) { computeQDot(q, angularVelocity, intermediateQDot); computeAngularAcceleration(q, intermediateQDot, qDDot, angularAccelerationToPack); }
public ComplexNumber[] getInverseTransform() { transform(true); return transformedCoeffs; }