일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 생각
- functools.wraps
- sort(reverse=True) v.s. reverse
- ds_store
- 고차함수
- CI/CD
- 함수형 프로그래밍
- pandas
- os.path
- 쿼리
- [초급(예비) 개발자 오픈소스 실무 역량강화 교육]
- decorator
- S3
- OS
- blinker
- 코딩 테스트
- slicing [::-1]
- boto3
- sort v.s. sorted
- timestamp
- 순수함수
- reverse v.s. reversed
- r-string
- PIP
- Python
- Airflow
- selenium-wire
- Today
- Total
공부일지
[컴퓨터 그래픽스]Sutherland-Hodgman 다각형 클리핑 본문
Sutherland-Hodgman 다각형 클리핑
I. 클리핑 방법
좌우하상에 대한 클리핑을 차례로 수행(차례로 == 파이프라인 방식 처리)
* OpenGL의 경우, 볼록다각형만 처리
* 주의: 오목 다각형을 클리핑하는 경우, 단순 다각형이 아닌 결과가 나올 수 있다.
각 클리핑 경계에 대한 처리 방법
다각형을 구성하는 변 단위로 정해진 순서(CW or CCW)에 따라 처리기에 입력
ex.
4가지 상황(CCW)
v1, v2
1. 시작점 - 클리핑 영역 외부(v1), 끝점 - 내부(v2)
출력 꼭짓점: v1'(경계), v2
2. 시작점, 끝점 - 모두 클리핑 영역 내부
출력 꼭짓점: v3
3. 시작점 - 클리핑 영역 내부(v3), 끝점 - 외부(v4)
출력 꼭짓점: v3, v3'(경계)
4. 시작점, 끝점 - 모두 클리핑 영역 외부
출력 꼭짓점 없음.
ex. 삼각형의 클리핑
좌측경계 | 클리핑 영역에 거쳐있는 삼각형 ABC
1단계: 좌측경계에 대한 처리
출력
선분 AB => 끝점 B만
선분 BC => 끝점 C만
선분 CA => 끝점 A만
=> 기존 삼각형과 같은 BCA
2단계: 우측경계에 대한 처리
선분 BC => 경계와의 교점 C'
선분 CA => 영역 밖이라 없음.
선분 AB => 경계와의 교점 A', B
=> 새로운 삼각형 C'A'B 생성
3단계: 하단경계에 대한 처리
선분 C'A' => 경계와의 교점 A'
선분 A'B => 경계와의 교점 B
선분 BC => 경계와의 교점 C'
=> 새로운 삼각형 A'BC' 생성
4단계:
선분 A'B => 경계와의 교점 A'', B
선분 BC' => 경계와의 교점 C'
선분 C'A' => 경계와의 교점 C''
=> 새로운 다각형 A''BC'C'' 생성
'Computer > 공부정리' 카테고리의 다른 글
[컴퓨터 그래픽스]Liang-Barsky 선분 클리핑 (0) | 2025.05.03 |
---|---|
[컴퓨터 그래픽스]Cohen-Sutherland 선분 클리핑 (0) | 2025.05.03 |
[코딩 테스트]입력방식 비교 - sys.stdin.readline() v.s. open(0).read().splitlines() (1) | 2025.04.25 |
[Python]sys.argv 활용으로 main 함수와 test 함수 분리해서 쓰기 (1) | 2025.04.23 |
[AI]ChatGPT memory, reference Chat History, Archive chats에 관한 내용 (0) | 2025.04.17 |