두 벡터의 각도를 구하는 방법은 두 벡터의 내적 값을 이용하는 것이다.
두 벡터의 내적값을 acos() 에 넣으면 라디안으로 변환 된 각도 세타가 나온다.
하지만, 내적으로 나오는 각도는 0~180 으로만 나온다.
물론 이 것만 가지고도 충분하기는 한데.. 그래도 확실한 360도를 알고 싶다면,
두 벡터를 외적한 벡터의 방향이 어디인지를 판단하면, 기준이 됬던 벡터가 실제 2번째 벡터의 왼쪽에 있는지, 오른쪽에 있는지를 판단할 수 있기 때문에, 그냥 90인지 -90인지를 쉽게 파악할 수 있다.
단, 모든 연산에 앞서서 벡터들은 노멀라이즈 연산(벡터의 크기를 1로 만듬)을 해놓아야한다.
'프로그래밍 > 유용한 팁' 카테고리의 다른 글
VS 에서 윈도우 프로그램 개발 시 콘솔창 띄우기. (0) | 2012.01.30 |
---|---|
알파 블랜딩 속성에 따른 값. (0) | 2012.01.19 |
CString을 숫자로 변환하기.. (0) | 2012.01.08 |
if문 내부의 조건식의 순서를 바꿔쓰자! (1) | 2011.08.12 |
C++ assert() 함수 사용하기.. (0) | 2011.08.12 |