flow-vector

“이득우의 게임수학” 책을 읽고 중요하다고 생각하는 부분을 정리한 내용들입니다!

 

아핀 공간에서 2 점의 아핀 결합을 확장하여 물체를 렌더링하는 기본 단위인 삼각형을 표현하는 방법에 대해 알아보고 삼각형 내부 픽셀을 어떤 색으로 칠할지 결정하는 방법에 대해서도 정리해 본다.

삼각형의 표현

세 점의 결합

  • 3개의 점을 아핀 결하여 평면의 모든 벡터를 나타낼 수 있음
    • $P^\prime = sP_1 + tP_2 + (1 - s - t)P_3$
    • $(P^\prime - P_3) = s(P_1 - P_3) + t(P_2 - P_3)$
    • $\vec{w} = s\vec{u} + t\vec{v}$
      • u와 v가 선형 독립 관계라면 2차원 실벡터 공간의 모든 벡터를 선형결합으로 만들 수 있음 → 평면
    • s 와 t의 범위를 [0 ,1]로 제한 하면 삼각형을 이루게됨
      • 컨벡스 결합
        • 아핀 결합에서 스칼라 값을 [0, 1]로 제한한 결합
      • 컨벡스 영역
        • 컨벡스 결합으로 만들어진 영역
        • 영역 내부의 두점을 연결한 선분은 언제나 영역 안에 속하는 성질을 가짐
          • 삼각형 내부에 임의의 두점을 연결하면 항상 삼각형 내부에 존재함
      • 컨케이브
        • 컨벡스의 반대 개념으로 영에 내부에 두점으 이었을 때 영역 밖으로 벗어나는 경우가 생김
  • 4개의 점을 컨벡스 결합 하면 3차원 공간에서 삼각 뿔을 나타낼 수 있음

메시

  • 3차원 공간의 물체를 나타낼 때 물체의 표면만 나타내도 되기 때문에 삼각형을 주로 사용함
  • 삼각형을 기준으로 물체에 관련된 정보를 기록한 데이터를 메시라고 함
  • 정점
    • vertex라고 하는 것은 삼각형을 이루는 한점
    • 위치데이터, 색상 데이터, 방향등 물체를 표현할 수 있는 다양한 정보를 담고 있음
  • 정점 버퍼
    • 정점을 배열에 담아서 관리
  • 인덱스 버퍼
    • 삼각형을 이루는 정점들의 정보를 정점 버퍼의 인덱스로 가지고 있음
      • 메모리 절약

무게중심좌표

  • 아핀 결합의 스칼라를 묶어서 만든 좌표
  • 해당 좌표를 사용하여 특정 점이 삼각형 내부에 있는지 판단할 수 있음
    • 삼각형 내부에 있는 것을 판단 했다면 해당 좌표를 활용하여 각 정점으로 부터의 선형보간을 통해 특정 점의 위치 및 정점 정보를 얻어 낼 수 있는 이점이 있음.

'Math > Game Math' 카테고리의 다른 글

게임 수학 - 노멀 벡터의 회전  (0) 2023.12.20
게임 수학 - 내적(Dot Product)  (0) 2023.11.30
게임 수학 - 아핀 공간  (0) 2023.11.28
게임 수학 - 행렬  (1) 2023.11.22
게임 수학 - 삼각함수  (1) 2023.11.21
profile

flow-vector

@flow-vector

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!