ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 알려진 평면에서의 폴리곤과 정점의 교차판정.
    3D Graphics/공통 2008. 10. 23. 19:54
    728x90
    Real time Randering 2nd에서 참고했습니다.

    이론을 간단히 설명하자만 점이 폴리곤 내부에 있다면 점과 각 점점을 이루는 내각의 합이 360이라는겁니다.

    예를들면 세 정점 p1, p2, p3로 이루어진 폴리곤이 있을때 정점p와의 각도를 계산합니다.

    1. p1-p와 p2-p의 벡터가 이루는 각
    2. p2-p와 p3-p의 벡터가 이루는 각
    3. p3-p와 p1-p의 벡터가 이루는 각

    자 그런데 각도는 어떻게 계산하느냐?? 그건 벡터의 성질을 이용하면 간답합니다.

    1번 상황에서 p1-p간의 벡터를 A라하고 p2-p간의 벡터를 B라 할 때...

    두 벡터의 크기를 곱합니다.

    그리고 그 크기가 0이 아니라면..(이때 진짜 0을 비교하시면 안됩니다.
    부동소수점 정밀도 문제때문에 0.000001같이 정당한 작은 값을 비교해서 그 값보다 작으면 0이라고 가정하는겁니다.

    아무튼.. 두 벡터의 크기가 0보다 크다면...
     
    각도 = acos ( A dot B / 두 벡터의 크기곱)

    이렇게 계산됩니다. 실제 구현한 코드는 밑에 접어놨어요~^^

    '3D Graphics > 공통' 카테고리의 다른 글

    3dsmax x파일 export  (0) 2008.04.04
    Ase library  (0) 2007.12.13
    md3 export plugin  (0) 2007.12.13
    플러그인 자료 사이트  (0) 2007.12.13
    HDR에 대한 설명  (0) 2007.10.18

    댓글

Designed by black7375.