2016년 10월 11일 화요일

내적(dot)

유니티에서 Vector3.Dot(VectorA,VectorB)를 사용하면 구할 수 있습니다.


내적은 무엇일까?


내적인 두개의 벡터에서 스칼라(방향이 없는 크기만 가지고 있는 물리량)를 뽑아내는 연산입니다.

내적은 이해하는데 애매한 경우가 많은데요
그 이유는 기하학적인(점,선,면 등의 공간의 성질)이 없기 때문에 형상화 하기 어렵기 때문입니다.(벡터를 더한다는 것처럼 머리속에 딱 떠오르지 않기 때문이죠)

즉 두 개의 벡터를 더하거나 빼는 것처럼 직관적이지 않고 정해진 연산에 의해 도출되기 때문에 직접적으로 다가오지 않는 것이죠

그냥 특정한 필요에 의해 (충돌체크 등) 두개의 벡터를 통해 스칼라(방향이 없는 크기만 가지고 있는 물리량)를 추출하는 것이라 생각하면 편합니다.

그렇다면 기하학적인 성질의 공식들을 사용하지 않고 굳이 내적을 사용하는 이유는 무엇이냐? 했을 때

결국 최적화 부분에 있습니다.

즉 싸인 코사인 등 매우매우 비싼 비용의 초월함수를 최소한 혹은 사용하지 않기 위함이죠

내적의 정의는 아래의 싸이트에 매우 잘 정리되어 있습니다.
http://j1w2k3.tistory.com/627

아래는 내적을 구하는 공식입니다.
||a|| 는 a의 크기를 나타내며 노름이라고 읽습니다.



댓글 없음:

댓글 쓰기