91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

采用C++ 切片法計算封閉三維模型(三角形網格模型)的體積。計算速度快,計算準確。

資源截圖

代碼片段和文件信息


#include?


double?Distance(double?*a?double?*b)
{
double?o?=?(a[0]?-?b[0])*(a[0]?-?b[0]);
double?p?=?(a[1]?-?b[1])*(a[1]?-?b[1]);
double?q?=?(a[2]?-?b[2])*(a[2]?-?b[2]);
return?o?+?p?+?q;
}

double
vol_cut(std::string?stlfile)
{
/**********/
std::cout?< //讀取STL----》reader
vtkSmartPointer?reader?=
vtkSmartPointer::New();
reader->SetFileName(stlfile.c_str());
reader->Update();

vtkSmartPointer?inputPolyData?=?vtkSmartPointer::New();
inputPolyData?=?reader->GetOutput();

//創建切割平面
vtkSmartPointer?plane?=?vtkSmartPointer::New();
plane->SetOrigin(inputPolyData->GetCenter());//設置切割平面起點
plane->SetNormal(1?0?0);//設置切割方向為X方向

//得到輸入的STL模型的最小坐標
double?minBound[3];
minBound[0]?=?inputPolyData->GetBounds()[0];
minBound[1]?=?inputPolyData->GetBounds()[2];
minBound[2]?=?inputPolyData->GetBounds()[4];
std::cout?< //得到輸入的STL模型的最小大坐標
double?maxBound[3];
maxBound[0]?=?inputPolyData->GetBounds()[1];
maxBound[1]?=?inputPolyData->GetBounds()[3];
maxBound[2]?=?inputPolyData->GetBounds()[5];
std::cout?< //得到輸入的STL模型的中心坐標
double?center[3];
center[0]?=?inputPolyData->GetCenter()[0];
center[1]?=?inputPolyData->GetCe

評論

共有 條評論