Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
좌표평면에서 두 선분이 만나는지 알아내기 본문
728x90
반응형
C++코드
struct Segment {
int x1, y1, x2, y2;
};
// 두 선분이 겹치는지 확인하는 함수
bool doSegmentsOverlap(const Segment& a, const Segment& b) {
return (max(a.x1, a.x2) >= min(b.x1, b.x2) && max(a.y1, a.y2) >= min(b.y1, b.y2) &&
min(a.x1, a.x2) <= max(b.x1, b.x2) && min(a.y1, a.y2) <= max(b.y1, b.y2));
}
조건
- 두 선분의 x 좌표 중 최대값이 다른 선분의 x 좌표 중 최소값보다 크거나 같고,
- 두 선분의 y 좌표 중 최대값이 다른 선분의 y 좌표 중 최소값보다 크거나 같으며,
- 두 선분의 x 좌표 중 최소값이 다른 선분의 x 좌표 중 최대값보다 작거나 같고,
- 두 선분의 y 좌표 중 최소값이 다른 선분의 y 좌표 중 최대값보다 작거나 같을 때, 두 선분은 겹친다고 판단된다.
728x90
반응형
'PS > 언어별 스킬모음' 카테고리의 다른 글
[C++] 반복자 내에서의 const auto& 사용 (0) | 2023.10.05 |
---|---|
순열-조합(C++, Python, Java) (0) | 2023.09.16 |
[C++] unordered_map(or set)의 key로 기본 자료형이 아닌 다른 자료형 사용하기(vector, pair 등) (0) | 2023.09.08 |
[C++] 람다 함수 (0) | 2023.09.06 |
[Java] 자바 코테의 기술 (0) | 2023.08.25 |