https://travelbeeee.tistory.com/45
[알고리즘] 세 점의 방향성 파악하기 'CCW 알고리즘'
안녕하세요. 여행벌입니다. 오늘은 세 점이 주어졌을 때, 방향성을 파악할 수 있는 CCW 알고리즘에 대해 다뤄보겠습니다. 다음과 같이 세 점 A, B, C 가 있을 때, 세 점의 방향성을 시계방향 / 반시
travelbeeee.tistory.com
반시계 방향 : 1
시계 방향 : -1
일직선 : 0
static int ccw(Node n1, Node n2, Node n3){
long s = (n1.x * n2.y + n2.x * n3.y + n3.x * n1.y) - (n1.y * n2.x + n2.y * n3.x + n3.y * n1.x);
if (s > 0) return 1;
else if (s < 0) return -1;
else return 0;
}
static class Node {
long x, y;
public Node(long x, long y){
this.x = x;
this.y = y;
}
}
'PS > Algorithms' 카테고리의 다른 글
[Java] 2-Dimentional Fenwick Tree (0) | 2022.03.13 |
---|---|
[Java] TSP (Traveling Salesperson Problem) - 모든 노드를 지나는 최소 길이 사이클 (0) | 2022.02.20 |
[Java] Topological Sort(위상 정렬) - 방향성 있으며 사이클 없는 그래프 (0) | 2022.02.13 |
[Java] BitMask (0) | 2022.02.12 |
[Java] Union find - 같은 집합에 속하는지 검사 (0) | 2022.02.09 |