11 #include <Eigen/Dense>
12 #include <Eigen/Geometry>
17 -> Eigen::Hyperplane<double, 3> {
18 Eigen::Vector3d mean = points.rowwise().mean();
19 Eigen::Matrix3Xd points_centered = points.colwise() - mean;
20 Eigen::JacobiSVD<Eigen::Matrix3Xd> svd(
21 points_centered, Eigen::ComputeFullU | Eigen::ComputeThinV);
22 Eigen::Vector3d
normal = svd.matrixU().col(2);
23 return Eigen::Hyperplane<double, 3>(
normal, mean);
28 -> Eigen::Hyperplane<double, 3> {
29 Eigen::Map<const Eigen::Matrix3Xd> map(
30 points.data()->data(), 3, points.size());
35 -> Eigen::Hyperplane<double, 3> {
36 Eigen::Map<const Eigen::Matrix3Xf> map(
37 points.data()->data(), 3, points.size());