KR101067826B1 - 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 - Google Patents
폴리곤 모델에 대한 하우스도르프 거리 산출 방법 Download PDFInfo
- Publication number
- KR101067826B1 KR101067826B1 KR1020090102039A KR20090102039A KR101067826B1 KR 101067826 B1 KR101067826 B1 KR 101067826B1 KR 1020090102039 A KR1020090102039 A KR 1020090102039A KR 20090102039 A KR20090102039 A KR 20090102039A KR 101067826 B1 KR101067826 B1 KR 101067826B1
- Authority
- KR
- South Korea
- Prior art keywords
- triangles
- triangle
- hausdorff distance
- upper bound
- calculating
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
폴리곤 모델에 대한 하우스도르프 거리 산출 방법이 개시된다. 본 발명에 따른, 폴리곤 모델에 대한 하우스도르프 거리 산출 방법은, (a) 폴리곤 모델 와 가 주어질 때, 상기 에서 상기 로의 하우스도르프 거리 를 계산하는 단계로서, (a1) 상기 내의 트라이앵글들 중 상기 에 기여하지 않는 트라이앵글들을 선별제거하는 단계; (a2) 상기 내의 트라이앵글들 중, 상기 (a1) 단계의 수행 결과 남은 트라이앵글 에서 상기 로의 하우스도르프 거리 에 기여하지 않는 트라이앵글들을 선별제거하고, 그 결과 남은 트라이앵글을 기초로 상기 의 상위 바운드 및 하위 바운드를 업데이트하는 단계; (a3) 상기 업데이트된 의 상위 바운드 및 하위 바운드를 기초로 의 상위 바운드 및 하위 바운드를 업데이트하는 단계; 및 (a4) 상기 (a1) 내지 (a3) 단계의 수행 결과 남은 트라이앵글 를 상기 의 상위 바운드와 하위 바운드의 차이가 소정 값 이하일 때까지 분할하는 단계를 포함하는 것을 특징으로 한다.
Description
본 발명은 컴퓨터 그래픽스에 관한 것으로 보다 상세하게는 폴리곤 모델들 간에 하우스도르프 거리를 계산하기 위한 방법에 관한 것이다.
기하학적(geometric) 모델들 간의 거리 측정을 계산하는 것은 컴퓨터 그래픽스, 컴퓨터 게임, 가상 환경, 기하학적 모델링, 그리고 로보틱스를 포함하는 다양한 분야에서 중요한 문제이다. 지난 이십 여년에 걸쳐 다양한 형태의 거리 측정 방법들이 심도 있게 연구되고, 효과적인 알고리즘들이 제안되어 왔다. 특히, 그 실용적 중요성 때문에 분리 거리(separation distance)로도 알려진 유클리디안 거리(Euclidean distance)를 계산하는 빠르고 신뢰성 있는 알고리즘이 많은 연구자들에 의해 제안되어 왔고, 3차원(R3)에서 폴리곤 모델(polygonal model)들을 위하여 해결된 문제로서 간주되었다. 반면에, 하우스도르프 거리(Hausdorff distance)와 같이, 두 폴리곤 모델 사이의 유사도를 정량하기에 적합한 거리 척도는 상대적으로 덜 연구되었다. 형상 매칭(shape matching), 메쉬 단순화(mesh simplification), 기하학적 모델링(geometric modeling), 모델 렌더링(model rendering), 이미지 등록 및 인식(image registration and recognition), 그리고 얼굴 검출(face detection) 등 이러한 척도로부터 이익을 얻는 많은 그래픽스와 컴퓨터 비전 어플리케이션들이 존재한다. 그러나 제안된 접근법의 높은 계산적 복잡성과 어려운 구현성 때문에, 3차원(R3)에서 폴리곤 모델들에 대해 하우스도르프 거리를 계산하는 매우 소수의 알고리즘만이 존재한다. 따라서 많은 어플리케이션들이, 예컨대 보수적 근사(conservative approximation) 기법을 사용한다든지, 다른 측정(measure)을 채용하다든지 하는 방법으로 이 문제를 회피한다.
직관적으로 말하면, 두 모델 간의 하우스도르프 거리는 그들 간의 최대 편이(maximum deviation)이다. 3차원에서 폴리곤 모델들에 대하여 O(n) 폴리곤들을 가지고, 가장 잘 알려진 알고리즘에 의해 정확히 하우스도르프 거리를 계산하는 데 걸리는 기대되는 시간은 O(n3+ε)이다. 게다가 이 알고리즘은 3차원에서 비선형 대수 면의 집합(a set of non-linear algebraic surfaces)의 하위 엔벨롭(lower envelope)의 계산을 요구한다. 이것은 디제너러시(degeneracies) 및 산술적인 오류가 나타나는 경향이 있는데, 이는 높은 n 값에 대하여 구현하기에 매우 힘들게 하는 요인으로, 매우 비실용적인 알고리즘이다.
본 발명이 이루고자 하는 기술적 과제는 폴리곤 모델들 간에 하우스도르프 거리를 계산하기 위한 빠르고 간단한 하우스도르프 거리 산출 방법 및 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기 기술적 과제를 해결하기 위하여 본 발명에 따른, 폴리곤 모델에 대한 하우스도르프 거리 산출 방법은, (a) 폴리곤 모델 와 가 주어질 때, 상기 에서 상기 로의 하우스도르프 거리 를 계산하는 단계로서, (a1) 상기 내의 트라이앵글들 중 상기 에 기여하지 않는 트라이앵글들을 선별제거하는 단계; (a2) 상기 내의 트라이앵글들 중, 상기 (a1) 단계의 수행 결과 남은 트라이앵글 에서 상기 로의 하우스도르프 거리 에 기여하지 않는 트라이앵글들을 선별제거하고, 그 결과 남은 트라이앵글을 기초로 상기 의 상위 바운드 및 하위 바운드를 업데이트하는 단계; (a3) 상기 업데이트된 의 상위 바운드 및 하위 바운드를 기초로 의 상위 바운드 및 하위 바운드를 업데이트하는 단계; 및 (a4) 상기 (a1) 내지 (a3) 단계의 수행 결과 남은 트라이앵글 를 상기 의 상위 바운드와 하위 바운드의 차이가 소정 값 이하일 때까지 분할하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 하우스도르프 거리 산출 방법은, (b) 상기 에서 상기 로의 하우스도르프 거리 를 계산하는 단계; 및 (c) 상기 와 상기 의 최대값을 양방향(two-sided) 하우스도르프 거리 로 취하는 단계를 더 포함할 수 있다.
또한, 상기 (a1) 단계 및 상기 (a2) 단계의 수행 결과 남은 트라이앵글들 쌍들의 정보를 캐쉬하고, 상기 (b) 단계에서 하우스도르프 거리 를 계산함에 있어 상기 정보를 재사용할 수 있다.
또한, 상기 (a1) 단계는, 트라이앵글들 의 집합을 둘러싸는 바운딩 볼륨에서 상기 내의 어떤 포인트로의 하우스도르프 거리가 상기 의 하위 바운드보다 작게 되는 바운딩 볼륨에 포함되는 트라이앵글들 를 상기 에 기여하지 않는 트라이앵글들로서 선별하여 제거할 수 있다.
또한, 상기 바운딩 볼륨은 SSV(swept sphere volume)일 수 있다.
또한, 상기 내에서 상기 에 가장 가까운 트라이앵글 를 찾기 위하여 상기 내의 트라이앵글들을 파티션하여 클러스터하고 각 클러스터를 바운딩 볼륨으로 둘러싼 뒤, 와 클러스터된 바운딩 볼륨 간에 최단 거리 질의를 수행할 수 있다.
또한, 상기 (a4) 단계는, 상기 트라이앵글 를 복수 개의 서브-트라이앵글로 분할하고, 상기 서브-트라이앵글에 대하여 상기 (a1) 내지 (a3) 단계를 반복하여 수행할 수 있다.
또한, 상기 트라이앵글 를 복수 개의 서브-트라이앵글로 분할함에 있어서, 상기 트라이앵글 의 에지를 따라 바깥쪽의 서브-트라이앵글들 및 안쪽의 서브-트라이앵글 로 분할할 수 있다.
또한, 상기 (a4) 단계는, (a41) 상기 의 상위 바운드에 대하여, - ≤ 을 만족하는 상기 내의 트라이앵글들의 집합 을 찾는 단계; (a42) 상기 트라이앵글 를 상기 에지를 따라 상기 서브-트라이앵글들 및 로 분할하는 단계; (a43) 상기 집합 을 사용하여 에서 상기 로의 하우스도르프 거리의 상위 바운드 및 하위 바운드를 계산하는 단계; 및 (a44) 미리 정하여진 종료 조건을 만족할 때까지 상기 (a42) 단계 내지 (a43) 단계를 반복하는 단계를 포함할 수 있다.
또한, 상기 (a42) 단계는, 상기 에지 상에 상기 의 버텍스들이 사영되는 상기 내의 트라이앵글과 동일한 트라이앵글에 사영되는 새로운 버텍스를 추가하고 상기 추가된 버텍스를 기준으로 상기 트라이앵글 를 분할할 수 있다.
상기 또 다른 기술적 과제를 해결하기 위하여 상기된 본 발명에 따른, 폴리곤 모델에 대한 하우스도르프 거리 산출 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기된 본 발명에 의하면, 폴리곤 모델들 간에 하우스도르프 거리를 계산하기 위한 빠르고 간단한 하우스도르프 거리 산출 방법 및 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
1. 사전 정의 및 개요
우선, 본 발명에 따른 하우스도르프 거리 산출 방법의 실시예를 상세히 설명하기에 앞서 몇 가지 사전 정의와 실시예의 전체적인 개요를 설명하기로 한다.
1.1. 사전 정의
본 발명의 실시예에서, 하우스도르프 거리를 계산하는 문제는 다음과 같이 정의될 수 있다.
<정의 1>
3차원(R3)에서 두 폴리곤 모델 및 가 주어질 때, 로부터 의 일방향(one-sided) 하우스도르프 거리는 다음과 같이 정의된다. 여기서, 및 는 컴팩트 셋(compact set)이다.
여기서, 는 R3에서 유클리디안 거리(Euclidean distance) 연산자(operator)를 나타낸다. 그러면 와 간의 양방향(two-sided) 하우스도르프 거리는 다음과 같이 정의된다.
상기된 정의로부터, 폴리곤 모델들에 대하여 다음과 같은 정리가 유도될 수 있다.
<정리 1>
상기 정리 1로부터, 를 계산하는 것은 를 계산하는 것으로 요약될 수 있다. 다음에서, 하우스도르프 거리 메트릭의 바운드(bound)와 관련된 보조 정리를 제시한다. 이 보조 정리는 본 발명의 실시예에 따른 하우스도르프 거리 산출 방법의 내용 중 후술할 교차 선별(cross-culling) 과정에서 중요한 역할을 한다.
<보조 정리 1>
상기 보조 정리 1에 기초하여, 두 폴리곤 모델들 간의 일방향 하우스도르프 거리의 상위 바운드(upper bound)와 하위 바운드(lower bound)를 계산하는 간단한 방법을 제시하면 다음과 같다.
<보조 정리 2>
상기 수학식 4에서, 하위 바운드 (또는 )는, 그 계산이 점으로부터 오브젝트로의 유클리디안 거리만을 요구하므로, PQP(Proximity Query Package) 라이브러리와 같은 알려진 프록시미티 패키지로부터 약간의 변형을 통하여 쉽게 얻어질 수 있다. 게다가, 이기 때문에, 상위 바운드 역시 간단하게 얻어질 수 있다. 여기서, 는 의 버텍스이고, 는 내의 트라이앵글이다.
<정리 2>
1.2. 개요
상기 정리 1에 기초하여, 본 실시예에 따른 하우스도르프 거리 산출 방법의 주요한 수단은 각 (여기서, )에 대하여 를 계산하고, 그것을 최대화시키는 것이다. 그러나 를 정확히 계산하는 것은 비용이 많이 들고 따라서 본 발명의 실시예에서는 회피할 것이다. 따라서 본 실시예에서는 어떤 트라이앵글 가, 만일 인 다른 트라이앵글 가 존재한다면, 의 최종 값에 기여하지 않을 거라는 중요한 관찰 정보를 이용한다. 이를 보다 자세히 설명하면 다음과 같다.
다음으로, (i+1) 번째 트라이앵글 에 대한 하우스도르프 거리를 고려할 때, 그것의 상위 바운드 을 계산하고, 그것을 와 비교한다. 만일 <라면, 틀림없이 은 에 기여하지 않는 트라이앵글로서 제거할 수 있다. 그렇지 않다면, 하위 바운드 를 계산하고, 그 결과에 따라 현재의 하위 바운드를 업데이트하고, 또한, 을 더 정확하게 계산하기 위하여 트라이앵글 정보를 저장하여 둔다. 이하에서는 이러한 과정을 폴리곤 모델 상에서의 선별제거(culling)라 칭하기로 한다. 이에 관한 더욱 자세한 설명은 2.1절에서 후술할 것이다.
나아가, 상위 바운드 를 계산할 때, 내의 모든 트라이앵글 에 대하여 을 고려할 필요가 없다. 왜냐하면, 하우스도르프 거리를 구함에 있어, 에 걸쳐서 의 최소값에만 오직 관심이 있기 때문이다. 이와 유사한 논리 하위 바운드 계산에도 적용될 수 있다. 이 과정을 폴리곤 모델 상에서의 선별제거(culling)라 칭하기로 하며, 더욱 자세한 설명은 2.2절에서 후술할 것이다. 그리고 폴리곤 모델 상에서의 선별제거 및 폴리곤 모델 상에서의 선별제거를 합하여 교차 선별제거(cross-culling)라 칭하기로 한다.
와 에 대하여 이 교차 선별제거가 완료된 후에는, 선별제거로부터 살아남은 트라이앵글들 의 리스트와, 그들의 개별 상위 바운드 및 하위 바운드 , 를 가지고 있게 된다. 또한 상기된 정리 2에서 보인 바와 같이, , 로부터 의 상위 바운드 및 하위 바운드 및 를 계산할 수 있다. 그러면, 만일 인 트라이앵글 가 존재한다면, 그 트라이앵글은 에 기여할 수 없고, 이러한 트라이앵글들을 더 선별하여 제거할 수 있다. 이제, 나머지 트라이앵글들 에 대하여 사용자 정의된 소정 에러 경계값 ε 의 범위 안에서 하우스도르프 거리를 계산할 필요가 있다. 본 실시예에서는, 를 정확히 산출하기 위하여 새로운 분할(subdivision) 기법을 사용한다. 보다 자세한 내용은 3절에서 설명할 것이다.
도 1은 본 발명의 일 실시예에 따른 하우스도르프 거리 산출 방법을 나타낸 흐름도이고, 다음 표는 본 발명의 실시예의 설명에서 사용되는 기호를 나타낸다.
도 1을 참조하면, 를 계산하는 본 발명의 실시예에 따른 하우스도르프 거리 산출 방법은, 도시된 바와 같이, 모델 상에서의 트라이앵글 선별 제거 단계(S100), 모델 상에서의 트라이앵글 선별제거 단계(S200), 트라이앵글 분할 단계(S300)로 이루어진다. 모델 상에서의 트라이앵글 선별제거 단계(S100)는 S220단계로부터 전달받은 및 를 기초로 를 업데이트하는 단계(S110), 내의 트라이앵글들 중 에 기여하지 않는 트라이앵글들을 선별제거하는 단계로서, 의 상위 바운드가 보다 작게 되는 트라이앵글 를 선별제거하는 단계(S120)로 이루어진다. 이를 통해 남은 트라이앵글 는 모델 상에서의 트라이앵글 선별제거 단계(S200)로 전달되고, S200 단계는, 내의 트라이앵글들 중, 남은 트라이앵글 에서 로의 하우스도르프 거리 에 기여하지 않는 트라이앵글들을 선별제거하는 단계로서, 인 를 선별제거하는 단계(S210), 그 결과 남은 트라이앵글을 기초로 및 를 업데이트하는 단계(S220)로 이루어진다. S100 단계 및 S200단계로부터 남은 트라이앵글 는 및 와 함께 트라이앵글 분할 단계(S300)로 전달된다. S300단계에서는, 일 때까지 를 분할하여 및 를 업데이트한다. 다시 말하면, 를 복수 개의 트라이앵글로 분할하고, 분할된 트라이앵글에 대하여 S100단계 및 S200단계를 일 때까지 반복한다.
2. 교차 선별제거(cross-culling)
본 발명의 실시예에서 교차 선별제거의 목적은 에 기여하지 않는, 내의 트라이앵글 의 집합과, (여기서, 는 에 대한 컬링에서 살아남은 트라이앵글들)에 기여하지 않는, 내의 트라이앵글 의 집합을 보수적으로 찾기 위한 것이다.
1절에서 설명한 바와 같이, 어떤 트라이앵글들 는, 만일 에 대한 상위 바운드 가 현재의 전체적인 하위 바운드 보다 작다면, 의 계산에서 고려될 필요가 없다. 본 실시예에서는 이러한 선별제거를 바운딩 볼륨(bounding volume)을 이용하여 트라이앵글들의 집합으로 확장한다.
여기서, 는 내의 어떤 포인트이다. 따라서, 만일 가 현재 의 하위 바운드 보다 작다면, 바운딩 볼륨 에 포함된 모든 트라이앵글들 을 선별제거할 수 있다. 보다 더 효과적으로, 이 선별제거 과정은 swept sphere volume(SSV)와 같은 표준 바운딩 볼륨 계층(Bounding Volume Hierarchy, BVH)을 사용하여 계층적으로 수행될 수 있다.
따라서 본 실시예에서 바운딩 볼륨의 선택은 SSV로 할 수 있다. SSV는 PSS(Point Swept Sphere), LSS(Line Swept Sphere), 그리고 RSS(Rectangle Swept Sphere)로 구성되고, 이들은 각각 구를 가지는 포인트, 선, 그리고 직사각형의 민코프스키 합(Minkowski sum)들로 정의된다. 도 2는 RSS(Rectangle Swept Sphere)의 예를 나타낸다. 본 실시예에서 바운딩 볼륨으로 SSV를 선택하는 이유는 두 가지이다. 첫째, SSV를 사용하면, 폴리곤-수프(polygon-soup) 모델들 간의 유클리디안 거리를 효과적으로 계산할 수 있고, 이 오퍼레이션은 본 실시예에 따른 하우스도르프 거리 계산에서 종종 요구된다. 둘째, 상기 수학식 8이 간단하게 계산될 수 있다. 더 정확하게 말하면, 포인트 를 내의 에 가장 가까운 포인트로 정할 수 있고, 그러면 는 와, SSV를 구성하는 생성 버텍스(generator vertex)들 사이의 유클리디안 거리를 고려하여 간단하게 얻어질 수 있다. Rectangle Swept Sphere(RSS)를 예로 들면, 는 다음 수학식과 같이 얻어진다.
여기서, 도 2에 도시된 바와 같이, ()는 RSS의 생성 프리미티브 직사각형(generator primitive rectangle)의 네 버텍스이고, r 은 RSS를 구성하는 데 이용되는 swept sphere의 반지름이다
상에서의 선별제거 과정을 통해 에 기여할 기회를 가지지 않는 트라이앵글들을 걸러낸 후, 본 발명의 실시예에서는 상기 보조 정리 2를 이용하여, 나머지 트라이앵글들에 상에서 타이트한 상위 바운드 및 하위 바운드를 찾는다. 다음 절에서는 이러한 바운드를 어떻게 효율적으로 계산할 것인지 설명하기로 한다.
또한, 주어진 트라이앵글 및 그것의 버텍스들 에 대하여 값을 감소시킬 필요가 있다. > 라고 가정하면, 이다. 이는 이기 때문이다. 따라서 도, 또는 내에 포함된 어떤 트라이앵글도 에 기여할 수 없다. 따라서 이러한 트라이앵글들은 선별제거될 수 있다.
2.2.1. 그룹 순회(Group Traversal)
주어진 트라이앵글 에 대하여 를 계산하기 위해, 상술한 선별제거 기법은 내의 모든 세 버텍스들 에 대하여 의 계산을 요구하고, 이것은 이번에는, 내에서 에 가장 가까운 트라이앵글을 찾는 것을 요구한다. 수학식 12에서 이 트라이앵글이 로 나타난다. 그러나, 내의 몇 버텍스들이 내의 가까운 트라이앵글들의 집합에 모두 가장 가까울 때, 같은 트라이앵글 의 다른 버텍스들에 대하여 의 반복적인 계산은 낭비적일 수 있다. 왜냐하면 를 찾는 것은 도 3-(a)에 도시된 바와 같이 개별적인 탑다운(top-down) BVH 순회(traversal)를 요구하기 때문이다. 따라서 본 발명의 실시예에서는, 이 계산의 속도를 빠르게 하기 위하여, 내의 트라이앵글들을 파티션(partition)하여 클러스터(cluster)하고, 각 클러스터를 바운딩 볼륨으로 둘러싼다. 일 실시예로서, 네 개 또는 그보다 적은 트라이앵글들을 하나의 리프-레벨(leaf-level) 바운딩 볼륨으로 넣을 수 있다. 그리고 와 클러스터된 바운딩 볼륨들 간에 최근접 거리 질의(closest-distance query)를 수행한다. 로부터 리프-레벨(leaf-level)의 바운딩 볼륨 으로의 최소 거리(minimal distance)를 발견하고, 또한 그것이 보다 작다면, 도 3-(b)에 도시된 바와 같이, 를 찾기 위하여 와 의 모든 가능한 이원 조합(pairwise combination)들을 테스트한다. 이러한 과정을 그룹 순회(Group Traversal)라 칭하기로 한다. 이러한 그룹 순회를 적용하여 모델 에 대한 선별제거를 수행하기 위한 수도-코드(pseudo-code)는 다음과 같다.
3. 트라이앵글 분할(Subdivision)
이제 모델 내에서 교차 선별제거로부터 살아남은 트라이앵글들 에 대한 하우스도르프 거리 를 계산할 필요가 있다. 다시 말하면, 만일 상기 수학식 6에서 트라이앵글 에 대하여 가 전체적인 하위 바운드 보다 크다면, 를 계산할 필요가 있다. 그러나, 이미 언급하였듯이, 의 정확한 계산은 비용이 많이 들기 때문에, 본 발명에서는 이를 사용자 정의된 소정 에러 경계값 ε 의 범위 안에서 근사한다. 이를 위하여 본 발명의 실시예에서는, 를 의 하우스도르프 거리의 상위 바운드와 하위 바운드 사이의 차이가 ε 보다 작을 때까지(즉, ) 또는 정확한 하우스도르프 거리가 얻어질 때까지 분할한다.
3.1. 알고리즘
도 4-(a)에 도시된 바와 같이 트라이앵글 를 네 개의 서브-트라이앵글들(세 트라이앵글의 집합 및 하나의 트라이앵글 )로 분할할 때, 상술한 2.1절 및 2.2절에서 설명한 선별제거 및 바운드 계산 기법을 이 서브-트라이앵글들에 적용할 수 있다. 그리고 이 과정을 에 대한 바운드 계산 동안에 얻어진 프록시미티(proximity) 정보를 활용함으로써 더 최적화시킬 수 있다. 왜냐하면 와 트라이앵글들 및 의 바운드들 간에는 매우 높은 코히어런스(coherence)가 예상되기 때문이다. 본 실시예에 따른 분할 과정은 다음과 같이 수행될 수 있다.
단계 1. 및 그것의 상위 바운드 가 주어질 때, 우선, 상기된 그룹 순회 기법을 이용하여 ≤ 인 내의 트라이앵글들의 집합 을 찾는다. 이기 때문에 의 사이즈는 매우 작다는 점을 알 수 있다.
단계 3. 에 대한 하우스도르프 거리의 상위 바운드 및 하위 바운드가 수학식 10 및 11을 이용하여 계산될 수 있다. 그러나 본 실시예에서는, 아래에 설명하는 것과 같이, 전체 집합 대신에 집합 만을 사용한다. 이기 때문에 이는 매우 효과적인 방법이다. 후술할 보조 정리 3으로부터 이 방법의 정당성을 확인할 수 있다. 단계 3은 구체적으로 다음과 같이 수행할 수 있다.
▷ 다른 세 서브-트라이앵글들 의 바운드들은 집합 로부터 상기된 바 와 유사한 방법으로 얻어질 수 있다. 이때, 트라이앵글 의 버텍스들 로부터 모델 로의 가장 가까운 거리 는 서브-트라이앵글 의 바운드를 계산하기 위해 다시 사용될 수 있다. 왜냐하면, 버텍스들 는 와 에 의해 공유되기 때문이다.
단계 4. 다음 조건들 중 하나가 만족할 때까지 단계 2와 단계 3을 반복한다.
▷ 만일 내의 모든 버텍스들에 가장 가까운 트라이앵글들이 동일하다면, 상위 바운드와 하위 바운드가 동일하기 때문에(즉, =), 에 대하여 분할 과정은 종료된다. 이 경우에서, 정확한 하우스도르프 거리 를 얻게 된다.
▷ 만일 모델 및 가 모두 닫혀 있다면(closed), 가 후술할 보조 정리 4 및 도 5에서 도시된 것처럼 에 의해 변환될 때 에 의해 둘러싸이는지 체크한다. 만일 그렇다면, 의 상위 바운드 및 하위 바운드의 차이는 사용자 정의된 에러 경계값 ε 의 범위 내에 들어오고, 따라서 더 이상의 분할은 요구되지 않는다. 본 조건은 선택적으로 채용될 수 있다.
보조 정리 3.
보조 정리 4.
및 를 각각 를 실현하는 내의 버텍스 및 내의 트라이앵글이라 하자. 즉, . 나아가, 로부터 로의 가장 가까운 방향 벡터를 (즉, )라고 하자. 그러면, 를 를 따라서 만큼 변환할 때, 만일 가 모델 에 의해 완전히 둘러싸여진다면, 다음 부등식이 성립한다.
3.2 보로노이 분할 기법(Voronoi Subdivision)
3.1절의 단계 2에서 를 다시 나누는 하나의 간단한 방법은 의 각 에지를 종료 조건이 만족할 때까지 단순히 이등분하는 것이다. 그러나, 본 발명의 일 실시예에서, 분할 과정이 조기에 종료될 수 있도록 하기 위한 보다 효과적인 방법을 채용할 수 있다. 여기서의 주요한 관찰 정보는 의 모든 버텍스들이 내의 동일한 트라이앵글로 사영(projection)될 때, 더 이상의 분할은 불필요하다는 것이다. 따라서 에지 상에, 이전 버텍스들이 사영되는 트라이앵글과 동일한 트라이앵글로 사영되는 새로운 버텍스를 추가한다.
보다 구체적으로 설명하면 다음과 같다. 도 4-(b)에 도시된 바와 같이, 를, 양끝 버텍스 및 를 가지는, 분할될 필요가 있는 에지라 하자, 왜냐하면 및 는 각각 다른 트라이앵글, 즉 및 로 사영되기 때문이다. 그러면, 본 실시예에서 이 및 로부터 동일한 거리에 있도록 하는 새로운 버텍스 을 에지 상에 더하는 것이 요구된다. 즉, =. 다시 말하면, 및 의 이등분 평면 (즉, voronoi boundary)와 에지 사이의 교차 포인트를 찾는 것이 요구된다. 다만 트라이앵글에 대한 이등분 평면을 계산하는 것은 상대적으로 비용이 많이 들기 때문에, 본 발명의 일 실시예에서는, 과 를 함유하는 평면들로부터 동일 거리에 있는 버텍스 을, 간단한 선형 방정식을 풀음으로써 찾을 수 있다.
4. 양방향(Two-sided) 하우스도르프 거리
지금까지 본 발명의 일 실시예에 따른 하우스도르프 거리 를 산출하는 효과적인 방법을 기술하였다. 양방향(two-sided) 하우스도르프 거리 를 산출하는 방법은 및 를 독립적으로 계산하고 그들의 최대값을 취하는 것이다. 그러나, 의 계산 및 의 계산 사이의 상호 의존성을 활용함으로써 를 보다 효과적으로 찾을 수 있다. 구체적으로 말하면, 2절 및 3절에서 설명된 기법을 사용해서 를 계산하고, 다음으로 아래와 같은 관 찰 정보를 사용해서 의 계산을 보다 빠르게 수행할 수 있다.
▷ 이기 때문에, 이미 계산된 값을 의 현재의 하위 바운드 로 초기화할 수 있다. 이러한 초기화는 2.1절의 첫 번째 선별제거 과정에서 하위 바운드 를 명백하게 0으로 하는 경우보다 훨씬 양호한 선별제거 결과를 제공한다.
▷ 를 계산할 때, 2.2절의 두 번째 선별제거 과정은 와 내에서 가장 가까운 트라이앵글들을 많이 찾는 것을 요구한다. 본 발명의 일 실시예에서는, 이렇게 찾아진 트라이앵글 쌍들의 정보를 캐쉬하고 를 계산함에 있어서의 두 번째 선별제거 과정에서 이들을 다시 사용할 수 있다.
이상에서, 본 발명의 일 실시예에 따른, 복잡한 폴리곤 모델들 간의 하우스도르프 거리를 산출하는 방법에 관하여 설명하였다. 본 실시예에 따른 하우스도르프 거리 산출 방법은, 근원적인 토폴로지 및 지오미트리(geometry)에 관한 어떠한 가정도 요구하지 않는다. 본 발명의 실시예에 의하면, 수만 개의 트라이앵글들로 구성되는 폴리곤 모델들 사이의 하우스도르프 거리를 실시간으로 작은 에러 경계값을 가지고 근사할 수 있고, 기존의 방법보다 뛰어난 성능을 나타낸다. 본 발명에 따른 하우스도르프 거리 산출 방법은, 모양 유사도 측정, 관통 깊이 계산 등 다양한 어플리케이션에 적용될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으 로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 하우스도르프 거리 산출 방법을 나타낸 흐름도이다.
도 2는 RSS(Rectangle Swept Sphere)의 예를 나타낸다.
도 3은 BVH에 대한 그룹 순회를 나타내는 개념도로서, 모든 에 대하여 를 계산하기 위하여, (a)는 개별적인 탑다운 BVH 순회를 수행하는 방법을, (b)는 및 바운딩 볼륨 에 대하여 단일한 탑다운 BVH 그룹 순회를 수행하는 방법을 나타낸다.
도 4는 보로노이 분할 기법을 나타내는 개념도로서, (a)는 트라이앵글 가 네 서브-트라이앵글??로 분할되는 모습을, (b)는 에지 상의 새로운 버텍스 이 , 의 이등분 평면 와 의 교차점인 모습을 나타낸다.
Claims (14)
- 폴리곤 모델에 대한 하우스도르프 거리 산출 방법에 있어서,(a2) 상기 내의 트라이앵글들 중, 상기 (a1) 단계의 수행 결과 남은 트라이앵글 에서 상기 로의 하우스도르프 거리 에 기여하지 않는 트라이앵글들을 선별제거하고, 그 결과 남은 트라이앵글을 기초로 상기 의 상위 바운드 및 하위 바운드를 업데이트하는 단계;
- 제6항에 있어서,상기 바운딩 볼륨은 SSV(swept sphere volume)인 것을 특징으로 하는 하우스도르프 거리 산출 방법.
- 제11항에 있어서, 상기 (a4) 단계는,(a41) 상기 의 상위 바운드에 대하여, ≤을 만족하는 상기 내의 트라이앵글들의 집합 을 찾는 단계-여기서, 는 상기 의 상위 바운드를 나타내고, 는 상기 내의 트라이앵글을 나타내며, 는 유클리디안 거리 연산자를 나타냄;(a44) 미리 정하여진 종료 조건을 만족할 때까지 상기 (a42) 단계 내지 (a43) 단계를 반복하는 단계를 포함하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
- 제1항 내지 제13항 중 어느 한 항에 기재된, 폴리곤 모델에 대한 하우스도 르프 거리 산출 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090102039A KR101067826B1 (ko) | 2009-10-27 | 2009-10-27 | 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090102039A KR101067826B1 (ko) | 2009-10-27 | 2009-10-27 | 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110050759A KR20110050759A (ko) | 2011-05-17 |
KR101067826B1 true KR101067826B1 (ko) | 2011-09-27 |
Family
ID=44361238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090102039A KR101067826B1 (ko) | 2009-10-27 | 2009-10-27 | 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101067826B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9683114B2 (en) * | 2014-03-19 | 2017-06-20 | Samsung Sdi Co., Ltd. | Monomer for hardmask composition, hardmask composition including the monomer, and method of forming patterns using the hardmask composition |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10339669B2 (en) * | 2017-08-22 | 2019-07-02 | Here Global B.V. | Method, apparatus, and system for a vertex-based evaluation of polygon similarity |
KR102056728B1 (ko) | 2017-12-11 | 2019-12-17 | 한국전자통신연구원 | 평면 물체의 자세 인식 방법 및 이를 위한 장치 |
CN117593485B (zh) * | 2024-01-16 | 2024-04-30 | 山东大学 | 基于豪斯多夫距离感知的三维模型简化方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030016477A (ko) * | 2001-08-20 | 2003-03-03 | 엘지전자 주식회사 | 3차원 다각형 표면의 리메슁 최적화 방법 및 장치 |
US20070233733A1 (en) | 2006-04-04 | 2007-10-04 | Sony Corporation | Fast generalized 2-Dimensional heap for hausdorff and earth mover's distance |
-
2009
- 2009-10-27 KR KR1020090102039A patent/KR101067826B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030016477A (ko) * | 2001-08-20 | 2003-03-03 | 엘지전자 주식회사 | 3차원 다각형 표면의 리메슁 최적화 방법 및 장치 |
US20070233733A1 (en) | 2006-04-04 | 2007-10-04 | Sony Corporation | Fast generalized 2-Dimensional heap for hausdorff and earth mover's distance |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9683114B2 (en) * | 2014-03-19 | 2017-06-20 | Samsung Sdi Co., Ltd. | Monomer for hardmask composition, hardmask composition including the monomer, and method of forming patterns using the hardmask composition |
Also Published As
Publication number | Publication date |
---|---|
KR20110050759A (ko) | 2011-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lu et al. | Deep feature-preserving normal estimation for point cloud filtering | |
Melzi et al. | Zoomout: Spectral upsampling for efficient shape correspondence | |
Crane et al. | A survey of algorithms for geodesic paths and distances | |
US8368568B2 (en) | Compression and decompression of numerical data | |
He et al. | Mesh denoising via l 0 minimization | |
Bommes et al. | Integer-grid maps for reliable quad meshing | |
Gao et al. | Robust hex-dominant mesh generation using field-guided polyhedral agglomeration | |
Hu et al. | Centroidal Voronoi tessellation based polycube construction for adaptive all-hexahedral mesh generation | |
CN109584357B (zh) | 基于多轮廓线的三维建模方法、装置、系统及存储介质 | |
KR101067826B1 (ko) | 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 | |
US20220318591A1 (en) | Inference method and information processing apparatus | |
Alamdari et al. | Morphing planar graph drawings with a polynomial number of steps | |
Nehring-Wirxel et al. | Fast exact booleans for iterated CSG using octree-embedded BSPs | |
JP6311404B2 (ja) | 管理プログラム、管理装置および管理方法 | |
Dyken et al. | Simultaneous curve simplification | |
Li et al. | On surface reconstruction: A priority driven approach | |
Aghdaii et al. | 5–6–7 Meshes: Remeshing and analysis | |
Trettner et al. | EMBER: exact mesh booleans via efficient & robust local arrangements | |
US11941771B2 (en) | Multi-dimensional model texture transfer | |
Liu et al. | Error-bounded edge-based remeshing of high-order tetrahedral meshes | |
Sheng et al. | Accelerated robust Boolean operations based on hybrid representations | |
CN109983509B (zh) | 一种使用几何面的即时布尔运算方法 | |
Ma et al. | Plane segmentation and decimation of point clouds for 3D environment reconstruction | |
US11797543B2 (en) | System and method for cascade elimination of candidates in spatial relation operations | |
JP2022041425A (ja) | シミュレーションプログラム、シミュレーション方法およびシミュレーションシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140901 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150908 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170309 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180919 Year of fee payment: 8 |