Article

Gamza 2011. 5. 19. 12:12


게임에선 보통 폴리곤의 노멀만을 메모리에 올려놓곤 하는데, 아예 -노멀을 포함한- 평면의 방정식을 메모리에 올려놓으면 여러모로 편리하게 사용할수 있습니다.
폴리곤의 평면의 방정식은 다음처럼 표현하면, 이것을 저장하는데는 4개의 숫자가 필요하게 됩니다. 노멀에 비해 숫자가 한개 늘어난 정도이죠.

평면의 방정식 : Nx * X + Ny * Y + Nz * Z + D = 0

이것을 어디에 활용할수 있는가....
대표적으로는 충돌검사, 즉...평면과 점과의 수직 거리를 구하는데 사용할 수 있습니다.
위와 같이 표현되는 평면과 임의의 점(i,j,k)과의 수직거리는 다음과 같게되죠.

거리 = | Nx * i + Ny * j + Nz * k + D |

위에서 절대값이 붙은것은 음수가 나올경우를 대비해서 인데...
이것은 점이 평면의 뒤쪽 - normal의 반대방향 - 에 존재한다는 의미 입니다.

♡달링 알랍♡


궁금한게 있습니다만, 사용하신 평면 방적식의 노멀벡터를 가르키는 Nx, Ny, Nz은 정규화 된것 맞을까요?