Clipping

Ahn9807 (토론 | 기여)님의 2023년 4월 5일 (수) 10:37 판 (새 문서: 분류: 레스터 그래픽스 == 개요 == 클리핑이란 카메라밖의 오브젝트를 그리지 않기 위해서 카메라 안쪽의 오브젝트만 남기는 기술을 말한다. == 방식 == 우선 Clipping Plane 과 선분이 주어진다. 면과 선의 교점을 구하여 그 교점을 새로운 점으로 하는 Vertex를 만들어서 오브젝트를 자르게 된다. 점 a 와 점 c를 지나는 직선은 다음과 같이 주어진다. :<math>p(t)=a+t(c-...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)


개요

클리핑이란 카메라밖의 오브젝트를 그리지 않기 위해서 카메라 안쪽의 오브젝트만 남기는 기술을 말한다.

방식

우선 Clipping Plane 과 선분이 주어진다. 면과 선의 교점을 구하여 그 교점을 새로운 점으로 하는 Vertex를 만들어서 오브젝트를 자르게 된다. 점 a 와 점 c를 지나는 직선은 다음과 같이 주어진다.

[math]p(t)=a+t(c-a)[/math]

Clipping Plane은 다음과 같이 주어진다.

[math]f(p)=pn + D [/math] 여기서 n은 면의 노말벡터이고 D는 q를 넣어서 나온 거리이다. 즉 D는 만약 노말벡터가 orthogonal이라면 원점과 면의 거리가 된다.

이 두식을 연립하면

[math](a+t(c-a))n + D = 0 [/math] 이고 정리하면
[math] t_A = -\frac{na+D}{n(c-a)} [/math] 가 나온다.

즉 위에서 구한 [math] t_A [/math]를 맨 처음의 선분 방정식에 넣으면

[math]A=a+t_A(c-a)[/math] 가 나온다.

이때 이것이 우리가 구하는 면과 선의 정점 A이고 이를 이용하여 새로운 Vertex를 그리면 된다.

클리핑