21#ifndef ROTARYMATRICES_H
22#define ROTARYMATRICES_H
24#include "fmatvec/fmatvec.h"
36 fmatvec::SqrMat3 BasicRotAKIy(
double phi);
37 fmatvec::SqrMat3 BasicRotAKIz(
double phi);
42 inline fmatvec::SqrMat3 BasicRotAIKx(
double phi) {
return BasicRotAKIx(-phi); }
43 inline fmatvec::SqrMat3 BasicRotAIKy(
double phi) {
return BasicRotAKIy(-phi); }
44 inline fmatvec::SqrMat3 BasicRotAIKz(
double phi) {
return BasicRotAKIz(-phi); }
49 fmatvec::Vec3 AIK2Cardan(
const fmatvec::SqrMat3 &AIK);
51 inline fmatvec::Vec3 AKI2Cardan(
const fmatvec::SqrMat3 &AKI) {
return AIK2Cardan(AKI.T()); }
56 fmatvec::Vec3 AIK2RevCardan(
const fmatvec::SqrMat3 &AIK);
58 inline fmatvec::Vec3 AKI2RevCardan(
const fmatvec::SqrMat3 &AKI) {
return AIK2RevCardan(AKI.T()); }
65 fmatvec::Vec3 AIK2ParametersZXY(
const fmatvec::SqrMat3 &AIK);
70 fmatvec::Vec3 calcParametersDotZXY(
const fmatvec::SqrMat3 &AIK,
const fmatvec::Vec3 &KomegaK);
75 inline fmatvec::SqrMat3
Cardan2AIK(
double alpha,
double beta,
double gamma) {
return BasicRotAIKx(alpha)*BasicRotAIKy(beta)*BasicRotAIKz(gamma); }
80 inline fmatvec::SqrMat3
Euler2AIK(
double psi,
double theta,
double phi) {
return BasicRotAIKz(psi)*BasicRotAIKx(theta)*BasicRotAIKz(phi); }
85 fmatvec::SqrMat3 RotationAboutAxis(
const fmatvec::Vec3 &a,
double phi);
90 fmatvec::Vec3
AIK2Phi(
const fmatvec::SqrMat3 &AIK);
namespace MBSim
Definition: bilateral_constraint.cc:30
SqrMat3 BasicRotAKIx(double phi)
Basic Rotations (see Script TM Grundlagenfach)
Definition: rotarymatrices.cc:40
fmatvec::SqrMat3 Cardan2AIK(double alpha, double beta, double gamma)
Cardan parametrisation (x y z): calculate AIK matrix from angles (alpha, beta, gamma)
Definition: rotarymatrices.h:75
fmatvec::SqrMat3 Euler2AIK(double psi, double theta, double phi)
Euler parametrisation: calculate AIK matrix from angles (psi, theta, phi); psi: Preazession; theta: N...
Definition: rotarymatrices.h:80
fmatvec::Vec3 AIK2Phi(const fmatvec::SqrMat3 &AIK)
calculate angles (alpha, beta, gamma) from rotation matrix AIK assuming small rotation
Definition: rotarymatrices.cc:168