KR101067826B1 - 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 - Google Patents

폴리곤 모델에 대한 하우스도르프 거리 산출 방법 Download PDF

Info

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
Application number
KR1020090102039A
Other languages
English (en)
Other versions
KR20110050759A (ko
Inventor
김영준
탕민
Original Assignee
이화여자대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이화여자대학교 산학협력단 filed Critical 이화여자대학교 산학협력단
Priority to KR1020090102039A priority Critical patent/KR101067826B1/ko
Publication of KR20110050759A publication Critical patent/KR20110050759A/ko
Application granted granted Critical
Publication of KR101067826B1 publication Critical patent/KR101067826B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite 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) 폴리곤 모델
Figure 112009065613677-pat00001
Figure 112009065613677-pat00002
가 주어질 때, 상기
Figure 112009065613677-pat00003
에서 상기
Figure 112009065613677-pat00004
로의 하우스도르프 거리
Figure 112009065613677-pat00005
를 계산하는 단계로서, (a1) 상기
Figure 112009065613677-pat00006
내의 트라이앵글들
Figure 112009065613677-pat00007
중 상기
Figure 112009065613677-pat00008
에 기여하지 않는 트라이앵글들을 선별제거하는 단계; (a2) 상기
Figure 112009065613677-pat00009
내의 트라이앵글들 중, 상기 (a1) 단계의 수행 결과 남은 트라이앵글
Figure 112009065613677-pat00010
에서 상기
Figure 112009065613677-pat00011
로의 하우스도르프 거리
Figure 112009065613677-pat00012
에 기여하지 않는 트라이앵글들을 선별제거하고, 그 결과 남은 트라이앵글을 기초로 상기
Figure 112009065613677-pat00013
의 상위 바운드 및 하위 바운드를 업데이트하는 단계; (a3) 상기 업데이트된
Figure 112009065613677-pat00014
의 상위 바운드 및 하위 바운드를 기초로
Figure 112009065613677-pat00015
의 상위 바운드 및 하위 바운드를 업데이트하는 단계; 및 (a4) 상기 (a1) 내지 (a3) 단계의 수행 결과 남은 트라이앵글
Figure 112009065613677-pat00016
를 상기
Figure 112009065613677-pat00017
의 상위 바운드와 하위 바운드의 차이가 소정 값 이하일 때까지 분할하는 단계를 포함하는 것을 특징으로 한다.

Description

