13 return cv::norm(I, R * R.t()) < epsilon;
18 real x = euler[0], y = euler[1], z = euler[2];
21 0.0, std::cos(x), -std::sin(x),
22 0.0, std::sin(x), std::cos(x)
25 std::cos(y), 0.0, std::sin(y),
27 -std::sin(y), 0.0, std::cos(y)
30 std::cos(z), -std::sin(z), 0.0,
31 std::sin(z), std::cos(z), 0.0,
34 mat33 R = Rz * Ry * Rx;
46 real sy = std::sqrt(R(0,0)*R(0,0) + R(1,0)*R(1,0));
51 x = std::atan2(R(2,1), R(2,2));
52 y = std::atan2(-R(2,0), sy);
53 z = std::atan2(R(1,0), R(0,0));
55 x = std::atan2(-R(1,2), R(1,1));
56 y = std::atan2(-R(2,0), sy);
cv::Matx< real, 3, 3 > mat33
mat33 to_rotation_matrix(const vec3 &euler)
vec3 to_euler(const mat33 &R_)
bool is_orthogonal_matrix(const mat33 &R)