본문으로 바로가기

CCW 알고리즘 (Counter Clock Wise)

category 알고리즘 2022. 8. 24. 16:32

백준 풀다가 ccw 알고리즘 문제가 나와서 무엇인지 찾아봤다.

https://www.acmicpc.net/problem/11758

 

11758번: CCW

첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다.

www.acmicpc.net

 

 

ccw 알고리즘 이란 점 들간의 방향관계를 구하는 알고리즘 이다. 

 

평면에 세 점이 주어졌을 때

 

 

 

 

 

 

외적을 사용하여 CCW 알고리즘을 증명할 수 있다고 한다.

 

CCW의 결과가 양수이면 시계 반대방향, 음수이면 시계방향, 평행일 경우 0을 반환한다. 

 

 

A, B, C 의 좌표를 각각 (x1, y1), (x2, y2), (x3, y3) 라고 할 때 아래 공식을 따른다.