폴리곤 모델에 대한 하우스도르프 거리 산출 방법{Method for computation of Hausdorff distance for polygonal models}
본 발명은 컴퓨터 그래픽스에 관한 것으로 보다 상세하게는 폴리곤 모델들 간에 하우스도르프 거리를 계산하기 위한 방법에 관한 것이다.
기하학적(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) 폴리곤 모델
Figure 112009065613677-pat00018
Figure 112009065613677-pat00019
가 주어질 때, 상기
Figure 112009065613677-pat00020
에서 상기
Figure 112009065613677-pat00021
로의 하우스도르프 거리
Figure 112009065613677-pat00022
를 계산하는 단계로서, (a1) 상기
Figure 112009065613677-pat00023
내의 트라이앵글들
Figure 112009065613677-pat00024
중 상기
Figure 112009065613677-pat00025
에 기여하지 않는 트라이앵글들을 선별제거하는 단계; (a2) 상기
Figure 112009065613677-pat00026
내의 트라이앵글들 중, 상기 (a1) 단계의 수행 결과 남은 트라이앵글
Figure 112009065613677-pat00027
에서 상기
Figure 112009065613677-pat00028
로의 하우스도르프 거리
Figure 112009065613677-pat00029
에 기여하지 않는 트라이앵글들을 선별제거하고, 그 결과 남은 트라이앵글을 기초로 상기
Figure 112009065613677-pat00030
의 상위 바운드 및 하위 바운드를 업데이트하는 단계; (a3) 상기 업데이트된
Figure 112009065613677-pat00031
의 상위 바운드 및 하위 바운드를 기초로
Figure 112009065613677-pat00032
의 상위 바운드 및 하위 바운드를 업데이트하는 단계; 및 (a4) 상기 (a1) 내지 (a3) 단계의 수행 결과 남은 트라이앵글
Figure 112009065613677-pat00033
를 상기
Figure 112009065613677-pat00034
의 상위 바운드와 하위 바운드의 차이가 소정 값 이하일 때까지 분할하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 하우스도르프 거리 산출 방법은, (b) 상기
Figure 112009065613677-pat00035
에서 상기
Figure 112009065613677-pat00036
로의 하우스도르프 거리
Figure 112009065613677-pat00037
를 계산하는 단계; 및 (c) 상기
Figure 112009065613677-pat00038
와 상기
Figure 112009065613677-pat00039
의 최대값을 양방향(two-sided) 하우스도르프 거리
Figure 112009065613677-pat00040
로 취하는 단계를 더 포함할 수 있다.
또한, 상기 (b) 단계에서 하우스도르프 거리
Figure 112009065613677-pat00041
를 계산함에 있어서, 상기 (a) 단계에서 계산된
Figure 112009065613677-pat00042
Figure 112009065613677-pat00043
의 하위 바운드의 초기값으로 할 수 있다.
또한, 상기 (a1) 단계 및 상기 (a2) 단계의 수행 결과 남은 트라이앵글들 쌍들의 정보를 캐쉬하고, 상기 (b) 단계에서 하우스도르프 거리
Figure 112009065613677-pat00044
를 계산함에 있어 상기 정보를 재사용할 수 있다.
또한, 상기 (a1) 단계는, 상기
Figure 112009065613677-pat00045
의 상위 바운드가 상기
Figure 112009065613677-pat00046
의 하위 바운드보다 작게 되는 트라이앵글
Figure 112009065613677-pat00047
를 상기
Figure 112009065613677-pat00048
에 기여하지 않는 트라이앵글들로서 선별하여 제거할 수 있다.
또한, 상기 (a1) 단계는, 트라이앵글들
Figure 112009065613677-pat00049
의 집합을 둘러싸는 바운딩 볼륨에서 상기
Figure 112009065613677-pat00050
내의 어떤 포인트로의 하우스도르프 거리가 상기
Figure 112009065613677-pat00051
의 하위 바운드보다 작게 되는 바운딩 볼륨에 포함되는 트라이앵글들
Figure 112009065613677-pat00052
를 상기
Figure 112009065613677-pat00053
에 기여하지 않는 트라이앵글들로서 선별하여 제거할 수 있다.
또한, 상기 바운딩 볼륨은 SSV(swept sphere volume)일 수 있다.
또한, 상기 (a2) 단계에서 상기
Figure 112009065613677-pat00054
의 상위 바운드는 다음 수학식과 같이 정의될 수 있다.
Figure 112009065613677-pat00055
.
여기서,
Figure 112009065613677-pat00056
는 상기
Figure 112009065613677-pat00057
내의 버텍스들을,
Figure 112009065613677-pat00058
는 유클리디안 거리 연산자를 나타낸다.
또한, 상기
Figure 112009065613677-pat00059
내에서 상기
Figure 112009065613677-pat00060
에 가장 가까운 트라이앵글
Figure 112009065613677-pat00061
를 찾기 위하여 상기
Figure 112009065613677-pat00062
내의 트라이앵글들을 파티션하여 클러스터하고 각 클러스터를 바운딩 볼륨으로 둘러싼 뒤,
Figure 112009065613677-pat00063
와 클러스터된 바운딩 볼륨 간에 최단 거리 질의를 수행할 수 있다.
또한, 상기 (a4) 단계는, 상기 트라이앵글
Figure 112009065613677-pat00064
를 복수 개의 서브-트라이앵글로 분할하고, 상기 서브-트라이앵글에 대하여 상기 (a1) 내지 (a3) 단계를 반복하여 수행할 수 있다.
또한, 상기 트라이앵글
Figure 112009065613677-pat00065
를 복수 개의 서브-트라이앵글로 분할함에 있어서, 상기 트라이앵글
Figure 112009065613677-pat00066
의 에지를 따라 바깥쪽의 서브-트라이앵글들
Figure 112009065613677-pat00067
및 안쪽의 서브-트라이앵글
Figure 112009065613677-pat00068
로 분할할 수 있다.
또한, 상기 (a4) 단계는, (a41) 상기
Figure 112009065613677-pat00069
의 상위 바운드에 대하여,
Figure 112009065613677-pat00070
-
Figure 112009065613677-pat00071
Figure 112009065613677-pat00072
을 만족하는 상기
Figure 112009065613677-pat00073
내의 트라이앵글들의 집합
Figure 112009065613677-pat00074
을 찾는 단계; (a42) 상기 트라이앵글
Figure 112009065613677-pat00075
를 상기 에지를 따라 상기 서브-트라이앵글들
Figure 112009065613677-pat00076
Figure 112009065613677-pat00077
로 분할하는 단계; (a43) 상기 집합
Figure 112009065613677-pat00078
을 사용하여
Figure 112009065613677-pat00079
에서 상기
Figure 112009065613677-pat00080
로의 하우스도르프 거리의 상위 바운드 및 하위 바운드를 계산하는 단계; 및 (a44) 미리 정하여진 종료 조건을 만족할 때까지 상기 (a42) 단계 내지 (a43) 단계를 반복하는 단계를 포함할 수 있다.
또한, 상기 (a42) 단계는, 상기 에지 상에 상기
Figure 112009065613677-pat00081
의 버텍스들이 사영되는 상기
Figure 112009065613677-pat00082
내의 트라이앵글과 동일한 트라이앵글에 사영되는 새로운 버텍스를 추가하고 상기 추가된 버텍스를 기준으로 상기 트라이앵글
Figure 112009065613677-pat00083
를 분할할 수 있다.
상기 또 다른 기술적 과제를 해결하기 위하여 상기된 본 발명에 따른, 폴리곤 모델에 대한 하우스도르프 거리 산출 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기된 본 발명에 의하면, 폴리곤 모델들 간에 하우스도르프 거리를 계산하기 위한 빠르고 간단한 하우스도르프 거리 산출 방법 및 이 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이하 설명 및 첨부된 도면들에서 실질적으로 동일한 구성요소들은 각각 동일한 부호들로 나타냄으로써 중복 설명을 생략하기로 한다. 또한 본 발명을 설명함에 있어 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
1. 사전 정의 및 개요
우선, 본 발명에 따른 하우스도르프 거리 산출 방법의 실시예를 상세히 설명하기에 앞서 몇 가지 사전 정의와 실시예의 전체적인 개요를 설명하기로 한다.
1.1. 사전 정의
본 발명의 실시예에서, 하우스도르프 거리를 계산하는 문제는 다음과 같이 정의될 수 있다.
<정의 1>
3차원(R3)에서 두 폴리곤 모델
Figure 112009065613677-pat00084
Figure 112009065613677-pat00085
가 주어질 때,
Figure 112009065613677-pat00086
로부터
Figure 112009065613677-pat00087
의 일방향(one-sided) 하우스도르프 거리는 다음과 같이 정의된다. 여기서,
Figure 112009065613677-pat00088
Figure 112009065613677-pat00089
는 컴팩트 셋(compact set)이다.
Figure 112009065613677-pat00090
여기서,
Figure 112009065613677-pat00091
는 R3에서 유클리디안 거리(Euclidean distance) 연산자(operator)를 나타낸다. 그러면
Figure 112009065613677-pat00092
Figure 112009065613677-pat00093
간의 양방향(two-sided) 하우스도르프 거리는 다음과 같이 정의된다.
Figure 112009065613677-pat00094
즉,
Figure 112009065613677-pat00095
Figure 112009065613677-pat00096
간의 양방향 하우스도르프 거리는
Figure 112009065613677-pat00097
Figure 112009065613677-pat00098
의 최대값에 해당한다. 이하에서, "하우스도르프 거리"라 하면 일방향 하우스도로프 거리를 의미하는 것으로 설명하기로 한다.
상기된 정의로부터, 폴리곤 모델들에 대하여 다음과 같은 정리가 유도될 수 있다.
<정리 1>
만일
Figure 112009065613677-pat00099
Figure 112009065613677-pat00100
가 폴리곤 모델들이고,
Figure 112009065613677-pat00101
가 A 내의 트라이앵글을 나타낸다면, 다음 수학식이 성립한다.
Figure 112009065613677-pat00102
상기 정리 1로부터,
Figure 112009065613677-pat00103
를 계산하는 것은
Figure 112009065613677-pat00104
를 계산하는 것으로 요약될 수 있다. 다음에서, 하우스도르프 거리 메트릭의 바운드(bound)와 관련된 보조 정리를 제시한다. 이 보조 정리는 본 발명의 실시예에 따른 하우스도르프 거리 산출 방법의 내용 중 후술할 교차 선별(cross-culling) 과정에서 중요한 역할을 한다.
<보조 정리 1>
컴팩트 셋(compact set)
Figure 112009065613677-pat00105
,
Figure 112009065613677-pat00106
,
Figure 112009065613677-pat00107
,
Figure 112009065613677-pat00108
이 주어질 때,
Figure 112009065613677-pat00109
Figure 112009065613677-pat00110
,
Figure 112009065613677-pat00111
Figure 112009065613677-pat00112
이면, 다음 부등식이 성립한다.
Figure 112009065613677-pat00113
상기 보조 정리 1에 기초하여, 두 폴리곤 모델들 간의 일방향 하우스도르프 거리의 상위 바운드(upper bound)와 하위 바운드(lower bound)를 계산하는 간단한 방법을 제시하면 다음과 같다.
<보조 정리 2>
Figure 112009065613677-pat00114
를 트라이앵글
Figure 112009065613677-pat00115
의 의 세 버텍스(vertex) 중 하나라고 하면,
Figure 112009065613677-pat00116
에서
Figure 112009065613677-pat00117
로의 하우스도로프 거리
Figure 112009065613677-pat00118
의 상위 바운드 및 하위 바운드는 다음 수학식과 같이 얻어질 수 있다.
Figure 112009065613677-pat00119
상기 수학식 4에서, 하위 바운드
Figure 112009065613677-pat00120
(또는
Figure 112009065613677-pat00121
)는, 그 계산이 점으로부터 오브젝트로의 유클리디안 거리만을 요구하므로, PQP(Proximity Query Package) 라이브러리와 같은 알려진 프록시미티 패키지로부터 약간의 변형을 통하여 쉽게 얻어질 수 있다. 게다가,
Figure 112009065613677-pat00122
이기 때문에, 상위 바운드
Figure 112009065613677-pat00123
역시 간단하게 얻어질 수 있다. 여기서,
Figure 112009065613677-pat00124
Figure 112009065613677-pat00125
의 버텍스이고,
Figure 112009065613677-pat00126
Figure 112009065613677-pat00127
내의 트라이앵글이다.
<정리 2>
그리고 상기 정리 1과 보조 정리 2로부터
Figure 112009065613677-pat00128
의 상위 바운드
Figure 112009065613677-pat00129
및 하위 바운드
Figure 112009065613677-pat00130
는 다음 수학식과 같이 나타내어진다.
Figure 112009065613677-pat00131
1.2. 개요
상기 정리 1에 기초하여, 본 실시예에 따른 하우스도르프 거리 산출 방법의 주요한 수단은 각
Figure 112009065613677-pat00132
(여기서,
Figure 112009065613677-pat00133
)에 대하여
Figure 112009065613677-pat00134
를 계산하고, 그것을 최대화시키는 것이다. 그러나
Figure 112009065613677-pat00135
를 정확히 계산하는 것은 비용이 많이 들고 따라서 본 발명의 실시예에서는 회피할 것이다. 따라서 본 실시예에서는 어떤 트라이앵글
Figure 112009065613677-pat00136
가, 만일
Figure 112009065613677-pat00137
인 다른 트라이앵글
Figure 112009065613677-pat00138
가 존재한다면,
Figure 112009065613677-pat00139
의 최종 값에 기여하지 않을 거라는 중요한 관찰 정보를 이용한다. 이를 보다 자세히 설명하면 다음과 같다.
다음 수학식과 같이
Figure 112009065613677-pat00140
내의 처음 i 트라이앵글들에 대한 하우스도르프 거리를 고려한 후에
Figure 112009065613677-pat00141
의 현재의 하위 바운드를
Figure 112009065613677-pat00142
라 나타내기로 한다.
Figure 112009065613677-pat00143
다음으로, (i+1) 번째 트라이앵글
Figure 112009065613677-pat00144
에 대한 하우스도르프 거리를 고려할 때, 그것의 상위 바운드
Figure 112009065613677-pat00145
을 계산하고, 그것을 와 비교한다. 만일
Figure 112009065613677-pat00147
<
Figure 112009065613677-pat00148
라면, 틀림없이
Figure 112009065613677-pat00149
Figure 112009065613677-pat00150
에 기여하지 않는 트라이앵글로서 제거할 수 있다. 그렇지 않다면, 하위 바운드
Figure 112009065613677-pat00151
를 계산하고, 그 결과에 따라 현재의 하위 바운드를 업데이트하고, 또한,
Figure 112009065613677-pat00152
을 더 정확하게 계산하기 위하여 트라이앵글
Figure 112009065613677-pat00153
정보를 저장하여 둔다. 이하에서는 이러한 과정을 폴리곤 모델
Figure 112009065613677-pat00154
상에서의 선별제거(culling)라 칭하기로 한다. 이에 관한 더욱 자세한 설명은 2.1절에서 후술할 것이다.
나아가, 상위 바운드
Figure 112009065613677-pat00155
를 계산할 때,
Figure 112009065613677-pat00156
내의 모든 트라이앵글
Figure 112009065613677-pat00157
에 대하여
Figure 112009065613677-pat00158
을 고려할 필요가 없다. 왜냐하면, 하우스도르프 거리를 구함에 있어,
Figure 112009065613677-pat00159
에 걸쳐서
Figure 112009065613677-pat00160
의 최소값에만 오직 관심이 있기 때문이다. 이와 유사한 논리 하위 바운드 계산에도 적용될 수 있다. 이 과정을 폴리곤 모델
Figure 112009065613677-pat00161
상에서의 선별제거(culling)라 칭하기로 하며, 더욱 자세한 설명은 2.2절에서 후술할 것이다. 그리고 폴리곤 모델
Figure 112009065613677-pat00162
상에서의 선별제거 및 폴리곤 모델
Figure 112009065613677-pat00163
상에서의 선별제거를 합하여 교차 선별제거(cross-culling)라 칭하기로 한다.
Figure 112009065613677-pat00164
Figure 112009065613677-pat00165
에 대하여 이 교차 선별제거가 완료된 후에는, 선별제거로부터 살아남은 트라이앵글들
Figure 112009065613677-pat00166
의 리스트와, 그들의 개별 상위 바운드 및 하위 바운드
Figure 112009065613677-pat00167
,
Figure 112009065613677-pat00168
를 가지고 있게 된다. 또한 상기된 정리 2에서 보인 바와 같이,
Figure 112009065613677-pat00169
,
Figure 112009065613677-pat00170
로부터
Figure 112009065613677-pat00171
의 상위 바운드 및 하위 바운드
Figure 112009065613677-pat00172
Figure 112009065613677-pat00173
를 계산할 수 있다. 그러면, 만일
Figure 112009065613677-pat00174
인 트라이앵글
Figure 112009065613677-pat00175
가 존재한다면, 그 트라이앵글은
Figure 112009065613677-pat00176
에 기여할 수 없고, 이러한 트라이앵글들을 더 선별하여 제거할 수 있다. 이제, 나머지 트라이앵글들
Figure 112009065613677-pat00177
에 대하여 사용자 정의된 소정 에러 경계값 ε 의 범위 안에서 하우스도르프 거리를 계산할 필요가 있다. 본 실시예에서는,
Figure 112009065613677-pat00178
를 정확히 산출하기 위하여 새로운 분할(subdivision) 기법을 사용한다. 보다 자세한 내용은 3절에서 설명할 것이다.
도 1은 본 발명의 일 실시예에 따른 하우스도르프 거리 산출 방법을 나타낸 흐름도이고, 다음 표는 본 발명의 실시예의 설명에서 사용되는 기호를 나타낸다.
Figure 112009065613677-pat00179
도 1을 참조하면,
Figure 112009065613677-pat00180
를 계산하는 본 발명의 실시예에 따른 하우스도르프 거리 산출 방법은, 도시된 바와 같이, 모델
Figure 112009065613677-pat00181
상에서의 트라이앵글 선별 제거 단계(S100), 모델
Figure 112009065613677-pat00182
상에서의 트라이앵글 선별제거 단계(S200), 트라이앵글 분할 단계(S300)로 이루어진다. 모델
Figure 112009065613677-pat00183
상에서의 트라이앵글 선별제거 단계(S100)는 S220단계로부터 전달받은
Figure 112009065613677-pat00184
Figure 112009065613677-pat00185
를 기초로
Figure 112009065613677-pat00186
Figure 112009065613677-pat00187
를 업데이트하는 단계(S110),
Figure 112009065613677-pat00188
내의 트라이앵글들
Figure 112009065613677-pat00189
Figure 112009065613677-pat00190
에 기여하지 않는 트라이앵글들을 선별제거하는 단계로서,
Figure 112009065613677-pat00191
의 상위 바운드가
Figure 112009065613677-pat00192
보다 작게 되는 트라이앵글
Figure 112009065613677-pat00193
를 선별제거하는 단계(S120)로 이루어진다. 이를 통해 남은 트라이앵글
Figure 112009065613677-pat00194
는 모델
Figure 112009065613677-pat00195
상에서의 트라이앵글 선별제거 단계(S200)로 전달되고, S200 단계는,
Figure 112009065613677-pat00196
내의 트라이앵글들 중, 남은 트라이앵글
Figure 112009065613677-pat00197
에서
Figure 112009065613677-pat00198
로의 하우스도르프 거리
Figure 112009065613677-pat00199
에 기여하지 않는 트라이앵글들을 선별제거하는 단계로서,
Figure 112009065613677-pat00200
Figure 112009065613677-pat00201
를 선별제거하는 단계(S210), 그 결과 남은 트라이앵글을 기초로
Figure 112009065613677-pat00202
Figure 112009065613677-pat00203
를 업데이트하는 단계(S220)로 이루어진다. S100 단계 및 S200단계로부터 남은 트라이앵글
Figure 112009065613677-pat00204
Figure 112009065613677-pat00205
Figure 112009065613677-pat00206
와 함께 트라이앵글 분할 단계(S300)로 전달된다. S300단계에서는,
Figure 112009065613677-pat00207
일 때까지
Figure 112009065613677-pat00208
를 분할하여
Figure 112009065613677-pat00209
Figure 112009065613677-pat00210
를 업데이트한다. 다시 말하면,
Figure 112009065613677-pat00211
를 복수 개의 트라이앵글로 분할하고, 분할된 트라이앵글에 대하여 S100단계 및 S200단계를
Figure 112009065613677-pat00212
일 때까지 반복한다.
2. 교차 선별제거(cross-culling)
본 발명의 실시예에서 교차 선별제거의 목적은
Figure 112009065613677-pat00213
에 기여하지 않는,
Figure 112009065613677-pat00214
내의 트라이앵글
Figure 112009065613677-pat00215
의 집합과,
Figure 112009065613677-pat00216
(여기서,
Figure 112009065613677-pat00217
Figure 112009065613677-pat00218
에 대한 컬링에서 살아남은 트라이앵글들)에 기여하지 않는,
Figure 112009065613677-pat00219
내의 트라이앵글
Figure 112009065613677-pat00220
의 집합을 보수적으로 찾기 위한 것이다.
2.1. 모델
Figure 112009065613677-pat00221
상에서의 선별제거
1절에서 설명한 바와 같이, 어떤 트라이앵글들
Figure 112009065613677-pat00222
는, 만일
Figure 112009065613677-pat00223
에 대한 상위 바운드
Figure 112009065613677-pat00224
가 현재의 전체적인 하위 바운드
Figure 112009065613677-pat00225
보다 작다면,
Figure 112009065613677-pat00226
의 계산에서 고려될 필요가 없다. 본 실시예에서는 이러한 선별제거를 바운딩 볼륨(bounding volume)을 이용하여 트라이앵글들의 집합으로 확장한다.
Figure 112009065613677-pat00227
를 트라이앵글들
Figure 112009065613677-pat00228
(즉,
Figure 112009065613677-pat00229
)의 집합을 둘러싸하는 바운딩 볼륨이라고 하자. 상기 보조 정리 1을 이용하면, 다음과 같은 수학식을 얻을 수 있다.
Figure 112009065613677-pat00230
여기서,
Figure 112009065613677-pat00231
Figure 112009065613677-pat00232
내의 어떤 포인트이다. 따라서, 만일
Figure 112009065613677-pat00233
가 현재 의 하위 바운드
Figure 112009065613677-pat00234
보다 작다면, 바운딩 볼륨
Figure 112009065613677-pat00235
에 포함된 모든 트라이앵글들
Figure 112009065613677-pat00236
을 선별제거할 수 있다. 보다 더 효과적으로, 이 선별제거 과정은 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이 간단하게 계산될 수 있다. 더 정확하게 말하면, 포인트
Figure 112009065613677-pat00237
Figure 112009065613677-pat00238
내의
Figure 112009065613677-pat00239
에 가장 가까운 포인트로 정할 수 있고, 그러면
Figure 112009065613677-pat00240
Figure 112009065613677-pat00241
와, SSV를 구성하는 생성 버텍스(generator vertex)들 사이의 유클리디안 거리를 고려하여 간단하게 얻어질 수 있다. Rectangle Swept Sphere(RSS)를 예로 들면,
Figure 112009065613677-pat00242
는 다음 수학식과 같이 얻어진다.
Figure 112009065613677-pat00243
여기서, 도 2에 도시된 바와 같이,
Figure 112009065613677-pat00244
(
Figure 112009065613677-pat00245
)는 RSS의 생성 프리미티브 직사각형(generator primitive rectangle)의 네 버텍스이고, r 은 RSS를 구성하는 데 이용되는 swept sphere의 반지름이다
이러한 실시예에 따른
Figure 112009065613677-pat00246
상에서의 선별제거 과정을 위한 수도-코드(pseudo-code)는 다음과 같다.
Figure 112009065613677-pat00247
Figure 112009065613677-pat00248
상에서의 선별제거 과정을 통해
Figure 112009065613677-pat00249
에 기여할 기회를 가지지 않는 트라이앵글들을 걸러낸 후, 본 발명의 실시예에서는 상기 보조 정리 2를 이용하여, 나머지 트라이앵글들에 상에서 타이트한 상위 바운드 및 하위 바운드를 찾는다. 다음 절에서는 이러한 바운드를 어떻게 효율적으로 계산할 것인지 설명하기로 한다.
2.2. 모델
Figure 112009065613677-pat00250
상에서의 선별제거
상기 보조 정리 2에서,
Figure 112009065613677-pat00251
의 하위 바운드 및 상위 바운드는 다음과 같이 다시 공식화될 수 있다.
Figure 112009065613677-pat00252
Figure 112009065613677-pat00253
1.2절에서 설명된 것과 유사하게,
Figure 112009065613677-pat00254
내에서 처음
Figure 112009065613677-pat00255
트라이앵글들을 고려한 후에
Figure 112009065613677-pat00256
의 현재의 상위 바운드
Figure 112009065613677-pat00257
를 다음 수학식과 같이 정의할 수 있다.
Figure 112009065613677-pat00258
상기 수학식 10으로부터 보여지듯이,
Figure 112009065613677-pat00259
를 얻기 위해서는
Figure 112009065613677-pat00260
를 감소시킬 필요가 있다. 그러면 다음 부등식이
Figure 112009065613677-pat00261
내의 트라이앵글들
Figure 112009065613677-pat00262
의 집합 및 그것의 바운딩 볼륨
Figure 112009065613677-pat00263
에 대하여 성립한다.
Figure 112009065613677-pat00264
Figure 112009065613677-pat00265
라고 가정하면,
Figure 112009065613677-pat00266
이다. 따라서,
Figure 112009065613677-pat00267
도, 또는
Figure 112009065613677-pat00268
내에 포함 된 어떤 트라이앵글도
Figure 112009065613677-pat00269
를 실현할 수 없다. 그러므로
Figure 112009065613677-pat00270
를 포함하는
Figure 112009065613677-pat00271
내의 모든 트라이앵글들은 선별제거될 수 있다.
이제, 상기 수학식 11에서,
Figure 112009065613677-pat00272
를 구하기 위해,
Figure 112009065613677-pat00273
내의 i 번째 트라이앵글을 고려한 후의,
Figure 112009065613677-pat00274
의 현재의 하위 바운드
Figure 112009065613677-pat00275
를 다음 수학식과 같이 표현할 수 있다.
Figure 112009065613677-pat00276
또한, 주어진 트라이앵글
Figure 112009065613677-pat00277
및 그것의 버텍스들
Figure 112009065613677-pat00278
에 대하여
Figure 112009065613677-pat00279
값을 감소시킬 필요가 있다.
Figure 112009065613677-pat00280
>
Figure 112009065613677-pat00281
라고 가정하면,
Figure 112009065613677-pat00282
이다. 이는
Figure 112009065613677-pat00283
이기 때문이다. 따라서
Figure 112009065613677-pat00284
도, 또는
Figure 112009065613677-pat00285
내에 포함된 어떤 트라이앵글도
Figure 112009065613677-pat00286
에 기여할 수 없다. 따라서 이러한 트라이앵글들은 선별제거될 수 있다.
요컨대, 주어진
Figure 112009065613677-pat00287
에 대하여, 부등식
Figure 112009065613677-pat00288
>
Figure 112009065613677-pat00289
Figure 112009065613677-pat00290
에도
Figure 112009065613677-pat00291
에도 기여하지 않는 트라이앵글들의 집합을 찾기 위한, 모델
Figure 112009065613677-pat00292
에 대한 선별제거 조건이다.
2.2.1. 그룹 순회(Group Traversal)
주어진 트라이앵글
Figure 112009065613677-pat00293
에 대하여
Figure 112009065613677-pat00294
를 계산하기 위해, 상술한 선별제거 기법은
Figure 112009065613677-pat00295
내의 모든 세 버텍스들
Figure 112009065613677-pat00296
에 대하여
Figure 112009065613677-pat00297
의 계산을 요구하고, 이것은 이번에는,
Figure 112009065613677-pat00298
내에서
Figure 112009065613677-pat00299
에 가장 가까운 트라이앵글을 찾는 것을 요구한다. 수학식 12에서 이 트라이앵글이
Figure 112009065613677-pat00300
로 나타난다. 그러나,
Figure 112009065613677-pat00301
내의 몇 버텍스들이
Figure 112009065613677-pat00302
내의 가까운 트라이앵글들의 집합에 모두 가장 가까울 때, 같은 트라이앵글
Figure 112009065613677-pat00303
의 다른 버텍스들에 대하여
Figure 112009065613677-pat00304
의 반복적인 계산은 낭비적일 수 있다. 왜냐하면
Figure 112009065613677-pat00305
를 찾는 것은 도 3-(a)에 도시된 바와 같이 개별적인 탑다운(top-down) BVH 순회(traversal)를 요구하기 때문이다. 따라서 본 발명의 실시예에서는, 이 계산의 속도를 빠르게 하기 위하여,
Figure 112009065613677-pat00306
내의 트라이앵글들을 파티션(partition)하여 클러스터(cluster)하고, 각 클러스터를 바운딩 볼륨으로 둘러싼다. 일 실시예로서, 네 개 또는 그보다 적은 트라이앵글들을 하나의 리프-레벨(leaf-level) 바운딩 볼륨으로 넣을 수 있다. 그리고
Figure 112009065613677-pat00307
와 클러스터된 바운딩 볼륨들 간에 최근접 거리 질의(closest-distance query)를 수행한다.
Figure 112009065613677-pat00308
로부터 리프-레벨(leaf-level)의 바운딩 볼륨
Figure 112009065613677-pat00309
으로의 최소 거리(minimal distance)를 발견하고, 또한 그것이
Figure 112009065613677-pat00310
보다 작다면, 도 3-(b)에 도시된 바와 같이,
Figure 112009065613677-pat00311
를 찾기 위하여
Figure 112009065613677-pat00312
Figure 112009065613677-pat00313
의 모든 가능한 이원 조합(pairwise combination)들을 테스트한다. 이러한 과정을 그룹 순회(Group Traversal)라 칭하기로 한다. 이러한 그룹 순회를 적용하여 모델
Figure 112009065613677-pat00314
에 대한 선별제거를 수행하기 위한 수도-코드(pseudo-code)는 다음과 같다.
Figure 112009065613677-pat00315
3. 트라이앵글 분할(Subdivision)
이제 모델
Figure 112009065613677-pat00316
내에서 교차 선별제거로부터 살아남은 트라이앵글들
Figure 112009065613677-pat00317
에 대한 하우스도르프 거리
Figure 112009065613677-pat00318
를 계산할 필요가 있다. 다시 말하면, 만일 상기 수학식 6에서 트라이앵글
Figure 112009065613677-pat00319
에 대하여
Figure 112009065613677-pat00320
가 전체적인 하위 바운드
Figure 112009065613677-pat00321
보다 크다면,
Figure 112009065613677-pat00322
를 계산할 필요가 있다. 그러나, 이미 언급하였듯이,
Figure 112009065613677-pat00323
의 정확한 계산은 비용이 많이 들기 때문에, 본 발명에서는 이를 사용자 정의된 소정 에러 경계값 ε 의 범위 안에서 근사한다. 이를 위하여 본 발명의 실시예에서는,
Figure 112009065613677-pat00324
Figure 112009065613677-pat00325
의 하우스도르프 거리의 상위 바운드와 하위 바운드 사이의 차이가 ε 보다 작을 때까지(즉,
Figure 112009065613677-pat00326
) 또는 정확한 하우스도르프 거리가 얻어질 때까지 분할한다.
3.1. 알고리즘
도 4-(a)에 도시된 바와 같이 트라이앵글
Figure 112009065613677-pat00327
를 네 개의 서브-트라이앵글들(세 트라이앵글의 집합
Figure 112009065613677-pat00328
및 하나의 트라이앵글
Figure 112009065613677-pat00329
)로 분할할 때, 상술한 2.1절 및 2.2절에서 설명한 선별제거 및 바운드 계산 기법을 이 서브-트라이앵글들에 적용할 수 있다. 그리고 이 과정을
Figure 112009065613677-pat00330
에 대한 바운드 계산 동안에 얻어진 프록시미티(proximity) 정보를 활용함으로써 더 최적화시킬 수 있다. 왜냐하면
Figure 112009065613677-pat00331
와 트라이앵글들
Figure 112009065613677-pat00332
Figure 112009065613677-pat00333
의 바운드들 간에는 매우 높은 코히어런스(coherence)가 예상되기 때문이다. 본 실시예에 따른 분할 과정은 다음과 같이 수행될 수 있다.
단계 1.
Figure 112009065613677-pat00334
및 그것의 상위 바운드
Figure 112009065613677-pat00335
가 주어질 때, 우선, 상기된 그룹 순회 기법을 이용하여
Figure 112009065613677-pat00336
Figure 112009065613677-pat00337
Figure 112009065613677-pat00338
내의 트라이앵글들의 집합
Figure 112009065613677-pat00339
을 찾는다.
Figure 112009065613677-pat00340
이기 때문에
Figure 112009065613677-pat00341
의 사이즈는 매우 작다는 점을 알 수 있다.
단계 2. 도 6-(a)에 도시된 바와 같이, 트라이앵글
Figure 112009065613677-pat00342
를 각 에지를 따라 네 개의 서브-트라이앵글들
Figure 112009065613677-pat00343
Figure 112009065613677-pat00344
로 분할한다. 이 과정은 다음 3.2절에서 더 자세히 설명할 것이다.
단계 3.
Figure 112009065613677-pat00345
에 대한 하우스도르프 거리의 상위 바운드 및 하위 바운드가 수학식 10 및 11을 이용하여 계산될 수 있다. 그러나 본 실시예에서는, 아래에 설명하는 것과 같이, 전체 집합
Figure 112009065613677-pat00346
대신에 집합
Figure 112009065613677-pat00347
만을 사용한다.
Figure 112009065613677-pat00348
이기 때문에 이는 매우 효과적인 방법이다. 후술할 보조 정리 3으로부터 이 방법의 정당성을 확인할 수 있다. 단계 3은 구체적으로 다음과 같이 수행할 수 있다.
▷ 우선 중앙의 트라이앵글
Figure 112009065613677-pat00349
에 대한 하우스도르프 거리의 바운드들을 다음과 같이 계산한다.
Figure 112009065613677-pat00350
Figure 112009065613677-pat00351
▷ 다른 세 서브-트라이앵글들
Figure 112009065613677-pat00352
의 바운드들은 집합
Figure 112009065613677-pat00353
로부터 상기된 바 와 유사한 방법으로 얻어질 수 있다. 이때, 트라이앵글
Figure 112009065613677-pat00354
의 버텍스들
Figure 112009065613677-pat00355
로부터 모델
Figure 112009065613677-pat00356
로의 가장 가까운 거리
Figure 112009065613677-pat00357
는 서브-트라이앵글
Figure 112009065613677-pat00358
의 바운드를 계산하기 위해 다시 사용될 수 있다. 왜냐하면, 버텍스들
Figure 112009065613677-pat00359
Figure 112009065613677-pat00360
Figure 112009065613677-pat00361
에 의해 공유되기 때문이다.
단계 4. 다음 조건들 중 하나가 만족할 때까지 단계 2와 단계 3을 반복한다.
▷ 만일
Figure 112009065613677-pat00362
내의 모든 버텍스들에 가장 가까운 트라이앵글들이 동일하다면, 상위 바운드와 하위 바운드가 동일하기 때문에(즉,
Figure 112009065613677-pat00363
=
Figure 112009065613677-pat00364
),
Figure 112009065613677-pat00365
에 대하여 분할 과정은 종료된다. 이 경우에서, 정확한 하우스도르프 거리
Figure 112009065613677-pat00366
를 얻게 된다.
▷ 상위 바운드와 하위 바운드의 차이가 사용자 정의된 소정 에러 경계값 ε 보다 작게 된다. 즉,
Figure 112009065613677-pat00367
.
▷ 만일 모델
Figure 112009065613677-pat00368
Figure 112009065613677-pat00369
가 모두 닫혀 있다면(closed),
Figure 112009065613677-pat00370
가 후술할 보조 정리 4 및 도 5에서 도시된 것처럼
Figure 112009065613677-pat00371
에 의해 변환될 때
Figure 112009065613677-pat00372
에 의해 둘러싸이는지 체크한다. 만일 그렇다면,
Figure 112009065613677-pat00373
의 상위 바운드 및 하위 바운드의 차이는 사용자 정의된 에러 경계값 ε 의 범위 내에 들어오고, 따라서 더 이상의 분할은 요구되지 않는다. 본 조건은 선택적으로 채용될 수 있다.
보조 정리 3.
분할된 트라이앵글
Figure 112009065613677-pat00374
가 주어질 때, 만일 어떤
Figure 112009065613677-pat00375
Figure 112009065613677-pat00376
에 대하여
Figure 112009065613677-pat00377
=
Figure 112009065613677-pat00378
이고,
Figure 112009065613677-pat00379
라면,
Figure 112009065613677-pat00380
이다. 여기서,
Figure 112009065613677-pat00381
은 상기 단계 1에서 얻어지는 트라이앵글들의 집합이다.
보조 정리 4.
Figure 112009065613677-pat00382
Figure 112009065613677-pat00383
를 각각
Figure 112009065613677-pat00384
를 실현하는
Figure 112009065613677-pat00385
내의 버텍스 및
Figure 112009065613677-pat00386
내의 트라이앵글이라 하자. 즉,
Figure 112009065613677-pat00387
. 나아가,
Figure 112009065613677-pat00388
로부터
Figure 112009065613677-pat00389
로의 가장 가까운 방향 벡터를
Figure 112009065613677-pat00390
(즉,
Figure 112009065613677-pat00391
)라고 하자. 그러면,
Figure 112009065613677-pat00392
Figure 112009065613677-pat00393
를 따라서
Figure 112009065613677-pat00394
만큼 변환할 때, 만일
Figure 112009065613677-pat00395
가 모델
Figure 112009065613677-pat00396
에 의해 완전히 둘러싸여진다면, 다음 부등식이 성립한다.
Figure 112009065613677-pat00397
따라서,
Figure 112009065613677-pat00398
이다.
3.2 보로노이 분할 기법(Voronoi Subdivision)
3.1절의 단계 2에서
Figure 112009065613677-pat00399
를 다시 나누는 하나의 간단한 방법은
Figure 112009065613677-pat00400
의 각 에지를 종료 조건이 만족할 때까지 단순히 이등분하는 것이다. 그러나, 본 발명의 일 실시예에서, 분할 과정이 조기에 종료될 수 있도록 하기 위한 보다 효과적인 방법을 채용할 수 있다. 여기서의 주요한 관찰 정보는
Figure 112009065613677-pat00401
의 모든 버텍스들이
Figure 112009065613677-pat00402
내의 동일한 트라이앵글로 사영(projection)될 때, 더 이상의 분할은 불필요하다는 것이다. 따라서 에지 상에, 이전 버텍스들이 사영되는 트라이앵글과 동일한 트라이앵글로 사영되는 새로운 버텍스를 추가한다.
보다 구체적으로 설명하면 다음과 같다. 도 4-(b)에 도시된 바와 같이,
Figure 112009065613677-pat00403
를, 양끝 버텍스
Figure 112009065613677-pat00404
Figure 112009065613677-pat00405
를 가지는, 분할될 필요가 있는 에지라 하자, 왜냐하면
Figure 112009065613677-pat00406
Figure 112009065613677-pat00407
는 각각 다른 트라이앵글, 즉
Figure 112009065613677-pat00408
Figure 112009065613677-pat00409
로 사영되기 때문이다. 그러면, 본 실시예에서
Figure 112009065613677-pat00410
Figure 112009065613677-pat00411
Figure 112009065613677-pat00412
로부터 동일한 거리에 있도록 하는 새로운 버텍스
Figure 112009065613677-pat00413
을 에지
Figure 112009065613677-pat00414
상에 더하는 것이 요구된다. 즉,
Figure 112009065613677-pat00415
=
Figure 112009065613677-pat00416
. 다시 말하면,
Figure 112009065613677-pat00417
Figure 112009065613677-pat00418
의 이등분 평면
Figure 112009065613677-pat00419
(즉, voronoi boundary)와 에지
Figure 112009065613677-pat00420
사이의 교차 포인트를 찾는 것이 요구된다. 다만 트라이앵글에 대한 이등분 평면을 계산하는 것은 상대적으로 비용이 많이 들기 때문에, 본 발명의 일 실시예에서는,
Figure 112009065613677-pat00421
Figure 112009065613677-pat00422
를 함유하는 평면들로부터 동일 거리에 있는 버텍스
Figure 112009065613677-pat00423
을, 간단한 선형 방정식을 풀음으로써 찾을 수 있다.
4. 양방향(Two-sided) 하우스도르프 거리
지금까지 본 발명의 일 실시예에 따른 하우스도르프 거리
Figure 112009065613677-pat00424
를 산출하는 효과적인 방법을 기술하였다. 양방향(two-sided) 하우스도르프 거리
Figure 112009065613677-pat00425
를 산출하는 방법은
Figure 112009065613677-pat00426
Figure 112009065613677-pat00427
를 독립적으로 계산하고 그들의 최대값을 취하는 것이다. 그러나,
Figure 112009065613677-pat00428
의 계산 및
Figure 112009065613677-pat00429
의 계산 사이의 상호 의존성을 활용함으로써
Figure 112009065613677-pat00430
를 보다 효과적으로 찾을 수 있다. 구체적으로 말하면, 2절 및 3절에서 설명된 기법을 사용해서
Figure 112009065613677-pat00431
를 계산하고, 다음으로 아래와 같은 관 찰 정보를 사용해서
Figure 112009065613677-pat00432
의 계산을 보다 빠르게 수행할 수 있다.
Figure 112009065613677-pat00433
이기 때문에, 이미 계산된
Figure 112009065613677-pat00434
값을
Figure 112009065613677-pat00435
의 현재의 하위 바운드
Figure 112009065613677-pat00436
로 초기화할 수 있다. 이러한 초기화는 2.1절의 첫 번째 선별제거 과정에서 하위 바운드
Figure 112009065613677-pat00437
를 명백하게 0으로 하는 경우보다 훨씬 양호한 선별제거 결과를 제공한다.
Figure 112009065613677-pat00438
를 계산할 때, 2.2절의 두 번째 선별제거 과정은
Figure 112009065613677-pat00439
Figure 112009065613677-pat00440
내에서 가장 가까운 트라이앵글들을 많이 찾는 것을 요구한다. 본 발명의 일 실시예에서는, 이렇게 찾아진 트라이앵글 쌍들의 정보를 캐쉬하고
Figure 112009065613677-pat00441
를 계산함에 있어서의 두 번째 선별제거 과정에서 이들을 다시 사용할 수 있다.
이상에서, 본 발명의 일 실시예에 따른, 복잡한 폴리곤 모델들 간의 하우스도르프 거리를 산출하는 방법에 관하여 설명하였다. 본 실시예에 따른 하우스도르프 거리 산출 방법은, 근원적인 토폴로지 및 지오미트리(geometry)에 관한 어떠한 가정도 요구하지 않는다. 본 발명의 실시예에 의하면, 수만 개의 트라이앵글들로 구성되는 폴리곤 모델들 사이의 하우스도르프 거리를 실시간으로 작은 에러 경계값을 가지고 근사할 수 있고, 기존의 방법보다 뛰어난 성능을 나타낸다. 본 발명에 따른 하우스도르프 거리 산출 방법은, 모양 유사도 측정, 관통 깊이 계산 등 다양한 어플리케이션에 적용될 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으 로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 하우스도르프 거리 산출 방법을 나타낸 흐름도이다.
도 2는 RSS(Rectangle Swept Sphere)의 예를 나타낸다.
도 3은 BVH에 대한 그룹 순회를 나타내는 개념도로서, 모든
Figure 112009065613677-pat00508
에 대하여
Figure 112009065613677-pat00509
를 계산하기 위하여, (a)는 개별적인 탑다운 BVH 순회를 수행하는 방법을, (b)는
Figure 112009065613677-pat00510
및 바운딩 볼륨
Figure 112009065613677-pat00511
에 대하여 단일한 탑다운 BVH 그룹 순회를 수행하는 방법을 나타낸다.
도 4는 보로노이 분할 기법을 나타내는 개념도로서, (a)는 트라이앵글
Figure 112009065613677-pat00512
가 네 서브-트라이앵글??로 분할되는 모습을, (b)는 에지
Figure 112009065613677-pat00513
상의 새로운 버텍스
Figure 112009065613677-pat00514
Figure 112009065613677-pat00515
,
Figure 112009065613677-pat00516
의 이등분 평면
Figure 112009065613677-pat00517
Figure 112009065613677-pat00518
의 교차점인 모습을 나타낸다.
도 5는 닫힌 모델에 대한 종료 조건을 나타내는 개념도로서,
Figure 112009065613677-pat00519
Figure 112009065613677-pat00520
에 의해 변환될 때,
Figure 112009065613677-pat00521
Figure 112009065613677-pat00522
에 의해 둘러싸여 있는 모습을 나타낸다.

