Skeletal Animation Multithread Face
euler_rotations.h
Go to the documentation of this file.
1#pragma once
2
3#include <iostream>
4#include <vector>
5#include <eigen3/Eigen/Dense>
6
8
13{
14public:
15 // -------------------- Methods -------------------- //
16
18 struct Quaternions { double w, x, y, z; };
19
21 struct Euler{ double phi, theta, psi; };
22
24 static Quaternions euler_to_quaternions(double phi, double
25 theta, double psi);
26
28 static Euler quaternions_to_euler(double w, double x, double y,
29 double z);
30
31public:
33 static Eigen::Matrix3d basic_rotation_x(double x);
34
36 static Eigen::Matrix3d basic_rotation_y(double x);
37
39 static Eigen::Matrix3d basic_rotation_z(double x);
40
42 static Eigen::Matrix3d rotation(double phi, double theta, double psi);
43 static Eigen::Matrix3d rotation(Eigen::Vector3d euler_angles);
44 static Eigen::Matrix3d rotation(std::vector<double> euler_angles);
45 static Eigen::Matrix3d rotation(Euler euler_angles);
46};
Class EulerRotations.
static Euler quaternions_to_euler(double w, double x, double y, double z)
Convert quaternions to Euler angles.
static Eigen::Matrix3d rotation(double phi, double theta, double psi)
Euler rotation matrix z-y'-x''.
static Eigen::Matrix3d basic_rotation_y(double x)
Basic rotation matrix wrt y axis.
static Quaternions euler_to_quaternions(double phi, double theta, double psi)
Convert Euler angles to quaternions.
static Eigen::Matrix3d basic_rotation_x(double x)
Basic rotation matrix wrt x axis.
static Eigen::Matrix3d basic_rotation_z(double x)
Basic rotation matrix wrt z axis.
Custom Euler angles struct.
Custom quaternions struct: .