스칼라 (Scalar)
ㆍ흔히 생각할 수 있는 수치.
ㆍ거리의 값이 있을 때 이 값은 방향정보는 가지고 있지 않고 오로지 수치만을 나타내는것이 스칼라 값.
벡터(Vector)
ㆍ벡터를 사용하면 정적인 위치가 아닌 동적인 모습(수치+방향)을 나타낼수있음.
ㆍ벡터는 동적인 모습(수치+방향)을 가진 것으로 단순히 수치만을 가진 스칼라와는 대조됨.
ㆍ벡터의 활용으로는 크기와 방향을 나타내는 기하벡터와 단순히 위치좌표 만을 알려주는 위치벡터로 나뉨.
벡터의 연산
1.벡터의합
벡터자체는 시작점이라는 개념이 없다. 시작점 위치를 지정하는 것은 우리가 정해야되는 것이다. 벡터의 합은 위의 그림처럼 A의 시작점과 B의 끝점을 이어주면 A+B=C라는 벡터의 값이 나오게된다.
※벡터의 차는 벡터의 합과 같다 A+(-B)를 해주면 벡터의 차의 값이 나오게 된다.
2.벡터와 스칼라의 곱
벡터와의 곱/나눗셈은 존재하지 않는다. 다만 수치값만을 가지고 있는 스칼라와의 곱/나눗셈은 존재한다.
스칼라와의 곱셈에서 다음과 같은 법칙이 성립된다.
ㆍ겹합법칙: (ab)v = a(bv)
ㆍ분배법칙: (a+b)v = av + bv, a(v + w) = av + aw
ㆍ교환법칙:v1+v2=v2+v1
ㆍ스칼라 곱셈의 항등원이 존재함 : 1 v = v
3.벡터의 정규화
벡터의 정규화란 벡터의 크기를 1로 만들어 주는 것이다.( 크기가 1인 벡터를 단위 벡터라 칭한다. )
위의 그림에서의 벡터C의 정규화는 C의 크기로 각성분을 나눈것과 같으며 이때의 단위 벡터를 C'으로 한다면,
C'=[A/C,B/C]
의 식이 성립된다.
이러한 단위벡터는 게임엔진에서 Normalize의 함수형식으로 제공되며,
정규화를 거친 벡터는 C'*Speed*시간등으로 활용된다.
4.벡터의 내적
ㆍ두 벡터의 내적은 항상 스칼라 값이 나온다.
ㆍ벡터A와 벡터B의 내적은 AㆍB로 표시되며, 이 값은 ㅣAㅣㆍㅣBㅣ*cosθ이다.
ㆍ 위의 식에서 cos은 컴퓨터가 처리하기 다소 어려움으로 같은 값인 axbx+ayby으로 사용한다.
ㆍ교환법칙이 성립된다.(AㆍB=BㆍA)
ㆍ게임엔진에서는 Dot이란 함수로써 제공된다.
AㆍB=ㅣAㅣㆍㅣBㅣ*cosθ=axbx+ayby
5.벡터의 외적
ㆍ 두 벡터를 곱하는데 결과로 벡터를 구한다.
ㆍ벡터 A와 벡터 B의 외적은 A x B로 표시되며 이 값은 ㅣAㅣxㅣBㅣ*sinθ*u(단위벡터)이다.
ㆍ교환법칙이 성립하지 않는다.(A x B != B x A)
ㆍ벡터 A x B의 결과로 얻어지는 벡터 C 는 A 와 B 벡터의 수직인 직교 벡터이다.
ㆍ게임엔진에서는 Cross라는 함수로써 제공된다.
A x B=ㅣAㅣxㅣBㅣ*sinθ*u(단위벡터)
댓글