반응형

외적 연산(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) 폴리곤의 법선 벡터 정보를 알려준다.

폴리곤의 직교되는 법선 벡터정보를 알게 되면서 라이트 정보라든지 오브젝트 충돌등에 유용하게 사용할수 있다. 

     

 

 

반응형

+ Recent posts