벡터의 내적
벡터의 내적은 곱셈을 의미한다
일반적으로 벡터의 합과 차의 결과 값은 벡터지만
벡터의 곱셈(내적)의 결과값은 스칼라라는 것이 특징이다
벡터의 내적 공식
벡터의 내적 공식은 2개가 있으며
아래와 같다
주의 깊게 볼 것은 두번째 공식이다
A벡터와 B벡터를 내적한 결과는
A의 magnitude(length)와 B의 magnitude(length)를 곱한 값에 cos θ를 곱한 것과 같다는 것이다
이 공식을 이용하여 θ를 구하기 위해서는
아래와 같은 과정을 거치게 된다
앞서, tangent를 이용해서 세타각을 구하는 것을 기억해 보면
아래와 같은 과정을 거쳤다
tan θ = y/x
θ = arctan(y/x)
이처럼, arctan를 이용한 것과 마찬가지로
벡터의 내적에서는
arccos을 이용한다
결국,
벡터의 내적에서 핵심은
벡터의 내적을 통해 θ각을 알아내는 것이다
벡터의 내적 결과의 부호
다시 본론으로 돌아와서,
벡터는 당연히 방향이 포함되어 있기 때문에
0보다 큰 것이 전제조건이다
따라서 벡터의 magnitude(length)의 곱은 당연히 0보다 큰 값을 가질 수밖에 없다
그렇다면,
위에서 빨간 부분(벡터의 magnitude(length)의 곱)이 0보다 큰 값을 가진다는 전제 하에
파란 부분(cos θ)이 양수인지, 음수인지, 0 인지에 따라서
벡터를 내적한 값의 부호가 결정된다는 것이다
다시 말해, 두 벡터를 내적 한 결과 값이 어떤 정수(양의 정수, 음의 정수, 0)인지에 따라
cos 그래프를 통해 각도를 예측 가능하다는 것이다
위의 cos 그래프에서 x축이 각도를 의미한다고 하면,
A벡터와 B벡터의 내적 한 값이
양수라면, cos θ는 양수 (노란색 부분)
0이라면, cos θ는 0
음수라면, cos θ는 음수 (초록색 부분)
따라서, 아래와 같은 결과가 나오는 것을 확인할 수 있다
이처럼, 벡터의 내적을 통해 θ각을 찾을 수 있다는 것이 핵심이었다
정규화한 벡터의 내적
다음으로, normalize에 대해 알아보자
벡터의 합과 차에서 normalize를 해줬던 것처럼
벡터의 곱(내적)에서도 normalize가 필요하다
두 개의 벡터를 normalize를 해버리면,
아래와 같은 결과물이 나온다
그럼 결국
(정규화를 한) 벡터의 내적은 cos θ를 의미하는 것이다
그리고 앞서 보았던 cos 그래프를 참고하면
아래와 같은 결과도 당연해지는 것이다
위의 결과를 조금 종합해 보면,
기준 벡터를 x축으로 둔다면, 기준 벡터와 다른 벡터 사이의 θ가
0도에서 90도(미만) 혹은 270도(초과)에서 360도 일 때, 벡터의 내적 값은 양수 (노란 부분)
90도 혹은 270도일 때, 벡터의 내적 값은 0 (파란 부분)
90도(초과)에서 270도(미만) 일 때, 벡터의 내적 값은 음수 (초록 부분)가 되는 것이다
따라서, 어떤 벡터가 존재한다면
기준 벡터와 그 벡터의 내적이 양수, 음수, 0 인지에 따라서
기준 벡터의 방향과 동일한지
기준 벡터의 방향과 반대인지를 알 수 있다
이처럼,
벡터의 내적을 통해 cos θ를 알아내서 방향(양수 or 음수)을 확인할 수 있고
arccos을 이용해서 각도(θ) 및 방향을 알아낼 수 있다
'게임 수학 & 물리 > 게임 수학' 카테고리의 다른 글
[게임 수학] 벡터의 외적 (1) (0) | 2024.02.25 |
---|---|
[게임 수학] 벡터의 내적 (2) (1) | 2023.10.28 |
[게임 수학] 벡터의 기초 (2) (0) | 2023.10.17 |
[게임 수학] 벡터의 기초 (1) (0) | 2023.10.17 |
[게임 수학] tangent (0) | 2023.10.16 |