RSMesh 1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
point3d.h
1//
2// Created by RainSure on 2023/10/25.
3//
4
5#ifndef RSMESH_POINT3D_H
6#define RSMESH_POINT3D_H
7
8#include "Eigen/Core"
9#include "Eigen/Geometry"
10
11namespace rsmesh {
16 namespace geometry {
17
21 using vector2d = Eigen::RowVector2d;
22
30 using vector3d = Eigen::RowVector3d;
34 using matrix3d = Eigen::Matrix<double, 3, 3, Eigen::RowMajor>;
35
40
44 using vectors3d = Eigen::Matrix<double, Eigen::Dynamic, 3, Eigen::RowMajor>;
49
53 using linear_transformation3d = Eigen::Matrix<double, 3, 3, Eigen::RowMajor>;
54
62 template<class T>
64 return Eigen::Transform<double, 3, Eigen::Affine, Eigen::RowMajor>(t).linear();
65 }
66
74 inline
76 return lhs * p.transpose();
77 }
78
86 inline
88 return lhs * v.transpose();
89 }
90
91 } // geometry
92} // rsmesh
93
94#endif //RSMESH_POINT3D_H
vector2d point2d
2维点
Definition point3d.h:26
Eigen::Matrix< double, Eigen::Dynamic, 3, Eigen::RowMajor > vectors3d
3维向量的集合
Definition point3d.h:44
vectors3d points3d
3维点的集合
Definition point3d.h:48
point3d transform_point(const linear_transformation3d &lhs, const point3d &p)
对一个三维点进行线性变换
Definition point3d.h:75
linear_transformation3d to_linear_transformation3d(T t)
从一个变换矩阵中提取出线性变换矩阵
Definition point3d.h:63
vector3d transform_vector(const linear_transformation3d &lhs, const vector3d &v)
对一个三维向量进行线性变换
Definition point3d.h:87
vector3d point3d
3维点
Definition point3d.h:39
Eigen::Matrix< double, 3, 3, Eigen::RowMajor > linear_transformation3d
线性变换矩阵
Definition point3d.h:53
Eigen::RowVector3d vector3d
3维向量
Definition point3d.h:30
Eigen::RowVector2d vector2d
2维向量
Definition point3d.h:21
Eigen::Matrix< double, 3, 3, Eigen::RowMajor > matrix3d
3维矩阵
Definition point3d.h:34
本系统的主命名空间,包含了common, examples, fmm, geometry, numeric, point_cloud等子命名空间