20 #ifndef _ROTATION_ABOUT_AXES_ZYX_H_
21 #define _ROTATION_ABOUT_AXES_ZYX_H_
23 #include "mbsim/functions/function.h"
32 fmatvec::Mat3xV J, Jd;
35 int getArgSize()
const {
return 3; }
36 fmatvec::RotMat3 operator()(
const Arg &q) {
49 A.e(0,1) = -sina*cosg+cosa*sinb*sing;
50 A.e(1,1) = cosa*cosg+sina*sinb*sing;
52 A.e(0,2) = sina*sing+cosa*sinb*cosg;
53 A.e(1,2) = -cosa*sing+sina*sinb*cosg;
57 typename B::DRetDArg parDer(
const Arg &q) {
74 typename B::DRetDArg parDerDirDer(
const Arg &qd,
const Arg &q) {
84 Jd.e(0,2) = -sina*cosb*ad - cosa*sinb*bd;
86 Jd.e(1,2) = cosa*cosb*ad - sina*sinb*bd;
Definition: rotation_about_axes_zyx.h:28
Definition: planar_contour.h:31