Main Content

isocaps

등가곡면 단면 기하(Isosurface End-cap Geometry) 계산

구문

fvc = isocaps(X,Y,Z,V,isovalue)
fvc = isocaps(V,isovalue)
fvc = isocaps(...,'enclose')
fvc = isocaps(...,'whichplane')
[f,v,c] = isocaps(...)
isocaps(...)

설명

fvc = isocaps(X,Y,Z,V,isovalue)는 등가곡면 값 isovalue에서 볼륨 데이터 V에 대한 등가곡면 단면 기하를 계산합니다. 배열 X, Y, Z는 볼륨 V에 대한 좌표를 정의합니다.

구조체 fvc는 단면(End-cap)의 면, 꼭짓점, 색 데이터를 포함하며, patch 명령으로 직접 전달될 수 있습니다.

fvc = isocaps(V,isovalue)는 배열 X, Y, Z[X,Y,Z] = meshgrid(1:n,1:m,1:p)로 정의되는 것으로 가정합니다. 여기서 [m,n,p] = size(V)입니다.

fvc = isocaps(...,'enclose') 는 단면에 isovalue에 지정된 값의 위 또는 아래에 있는 데이터 값을 포함시킬지 여부를 지정합니다. 'enclose' 옵션은 'above'(디폴트 값)이거나 'below'일 수 있습니다.

fvc = isocaps(...,'whichplane')은 단면을 그릴 평면을 지정합니다. 'whichplane'에 사용할 수 있는 값은 'all'(디폴트 값), 'xmin', 'xmax', 'ymin', 'ymax', 'zmin', 'zmax' 중 하나입니다.

[f,v,c] = isocaps(...)는 단면의 면, 꼭짓점, 색 데이터를 구조체 fvc 대신 세 개의 배열로 반환합니다.

출력 인수가 없는 isocaps(...)는 계산된 면, 꼭짓점, 색을 사용하여 패치를 그립니다.

예제

모두 축소

이 예제에서는 사람의 두개골의 MRI 슬라이스 모음인 데이터 세트를 사용합니다. 여기에서는 등가단면을 사용하여 이 절단된 볼륨에 단면을 그리는 방법을 보여줍니다.

빨간색의 등가곡면은 볼륨(두개골)의 윤곽선을 표시하며 단면은 볼륨의 내부에 있는 것을 보여줍니다.

단면 데이터(p2)에서 생성된 패치는 보간된 면 색 채우기를 사용합니다. 즉, 회색의 컬러맵과 광원에 따라 색이 채워지는 방법이 달라집니다. 등가곡면 패치(p1)는 단조로운 빨간 면의 색을 사용했습니다. 이는 조명의 영향을 받지만 컬러맵은 사용하지 않습니다.

load mri
D = squeeze(D);
D(:,1:60,:) = [];
p1 = patch(isosurface(D, 5),'FaceColor','red',...
	'EdgeColor','none');
p2 = patch(isocaps(D, 5),'FaceColor','interp',...
	'EdgeColor','none');
view(3)
axis tight
daspect([1,1,.4])
colormap(gray(100))
camlight left
camlight
lighting gouraud
isonormals(D,p1)

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

확장 기능

버전 내역

R2006a 이전에 개발됨