게임 수학 - 벡터의 내적

게임 수학에서 사용되는 벡터의 내적, 어떻게 사용되는지
vectorInnerProductDotProductGameMath
avatar
2025.03.15
·
6 min read

벡터의 내적이란?

  • 벡터의 내적이란, 두 벡터의 각 성분끼리 곱한 후, 합한 것

  • Inner Product, Dot Product 라고 한다.

  • 2 개의 벡터를 단 하나의 스칼라(실수) 값으로 변환

  • 조건

    • 두 벡터의 길이는 같아야 한다.

내적 공식

  • 내적 공식은 크게 2가지가 있다.

    • 크기와 각도를 이용한 내적 공식

      4027
      • |a| , |b| : 벡터의 크기

      • θ : 두 벡터 사이의 각도

    • 성분을 이용한 내적 공식

      • 두 벡터가 a = (a1,a2,a3) , b = (b1,b2,b3) 라면,

      • 맨 처음 각 성분끼리 곱한 후 합한 것을 그대로 식으로 푼 공식

        4029

그렇다면, 내적의 의미가 도대체 뭘까

많은 수학강의 유투브가 설명하는 상황을 그대로 발췌하면 아래와 같다.

403040314034

일단 2번 이미지가 삼각비로 설명하기 쉬워, 이를 이용해 쉽게 설명하자면, 아래처럼 된다.
Cosθ = x/a 를 알 수 있고, 이항하게 되면 x = aCosθ 로 구할 수 있다.

즉, 이 사실을 가지고 윗 사진에 대응할 때, 어떻게 설명되냐면, 벡터 A 가 벡터 B에 수선의 발을 내리게 되면, 선분 OH가 나오고 이 선분 OH 가 aCosθ 가 된다는 것이다.

이는 정 사영의 개념에서 위에서 태양이 내리쬘 때, A 벡터가 B의 벡터에 길이가 얼마나 되는 그림자가 나타날 것인가, 이렇게 이해할 수 있다.

결론은 OB * OH 의 실수가 스칼라 값으로 나오게 되고, 이 값으로 두 벡터의 방향성을 측정할 수 있다.

벡터 내적의 직관적 의미

  • A ⋅ B > 0 ( 두 벡터가 유사한 방향성을 가짐 )

  • A ⋅ B = 0 ( 두 벡터가 직교함. 투영되는 것이 없음 )

  • A ⋅ B < 0 ( 두 벡터가 반대되는 방향을 가짐 )

그렇다면, 게임에선 어떻게 사용할까?


  1. 시야 판정

    1. 내가 바라볼 시야각 B를 설정하고, Look Vector를 기준으로 나 - 오브젝트를 향하는 Dir V를 구하여, Look Vector와 Dir를 내적하여, 바라볼 시야각의 Degree 값과 비교해서 시야각 내에 있는지 판정할 수 있다.

  2. 앞뒤 판정

    1. 두 오브젝트의 Look Vector 를 기준으로 내적할 때, 음수인 경우라면 내 앞

    2. 두 오브젝트의 Look Vector 를 기준으로 내적할 때, 0인 경우라면 수직 (옆)

    3. 두 오브젝트의 Look Vector 를 기준으로 내적할 때, 양수라면 내 뒤

  3. 조명 및 쉐이딩

    1. 노멀 맵이나, 광원이 메쉬 표현에 어떤 법선을 도출했느냐에 따라 조명 강도를 결정할 수 있다.

참고


- YouTube
YouTube에서 마음에 드는 동영상과 음악을 감상하고, 직접 만든 콘텐츠를 업로드하여 친구, 가족뿐 아니라 전 세계 사람들과 콘텐츠를 공유할 수 있습니다.
https://www.youtube.com/watch?v=IOf1o72aKDc
- YouTube
YouTube에서 마음에 드는 동영상과 음악을 감상하고, 직접 만든 콘텐츠를 업로드하여 친구, 가족뿐 아니라 전 세계 사람들과 콘텐츠를 공유할 수 있습니다.
https://www.youtube.com/watch?v=2aNkZjGeonA
042. 내적 vs 외적
# 내적 | 內積 | inner product **적**은 '쌓는다'는 뜻의 한자이고, 여기서는 '곱한다'는 뜻이다. 벡터의 곱하기는 두 가지 정의가 있는데, 내적은 벡터를 마치…
https://wikidocs.net/22384
042. 내적 vs 외적
두 벡터의 내적
안녕하세요, 설군입니다. 일이 무엇인지에 대해서 살짝 이야기했습니다. 일은 내적으로 정의되는데 내적이 ...
https://m.blog.naver.com/seolgoons/222059261223
두 벡터의 내적







- 컬렉션 아티클