Calculate the volume of shape descibed by 3d points.
조회 수: 81 (최근 30일)
이전 댓글 표시
Given a set of 3d data points, without using the Image Processing Toolbox, what is the best method for working put the volume of the object described by the points?
댓글 수: 0
답변 (1개)
Yu Jiang
2014년 8월 11일
편집: Yu Jiang
2014년 8월 11일
Hi Lucy
The volume of that object can be approximated by the volume of its convex hull. In mathematics, the convex hull or convex envelope of a set X of points in the Euclidean plane or Euclidean space is the smallest convex set that contains X. See the following link for more details
The Matlab function convhull can be used to find the convex hull of a given dataset and can return respectively the area or the volume of a 2D-Polygon or of a 3D-Polyaedrons. You can find more information on this function at the following address:
Here is one example illustrating how you can use this command to compute a volume:
clear all
N = 100;
x = linspace(0,1,N);
y = linspace(0,1,N);
Z = peaks(N)
[X,Y] = meshgrid(x,y);
[TriIdx, V] = convhull(X,Y,Z)
trisurf(TriIdx, X, Y, Z)
The variable V is the volume of the convex hull. Also, the function trisurf is used here to plot the convex hull. See the following link for more details on trisurf.
-Yu
댓글 수: 5
jixiong fei
2024년 3월 31일
이동: Matt J
2024년 3월 31일
can this function compute the intersection part volume between two objects?
Lateef Adewale Kareem
2024년 6월 2일
if you can provide separate surface for each objects, and a single surface for the two combined, then, you can compute the volume of the intersection using V1 + V2 - V12
V1 is the volume of the surface1, V2 is the volume of surface2 and V12 is the volume of the combined surface12
참고 항목
카테고리
Help Center 및 File Exchange에서 Bounding Regions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!