VTK - 15

yoon·2025년 3월 31일

VTK

목록 보기
11/11

Marching Cubes

  • Marching Cubes 알고리즘: 3차원 voxel 데이터에서 특정 값을 설정해 3차원 mesh data를 생성할 수 있다.
  • 하나의 voxel을 육면체로 보고, 각 꼭지점의 scalar 값이 설정된 값보다 높으면 1, 낮으면 0으로 설정한다.
  • 이 때 나타날 수 있는 가짓수는 총 2^8 = 256 가지이지만, 회전하며 똑같은 경우가 생기기 때문에 이 경우를 제외하면 15가지가 된다.

자료 출처:https://graphics.stanford.edu/~mdfisher/MarchingCubes.html

  • 이렇게 각 voxel에 대해 삼각형 mesh가 설정된 후, 이를 연결하면 최종적으로 mesh data를 얻게 된다.

  • vtk에서는 vtkImageData를 입력 받아 vtkPolyData로 출력하는 vtkMarchingCubes 클래스로 구현되어 있다.

  • 예제: Marching Cube 알고리즘을 통한 mesh data 생성
    1. vtkMarchingCubes.h include

    1. 결과
  • MarchingCube 클래스를 빼고 오로지 dcm 파일만 읽어서 렌더링 하면 아무것도 출력되지 않는다.

  • 파라미터 중, iso-value를 기존 330에서 1000으로 수정한 결과는

  • 1000에서 100

iso-value가 낮아질 수록 표현하는 데이터가 많아지고, 높아질 수록 적어진다.

profile
공부하자

0개의 댓글