SMC_Quat1_AxisAngle (FUN) ¶ FUNCTION SMC_Quat1_AxisAngle : BOOL Creates a unit quaternion that represents a rotation of the given angle around the given (unit) axis. This function is equivalent to Quat1_ExpV(u*dAlpha_rad/2). (Note: each rotation is represented by two quaternions: if q represents a rotation (i.e. if |q| = 1) then -q represents the same rotation.) InOut: Scope Name Type Comment Inout q SMC_Quat Inout Const u SMC_Vector3D The axis of rotation. Must be a unit vector. Input dAlpha_rad LREAL The angle of rotation Return SMC_Quat1_AxisAngle BOOL
SMC_Quat1_Delta (FUN) ¶ FUNCTION SMC_Quat1_Delta Computes the delta between two rotations, that are represented as unit quaternions. Returns either q1 * q0^(-1) or -q1 * q0^(-1), whichever corresponds to the shorter angle. (This ambiguity is due to the fact that a rotation is always described by two unit quaternions q and -q.) InOut: Scope Name Type Inout qDelta SMC_Quat Inout Const q0 SMC_Quat q1 SMC_Quat
SMC_Quat1_Derive (FUN) ¶ FUNCTION SMC_Quat1_Derive : BOOL Computes the numerical derivative of two unit quaternions q0 = q(x-h/2), q1 = q(x+h/2) as q = ln(q1*q0^(-1)) / h. InOut: Scope Name Type Comment Return SMC_Quat1_Derive BOOL Inout q SMC_Quat The axis/angle difference quotient expressed as a quaternion Inout Const q0 SMC_Quat The unit quaternion evaluated h/2 to the left q1 SMC_Quat The unit quaternion evaluated h/2 to the right Input h LREAL The step size, must be <> 0
SMC_ComputePlaneNormal3Points (FUN) ¶ FUNCTION SMC_ComputePlaneNormal3Points InOut: Scope Name Type Inout vN SMC_VECTOR3D Inout Const v1 SMC_VECTOR3D v2 SMC_VECTOR3D v3 SMC_VECTOR3D Output ComputePlaneNormal3Points BOOL
SMC_CretaeRCSFromZAxis (FUN) ¶ FUNCTION SMC_CretaeRCSFromZAxis : BOOL Computes a right-handed coordinate system from a given z-axis. InOut: Scope Name Type Return SMC_CretaeRCSFromZAxis BOOL Inout K SMC_Matrix3 Inout Const vZ SMC_Vector3D
SMC_DistAngle (FUN) ¶ FUNCTION SMC_DistAngle : LREAL The (shortest) distance of two angles in radian. InOut: Scope Name Type Return SMC_DistAngle LREAL Input a1 LREAL a2 LREAL
SMC_DynV3State (STRUCT) ¶ TYPE SMC_DynV3State : STRUCT Represents some 3D-vector quantity and the first three derivatives InOut: Name Type v SMC_Vector3D v_s SMC_Vector3D v_ss SMC_Vector3D v_sss SMC_Vector3D
SMC_Implies (FUN) ¶ FUNCTION SMC_Implies : BOOL Returns the truth value of A=>B. InOut: Scope Name Type Input A BOOL B BOOL Return SMC_Implies BOOL
SMC_Interpolate (FUN) ¶ FUNCTION SMC_Interpolate : LREAL Given two positions s(t0), s(t1) and optionally two derivatives s’(t0) and s’(t1), the time difference deltaT = t1 - t0 and a time -deltaT <= t <= 0, interpolates the value of s(t1 + t). If the derivatives are given, cubic interpolation is used, otherwise linear interpolation. If t is not in -deltaT .. 0, then extrapolation is used to determine s(t1 + t). InOut: Scope Name Type Comment Return SMC_Interpolate LREAL Input s0 LREAL s0_t LREAL s1 LREAL s1_t LREAL useDerivatives BOOL deltaT LREAL The time (in seconds) between (s0, s0_t) and (s1, s1_t), must be positive. t LREAL The time in seconds relative to (s1, s1_t)
SMC_IsPowerOf2 (FUN) ¶ FUNCTION SMC_IsPowerOf2 : BOOL InOut: Scope Name Type Return SMC_IsPowerOf2 BOOL Input x ULINT