Main Content

volume

3차원 알파 셰이프의 부피

설명

예제

V = volume(shp)는 3차원 알파 셰이프 shp의 부피를 반환합니다.

예제

V = volume(shp,RegionID)는 알파 셰이프의 영역에 대한 부피를 반환합니다. RegionID는 영역의 ID이며 1RegionIDnumRegions(shp)입니다.

예제

모두 축소

3차원 점 집합을 만듭니다.

[x1, y1, z1] = sphere(24);
x1 = x1(:);
y1 = y1(:);
z1 = z1(:);
x2 = x1+5;
P = [x1 y1 z1; x2 y1 z1];
P = unique(P,'rows');

알파 반지름 1.5를 사용하여 알파 셰이프를 만들고 플로팅합니다.

shp = alphaShape(P,1.5);
plot(shp)

Figure contains an axes object. The axes object contains an object of type patch.

알파 셰이프의 부피를 계산합니다.

totalvol = volume(shp)
totalvol = 8.2468

두 영역의 각 부피를 개별적으로 계산합니다.

regionvols = volume(shp, 1:numRegions(shp))
regionvols = 1×2

    4.1234    4.1234

입력 인수

모두 축소

3차원 알파 셰이프로, alphaShape 객체로 지정됩니다. 자세한 내용은 alphaShape를 참조하십시오.

예: shp = alphaShape(x,y,z)(x,y,z) 점 좌표에서 3차원 alphaShape 객체를 만듭니다.

알파 셰이프에 있는 영역의 ID 번호로, 1numRegions(shp) 사이의 양의 정수 스칼라로 지정됩니다.

알파 셰이프는 점 집합과 파라미터에 따라 여러 개의 작은 영역을 포함할 수 있습니다. 이러한 작은 영역에는 각각 고유한 RegionID가 할당됩니다. 이 ID는 가장 큰 면적이나 부피부터 가장 작은 면적이나 부피의 순으로 영역에 번호가 매겨진 것입니다. 예를 들어, 두 개의 영역을 포함하는 3차원 알파 셰이프를 가정하겠습니다. 둘 중 부피가 더 큰 영역의 RegionID는 1이고, 부피가 더 작은 영역의 RegionID는 2입니다.

예: shp.RegionThreshold = area(shp,numRegions(shp)-2);는 2차원 알파 셰이프 shp에서 가장 작은 두 개의 영역을 표시하지 않습니다.

데이터형: double

버전 내역

R2014b에 개발됨

참고 항목

| |