3D 스캔 데이터가 좌표평면으로 표현되는 과정

3D 스캐너는 현실 세계의 물체를 디지털로 복제하는 기술입니다. 이 기술은 점, 선, 면으로 구성된 데이터를 수집하여 컴퓨터가 인식할 수 있는 형식으로 변환하는 과정을 거치며, 결국은 좌표평면 위의 수학적 정보로 표현됩니다. 이번 글에서는 3D 스캔 데이터가 어떻게 수집되고, 수학적으로 어떤 방식으로 좌표로 변환되는지를 살펴보겠습니다.

3D 스캔의 기본 원리

3D 스캐너는 대상 물체의 표면으로부터 수많은 점(point)을 감지하고, 각 점의 위치를 3차원 좌표계 상의 하나의 점으로 기록합니다. 이 점들의 집합을 ‘포인트 클라우드(Point Cloud)’라고 하며, 다음과 같은 구조를 가집니다:

\[ P = \{(x_i, y_i, z_i) \mid i = 1, 2, \ldots, n\} \]

여기서 \( x, y, z \)는 각각 공간상의 좌표축으로, 하나의 점이 공간에서 어디에 위치하는지를 나타냅니다.

스캐닝 방식과 좌표 수집

3D 스캐너는 다양한 방식으로 좌표 데이터를 수집합니다:

  • 레이저 스캔: 물체에 레이저를 쏘고 반사된 신호의 시간이나 위상을 측정하여 거리 계산
  • 구조광 스캔: 패턴이 입혀진 빛을 투사하고 카메라로 왜곡된 이미지를 분석
  • 스테레오 비전: 두 개의 카메라를 이용하여 삼각측량으로 깊이 정보 획득

이러한 방식으로 얻은 거리 정보는 수학적으로 삼각측량(triangulation)을 통해 \( x, y, z \) 좌표로 변환됩니다.

좌표계 변환과 정렬

스캔된 좌표들은 일반적으로 로컬 좌표계(Local Coordinate System)에서 시작합니다. 이후 전역 좌표계(Global Coordinate System)로 변환하기 위해 회전 행렬과 이동 벡터를 적용합니다:

\[ X = R \cdot x + t \]

여기서 \( x \)는 로컬 좌표, \( R \)은 회전 행렬(rotation matrix), \( t \)는 이동 벡터(translation vector), \( X \)는 전역 좌표입니다.

이를 통해 여러 방향에서 스캔한 포인트 클라우드를 하나의 통합된 모델로 결합할 수 있습니다.

메시화와 연속 표면 표현

포인트 클라우드는 수많은 점의 모음이기 때문에 시각적으로는 불완전합니다. 이를 보완하기 위해 Delaunay Triangulation이나 Ball Pivoting Algorithm 등을 이용해 점들 사이를 삼각형 면으로 연결하는 ‘메시화(Meshing)’ 과정을 거칩니다.

수학적으로는 다음과 같은 삼각형 집합으로 표현됩니다:

\[ M = \{ (p_i, p_j, p_k) \mid p_i, p_j, p_k \in P \} \]

이렇게 만들어진 메시(mesh)는 연속적인 표면을 형성하며, CAD 모델링, 시뮬레이션, 3D 프린팅 등에 활용됩니다.

결론

3D 스캔 데이터는 단순한 이미지가 아닌 수학적 구조체입니다. 물리적인 물체의 표면은 수많은 점들의 집합으로 디지털화되며, 좌표변환, 정렬, 메시화 등의 수학적 연산을 통해 의미 있는 3차원 모델로 변환됩니다.

이를 통해 우리는 현실 세계를 수학적 언어로 표현하고, 분석하고, 재현하는 강력한 도구를 얻게 됩니다. 3D 스캔 기술은 결국 수학적 사고를 통해 공간을 이해하는 과정이라 할 수 있습니다.