VTK - 2

yoon·2025년 2월 28일

VTK

목록 보기
2/11

1. VTK의 기본 객체

  • VTK에서 다루는 가장 일반적인 형태의 데이터는 데이터 객체다.
    - 가시화 파이프라인(Visualization Pipeline)에 의해 처리되는 데이터를 일컫는데, 체계화된 구조와 관련된 데이터 속성을 가진 데이터 객체는 데이터 세트를 형성한다. VTK의 대부분의 알고리즘 또는 처리 객체(Process Object)는 데이터 세트에 적용된다.

  • 데이터를 위한 구조는 위상(topology)과 형상(geometry)의 두 가지로 구성된다.
    - 위상(topology): 특정한 형상 변형에도 변하지 않는 속성의 집합

    • 형상 변형의 예시: 회전(rotation), 이동(translation), 비균일 스케일링(non-uniform scaling) 등

      - 형상(geometry): 위상의 한 가지 상태. 3차원 특정 위치 정보를 표현한다.
      • ex) 어떤 다각형을 "삼각형"이라고 한다면, 이것은 위상을 말하며 각 세 점의 3차원 위치를 정해주면 이는 형상 정보를 포함한다.
      • 내가 이해한 바로는 3차원에서 어떤 형태를 띄고 있는 점의 집합, 즉 점의 집합이 사각형 또는 원 또는 삼각형 어떤 "형태"를 띄고 있고, 이를 위상이라고 하며, 이 위상을 구성하고 있는 각 점의 위치를 정해주면 이 점의 위치가 곧 형상 정보가 된다.(확인 필요)
  • 데이터 속성은 형상 및 위상에 관련된 부차적 정보를 지칭한다.
    - ex) 한 점에서의 색상 값은 해당 데이터의 속성이 된다.

  • VTK에서 데이터 세트에 대한 모델은 셀과 점으로 가정한다. 여기서 셀(cell)은 위상(topology)을 나타내며, 점(point)은 형상(geometry)을 표현한다.

  • 일반적인 데이터 속성은 스칼라(scalar), 벡터(vector), 텍스처 좌표(texture coordinates), 텐서(tensor) 등을 포함한다.

1-1 데이터 객체

  • 데이터 세트는 구조와 속성을 가진다. 구조는 위상과 형상 속성을 가지고 있으며, 하나 또는 복수의 점과 셀로 구성된다.

  • 데이터 세트의 종류는 자료 구조로부터 결정되며, 셀과 점의 관계를 정의한다.

  • 데이터 세트는 구조의 규칙성에 따라, 규칙적(regular) 데이터 세트와 불규칙적(irregular) 데이터 세트로 나뉜다.
    - 규칙적 데이터(regular data): 구성하는 점과 셀의 관계에 단일의 수학적 관계가 존재 즉, 규칙이 존재한다. 셀의 위상 관계가 규칙적이면, 데이터 세트의 위상은 규칙적이다.
    - 불규칙적 데이터(irregular data): 수학적 관계가 존재하지 않는다. 따라서 더 일반적인 데이터를 표현할 수 있지만, 더 많은 자원(메모리 등)을 필요로 하는 경향이 있다.

  • 데이터에는 다각형 데이터, 영상/볼륨 데이터, 직선형 격자 데이터 등 다양한 데이터를 소개하고 있음.

1-2 처리 객체(process object)

  • 처리 객체는 입력 데이터를 처리하여 출력 데이터를 생성한다.
  • 입력으로 부터 새로운 데이터를 생성하거나 새로운 형태로 변환시킨다.
    - ex1) 압력 분포로 부터 압력 변화도(gradient)를 생성하거나, 특정 값에 대한 등압선으로 변환된 형태로 출력할 수 있다.
  • 처리 객체는 소스(source) 객체, 필터(filter) 객체, 매퍼(mapper) 객체로 나누어 설명할 수 있다. 이는 데이터 가시화를 시작, 관리, 종료하는 역할에 따라 분류된다.
    • 소스 객체(ex: vtkReader, vtkSphereSource): input이 없고 1개 이상의 output
      • 외부에서 데이터를 입력 받거나, 새로 생성함으로써 준비되는 객체
      • 외부의 데이터 소스를 연결시키거나 지역 파라미터로부터 데이터를 생성
      • 외부 데이터와 연결되는 데이터 소스를 읽기(reader) 객체라고 한다.(외부 파일은 읽고 VTK 내부 형태에 알맞게 변환되어야 하기 때문)
      • 외부 데이터 통신 포트나 장치와 연결될 수 있음. 온도, 압력 또는 물리적 상태를 측정하기 위한 시뮬레이션이나 모델링 프로그램 혹은 데이터 수집 프로그램 등
    • 필터 객체(ex: vtkContourFilter): 1개 이상의 input, 1개 이상의 output
      • 소스 객체 또는 이전 필터 객체의 결과물이 입력되어 새로운 결과물을 산출할 수 있도록 하는 객체
      • 하나 또는 그 이상의 입력 데이터를 필요로 하고, 마찬가지로 하나 또는 그 이상의 출력 데이터를 생성
      • 지역 파라미터에 의해 제어된다.
    • 매퍼 객체(ex: vtkPolyDataMapper): 1개 이상의 input, output은 없음.
      • 소스 객체 혹은 필터 객체의 결과물을 렌더링할 수 있도록 연결한다.
      • 하나 또는 그 이상의 입력 데이터를 필요로 하고, 가시화 파이프라인 데이터 흐름을 종료시킨다.
      • 일반적으로 매처 객체는 데이터를 그래픽 요소로 변환하지만, 파일로 저장하거나 다른 소프트웨어 시스템 또는 장치에 연결하는 기능을 담당하기도 한다.
      • 파일로 출력하는 매퍼 객체를 writer 객체라고 한다.
profile
공부하자

0개의 댓글