외적 연산(Cross Product)란?
- 임의의 두 벡터와 직교를 이루는 벡터
EX) Cross(A , B)란? A가 B 를 감싸는 형태가 될때 직교가 되는 벡터
- 오른손 손가락 두개를 피고 검지를 A라 하고 중지를 B라 했을때, 왼손 끝을 오른손 검지에 반대로 맞닿고 감싸쥐는 형태
EX) Cross(B, A)란? B가 A를 감싸는 형태가 될때 두 벡터와 직교가 되는 벡터
- 왼손을 중지에 맞닿고 감싸쥐는 형태
- 문제 풀이
임의의 두 벡터 A[5,2,3] B[8,1,-4]의 외적을 구해보자. Cross A B를 구해보자.
A x B = [(a2b3 - a3b2) (a3b1 - a1b3) (a1b2 - a2b1)]
계산 순서가 헷갈릴땐 아래 그림을 참고하여 순서를 기억하자.
=[((2x -4) - (-3 x 1)) ((-3 x 8) - (5 x -4)) ((5 x 1) - (2 x 8))
= [-5 . -4 , -11]
Cross A B 의결과는 [-5 -4 -11] 이라는 새로운 벡터이다.
- 외적의 결과로 두 벡터 사이의 각도도 알 수 있게 된다.
내적으로 코사인을 알수 있게 됬다면 외적으로는 사인 각도를 알 수 있다.
||A X B|| = ||A|| ||B|| sin
먼저 A X B 의 크기와 ||A|| ||B||를 각각 구합니다. 다시 말해 Cross A B 의 크기를 구한다.
||A X B|| =
||A|| =
||B|| =
위에서 구한 값을 공식에 대입한다.
||A X B|| = ||A|| ||B|| sin
0.23 = sin
sin -1(0.23) = 13.2971
- 외적을 알면 어디에 도움이 될까?
EX) 나와 적의 위치를 알때 직교하는 UPVector를 알수 있도록 해준다. 그것이 UpVector가 될수도 있고, RightVector가 될수도 있기에 상당히 유용하게 사용할 수 있게 된다.
EX) 폴리곤의 법선 벡터 정보를 알려준다.
폴리곤의 직교되는 법선 벡터정보를 알게 되면서 라이트 정보라든지 오브젝트 충돌등에 유용하게 사용할수 있다.
'Study' 카테고리의 다른 글
PYTHON 기본 창 띄우기 "Hello World!" (0) | 2016.06.24 |
---|---|
내적 연산(Dot Product) 쉽게 이해하기 (2) | 2015.12.30 |
TA에게 반드시 필요한 기초 수학 정리. (0) | 2015.12.18 |
삼각비의 기본 (0) | 2015.12.18 |