세 점(기준점, 점1, 점2)이 있을 때 atan()함수를 1번만 써서 사잇각을 구하는 방법이다.
원리는 간단하다.
아래와 같이 한 각과 기준각이 이루는 각도를 α, 나머지 각을 β라 한다.
그러면 θ = α - β 라 할 수 있다.
tanθ는 다음과 같이 나타낼 수 있으므로 sinθ와 cosθ를 구하여 atan2의 각 매개변수로 넣으면 각을 알 수 있을 것이다.
먼저 sinθ는 삼각함수의 덧셈정리에 의해 이렇게 전개할 수 있다.
위 식을 처음에 주어진 x분과 y성분으로 나타낼 수 있으므로,
최종적으로는 이렇게 쓸 수 있다.
코사인세타도 같은 방법으로 전개한다.
공통항인 1/l1l2를 소거하면 아래와 같은 표현식을 얻을 수 있다.
angle = atan2(y1x2-x1y2, x1x2+y1y2);
atan2 함수가 아닌 atan함수를 사용한다면 atan(sin값/cos값) 형태로 사용하면 될 것이다.
→ angle = atan(y1x2-x1y2 / x1x2+y1y2);
▼ 컴퓨터 프로그램으로 작성하여 구동한 화면.