Claims (14)

  1. 폴리곤 모델에 대한 하우스도르프 거리 산출 방법에 있어서,
    (a) 폴리곤 모델
    Figure 112009065613677-pat00442
    Figure 112009065613677-pat00443
    가 주어질 때, 상기
    Figure 112009065613677-pat00444
    에서 상기
    Figure 112009065613677-pat00445
    로의 하우스도르프 거리
    Figure 112009065613677-pat00446
    를 계산하는 단계로서,
    (a1) 상기
    Figure 112009065613677-pat00447
    내의 트라이앵글들
    Figure 112009065613677-pat00448
    중 상기
    Figure 112009065613677-pat00449
    에 기여하지 않는 트라이앵글들을 선별제거하는 단계;
    (a2) 상기
    Figure 112009065613677-pat00450
    내의 트라이앵글들 중, 상기 (a1) 단계의 수행 결과 남은 트라이앵글
    Figure 112009065613677-pat00451
    에서 상기
    Figure 112009065613677-pat00452
    로의 하우스도르프 거리
    Figure 112009065613677-pat00453
    에 기여하지 않는 트라이앵글들을 선별제거하고, 그 결과 남은 트라이앵글을 기초로 상기
    Figure 112009065613677-pat00454
    의 상위 바운드 및 하위 바운드를 업데이트하는 단계;
    (a3) 상기 업데이트된
    Figure 112009065613677-pat00455
    의 상위 바운드 및 하위 바운드를 기초로
    Figure 112009065613677-pat00456
    의 상위 바운드 및 하위 바운드를 업데이트하는 단계; 및
    (a4) 상기 (a1) 내지 (a3) 단계의 수행 결과 남은 트라이앵글
    Figure 112009065613677-pat00457
    를 상기
    Figure 112009065613677-pat00458
    의 상위 바운드와 하위 바운드의 차이가 소정 값 이하일 때까지 분할하는 단계를 포함하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  2. 제1항에 있어서,
    (b) 상기
    Figure 112009065613677-pat00459
    에서 상기
    Figure 112009065613677-pat00460
    로의 하우스도르프 거리
    Figure 112009065613677-pat00461
    를 계산하는 단계; 및
    (c) 상기
    Figure 112009065613677-pat00462
    와 상기
    Figure 112009065613677-pat00463
    의 최대값을 양방향(two-sided) 하우스도르프 거리
    Figure 112009065613677-pat00464
    로 취하는 단계를 더 포함하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  3. 제2항에 있어서,
    상기 (b) 단계에서 하우스도르프 거리
    Figure 112009065613677-pat00465
    를 계산함에 있어서,
    상기 (a) 단계에서 계산된
    Figure 112009065613677-pat00466
    Figure 112009065613677-pat00467
    의 하위 바운드의 초기값으로 하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  4. 제2항에 있어서,
    상기 (a1) 단계 및 상기 (a2) 단계의 수행 결과 남은 트라이앵글들 쌍들의 정보를 캐쉬하고, 상기 (b) 단계에서 하우스도르프 거리
    Figure 112009065613677-pat00468
    를 계산함에 있어 상기 정보를 재사용하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  5. 제1항에 있어서, 상기 (a1) 단계는,
    상기
    Figure 112009065613677-pat00469
    의 상위 바운드가 상기
    Figure 112009065613677-pat00470
    의 하위 바운드보다 작게 되 는 트라이앵글
    Figure 112009065613677-pat00471
    를 상기
    Figure 112009065613677-pat00472
    에 기여하지 않는 트라이앵글들로서 선별하여 제거하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  6. 제1항에 있어서, 상기 (a1) 단계는,
    트라이앵글들
    Figure 112009065613677-pat00473
    의 집합을 둘러싸는 바운딩 볼륨에서 상기
    Figure 112009065613677-pat00474
    내의 어떤 포인트로의 하우스도르프 거리가 상기
    Figure 112009065613677-pat00475
    의 하위 바운드보다 작게 되는 바운딩 볼륨에 포함되는 트라이앵글들
    Figure 112009065613677-pat00476
    를 상기
    Figure 112009065613677-pat00477
    에 기여하지 않는 트라이앵글들로서 선별하여 제거하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  7. 제6항에 있어서,
    상기 바운딩 볼륨은 SSV(swept sphere volume)인 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  8. 제1항에 있어서,
    상기 (a2) 단계에서 상기
    Figure 112009065613677-pat00478
    의 상위 바운드는 다음 수학식과 같이 정의되는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
    Figure 112009065613677-pat00479
    .
    여기서,
    Figure 112009065613677-pat00480
    는 상기
    Figure 112009065613677-pat00481
    내의 버텍스들을,
    Figure 112009065613677-pat00482
    는 유클리디안 거리 연산 자를 나타낸다.
  9. 제8항에 있어서,
    상기
    Figure 112009065613677-pat00483
    내에서 상기
    Figure 112009065613677-pat00484
    에 가장 가까운 트라이앵글
    Figure 112009065613677-pat00485
    를 찾기 위하여 상기
    Figure 112009065613677-pat00486
    내의 트라이앵글들을 파티션하여 클러스터하고 각 클러스터를 바운딩 볼륨으로 둘러싼 뒤,
    Figure 112009065613677-pat00487
    와 클러스터된 바운딩 볼륨 간에 최단 거리 질의를 수행하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  10. 제1항에 있어서, 상기 (a4) 단계는,
    상기 트라이앵글
    Figure 112009065613677-pat00488
    를 복수 개의 서브-트라이앵글로 분할하고, 상기 서브-트라이앵글에 대하여 상기 (a1) 내지 (a3) 단계를 반복하여 수행하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  11. 제10항에 있어서,
    상기 트라이앵글
    Figure 112009065613677-pat00489
    를 복수 개의 서브-트라이앵글로 분할함에 있어서, 상기 트라이앵글
    Figure 112009065613677-pat00490
    의 에지를 따라 바깥쪽의 서브-트라이앵글들
    Figure 112009065613677-pat00491
    및 안쪽의 서브-트라이앵글
    Figure 112009065613677-pat00492
    로 분할하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  12. 제11항에 있어서, 상기 (a4) 단계는,
    (a41) 상기
    Figure 112011033890177-pat00493
    의 상위 바운드에 대하여,
    Figure 112011033890177-pat00495
    Figure 112011033890177-pat00496
    을 만족하는 상기
    Figure 112011033890177-pat00497
    내의 트라이앵글들의 집합
    Figure 112011033890177-pat00498
    을 찾는 단계-여기서,
    Figure 112011033890177-pat00528
    는 상기
    Figure 112011033890177-pat00529
    의 상위 바운드를 나타내고,
    Figure 112011033890177-pat00530
    는 상기
    Figure 112011033890177-pat00531
    내의 트라이앵글을 나타내며,
    Figure 112011033890177-pat00532
    는 유클리디안 거리 연산자를 나타냄;
    (a42) 상기 트라이앵글
    Figure 112011033890177-pat00499
    를 상기 에지를 따라 상기 서브-트라이앵글들
    Figure 112011033890177-pat00500
    Figure 112011033890177-pat00501
    로 분할하는 단계;
    (a43) 상기 집합
    Figure 112011033890177-pat00502
    을 사용하여
    Figure 112011033890177-pat00503
    에서 상기
    Figure 112011033890177-pat00504
    로의 하우스도르프 거리의 상위 바운드 및 하위 바운드를 계산하는 단계; 및
    (a44) 미리 정하여진 종료 조건을 만족할 때까지 상기 (a42) 단계 내지 (a43) 단계를 반복하는 단계를 포함하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  13. 제12항에 있어서,
    상기 (a42) 단계는,
    상기 에지 상에 상기
    Figure 112009065613677-pat00505
    의 버텍스들이 사영되는 상기
    Figure 112009065613677-pat00506
    내의 트라이앵글과 동일한 트라이앵글에 사영되는 새로운 버텍스를 추가하고 상기 추가된 버텍스를 기준으로 상기 트라이앵글
    Figure 112009065613677-pat00507
    를 분할하는 것을 특징으로 하는 하우스도르프 거리 산출 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 기재된, 폴리곤 모델에 대한 하우스도 르프 거리 산출 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020090102039A 2009-10-27 2009-10-27 폴리곤 모델에 대한 하우스도르프 거리 산출 방법 KR101067826B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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