|
static void | aa_tf_sinccos2 (double theta2, double *sc, double *c) |
|
static void | aa_tf_sinccos (double theta, double *sc, double *c) |
|
static double | aa_tf_sinc (double theta) |
|
AA_API void | aa_tf_12 (const double T[AA_RESTRICT 12], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 3]) |
| apply a euclidean transform
|
|
AA_API void | aa_tf_93 (const double R[AA_RESTRICT 9], const double v[AA_RESTRICT 3], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 4]) |
| apply a euclidean transform
|
|
AA_API void | aa_tf_tf_qv (const double quat[AA_RESTRICT 4], const double v[AA_RESTRICT 3], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 4]) |
| apply a euclidean transform
|
|
AA_API void | aa_tf_9 (const double R[AA_RESTRICT 9], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 4]) |
| apply a euclidean transform
|
|
AA_API void | aa_tf_12inv (const double T[AA_RESTRICT 12], double Ti[AA_RESTRICT 12]) |
| invert transform
|
|
AA_API void | aa_tf_93inv (const double R[AA_RESTRICT 9], const double v[AA_RESTRICT 3], double Ri[AA_RESTRICT 9], double vi[AA_RESTRICT 3]) |
| invert transform
|
|
AA_API void | aa_tf_qv_conj (const double q[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double qc[AA_RESTRICT 4], double vc[AA_RESTRICT 3]) |
| Invert transform. More...
|
|
AA_API void | aa_tf_12chain (const double T1[AA_RESTRICT 12], const double T2[AA_RESTRICT 12], double T[AA_RESTRICT 12]) |
| chain two transforms
|
|
AA_API void | aa_tf_v12chain (double T[AA_RESTRICT 12], const double T1[AA_RESTRICT 12], const double T2[AA_RESTRICT 12],...) |
| Varargs transform chain.
|
|
AA_API void | aa_tf_93chain (const double R0[AA_RESTRICT 9], const double v0[AA_RESTRICT 3], const double R1[AA_RESTRICT 9], const double v1[AA_RESTRICT 3], double R[AA_RESTRICT 9], double v[AA_RESTRICT 3]) |
| chain two transforms
|
|
AA_API void | aa_tf_qv_chain (const double q0[AA_RESTRICT 4], const double v0[AA_RESTRICT 3], const double q1[AA_RESTRICT 4], const double v1[AA_RESTRICT 3], double q[AA_RESTRICT 4], double v[AA_RESTRICT 3]) |
| chain two transforms
|
|
AA_API void | aa_tf_93rel (const double R1[AA_RESTRICT 9], const double v1[AA_RESTRICT 3], const double R2[AA_RESTRICT 9], const double v2[AA_RESTRICT 3], double Rrel[AA_RESTRICT 9], double vrel[AA_RESTRICT 3]) |
| relative transform
|
|
AA_API void | aa_tf_12rel (const double T1[AA_RESTRICT 12], const double T2[AA_RESTRICT 12], double Trel[AA_RESTRICT 12]) |
| relative transform
|
|
AA_API void | aa_tf_skewsym_scal2 (double a, double b, const double u[3], double R[9]) |
|
AA_API void | aa_tf_skewsym_scal_c (const double u[AA_RESTRICT 3], const double a[AA_RESTRICT 3], const double b[AA_RESTRICT 3], double R[9]) |
|
AA_API void | aa_tf_rotmat_mul (const double R0[AA_RESTRICT 9], const double R1[AA_RESTRICT 9], double R[AA_RESTRICT 9]) |
|
AA_API void | aa_tf_tfmat_mul (const double T0[AA_RESTRICT 12], const double T1[AA_RESTRICT 12], double T[AA_RESTRICT 12]) |
|
AA_API void | aa_tf_tfmat2_mul (const double R0[AA_RESTRICT 9], const double v0[AA_RESTRICT 3], const double R1[AA_RESTRICT 9], const double v1[AA_RESTRICT 3], double R[AA_RESTRICT 9], double v[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_rotmat_imul (const double R0[AA_RESTRICT 9], const double R1[AA_RESTRICT 9], double R[AA_RESTRICT 9]) |
|
AA_API void | aa_tf_rotmat_muli (const double R0[AA_RESTRICT 9], const double R1[AA_RESTRICT 9], double R[AA_RESTRICT 9]) |
|
AA_API void | aa_tf_tfmat_imul (const double T0[AA_RESTRICT 12], const double T1[AA_RESTRICT 12], double T[AA_RESTRICT 12]) |
|
AA_API void | aa_tf_tfmat_muli (const double T0[AA_RESTRICT 12], const double T1[AA_RESTRICT 12], double T[AA_RESTRICT 12]) |
|
AA_API void | aa_tf_tfmat2_imul (const double R0[AA_RESTRICT 9], const double v0[AA_RESTRICT 3], const double R1[AA_RESTRICT 9], const double v1[AA_RESTRICT 3], double R[AA_RESTRICT 9], double v[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_tfmat2_muli (const double R0[AA_RESTRICT 9], const double v0[AA_RESTRICT 3], const double R1[AA_RESTRICT 9], const double v1[AA_RESTRICT 3], double R[AA_RESTRICT 9], double v[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_rotmat_rot (const double R[AA_RESTRICT 9], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_tfmat_tf (const double T[AA_RESTRICT 12], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_tfmat2_tf (const double R[AA_RESTRICT 9], const double v[AA_RESTRICT 3], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 4]) |
|
AA_API void | aa_tf_rotmat_inv1 (double R[AA_RESTRICT 9]) |
| Invert a rotation in place.
|
|
AA_API void | aa_tf_rotmat_inv2 (const double R[AA_RESTRICT 9], double Ri[AA_RESTRICT 9]) |
| Invert a rotation.
|
|
AA_API void | aa_tf_tfmat_inv1 (double T[AA_RESTRICT 12]) |
| Invert a transform in place.
|
|
AA_API void | aa_tf_tfmat_inv2 (const double T[AA_RESTRICT 12], double Ti[AA_RESTRICT 12]) |
| Invert a transform.
|
|
AA_API int | aa_tf_isrotmat (const double R[AA_RESTRICT 9]) |
| tests if R is a rotation matrix
|
|
AA_API void | aa_tf_9mul (const double R0[AA_RESTRICT 9], const double R1[AA_RESTRICT 9], double R[AA_RESTRICT 9]) |
| Multiply two rotation matrices.
|
|
AA_API void | aa_tf_9rot (const double R[AA_RESTRICT 9], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 3]) |
| rotate p0 by R
|
|
AA_API void | aa_tf_9rel (const double R1[AA_RESTRICT 9], const double R2[AA_RESTRICT 9], double Ri[AA_RESTRICT 9]) |
| relative transform from R1 to R2
|
|
AA_API void | aa_tf_rotmat_exp_aa (const double aa[AA_RESTRICT 4], double R[AA_RESTRICT 9]) |
| Rotation Matrix exponential from axis angle.
|
|
AA_API void | aa_tf_rotmat_expv (const double rv[AA_RESTRICT 3], double R[AA_RESTRICT 9]) |
| Rotation Matrix exponential from rotation vector.
|
|
AA_API void | aa_tf_rotmat_lnv (const double R[AA_RESTRICT 9], double v[AA_RESTRICT 3]) |
| Rotation Matrix logarithm.
|
|
AA_API void | aa_tf_tfmat_expv (const double v[AA_RESTRICT 6], double T[AA_RESTRICT 12]) |
| Transformation Matrix exponential.
|
|
AA_API void | aa_tf_tfmat_lnv (const double T[AA_RESTRICT 12], double v[AA_RESTRICT 6]) |
| Transformation Matrix logarithm.
|
|
AA_API void | aa_tf_rotmat_vel2diff (const double R[AA_RESTRICT 9], const double w[AA_RESTRICT 3], double dR[AA_RESTRICT 9]) |
| Velocity to rotation matrix derivative.
|
|
AA_API void | aa_tf_rotmat_diff2vel (const double R[AA_RESTRICT 9], const double dR[AA_RESTRICT 9], double w[AA_RESTRICT 3]) |
| Rotation matrix derivative to velocity.
|
|
AA_API void | aa_tf_rotmat_svel (const double R0[AA_RESTRICT 9], const double w[AA_RESTRICT 3], double dt, double R1[AA_RESTRICT 9]) |
| Integrate rotational velocity.
|
|
AA_API void | aa_tf_tfmat_svel (const double T0[AA_RESTRICT 12], const double w[AA_RESTRICT 3], double dt, double T1[AA_RESTRICT 12]) |
| Integrate rotational velocity.
|
|
AA_API void | aa_tf_v9mul (double R[AA_RESTRICT 9], const double R1[AA_RESTRICT 9], const double R2[AA_RESTRICT 9],...) |
| Vararg multiply two rotation matrices.
|
|
AA_API void | aa_tf_rotmat_xy (const double x_axis[AA_RESTRICT 3], const double y_axis[AA_RESTRICT 3], double R[AA_RESTRICT 9]) |
| Construct rotation matrix from an x and y axis of the child frame.
|
|
AA_API void | aa_tf_rotmat_yz (const double y_axis[AA_RESTRICT 3], const double z_axis[AA_RESTRICT 3], double R[AA_RESTRICT 9]) |
| Construct rotation matrix from a y and z axis of the child frame.
|
|
AA_API void | aa_tf_rotmat_zx (const double z_axis[AA_RESTRICT 3], const double x_axis[AA_RESTRICT 3], double R[AA_RESTRICT 9]) |
| Construct rotation matrix from a z and x axis of the child frame.
|
|
static double | AA_TF_VDOT (const double a[AA_RESTRICT 3], const double b[AA_RESTRICT 3]) |
| Inlined vector dot product.
|
|
static float | AA_TF_VDOTF (const float a[AA_RESTRICT 3], const float b[AA_RESTRICT 3]) |
| Inlined vector dot product.
|
|
AA_API double | aa_tf_vdot (const double a[AA_RESTRICT 3], const double b[AA_RESTRICT 3]) |
| Vector dot product.
|
|
AA_API float | aa_tf_vdotf (const float a[AA_RESTRICT 3], const float b[AA_RESTRICT 3]) |
| Vector dot product.
|
|
static void | AA_TF_CROSS (const double a[AA_RESTRICT 3], const double b[AA_RESTRICT 3], double c[AA_RESTRICT 3]) |
| Inlined Vector cross product.
|
|
static void | AA_TF_CROSSF (const float a[AA_RESTRICT 3], const float b[AA_RESTRICT 3], float c[AA_RESTRICT 3]) |
| Inlined Vector cross product.
|
|
AA_API void | aa_tf_cross (const double a[AA_RESTRICT 3], const double b[AA_RESTRICT 3], double c[AA_RESTRICT 3]) |
| Vector cross product.
|
|
AA_API void | aa_tf_crossf (const float a[AA_RESTRICT 3], const float b[AA_RESTRICT 3], float c[AA_RESTRICT 3]) |
| Vector cross product.
|
|
AA_API void | aa_tf_vnormalize (double v[AA_RESTRICT 3]) |
| Normalize Vector.
|
|
AA_API void | aa_tf_vnormalizef (float v[AA_RESTRICT 3]) |
| Normalize Vector.
|
|
static double | AA_TF_QDOT (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4]) |
| Inlined quaternion dot product.
|
|
double | aa_tf_qdot (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4]) |
| Quaternion dot product.
|
|
AA_API void | aa_tf_qnormalize (double q[AA_RESTRICT 4]) |
| Normalize Quaternion. More...
|
|
AA_API double | aa_tf_qnorm (const double q[AA_RESTRICT 4]) |
| Return norm of the quaternion.
|
|
AA_API void | aa_tf_qminimize (double q[AA_RESTRICT 4]) |
| Minimize angle represented by the quaternion. More...
|
|
AA_API void | aa_tf_qminimize2 (const double q[AA_RESTRICT 4], double qmin[AA_RESTRICT 4]) |
|
AA_API void | aa_tf_qnormalize2 (const double q[AA_RESTRICT 4], double qnorm[AA_RESTRICT 4]) |
| Normailize quaternion.
|
|
AA_API void | aa_tf_qconj (const double q[AA_RESTRICT 4], double r[AA_RESTRICT 4]) |
| Quaternion conjugate.
|
|
AA_API void | aa_tf_qexp (const double q[AA_RESTRICT 4], double r[AA_RESTRICT 4]) |
| Quaternion exponential.
|
|
AA_API void | aa_tf_qln (const double q[AA_RESTRICT 4], double r[AA_RESTRICT 4]) |
| Quaternion natural log.
|
|
AA_API void | aa_tf_qduln (const double q[AA_RESTRICT 4], const double dq[AA_RESTRICT 4], double dln[AA_RESTRICT 3]) |
| Derivative of the Unit Quaternion Logarithm. More...
|
|
AA_API void | aa_tf_qdulnj (const double q[AA_RESTRICT 4], const double dq[AA_RESTRICT 4], double dln[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_qdpexp (const double e[AA_RESTRICT 3], const double de[AA_RESTRICT 3], double dq[AA_RESTRICT 4]) |
| Derivative of the Pure Quaternion Exponential. More...
|
|
AA_API void | aa_tf_qdpexpj (const double e[AA_RESTRICT 3], const double de[AA_RESTRICT 3], double dq[AA_RESTRICT 4]) |
|
double | aa_tf_qangle (const double q[AA_RESTRICT 4]) |
| Return the angle of the quaternion. More...
|
|
double | aa_tf_qangle_rel (const double *q, const double *p) |
|
double | aa_tf_quhypangle2 (const double q[AA_RESTRICT 4], const double p[AA_RESTRICT 4]) |
| Return the angle between unit quaterniosn in 4D space.
|
|
AA_API void | aa_tf_qinv (const double q[AA_RESTRICT 4], double r[AA_RESTRICT 4]) |
| Quaternion inverse.
|
|
AA_API void | aa_tf_qadd (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion addition. More...
|
|
AA_API void | aa_tf_qsub (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion subtraction. More...
|
|
AA_API void | aa_tf_qmul (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion multiplication. More...
|
|
AA_API void | aa_tf_qmulnorm (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion multiplication and normalize. More...
|
|
AA_API void | aa_tf_qmul_qv (const double q[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double c[AA_RESTRICT 4]) |
| Quaternion multiplication. More...
|
|
AA_API void | aa_tf_qmul_vq (const double v[AA_RESTRICT 3], const double q[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion multiplication. More...
|
|
AA_API void | aa_tf_qcmul (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion conjugate a and multiply by b. More...
|
|
AA_API void | aa_tf_qmulc (const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion multiply a by conjugate b. More...
|
|
AA_API void | aa_tf_qrot1 (const double q[AA_RESTRICT 4], double v[AA_RESTRICT 3]) |
| Quaternion point rotation, in place.
|
|
AA_API void | aa_tf_qrot (const double q[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double p[AA_RESTRICT 3]) |
| Quaternion point rotation. More...
|
|
AA_API void | aa_tf_qrel (const double q1[AA_RESTRICT 4], const double q2[AA_RESTRICT 4], double q_rel[AA_RESTRICT 4]) |
| Relative orientation. More...
|
|
AA_API void | aa_tf_qslerp (double tau, const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion SLERP. More...
|
|
AA_API void | aa_tf_qslerpalg (double tau, const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Quaternion SLERP, computed algebraicly. More...
|
|
AA_API void | aa_tf_qslerpdiff (double tau, const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Derivative of quaternation SLERP WRT tau. More...
|
|
AA_API void | aa_tf_qslerpdiffalg (double tau, const double a[AA_RESTRICT 4], const double b[AA_RESTRICT 4], double c[AA_RESTRICT 4]) |
| Derivative of quaternation SLERP WRT tau, computed algebraicly.
|
|
AA_API void | aa_tf_qslerpchaindiff (double u, double du, const double q1[AA_RESTRICT 4], const double dq1[AA_RESTRICT 4], const double q2[AA_RESTRICT 4], const double dq2[AA_RESTRICT 4], double q[AA_RESTRICT 4], double dq[AA_RESTRICT 4]) |
| Chain-rule slerp differentiation.
|
|
AA_API void | aa_tf_qslerp3diff (double u12, double du12, const double q1[AA_RESTRICT 4], const double q2[AA_RESTRICT 4], double u34, double du34, const double q3[AA_RESTRICT 4], const double q4[AA_RESTRICT 4], double u, double du, double q[AA_RESTRICT 4], double dq[AA_RESTRICT 4]) |
| Triad sequence of slerp differentiation.
|
|
AA_API void | aa_tf_qdiff2vel (const double q[AA_RESTRICT 4], const double dq_dt[AA_RESTRICT 4], double v[AA_RESTRICT 3]) |
|
AA_API void | aa_tf_qvel2diff (const double q[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double dq_dt[AA_RESTRICT 4]) |
|
AA_API void | aa_tf_rotvec_diff2vel (const double v[3], const double dv[3], double w[3]) |
|
AA_API void | aa_tf_qrk1 (const double q0[AA_RESTRICT 4], const double dq[AA_RESTRICT 4], double dt, double q1[AA_RESTRICT 4]) |
| Integrate unit quaternion, Runge-Kutta-1 (euler) integration. More...
|
|
AA_API void | aa_tf_qvelrk1 (const double q0[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double dt, double q1[AA_RESTRICT 4]) |
| Integrate unit quaternion from angular velocity, Runge-Kutta-1 (euler) integration. More...
|
|
AA_API void | aa_tf_qvelrk4 (const double q0[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double dt, double q1[AA_RESTRICT 4]) |
| Integrate unit quaternion from angular velocity, Runge-Kutta-4 (euler) integration. More...
|
|
AA_API void | aa_tf_qsvel (const double q0[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double dt, double q1[AA_RESTRICT 4]) |
| Integrate unit quaternion from constant angular velocity. More...
|
|
AA_API void | aa_tf_qsdiff (const double q0[AA_RESTRICT 4], const double dq[AA_RESTRICT 4], double dt, double q1[AA_RESTRICT 4]) |
| Integrate unit quaternion from quaternion derivative. More...
|
|
AA_API void | aa_tf_xangle2quat (double theta_x, double q[AA_RESTRICT 4]) |
| Unit quaternion for angle about x axis.
|
|
AA_API void | aa_tf_yangle2quat (double theta_y, double q[AA_RESTRICT 4]) |
| Unit quaternion for angle about y axis.
|
|
AA_API void | aa_tf_zangle2quat (double theta_z, double q[AA_RESTRICT 4]) |
| Unit quaternion for angle about z axis.
|
|
AA_API void | aa_tf_quat_davenport_matrix (size_t n, const double *w, const double *q, size_t ldqq, double *M) |
|
AA_API void | aa_tf_quat_davenport (size_t n, const double *w, const double *Q, size_t ldq, double *y) |
|
AA_API void | aa_tf_qmatrix_l (const double *q, double *M, size_t ldm) |
| Construct matrix for left quaternion multiply q*p = M*p.
|
|
AA_API void | aa_tf_qmatrix_r (const double *q, double *M, size_t ldm) |
| Construct matrix for right quaternion multiply p*q = M*p.
|
|
void | aa_tf_qurand (double q[4]) |
| Generate random unit quaternion.
|
|
AA_API void | aa_tf_axang_make (double x, double y, double z, double theta, double axang[AA_RESTRICT 4]) |
| copy x,y,z,theta into axang
|
|
AA_API void | aa_tf_axang_permute (const double rv[AA_RESTRICT 4], int k, double rv_p[AA_RESTRICT 4]) |
| Scales angle by k * 2 * pi.
|
|
AA_API void | aa_tf_rotvec_permute (const double rv[AA_RESTRICT 3], int k, double rv_p[AA_RESTRICT 3]) |
| find alternate equivalent representations of rv
|
|
AA_API void | aa_tf_rotvec_near (const double rv[AA_RESTRICT 3], const double rv_near[AA_RESTRICT 3], double rv_p[AA_RESTRICT 3]) |
| Scales rv by multiple of 2pi to minimized SSD with rv_near.
|
|
void | aa_tf_qv_conj (const double q[4], const double v[3], double qc[4], double vc[3]) |
| quaternion-translation conjugate
|
|
void | aa_tf_qutr2duqu (const double e[7], double s[8]) |
| quaternion-translation to dual quaternion
|
|
void | aa_tf_qutr2tfmat (const double e[7], double T[12]) |
| quaternion-translation to transformation matrix
|
|
void | aa_tf_tfmat2qutr (const double T[12], double e[7]) |
| transformation matrix to quaternion-translation
|
|
void | aa_tf_duqu2qutr (const double s[8], double e[7]) |
| dual quaternion to quaternion-translation
|
|
void | aa_tf_qutr_mul (const double a[7], const double b[7], double c[7]) |
| quaternion-translation multiply
|
|
AA_API void | aa_tf_qutr_tf (const double E[AA_RESTRICT 7], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 3]) |
| Transform a point,.
|
|
void | aa_tf_qutr_mulnorm (const double a[7], const double b[7], double c[7]) |
| quaternion-translation multiply and normalize
|
|
void | aa_tf_qutr_conj (const double a[7], double c[7]) |
| quaternion-translation conjugate
|
|
void | aa_tf_qutr_mulc (const double a[7], const double b[7], double c[7]) |
| quaternion-translation conjugate multiply
|
|
void | aa_tf_qutr_cmul (const double a[7], const double b[7], double c[7]) |
| quaternion-translation conjugate multiply
|
|
void | aa_tf_qutr_diff2vel (const double e[7], const double de[7], double dx[6]) |
| Quaternion-translation derivative to spatial velocity.
|
|
void | aa_tf_qutr_vel2diff (const double e[7], const double dx[6], double de[7]) |
| Quaternion-translation spatial velocity to derivative.
|
|
void | aa_tf_qutr_svel (const double e0[7], const double dx[6], double dt, double e1[7]) |
| Integrate a quaternion-translation.
|
|
void | aa_tf_qutr_sdiff (const double e0[7], const double de[7], double dt, double e1[7]) |
| Integrate a quaternion-translation.
|
|
void | aa_tf_qutr_wavg (size_t n, const double *w, const double *EE, size_t ldee, double *a) |
| Weighted average transform.
|
|
void | aa_tf_qutr_rand (double E[7]) |
| Generate random transform.
|
|
AA_API void | aa_tf_quat2axang (const double q[AA_RESTRICT 4], double axang[AA_RESTRICT 4]) |
| Quaternion to axis-angle. More...
|
|
AA_API void | aa_tf_axang2quat (const double axang[AA_RESTRICT 4], double q[AA_RESTRICT 4]) |
| axis-angle to quaternion. More...
|
|
AA_API void | aa_tf_axang2quat2 (const double axis[AA_RESTRICT 3], double angle, double q[AA_RESTRICT 4]) |
| axis-angle to quaternion. More...
|
|
AA_API void | aa_tf_vecs2quat (const double u[AA_RESTRICT 3], const double v[AA_RESTRICT 3], double q[AA_RESTRICT 4]) |
| Convert rotation between two vectors to a quaternion.
|
|
AA_API void | aa_tf_axang2rotvec (const double axang[AA_RESTRICT 4], double rotvec[AA_RESTRICT 3]) |
| convert axis-angle to rotation vector
|
|
AA_API void | aa_tf_rotvec2axang (const double rotvec[AA_RESTRICT 3], double axang[AA_RESTRICT 4]) |
| convert rotation vector to axis-angle
|
|
AA_API void | aa_tf_rotvec2quat (const double rotvec[AA_RESTRICT 3], double q[AA_RESTRICT 4]) |
| covert rotation vector to quaternion
|
|
AA_API void | aa_tf_quat2rotvec (const double q[AA_RESTRICT 4], double rotvec[AA_RESTRICT 3]) |
| covert quaternion to rotation vector
|
|
AA_API void | aa_tf_quat2rotvec_near (const double q[AA_RESTRICT 4], const double rv_near[AA_RESTRICT 3], double rotvec[AA_RESTRICT 3]) |
| covert quaternion to rotation vector minimizing distance from rv_near
|
|
AA_API void | aa_tf_quat2rotmat (const double quat[AA_RESTRICT 4], double rotmat[AA_RESTRICT 9]) |
| convert quaternion to rotation matrix
|
|
AA_API void | aa_tf_rotmat2quat (const double rotmat[AA_RESTRICT 9], double quat[AA_RESTRICT 4]) |
| convert rotation matrix to quaternion
|
|
AA_API void | aa_tf_rotmat2axang (const double R[AA_RESTRICT 9], double ra[AA_RESTRICT 4]) |
| convert rotation matrix to axis angle
|
|
AA_API void | aa_tf_rotmat2rotvec (const double R[AA_RESTRICT 9], double rv[AA_RESTRICT 3]) |
| convert axis rotation matrix to rotation vector
|
|
AA_API void | aa_tf_axang2rotmat (const double ra[AA_RESTRICT 4], double R[AA_RESTRICT 9]) |
| convert axis angle to rotation matrix
|
|
AA_API void | aa_tf_rotvec2rotmat (const double rv[AA_RESTRICT 3], double R[AA_RESTRICT 9]) |
| convert rotatoin vector to rotation matrix
|
|
AA_API void | aa_tf_qv2tfmat (const double q[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double T[AA_RESTRICT 12]) |
| Convert orientation unit quaternion and translation vector to transformation matrix. More...
|
|
AA_API void | aa_tf_rotmat2eulerzyx (const double R[AA_RESTRICT 9], double e[AA_RESTRICT 3]) |
| Convert Rotation Matrix to ZYX Euler Angles.
|
|
AA_API void | aa_tf_quat2eulerzyx (const double q[AA_RESTRICT 4], double e[AA_RESTRICT 3]) |
| Convert quaternion to ZYX Euler Angles.
|
|
AA_API void | aa_tf_xangle2rotmat (double theta_x, double R[AA_RESTRICT 9]) |
| Angle about x axis.
|
|
AA_API void | aa_tf_yangle2rotmat (double theta_y, double R[AA_RESTRICT 9]) |
| Angle about y axis.
|
|
AA_API void | aa_tf_zangle2rotmat (double theta_z, double R[AA_RESTRICT 9]) |
| Angle about z axis.
|
|
AA_API void | aa_tf_rotmat_mzlook (const double eye[AA_RESTRICT 3], const double target[AA_RESTRICT 3], const double up[AA_RESTRICT 3], double R[AA_RESTRICT 9]) |
| Find the camera frame, looking in negative z direction.
|
|
AA_API void | aa_tf_tfmat_mzlook (const double eye[AA_RESTRICT 3], const double target[AA_RESTRICT 3], const double up[AA_RESTRICT 3], double T[AA_RESTRICT 12]) |
| Find the camera frame, looking in negative z direction.
|
|
AA_API void | aa_tf_qmzlook (const double eye[AA_RESTRICT 3], const double target[AA_RESTRICT 3], const double up[AA_RESTRICT 3], double q[AA_RESTRICT 4]) |
| Find the camera frame, looking in negative z direction.
|
|
AA_API void | aa_tf_qv_mzlook (const double eye[AA_RESTRICT 3], const double target[AA_RESTRICT 3], const double up[AA_RESTRICT 3], double q[AA_RESTRICT 4], double v[AA_RESTRICT 3]) |
| Find the camera frame, looking in negative z direction.
|
|
AA_API void | aa_tf_qutr_mzlook (const double eye[AA_RESTRICT 3], const double target[AA_RESTRICT 3], const double up[AA_RESTRICT 3], double T[AA_RESTRICT 12]) |
| Find the camera frame, looking in negative z direction.
|
|
AA_API void | aa_tf_duqu_add (const double d1[AA_RESTRICT 8], const double d2[AA_RESTRICT 8], double d3[AA_RESTRICT 8]) |
| Dual quaternion addition.
|
|
AA_API void | aa_tf_duqu_sub (const double d1[AA_RESTRICT 8], const double d2[AA_RESTRICT 8], double d3[AA_RESTRICT 8]) |
| Dual quaternion subtraction.
|
|
AA_API void | aa_tf_duqu_smul (const double d1[AA_RESTRICT 8], const double d2[AA_RESTRICT 8], double d3[AA_RESTRICT 8]) |
| Dual quaternion scalar multiplication.
|
|
AA_API void | aa_tf_duqu_mul (const double d1[AA_RESTRICT 8], const double d2[AA_RESTRICT 8], double d3[AA_RESTRICT 8]) |
| Dual quaternion multiplication.
|
|
AA_API void | aa_tf_duqu_matrix_l (const double *q, double *M, size_t ldm) |
| Construct matrix for left dual quaternion multiply q*p = M*p.
|
|
AA_API void | aa_tf_duqu_matrix_r (const double *q, double *M, size_t ldm) |
| Construct matrix for right dual quaternion multiply p*q = M*p.
|
|
AA_API void | aa_tf_duqu_cmul (const double d1[AA_RESTRICT 8], const double d2[AA_RESTRICT 8], double d3[AA_RESTRICT 8]) |
| Dual quaternion multiply conjugate of d1 by d2.
|
|
AA_API void | aa_tf_duqu_mulc (const double d1[AA_RESTRICT 8], const double d2[AA_RESTRICT 8], double d3[AA_RESTRICT 8]) |
| Dual quaternion multiply d1 by conjugate of d2.
|
|
AA_API void | aa_tf_duqu_conj (const double d[AA_RESTRICT 8], double dconj[AA_RESTRICT 8]) |
| Dual quaternion conjugate.
|
|
AA_API void | aa_tf_duqu_exp (const double d[AA_RESTRICT 8], double e[AA_RESTRICT 8]) |
| Dual quaternion exponential.
|
|
AA_API void | aa_tf_duqu_ln (const double d[AA_RESTRICT 8], double e[AA_RESTRICT 8]) |
| Dual quaternion natural logarithm.
|
|
AA_API void | aa_tf_duqu_norm (const double d[AA_RESTRICT 8], double *nreal, double *ndual) |
| Dual quaternion norm.
|
|
AA_API void | aa_tf_duqu_normalize (double d[AA_RESTRICT 8]) |
| Dual quaternion normalization.
|
|
AA_API void | aa_tf_duqu_minimize (double d[AA_RESTRICT 8]) |
| Dual quaternion angle minimization.
|
|
AA_API void | aa_tf_tf_duqu (const double d[AA_RESTRICT 8], const double p0[AA_RESTRICT 3], double p1[AA_RESTRICT 3]) |
| Dual quaternion transformation.
|
|
AA_API void | aa_tf_duqu_trans (const double d[AA_RESTRICT 8], double v[AA_RESTRICT 3]) |
| Extract dual quaternion translation vector.
|
|
AA_API void | aa_tf_duqu2tfmat (const double d[AA_RESTRICT 8], double T[AA_RESTRICT 12]) |
| Convert dual quaternion to transformation matrix.
|
|
AA_API void | aa_tf_tfmat2duqu (const double T[AA_RESTRICT 12], double d[AA_RESTRICT 8]) |
| Convert transformation matrix to dual quaternion.
|
|
AA_API void | aa_tf_qv2duqu (const double q[AA_RESTRICT 4], const double v[AA_RESTRICT 3], double d[AA_RESTRICT 8]) |
| Convert orientation unit quaternion and translation vector to dual quaternion. More...
|
|
AA_API void | aa_tf_xyz2duqu (double x, double y, double z, double d[AA_RESTRICT 8]) |
| Pure translation dual quaternion. More...
|
|
AA_API void | aa_tf_xxyz2duqu (double theta, double x, double y, double z, double d[AA_RESTRICT 8]) |
| Convert x angle and translation to dual quaternion. More...
|
|
AA_API void | aa_tf_yxyz2duqu (double theta, double x, double y, double z, double d[AA_RESTRICT 8]) |
| Convert y angle and translation to dual quaternion. More...
|
|
AA_API void | aa_tf_zxyz2duqu (double theta, double x, double y, double z, double d[AA_RESTRICT 8]) |
| Convert z angle and translation to dual quaternion. More...
|
|
AA_API void | aa_tf_duqu2qv (const double d[AA_RESTRICT 8], double q[AA_RESTRICT 4], double v[AA_RESTRICT 3]) |
| Convert dual quaternion to orientation unit quaternion and translation vector. More...
|
|
void | aa_tf_tfmat2av (const double T[12], double q[AA_RESTRICT 4], double v[AA_RESTRICT 3]) |
| transformation matrix to quaternion-translation
|
|
AA_API void | aa_tf_duqu_vel2twist (const double d[AA_RESTRICT 8], const double dx[AA_RESTRICT 6], double t[AA_RESTRICT 8]) |
| Dual quaternion twist from velocity.
|
|
AA_API void | aa_tf_duqu_twist2vel (const double d[AA_RESTRICT 8], const double t[AA_RESTRICT 8], double dx[AA_RESTRICT 6]) |
| Dual quaternion twist to velocity.
|
|
AA_API void | aa_tf_duqu_twist2diff (const double d[AA_RESTRICT 8], const double t[AA_RESTRICT 8], double dd[AA_RESTRICT 8]) |
| Dual quaternion twist to derivative.
|
|
AA_API void | aa_tf_duqu_vel2diff (const double d[AA_RESTRICT 8], const double dx[AA_RESTRICT 6], double dd[AA_RESTRICT 8]) |
| Dual quaternion derivative from velocity.
|
|
AA_API void | aa_tf_duqu_diff2vel (const double d[AA_RESTRICT 8], const double dd[AA_RESTRICT 8], double dx[AA_RESTRICT 6]) |
| Dual quaternion derivative to spatial velocity.
|
|
AA_API void | aa_tf_duqu_diff2twist (const double d[AA_RESTRICT 8], const double dd[AA_RESTRICT 8], double twist[AA_RESTRICT 8]) |
| Convert dual quaternion derivative to dual quaternion twist.
|
|
AA_API void | aa_tf_duqu_stwist (const double d0[AA_RESTRICT 8], const double twist[AA_RESTRICT 8], double dt, double d1[AA_RESTRICT 6]) |
| Dual quaternion twist integration. More...
|
|
AA_API void | aa_tf_duqu_svel (const double d0[AA_RESTRICT 8], const double dx[AA_RESTRICT 6], double dt, double d1[AA_RESTRICT 6]) |
| Dual quaternion velocity integration. More...
|
|
AA_API void | aa_tf_duqu_sdiff (const double d0[AA_RESTRICT 8], const double dd[AA_RESTRICT 8], double dt, double d1[AA_RESTRICT 6]) |
| Dual quaternion derivative integration. More...
|
|
void | aa_tf_relx_mean (size_t n, const double *R, const double *X, size_t ldx, const double *Y, size_t ldy, double rel[3]) |
|
void | aa_tf_relx_median (size_t n, const double *R, const double *X, size_t ldx, const double *Y, size_t ldy, double rel[3]) |
|