pcl::on_nurbs::NurbsDataSurface data;
for (auto& point : *secondDiff) {
if (!isnan(point.x) && !isnan(point.y) && !isnan(point.z)) {
data.interior.push_back(Eigen::Vector3d(point.x,point.y,point.z));
}
}
unsigned int order(3);
unsigned int n_control_points(100);
ON_NurbsSurface nurbs= pcl::on_nurbs::FittingSurface::initNurbsPCABoundingBox(order, &data);
pcl::on_nurbs::FittingSurfaceTDM fit(&data, nurbs);
for (unsigned i = 0; i < 10; ++i) {
fit.assemble();
fit.solve();
}
pcl::PointCloud<pcl::PointXYZ>::Ptr qumian(new pcl::PointCloud<pcl::PointXYZ>);
vector<pcl::Vertices>vertices;
unsigned resolution = 10;
pcl::on_nurbs::Triangulation::convertSurface2Vertices(nurbs,qumian,vertices,resolution);
pcl曲面拟合
最新推荐文章于 2025-06-04 09:02:32 发布