좌표가 사각형 안에 있는지 판단하기
- 좌표에 사각형의 4개 꼭지점을 클릭한다.
*사각형의 내각이 180도 이상이면 안 된다.
- 사각형의 내부/외부를 클릭하여 좌표가 사각형의 안에 있는지 판단한다.
*내부:green, 외부:red
구현 로직
- 클릭한 좌표 지점을 T라 한다.
- 사각형의 각 꼭지점마다 순회한다
- 기준 꼭지점의 인접 꼭지점을 각각 A, B라 한다.
- 기준 꼭지점을 원점으로 간주하여 A,B,T의 좌표를 보정한다.
- 벡터T를 벡터A와 벡터B의 합으로 표현한다.
- vec{T} = t * vec{A} + s * vec{B}
- t와 s를 구한다.
- t 또는 s가 음수이면 false를 반환한다.
*역벡터가 더해진 것으로 간주하여 범위 바깥에 있는 것으로 볼 수 있다.
- 사각형의 4개의 꼭지점을 모두 확인하면 true를 반환한다.