본문 바로가기
Computer Science/게임 수학

게임 수학 | 2부 콘텐츠 제작 기초 | 08장 삼각형

by continue96 2023. 2. 18.

08장 삼각형: 물체를 구성하는 가장 작은 단위

 

08장 삼각형: 물체를 구성하는 가장 작은 단위

8.1 세 점의 결합

8.1.1 아핀 결합

  • 세 점 P1, P2, P3를 아핀 결합하는 경우
    • P' = s · P1 + t · P2 + (1 - s - t) · P3 ↔ w = s · u + t · v
    • 세 점의 아핀 결합은 2차원 평면을 만든다.
  • 네 점 P1, P2, P3, P4를 아핀 결합하는 경우
    • x = a · u + b · v + c · w
    • 네 점의 아핀 결합은 3차원 공간을 만든다.

 

 8.1.2 컨벡스 결합

  • 아핀 결합에서 모든 스칼라 값을 [0, 1] 범위로 한정한 결합을 컨벡스 결합(convex combination)이라고 한다.
    • 컨벡스 결합으로 만들어진 영역을 컨벡스 영역(convex region)이라고 한다.
    • 컨벡스 영역은 임의의 두 점을 연결해 선분을 만들었을 때 그 선분이 컨벡스 영역 안에 속하는 볼록한 성질을 가진다.

 

  • 세 점 P1, P2, P3를 컨벡스 결합하는 경우
    • w = s · u + t · v (0 ≤ s ≤ 1, 0 ≤ v ≤ 1)
    • 세 점의 컨벡스 결합은 삼각형을 만든다.
  • 네 점 P1, P2, P3, P4를 아핀 결합하는 경우
    • x = a · u + b · v + c · w (0  a ≤ 1, 0 ≤ b ≤ 1, 0 ≤ c ≤ 1)
    • 네 점의 컨벡스 결합은 삼각뿔을 만든다.
  아핀 결합 컨벡스 결합
두 점 직선 선분
세 점 평면 삼각형
네 점 공간 삼각뿔

 

8.2 무게중심 좌표

  • 아핀 결합의 스칼라를 묶어 만든 좌표를 무게중심 좌표(barycentric coordinate)라고 한다.

 

8.1.2 무게중심 좌표를 활용한 삼각형 내외부 판별

  • 내적을 활용한 삼각형의 내외부 판별
    • (s, t, 1 - s - t)의 세 값이 모두 [0, 1] 안에 있다면 새로운 점 P3는 삼각형 내부에 있다.
    • (s, t, 1 - s - t)의 세 값이 하나라도 [0, 1] 범위 밖에 있다면 새로운 점 P3는 삼각형 외부에 있다.

그림 8-1 내적을 통한 삼각형 내외부 판별

 

  • 외적을 활용한 삼각형의 내외부 판별
    • 벡터 n0, n1, n2와 평면의 법선 벡터 n을 내적한 결과가 모두 0보다 크다면 점 P는 삼각형 내부에 있다.
    • 벡터 n0, n1, n2와 평면의 법선 벡터 n을 내적한 결과에 0보다 작은 값이 있다면 점 P는 삼각형 외부에 있다.

그림 8-2 외적을 활용한 삼각형 내외부 판별

 

8.2.2 무게중심 좌표를 활용한 부가 정보

  • 무게중심 좌표의 값은 주어진 픽셀이 삼각형의 세 점으로부터 얼마나 영향을 받는지 파악하는 용도로 활용할 수 있다.
    • 정점의 부가 정보와 무게중심 좌표를 활용하여 색상이나 텍스처를 부여할 수 있다.

 

8.3 메시

  • 삼각형을 중심으로 물체에 관련된 정점 정보를 기록한 데이터를 메시(mesh)라고 한다.
    • 정점(vertex)은 삼각형을 이루는 각 점의 위치 정보와 색상이나 방향 같은 부가 정보를 묶은 점을 말한다.
    • 삼각형의 외곽선만 그려 메시를 표현하는 방법을 와이어프레임(wireframe)이라고 한다.
  • 정점 버퍼(vertex buffer)는 메시의 정점 정보를 빠르게 읽기 위해서 메모리에 정점 정보를 일렬로 나열한 배열이다.
  • 인덱스 버퍼(index buffer)는 삼각형을 구성하는 정점의 인덱스만 기록한 배열이다.

그림 8-3 정사각형을 구성하는 메시 정보

 

8.4 텍스처

  • 텍스처(texture)는 메시에 이미지를 입히기 위해 변환된 데이터를 말한다.
    • 텍스처는 관리 방식을 통일하기 위해 텍스처의 가로, 세로 크기를 1로 정규화한다.
    • 텍스처를 구성하는 [0, 1] 범위의 2차원 좌표계를 UV 좌표계라고 한다.

그림 8-4 DirectX에서 사용하는 UV 좌표계

 

  • 텍스처 매핑(texture mapping)은 메시에 이미지를 입히는 작업을 말한다.
    • 삼각형을 구성하는 각 픽셀의 무게중심 좌표를 계산한다.
    • 이를 정점의 UV 좌표와 선형 보간하여 해당 픽셀의 UV 값을 얻는다.
    • 이에 대응하는 텍스처의 색상 정보를 얻어 픽셀의 색상으로 지정한다.

댓글