Main Content

볼륨 시각화 개요

볼륨 데이터의 예

볼륨 시각화는 3차원 그리드에 정의된 데이터 세트의 그래픽적으로 표현하는 것입니다. 볼륨 데이터 세트는 스칼라 또는 벡터 데이터로 구성된 다차원 배열로 특징지을 수 있습니다. 이러한 데이터는 일반적으로 3차원 공간에서 샘플링되는 값을 나타내는 격자 구조에서 정의됩니다. 볼륨 데이터에는 다음과 같은 두 가지 기본적인 유형이 있습니다.

  • 스칼라 볼륨 데이터는 각 점에 대해 단일 값을 포함합니다.

  • 벡터 볼륨 데이터는 각 점에 대해 벡터의 성분을 정의하는 두 개 또는 세 개의 값을 포함합니다.

스칼라 볼륨 데이터의 예는 flow로 생성됩니다. 흐름 데이터는 무한 물탱크(무한대로 연료가 공급되는 저장소) 내 수중 분사의 속도 프로파일을 나타냅니다. 다음을 입력하면

[x,y,z,v] = flow;

4개의 3차원 배열이 생성됩니다. x, y, z 배열은 배열 v에서 스칼라 값으로 구성된 좌표를 지정합니다.

wind 데이터 세트는 북미 지역의 기류를 나타내는 벡터 볼륨 데이터의 예입니다. 다음 명령으로 MATLAB® 작업 공간에 이 데이터를 불러올 수 있습니다.

load wind

이 데이터 세트는 6개의 3차원 배열로 구성되며, x, y, z는 볼륨의 각 점에 대한 벡터 성분인 배열 u, v, w의 좌표 데이터입니다.

시각화 기법 선택하기

볼륨 데이터를 시각화하는 데 선택하는 기법은 사용자가 보유한 데이터의 유형과 알아내려는 내용에 따라 결정됩니다. 일반적으로 다음 사항이 적용됩니다.

  • 스칼라 데이터는 등가곡면, 슬라이스 평면, 등고선 슬라이스로 가장 잘 표시됩니다.

  • 벡터 데이터는 각 점에서 크기와 방향을 모두 나타내며, 흐름선(입자, 띠, 관), 원뿔 플롯, 화살표 플롯으로 가장 잘 표시됩니다. 하지만 대부분의 시각화에서는 데이터의 내용을 가장 잘 드러내기 위해 여러 기법을 조합하여 사용합니다.

이 섹션에 나와 있는 자료에는 일반적인 볼륨 데이터에 다양한 기법을 적용하는 방법에 대한 설명이 나와 있습니다.

데이터를 보간하고 그리딩하기

MATLAB은 시각화 준비 과정에서 데이터를 보간하고 재구성하는 데 사용할 수 있는 함수를 제공합니다. 자세한 내용은 다음 섹션을 참조하십시오.

볼륨 시각화 생성 단계

효과적인 시각화를 통해 원하는 최종 장면을 생성하려면 여러 단계를 거쳐야 합니다. 이러한 단계는 다음 네 가지 기본적인 범주로 나뉩니다.

  1. 데이터의 특성 결정. 볼륨 데이터를 그래프로 표시하려면 보통 좌표와 데이터 값 모두의 범위를 알아야 합니다.

  2. 적절한 플로팅 루틴 선택. 이 섹션에 나와 있는 정보를 참조하면 적합한 방법을 선택하는 데 도움이 됩니다.

  3. 보기 정의. 장면을 세심하게 구성함으로써 복잡한 3차원 그래프로 전달되는 정보의 질을 크게 높일 수 있습니다. 보기 조작 기법에는 카메라 위치 조정, 종횡비와 투영 유형 지정, 확대/축소 등이 있습니다.

  4. 조명 추가 및 채색 방법 지정. 조명은 곡면 도형의 가시성을 향상하고 볼륨 그래프에 3차원 원근을 제공하는 효과적인 수단입니다. 색은 데이터 값(상수 값과 변수 값 둘 다)으로 표현될 수 있습니다.

볼륨 시각화 함수

MATLAB 함수를 사용하여 다양한 볼륨 시각화 기법을 적용할 수 있습니다. 다음 표에는 함께 작동하도록 고안된 데이터의 유형(스칼라 또는 벡터)을 기반으로 이러한 함수가 두 범주로 분류되어 있습니다. 각 함수에 대한 함수 도움말 페이지에 용도를 설명하는 예제가 나와 있습니다.

스칼라 데이터를 위한 함수

함수용도

contourslice

볼륨 슬라이스 평면에 등고선 그리기

isocaps

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

isocolors

등가곡면 꼭짓점의 색 계산

isonormals

등가곡면 꼭짓점의 법선 계산

isosurface

볼륨 데이터에서 등가곡면 데이터 추출

patch

patch(다중 다각형) 그래픽스 객체 생성

reducepatch

패치의 면 개수 감소

reducevolume

볼륨 데이터 세트의 요소 개수 감소

shrinkfaces

각 패치 면의 크기 감소

slice

볼륨에 슬라이스 평면 그리기

smooth3

3차원 데이터 평활화

surf2patch

곡면 데이터를 패치 데이터로 변환

subvolume

볼륨 데이터 세트에서 서브셋 추출

벡터 데이터를 위한 함수

함수

용도

coneplot

속도 벡터를 원뿔을 사용하여 3차원 벡터장에서 플로팅

curl

3차원 벡터장의 회전(curl)과 각속도(angular velocity) 계산

divergence

3차원 벡터장의 발산 계산

interpstreamspeed

벡터장 크기에서 흐름선 꼭짓점 보간

streamline

2차원 또는 3차원 벡터 데이터에서 흐름선 그리기

streamparticles

벡터 볼륨 데이터에서 흐름 입자 그리기

streamribbon

벡터 볼륨 데이터에서 흐름 띠 그리기

streamslice

벡터 볼륨 데이터에서 올바른 간격의 흐름선 그리기

streamtube

벡터 볼륨 데이터에서 흐름 관 그리기

stream2

2차원 흐름선 데이터 계산

stream3

3차원 흐름선 데이터 계산

volumebounds

볼륨에 대한 좌표 제한과 색 제한 반환(스칼라와 벡터)