5#ifndef RSMESH_POINT3D_H
6#define RSMESH_POINT3D_H
9#include "Eigen/Geometry"
34 using matrix3d = Eigen::Matrix<double, 3, 3, Eigen::RowMajor>;
44 using vectors3d = Eigen::Matrix<double, Eigen::Dynamic, 3, Eigen::RowMajor>;
64 return Eigen::Transform<double, 3, Eigen::Affine, Eigen::RowMajor>(t).linear();
76 return lhs * p.transpose();
88 return lhs * v.transpose();
Eigen::Matrix< double, Eigen::Dynamic, 3, Eigen::RowMajor > vectors3d
3维向量的集合
point3d transform_point(const linear_transformation3d &lhs, const point3d &p)
对一个三维点进行线性变换
linear_transformation3d to_linear_transformation3d(T t)
从一个变换矩阵中提取出线性变换矩阵
vector3d transform_vector(const linear_transformation3d &lhs, const vector3d &v)
对一个三维向量进行线性变换
Eigen::Matrix< double, 3, 3, Eigen::RowMajor > linear_transformation3d
线性变换矩阵
Eigen::RowVector3d vector3d
3维向量
Eigen::RowVector2d vector2d
2维向量
Eigen::Matrix< double, 3, 3, Eigen::RowMajor > matrix3d
3维矩阵
本系统的主命名空间,包含了common, examples, fmm, geometry, numeric, point_cloud等子命名空间