[C++] 세 점의 각도 구하기

이번 글에서는 세 점에서 각도를 구하는 법에 대해 알아보겠습니다.아래와 같이 세개의 점 A, B, C가 있을 때 각도θ을 구하는 방법입니다. 우선 각도를 구하는 방법은 tan함수를 이용하여 구할수 있습니다.아래 그림에서 tanθ = y / x이므로 θ = atan(y / x)라는 것을 이끌어낼 수 있습니다. 위 수식을 이용하여, 세점에서의 각도는 아래의 순서로 구할수 있습니다. 이것을 코드로 아래와 같이 표현할 … Read more

[C++] 각도, 길이로 원하는 좌표값 구하기

이번 글에서는 특정한 좌표에서 각도, 거리를 입력했을 때 좌표를 구하는 방법을 알아보겠습니다. 해당 방법을 알기 위해서 삼각함수(sin, cos)를 사용해야하는데 이 함수들은 매개변수로 라디안을 사용합니다.보통 일반적으로 사용하는 0도, 90도, 180도 등등은 60분법(Degree)이라 합니다. 그리고 라디안은 호의 길이를 이용한 호도법(Radian)을 사용하는데, 예를 들어 반지름이 r인 원에서, 호 AB가 길이가 r일 경우, 그 각을 a라 해봅시다. 이 부채꼴 호의 중심각인 a의 … Read more

[C++] 다각형 내부 판별 알고리즘(Point in polygon)

안녕하세요, 이번 글에서는 다각형(Polygon)으로 도형을 그리고 클릭 했을 때, 그 클릭한 곳이 다각형의 내부인지 외부인지 판별을 하는 알고리즘 입니다. 코드를 보기전에 우선 알고리즘 설명부터 하겠습니다.아래와 같이 5각형을 기준으로 클릭을 한다고 봅시다. 다각형 내부 클릭 다각형 외부 클릭 사람은 “내부/외부에 클릭을 했다“라고 쉽게 생각합니다. 하지만 컴퓨터의 경우엔 어떻게 알 수 있을지 고민을 해봐야합니다. Point in polygon … Read more