日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

点云/网格模型的体积计算

發布時間:2024/3/26 编程问答 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 点云/网格模型的体积计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 點云體積計算

  有時用激光掃描設備掃描零件或者用無人機進行測量后會想知道它們的體積。比如下面的土堆:

?  如果掃描得到的數據是一系列三維點云,那么體積就比較難求,因為如何定義物體的邊界比較困難。一種方法是提取三維點云的凸殼(包絡體),然后再進行計算(當存在孔、洞時情況就很復雜了)。還有一種簡便的估算方法如下圖所示,將2.5D點云底面劃分成離散的網格,計算每個網格對應單元的體積并相加求和。

point cloud dimension: 1.5D – function values along a line2D – positions in the plane 2.5D – function values in the plane3D – positions in 3DnD – multi-modal data

  CloudCompare軟件中提供了計算2.5D點云體積的功能:

?  導入PCD格式的點云,其體積大概為1(在XYZ方向分別生成0-1的隨機數,一共200個隨機點):

?  在體積計算界面中定義地面(Ground)及頂面(Ceil):這里地面選為常量,值為0;頂面選為點云,空單元(不包含數據點)不參與體積計算,這里將其選為leave empty。網格劃分步長step不能選的太大或太小,選的太小將會有很多單元成為空單元,選的太大會出現較大的計算誤差。下圖可以看出步長設的太小,導致Matching cell為0,即全是空單元,因此計算出的體積也為零,顯然不符合實際情況:

  設置合理的步長后點擊Update進行計算,可以看到估算出的點云體積為1.311接近1:

?

?

  • ?網格模型體積計算

  在VTK中可以使用vtkMassProperties類來計算模型的體積和表面積(The general assumption here is that the model is of closed surface.?Currently only triangles are processed. Use?vtkTriangleFilter?to convert any strips or polygons to triangles)。因為只能處理三角面片的polydata,需要在pipline中前置vtkTriangleFilter將其他網格類型轉換成三角網格類型。下面代碼計算Solidworks中導出的STL網格模型的體積和表面積:

#!/usr/bin/env python import vtkfilename = "C:\Users\Administrator\Desktop\part.stl"reader = vtk.vtkSTLReader() reader.SetFileName(filename) reader.Update() polydata = reader.GetOutput()mass = vtk.vtkMassProperties() mass.SetInputData(polydata)print "Surface = ", mass.GetSurfaceArea() print "Volume = ", mass.GetVolume()

  Solidworks原始CAD模型導出成stl文件時由于精度限制,因此存在一定的誤差。在CloudCompare軟件中也可以很方便的對網格模型進行體積、表面積測量:

?

?

?

參考:

Algorithm for calculating the volume of the part of point cloud—stackoverflow

How Pix4Dmapper calculates the Volume?

Compute 2.5D volume

CloudCompare -?3D point cloud and mesh processing software?

Volume estimation

VTK體積&表面積測量

總結

以上是生活随笔為你收集整理的点云/网格模型的体积计算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。