hwi's laboratory  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
k-DOP(discrete orientation polytopes)

slab은 두 평행한 평면 사이에 있는 공간을 말한다.
k-dop은 미리 정해진 방향으로 slap들을 정의해서 boundng volume을 정의한다.

예를들어 AABB Box는 6-DOP인데 (1, 0, 0), (0, 1, 0), (0, 0, 1) 방향에 수직인 3개의 slab들로 정의된다.

k-dop 형식으로 정해진 bouding volume이 있을 때, 각각의 slab쌍에 대해 검사를 해서 하나라도 겹치지 않으면 충돌되지 않는다.

6-DOP인, AABB끼리의 겹침검사를 예를들어보면
bool TestOverlap(const DOP6& b0, const DOP6& b1)
{
    for(int i = 0; i < 3; ++i)
    {
         if(b0.min[i] > b1.max[i] || b1.min[i] > b0.max[i])  return false;
    }
    return true;
}

k-DOP을 이용해서 간단히 Convex Volume을 만들 수 있다.
k개 만큼의 평면을 구하고  그 평면으로 convex volume을 생성한다.

volume을 만들 떄 처음에는 AABB를 구하고 convex volume을 이루는 평면들로 잘라냈었는데, 그러면 k개보다 더 많은 폴리곤이 생성된다.

그래서 기준 평면들에 대한 최소, 최대값으로 사각형태의 폴리곤을 만든다음, 나머지 평면들로 잘라내는 형식으로 폴리곤을 생성했다.

사용자 삽입 이미지



BLOG main image
 Notice
 Category
분류 전체보기 (27)
life (0)
project (0)
works (24)
misc (0)
study (1)
scrap (1)
review (0)
... (0)
study_cg (0)
 TAGS
CEDEC
 Calendar
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 Recent Entries
 Recent Comments
 Recent Trackbacks
 Archive
 Link Site
바보가 아닌 Mr
V i n t e r s o r g
 Visitor Statistics
Total :
Today :
Yesterday :
rss