수학/이득우의 게임 수학

라인 클리핑 알고리즘

monstro 2025. 10. 29. 10:44
728x90
반응형

- 개요

1팔분면에서의 브레젠험 알고리즘

 

브레젠험 알고리즘큰 값이 들어오더라도 한칸씩 전진하면서 픽셀을 계산해야 하는 문제가 있다

따라서 큰 길이의 선분이 들어오더라도 화면에서 유효한 선분으로 잘라주는 알고리즘을 사용하여 예방해야 한다

이때 사용할 수 있는 작업이 클리핑(Clipping)인데,

선분이 가진 성질은 유지하면서 지정된 영역에 맞는 데이터로 재설정하는 작업을 의미한다

 

- 코헨 - 서덜랜드 라인 클리핑 알고리즘

코헨 - 서덜랜드 라인 클리핑 알고리즘은 1967년에 개발되어 초창기 컴퓨터에서도 사용가능하다

따라서 구현이 단순하면서 빠르다는 장점이 존재한다

 

각 영역에 부여된 이진수 값

 

원리는 다음과 같은데, 선분을 그릴 영역을 9개로 설정하고 네 자리의 이진수 값으로 구성된 고유한 값을 부여한다

이때 상위 2개의 비트는 상하 정보, 하위 2개의 비트는 좌우 정보를 저장한다

 

그릴 필요가 없는 선분(파란색)과 그릴 필요가 있는 선분(빨간색)

 

가운데 0000의 영역은 우리 눈에 보이는 화면 영역을 의미한다

따라서 0000의 영역에 포함되어 있는 선에 한해서 그릴 필요가 있다

최종적으로 선을 그릴 때 고려해야 하는 상황은 다음과 같다

  • 첫 번째 상황 : 화면 안에 선이 위치해서 자를 필요가 없는 경우
  • 두 번째 상황 : 화면 밖에 선이 위치해서 그릴 필요가 없는 경우
  • 세 번째 상황 : 화면을 가로질러 선이 위치해서 화면에 유효한 영역으로 잘라내야 하는 경우

 

 

728x90
반응형