double getArea(double pt1[3], double pt2[3], double pt3[3]) { vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New(); points->InsertNextPoint ( pt1[0], pt1[1], pt1[2]); points->InsertNextPoint ( pt2[0], pt2[1], pt2[2] ); points->InsertNextPoint ( pt3[0], pt3[1], pt3[2] ); vtkSmartPointer<vtkTriangle> triangle = vtkSmartPointer<vtkTriangle>::New(); triangle->GetPointIds()->SetId ( 0, 0 ); triangle->GetPointIds()->SetId ( 1, 1 ); triangle->GetPointIds()->SetId ( 2, 2 ); vtkSmartPointer<vtkCellArray> triangles = vtkSmartPointer<vtkCellArray>::New(); triangles->InsertNextCell(triangle); vtkSmartPointer<vtkPolyData> trianglePolyData = vtkSmartPointer<vtkPolyData>::New(); trianglePolyData->SetPoints ( points ); trianglePolyData->SetPolys ( triangles ); vtkSmartPointer<vtkMassProperties> polygonProperties = vtkSmartPointer<vtkMassProperties>::New(); polygonProperties->SetInputData(trianglePolyData); polygonProperties->Update(); return polygonProperties->GetSurfaceArea(); }
VTK 获取三角形的面积
猜你喜欢
转载自blog.csdn.net/project4gogo/article/details/53482600
今日推荐
周排行