수학

내적과 외적

Vetenir 2025. 2. 18. 21:55

주의

  • ​내적과 외적은 이름만 비슷하고 다른 것이다.
  • 반의어도 아니다.

 

 

내적

내적은 두 벡터를 하나의 스칼라 값으로 변환하는 연산.

  • A⋅B = | A || B | cosθ
  • 연산은 벡터의 방향성과 크기를 고려하여 이루어진다.
  • 두 벡터의 방향이 같을 수록 내적 값은 커진다. (1에 가까워짐.)
  • 두 벡터의 방향이 다를 수록 내적 값은 작아진다. (0에 가까워짐.)
  • 즉, 내적이 1이면 각도가 0이고 완전히 같은 방향, 내적이 0이면 각도가 90° 다.

 

외적

두 벡터가 이루는 평면에 수직인 벡터 값.

  • |A × B| = | A || B | sinθ
  • 2차원 공간
    • 외적 결과가 양수면 벡터 B가 벡터 A를 기준으로 반시계 방향.
    • 외적 결과가 음수면 벡터 B가 벡터 A를 기준으로 시계 방향.
    • 외적 결과가 0이면 두 벡터가 동일한 선상에 있음 (일직선)
  • 3차원 공간 
    • 왼손 좌표계, 오른손 좌표계가 존재.
    • DirectX, Unreal Enigne, Unity는 왼손 좌표계.
    • OpenGL 오른손 좌표계.

 

 

게임에서 내적과 외적...

내적

  • 플레이어와 대상 물체 간의 전후방 판별
  • 플레이어의 시야각내에 물체 방향 판별

외적

  • 방향 판별 (2D 게임에서 왼쪽/오른쪽 판별)
  • 표면의 법선 벡터 계산 (3D 게임에서 충돌 및 조명 처리)