vtkDelaunay3D сохранить триангуляцию

Я использую VTK для генерации трехмерной триангуляции Делоне из списка входных точек, полученных с помощью наземного лазерного сканера. До сих пор я успешно генерировал некоторые трехмерные триангуляции и сохранял их в форматах файлов .vtk или .vtu. Однако мне нужно сохранить их как один из популярных форматов, таких как .ply, .stl, .obj или .wrl. Подскажите, пожалуйста, как я могу сохранить 3d триангуляцию в одном из этих форматов? Мой другой вопрос касается параметров setAlpha и setTolerance, не могли бы вы объяснить мне эти параметры подробно?
заранее спасибо

int main( int argc, char* argv[] )
{
//load the point cloud
vtkSmartPointer<vtkSimplePointsReader> reader = vtkSmartPointer<vtkSimplePointsReader>::New();
reader->SetFileName("kucuk50k.xyz");
reader->Update();
vtkPolyData* polydata = reader->GetOutput();
std::cout << "The point cloud is loaded" << std::endl;
//end of point cloud loading
std::cout << "----------------------------------------------" << std::endl;
// Generate a mesh from the input points. If Alpha is non-zero, then
// tetrahedra, triangles, edges and vertices that lie within the
// alpha radius are output.
std::cout << "Start delaunay 3d triangulation" << std::endl;
vtkSmartPointer<vtkDelaunay3D> delaunay3DAlpha = vtkSmartPointer<vtkDelaunay3D>::New();
delaunay3DAlpha->SetInputConnection(reader->GetOutputPort());
delaunay3DAlpha->SetAlpha(0.01);
std::cout << "3d Delaunay computed" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start writing the triangulation" << std::endl;
vtkSmartPointer<vtkXMLUnstructuredGridWriter> ugWriter =    vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
ugWriter->SetInputConnection(delaunay3DAlpha->GetOutputPort());
ugWriter->SetFileName("delaunayy_50k.vtk");
ugWriter->Write();
std::cout << "VTK file created" << std::endl;
return EXIT_SUCCESS;
}

0

Решение

Вы пытаетесь вычислить треугольную поверхность из отсканированной местности, верно? Есть ли веская причина использовать 3D Delaunay, который создает тетраэдры вместо 2.5D Delaunay? Вы можете взглянуть на мой Fade2.5D библиотека, есть бесплатная студенческая версия. Однако ограничение 2.5D заключается в том, что вы не можете представлять вертикальные стены, и поэтому здания не поддерживаются напрямую.

введите описание изображения здесь

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]