그래픽스에 관해 공부하면서 자주 부닥치게 되는 평면의 방정식!
맨나말 부딪힐 때마다 관련서적을 가볍게 훓고 넘어가는 터라 다음에 다시 평면의 방정식과
부딪히면 항상 또 책을 펼치고 마는 비생산적인 행위가 반복된다.
이번엔 좀 제발 외우고 넘어가야 겠다.
3차원에서 평면은 평면의 방정식으로 해석이 가능하다.
이 방정식등을 이용하여 공간상의 교차판정, 평면의 Normal, 평면의 전후면 판별등이 가능하다.
평면의 방정식은 다음과 같다.
ax + by + cz + d = 0
즉, a, b, c는 평면안에 속해 있는 임의의 세 점을 선분으로 이은 두 벡터의 외적을 구한 후,
그 외적으로 부터 도출된 벡터의 세 성분이 되며, d는 위에서 언급했던 두 벡터의 내적으로서
구할 수 있다.
Tip)))
1. 위에서 외적을 통해 구한 벡터가 가르키는 방향은 곧, 평면이 바라보는 방향이 된다.
2. 평면의 방정식에 의해 임의의 한 점과 평면과의 최단거리를 계산할 수 있게 되는데, 이 때 계산
값이 0보다 크다면 평면의 앞에 그 점이 존재하는 것이며, 계산값이 0보다 작을 경우 그 점이 평
면의 뒤에 존재한다는 것을 의미한다.
그리고 만약 계산값이 0으로 딱! 떨어질 경우에는 그 점은 평면상에 존재하는 점이 된다.
3. 이런 평면의 방정식은 3차원 그래픽스에서 충돌과 교차판정에 두루 쓰이게 되므로, 제발 좀
외워보자!!!
Reference : DirectX 9.x 3D 게임 프로그래밍 By 김병철
'프로그래밍 ----------------------- > C,C++ 팁' 카테고리의 다른 글
윈도우에서 사용하는 문자 코드에 대한 이해 (0) | 2008.10.13 |
---|---|
디버깅을 위한 콘솔창 활용 (0) | 2008.10.13 |
알파값 살아있는 텍스쳐, 단색으로 찍기 (0) | 2008.10.13 |
알파 블렌딩 (0) | 2008.10.13 |
두점의 선형보간 공식 (0) | 2008.10.13 |