KR101309988B1 - 다각형 모델의 침투 깊이 연산 방법 - Google Patents

다각형 모델의 침투 깊이 연산 방법 Download PDF

Info

Publication number
KR101309988B1
KR101309988B1 KR1020110139896A KR20110139896A KR101309988B1 KR 101309988 B1 KR101309988 B1 KR 101309988B1 KR 1020110139896 A KR1020110139896 A KR 1020110139896A KR 20110139896 A KR20110139896 A KR 20110139896A KR 101309988 B1 KR101309988 B1 KR 101309988B1
Authority
KR
South Korea
Prior art keywords
projection
shape
penetration depth
contact
wow
Prior art date
Application number
KR1020110139896A
Other languages
English (en)
Other versions
KR20130072465A (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 KR1020110139896A priority Critical patent/KR101309988B1/ko
Publication of KR20130072465A publication Critical patent/KR20130072465A/ko
Application granted granted Critical
Publication of KR101309988B1 publication Critical patent/KR101309988B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

본 발명에 따른 다각형 모델의 침투 깊이 연산방법은 형태 공간에서 충돌 회피 형태가 선택되는 S1 단계, 상기 S1 단계에서 선택된 충돌 회피 형태에 CCD를 적용하여 접촉 공간에서 투사되는 과정으로, 소스 형태(source configuration) qs를 타겟 형태(target configuration) qt로 투사하는 아웃 프로젝션이 수행되는 S2 단계,
Figure 112011102188703-pat00165
Figure 112011102188703-pat00166
의 공통 오리진에서 지역 접촉 공간(LCS)으로 투사되는 인 프로젝션이 수행되는 S3 단계 및 상기 인 프로젝션을 통해 투사된 형태에 대한 샘플 분류가 수행되는 S4 단계를 포함하되, 상기 S4 단계에서 수행되는 샘플 분류 결과에 따라 최종 침투 깊이가 산출되거나, 최종 침투 깊이가 산출될 때까지 상기 소스 형태 또는 타겟 형태를 변경하여 상기 S2 단계 내지 S4 단계가 반복된다.

Description

다각형 모델의 침투 깊이 연산 방법{COMPUTATION METHOD FOR PENETRATION DEPTH OF POLYGON MODEL}
본 발명은 다각형 모델의 침투 깊이 연산 방법에 관한 것이다. 특히 본 발명은 다각형 모델에 대하여 실시간으로 침투 깊이 연산이 가능한 방법에 관한 것이다.
기하학적 물체(geometric objects) 간의 거리를 측정하는 기술은 컴퓨터 그래픽, 가상현실, 3차원 물체 모델링 등에서 중요한 기술이다. 물체가 중첩되어 있지 않다면, 두 물체 간 가장 가까운 지점의 기하학적 거리(분리 거리)가 두 물체 간 거리가 되는 것은 명백하다. 그러나, 물체가 겹쳐있는 경우에는 분리 거리를 정의할 수 없고, 물체 간 관통(interpenetration)의 정도를 측정할 수 있는 다른 방법이 필요하다.
이와 관련하여 Liangjun Zhang 및 Young J. Kim 등이 2007년 발표한 "Generalized penetration depth computation" Computer-Aided Design 39, 8, 625-638 논문에 일반적인 침투 깊이(penetration depth: PD)라는 기술이 제시된 바 있으나 일반적인 다각형 모델에 적용이 힘들며 계산 속도가 느리다.
침투 깊이(PD)는 계산기하학 관련 분야에서 광범위하게 사용되는 개념이다. 침투 깊이는 결국 중첩된 물체를 서로 나누기 위해 이동(translation)시켜야 하는 최단 거리라고 정의될 수 있다.
그러나 분리 거리에 비하여 침투 깊이는 많은 연산시간이 필요하다는 것은 널리 알려져 있다. 면이 n개인 다각형의 경우 연산 시간인 O (n 6)이라고 알려졌다(Kim, Y., Lin, M. AND Manocha, D., 2004, "Incremental penetration depth estimation between convex polytopes using dual-space expansion" IEEE Trans. on Visualization and Computer Graphics 10, 1, 152-164. 참조).
이러한 연산량 및 시간을 줄이기 위한 연구들(KIM, Y., LIN, M., AND MANOCHA, D. 2004a. Fast penetration depth estimation using rasterization hardware and hierarchical refinement., In Algorithmic Foundations of Robotics V. Springer Tracts in Advanced Robotics, vol. 7. Springer Berlin / Heidelberg, 505-522 등)이 진행되었으나 실시간 응용에 적용하기에는 너무 느리거나, 연산 과정에서 오류 발생의 가능성이 있다는 문제점이 있었다.
본 발명에 따른 다각형 모델의 침투 깊이 연산 방법은 다각형의 침투깊이 연산에 있어서 연산량 및 시간을 감소시키고자 한다. 나아가 인터랙티브하게 동작하는 물체에 대한 침투깊이를 실시간으로 연산하고자 한다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명에 따른 다각형 모델의 침투 깊이 연산방법은 다각형 모델
Figure 112011102188703-pat00001
Figure 112011102188703-pat00002
에 대하여 형태 공간에서 충돌 회피 형태가 선택되는 S1 단계, S1 단계에서 선택된 충돌 회피 형태에 CCD를 적용하여 접촉 공간에서 투사되는 과정으로, 소스 형태(source configuration) qs를 타겟 형태(target configuration) qt로 투사하는 아웃 프로젝션이 수행되는 S2 단계,
Figure 112011102188703-pat00003
Figure 112011102188703-pat00004
의 공통 오리진에서 지역 접촉 공간(LCS)으로 투사되는 인 프로젝션이 수행되는 S3 단계 및 인 프로젝션을 통해 투사된 형태에 대한 샘플 분류가 수행되는 S4 단계를 포함한다.
S4 단계에서 수행되는 샘플 분류 결과에 따라 최종 침투 깊이가 산출되거나, 최종 침투 깊이가 산출될 때까지 소스 형태 또는 타겟 형태를 변경하여 S2 단계 내지 S4 단계가 반복되는 것을 특징으로 한다.
S1 단계의 충돌 회피 형태는 S2 단계에서 사용되는 최초 소스 형태로서 아래의 식으로 표현되는 것을 특징으로 한다.
Figure 112011102188703-pat00005
여기서,
Figure 112011102188703-pat00006
Figure 112011102188703-pat00007
의 최초 형태이고,
Figure 112011102188703-pat00008
Figure 112011102188703-pat00009
는 각각
Figure 112011102188703-pat00010
Figure 112011102188703-pat00011
의 중심이고,
Figure 112011102188703-pat00012
Figure 112011102188703-pat00013
는 각 물체를 둘러싼 구의 지름이다.
S1 단계에서 충돌 회피 형태 선택은 최대 선명성을 갖는 공간상의 지점을 검출하여 충돌 회피 형태를 선택을 수행하는 것으로, 최대 선명성을 갖는 공간상의 지점은 (a) 움직이지 않는 물체의 AABB(axis-aligned bounding box)를 연산하고, 그리드(grid)와 함께 AABB를 화소화하는 단계, (b) 그리드 내부의 각 점으로부터 물체의 거리를 연산하는 단계, (c) 충돌 가능한 근 거리에 있는 그리드 점을 제거하는 단계, (d) 주변 형태와 비교하고, 물체와 더 근거리에 있는 점을 제거하고, 1차원 또는 2차원의 최대 거리 형태를 찾는 단계, (e) AABB의 경계상에 남아 있는 형태를 제거하는 단계, (f) 다시 주변 형태와 비교하면서, 물체와 근거리에 있는 점을 제거하는 단계를 포함하는 것을 특징으로 한다.
S2 단계에서 CCD는 보수적 전진 기법(C2A)을 사용하고,
Figure 112011102188703-pat00014
는 이동에 의해 움직일 수 있지만,
Figure 112011102188703-pat00015
는 고정된다고 하면,
Figure 112011102188703-pat00016
Figure 112011102188703-pat00017
와 접촉하는 시간(τ)은 아래의 식으로 표현되는 것을 특징으로 한다.
Figure 112011102188703-pat00018
여기서 v는
Figure 112011102188703-pat00019
의 이동 속도,
Figure 112011102188703-pat00020
Figure 112011102188703-pat00021
Figure 112011102188703-pat00022
사이의 가장 짧은 거리인 최단 방향 거리이다.
S3 단계의 인 프로젝션은 지역 접촉 공간(LCS)가 구성되는 S3-1 단계 및 가우스-사이델 알고리즘을 사용하여
Figure 112011102188703-pat00023
로부터 LCS로 인 프로젝션이 수행되는 단계를 포함한다.
S3-1 단계는 S2 단계에서 아웃 프로젝션이 수행된 형태의 접촉 특징(contact feature)을 찾아 LCS를 구성하며, LCS는 접촉 공간에서의 선형 볼록 원뿔 모양(linear convex cone)인 것을 특징으로 한다.
S4 단계는 S3 단계에서 인 프로젝션이 수행된 형태(qi)가 접촉 가능 형태라면,
Figure 112011102188703-pat00024
부터 qi까지의 유클리드 거리를 계산하여 최종 침투 깊이를 산출하고 알고리즘을 종료하는 것을 특징으로 한다.
S4 단계는 S3 단계에서 인 프로젝션이 수행된 형태(qi)가 충돌 회피 형태라면, qi는 소스 형태(qs≡qi)로 설정하고, 오리진은 타겟 형태(qt
Figure 112011102188703-pat00025
)로 설정한 후 S2 단계로 진행하는 것을 특징으로 한다.
S4 단계는 S3 단계에서 인 프로젝션이 수행된 형태(qi)가 충돌 가능 상태라면, qi를 타겟 형태(qt≡qi)로 설정하고, 이전의 접촉 형태 qi - 1는 소스 형태(qs≡qi -1)로 설정한 후 S2 단계로 진행하는 것을 특징으로 한다.
본 발명에 따른 다각형 모델의 침투 깊이 연산 방법은 활동적으로 동작하는 다각형 간의 침투깊이 연산을 실시간으로 수행하기 위하여 연산량 및 시간을 줄이는 효과적인 방법을 제공한다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 반복적 접촉 공간 투사를 이용한 실시간 침투 깊이 연산 방법에 대한 개념을 도시한 순서도이다.
도 2는 두 물체의 충돌이 검출되는 최단 거리를 도시한 예이다.
도 3은 두 개의 삼각형 간 이동 보수적 전진 기법(translational conservative advancement)을 설명하기 위한 예이다.
도 4는 중심 차이로부터 중심 충돌 회피 형태를 결정하는 예를 도시한다.
도 5는 최대 선명 형태에 관한 것으로, 도 5(a)는 컵 모양, 도 5(b)는 쇠살대(grate) 모양, 도 5(c)는 일그러진 원환체를 나타낸다.
도 6은 최대 선명 형태를 찾기 위한 본 발명에 따른 알고리즘 단계를 설명하는 예이다.
도 7은 충돌 회피 형태를 위한 샘플링 기반 검색의 일 예를 도시한다.
도 8은 non-convex LCS에 대한 침투 깊이의 최적화 반복과정을 설명한 예이다.
도 9는 도 8의 예보다 복잡한 LCS에 대한 침투 깊이의 최적화 반복과정을 설명한 예이다.
도 10은 전역적 침투 깊이로부터 지역적 침투 깊이를 측정하는 방법의 예를 도시한다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
먼저 일반적인 다각형 모델 간의 침투 깊이(penetration depth) 연산을 위한 기본적인 수식을 정의한다.
먼저
Figure 112011102188703-pat00026
에 두 개의 물체
Figure 112011102188703-pat00027
Figure 112011102188703-pat00028
가 있고,
Figure 112011102188703-pat00029
는 움직이지 않는 물체이고,
Figure 112011102188703-pat00030
는 이동(translation)에 의해 움직일 수 있다고 가정한다. 또한
Figure 112011102188703-pat00031
Figure 112011102188703-pat00032
는 공통된 광역 오리진(global origin)인
Figure 112011102188703-pat00033
를 갖는다.
Figure 112011102188703-pat00034
Figure 112011102188703-pat00035
가 다각형 물체이고, 공간에서 상호 중첩될 때 이들의 침투 깊이(
Figure 112011102188703-pat00036
)는 아래의 식 1과 같이 정의된다(DOBKIN, D., HERSHBERGER, J., KIRKPATRICK, D., AND SURI, S. 1993. Computing the intersection-depth of polyhedra. Algorithmica 9, 518-533. 참조).
Figure 112011102188703-pat00037
침투 깊이 연산은 민코스키 합(Minkowski sum)과 밀접한 관련이 있다는 것은 공지된 사실이다.
Figure 112011102188703-pat00038
Figure 112011102188703-pat00039
, 2개의 집합에 대한 민코스키 합인
Figure 112011102188703-pat00040
Figure 112011102188703-pat00041
는 각각 아래의 수학식 2와 수학식 3으로 정의된다.
Figure 112011102188703-pat00042
Figure 112011102188703-pat00043
상기 수학식 1로 표현되는
Figure 112011102188703-pat00044
Figure 112011102188703-pat00045
간의 침투 깊이 연산의 문제를 광역 오리진인
Figure 112011102188703-pat00046
와 민코스키 합의 경계 표면(boundary surface)
Figure 112011102188703-pat00047
사이의 최단 거리 탐색 문제로 볼 수 있다.
3차원 다각형(polygon) 모델의 내측면과 외측면이 정확하게 정의되지 않아도 여전히 침투 깊이는 두 개의 중첩된 모델을 분리할 수 있는 최단 이동거리라고 정의할 수 있다. 따라서, 본 발명에서 침투 깊이는
Figure 112011102188703-pat00048
로부터 민코스키 합인
Figure 112011102188703-pat00049
의 경계까지의 최단 거리라고 정의한다.
Figure 112011102188703-pat00050
Figure 112011102188703-pat00051
가 이동 동작(translational motion)만을 수행하기 때문에 고정된 방향으로 이동한다고 전제하면, 민코스키 합의 경계는
Figure 112011102188703-pat00052
Figure 112011102188703-pat00053
사이에서 이동 접촉 공간(translational contact space)을 구성한다. 결국
Figure 112011102188703-pat00054
Figure 112011102188703-pat00055
가 3차원 다각형이라면, 상기 수학식 1과 수학식 4는 같다고 볼 수 있다.
이하 본 발명의 핵심적 아이디어에 대해 개략적으로 설명하고, 이후 각 아이디어 및 단계에 대한 구체적 설명을 하기로 한다.
상호활동적인 응용분야에서는 복잡한 다각형 모델 간의 정확한 민코스키 합 연산에 많은 시간이 소요된다. 전술한 수학식 4를 살펴보면, 침투 깊이 문제가 접촉 공간(contact space) 상의 오리진(origin)에 가장 가까운 지점을 찾는 것으로 단순화된다.
본 발명의 알고리즘은 최적 결과값이 획득될 때까지 최단 지점을 가능한 가깝게 위치시키는 과정을 반복하면서 접촉 공간에 대한 근사값을 획득한다.
본 발명은 반복적인 알고리즘(iterative algorithm)으로 주된 연산 부분은 두 개의 투사(projection) 부분이다. (a) 충돌 형태(in-collision configuration)에서 접촉 공간(contact space)으로의 투사(인 프로젝션) 및 (b) 충돌 회피(collision-free) 또는 접촉 형태에서 접촉 공간상으로의 투사(아웃 프로젝션)이다. 이러한 두 개의 투사는 충돌 형태 또는 충돌 회피 형태로부터 접촉 형태(contact configuration)를 획득한다.
도 1은 본 발명에 따른 반복적 접촉 공간 투사를 이용한 실시간 침투 깊이 연산 방법에 대한 순서도이다. 본 발명의 전체 과정은 다음과 같이 요약될 수 있으며, 각 과정은 별도로 상세하게 후술한다.
(1) 충돌 회피 형태 선택(Free-configuration selection)
3차원 다각형(polygon) 물체
Figure 112011102188703-pat00056
Figure 112011102188703-pat00057
가 중첩된 상태라고 가정하면, 두 물체의 공통된 오리진
Figure 112011102188703-pat00058
는 민코스키 합
Figure 112011102188703-pat00059
내부에 존재해야 한다. 본 발명에서는 형태 공간(configuration space)에서 출동 회피 형태 qf를 선택한다.
(2) 아웃 프로젝션(Out-projection)
본 발명 알고리즘은 연속 충돌 검출(continuous collision detection: CCD)을 이용하여 소스 형태(source configuration) qs≡qf를 타겟 형태(target configuration) qt
Figure 112011102188703-pat00060
로 투사(아웃 프로젝션)를 실행한다. 접촉 공간상에 투사된 형태를 앞으로 현재 형태(current configuration) qi라고 명명한다.
(3) 인 프로젝션(In-projection)
(a) 정점/면(vertex/face) 또는 에지(edge) 접촉과 같은 qi의 접촉 특징(contact feature)을 찾는다. 이러한 특징으로부터 qi 주위의 지역 접촉 공간(local contact space: LCS) 구성하며, 이 공간은 접촉 공간에서 선형 볼록 원뿔 모양(linear convex cone)이다.
(b) 본 발명에서는
Figure 112011102188703-pat00061
로부터 LCS로 인 프로젝션을 수행한다. LCS는 가우스 사이델(Gauss-Seidel) 알고리즘을 이용하여 수행된 선형 상보성 문제(linear complementarity problem: LCP)로 표현된다. 그러므로 '인 프로젝션'된 형태가 새로운 현재 투사 qi가 되고, qi - 1는 이전의 '아웃 프로젝션'로부터 획득된 형태가 설정된다.
(4) 샘플 분류(Sample classification)
광역 접촉 공간(global contact space)이 아닌 LCS로부터 qi가 획득되기 때문에, qi는 충돌 가능(in-collision), 접촉 가능(in-contact) 또는 충돌 회피(collision-free) 상태일 수 있다. 본 발명에서는 qi에 대한 정적 충돌 질의(static collision query)로 qi의 상태를 다음과 같이 정의한다.
(a) 만약 qi가 접촉 가능 형태라면,
Figure 112011102188703-pat00062
부터 qi까지의 유클리드 거리를 계산하고, 계산된 값을 침투 깊이에 대한 결과값으로 삼는다. 즉, 침투깊이는
Figure 112011102188703-pat00063
이다.
(b) 만약 qi가 충돌 회피 형태라면, qi는 소스 형태(qs≡qi)가 되고, 오리진은 타겟 형태(qt
Figure 112011102188703-pat00064
)가 되어 상기 (2) 단계로 진행된다.
(c) 만약 qi가 충돌 가능 상태라면, qi를 타겟 형태(qt≡qi)로 설정하여 보다 적절한 접촉 형태를 획득하고, 이전의 접촉 형태 qi - 1는 소스 형태(qs≡qi -1)가 된다. 그리고 (2) 단계로 진행된다.
(5) 반복(iteration)
알고리즘이 종료될 때까지 상기 (2) 내지 (4) 단계를 반복한다. 본 발명의 알고리즘은 LCS상에서 지역 최적화이기 때문에 알고리즘 종료가 가능한 알고리즘이다. 지역적 최적 결과값은 qi가 접촉 가능 상태일 때마다 획득된다.
연속 충돌 검출( CCD )을 이용한 아웃 프로젝션( Out - projection )
(1) 연속 충돌 검출
본 발명의 알고리즘은 최적 형태를 찾기 위하여 접촉 공간상에서 샘플 형태를 반복적으로 업데이트한다. 업데이트 과정은 현재 접촉 가능 또는 충돌 회피 형태를 접촉 공간상의 다른 형태로 투사하는 아웃 프로젝션이 요구된다. 아웃 프로젝션은 다양한 연속 충돌 검출(continuous collision detection: CCD)를 통해 수행된다.
Figure 112011102188703-pat00065
Figure 112011102188703-pat00066
는 두 개의 3차원 다각형 모델이고,
Figure 112011102188703-pat00067
는 이동(M(t))에 의해 움직일 수 있지만,
Figure 112011102188703-pat00068
는 고정된다고 가정한다.
Figure 112011102188703-pat00069
의 소스 및 타겟 형태는 각각 시간 t=0 과 t=1에서의 qs 및 qt이다.
본 발명에서는
Figure 112011102188703-pat00070
라고 정의하고, q(t)는
Figure 112011102188703-pat00071
의 형태(configuration)를 표현한다. CCD 문제는 최초 접촉 시간(Time of contact: ToC) τ에 대한 검색으로 아래의 수학식 5와 같이 표현될 수 있다.
Figure 112011102188703-pat00072
CCD를 위한 다양한 기법들이 연구되었으나, 본 발명에서는 보수적 전진 기법(conservative advancement: CA)을 이용한다. 물론 다른 다양한 기법을 적용해도 가능한 CA 기법이 실용적으로 가장 빠른 것으로 알려졌다(TANG, M., KIM, Y. J., AND MANOCHA, D. 2009. C2A: controlled conservative advancement for continuous collision detection of polygonal models. In IEEE International Conference on Robotics and Automation. 356-361. 등 참조).
다른 CCD 알고리즘과 같이, CA는 물체
Figure 112011102188703-pat00073
의 소스 qs와 타겟 qt 형태를 획득하고 접촉 공간에서
Figure 112011102188703-pat00074
가 선형적으로 qs에서 qt까지 움직일 때 최초 접촉 시간을 연산한다.
볼록한 다각형을 예로 들면, CA는 충돌이 일어날 때까지 연속적으로
Figure 112011102188703-pat00075
를 향해 △t만큼
Figure 112011102188703-pat00076
를 전진시키면서 최저치(lower bound)를 연산한다. △t값은
Figure 112011102188703-pat00077
Figure 112011102188703-pat00078
사이에서 가장 가까운 거리인
Figure 112011102188703-pat00079
상에서의 최저치에 대응되도록 선택된다. 이는 아래의 수학식 6과 같이 표현될 수 있다.
Figure 112011102188703-pat00080
최초 접촉 시간 τ는 충돌 발생 전 시간 단계인 △t의 합이다. 즉, τ = ∑△t이다. CA 알고리즘을 볼록한 다각형(convex polytope)에 적용하자면, Tang 등이 제안한 수정된 C2A 알고리즘을 이용해야 한다(TANG, M., KIM, Y. J., AND MANOCHA, D. 2009. C2A: controlled conservative advancement for continuous collision detection of polygonal models. In IEEE International Conference on Robotics and Automation. 356-361. 참조).
C2A 알고리즘은 SSV(swept sphere volume)에 기반한 BVH(bounding volume hierarchy)를 사용하여, 알고리즘의 반복 동안 재귀적인 BVH 경로의 깊이를 제어한다. 이를 통해 연산 시간을 감소시킨다(LARSEN, E., GOTTSCHALK, S., LIN, M., AND MANOCHA, D. 2000. Fast distance queries with rectangular swept sphere volumes. Proc. of IEEE Int. Conference on Robotics and Automation, 3719-3726. 참조).
본 발명에서 PD 문제는 선형 동작(translational motion)으로 제한되기 때문에, 본 발명은 C2A 알고리즘을 보다 단순화하여 알고리즘 속도를 향상시킬 수 있다. 이에 대한 자세한 내용은 (2) "선형적 연속 충돌 검출"에서 후술한다. 한편 τ를 검출하면, 정적 근접 질의(static proximity query)를 수행하여
Figure 112011102188703-pat00081
Figure 112011102188703-pat00082
사이의 접촉 특징(contact feature)를 모두 찾을 수 있다(LARSEN, E., GOTTSCHALK, S., LIN, M., AND MANOCHA, D. 2000. Fast distance queries with rectangular swept sphere volumes. Proc. of IEEE Int. Conference on Robotics and Automation, 3719-3726. 참조). 접촉 특징은 지역 접촉 공간의 경계를 구성하는데 사용된다.
(2) 선형적 연속 충돌 검출(Translational Continuous Collision Detection)
도 2에 도시된 바와 같이,
Figure 112011102188703-pat00083
가 일정한 이동 속도 v로 이동한다고 가정하면, 이동 방향에서
Figure 112011102188703-pat00084
Figure 112011102188703-pat00085
사이 가장 짧은 거리를 최단 방향 거리(minimal directional distance: MDD)
Figure 112011102188703-pat00086
라고 명명할 수 있다.
Figure 112011102188703-pat00087
Figure 112011102188703-pat00088
와 접촉하는 시간은 아래의 수학식 7로 연산 될 수 있다.
Figure 112011102188703-pat00089
τ < 1 이라면,
Figure 112011102188703-pat00090
Figure 112011102188703-pat00091
는 시간 τ에 출동할 것이다. τ ≥ 1 이라면,
Figure 112011102188703-pat00092
Figure 112011102188703-pat00093
는 전체 시간 과정 중에 충돌하지 않는다.
Choi 등은 민코스키 합(Minkowski sum)과 레이 슈팅(ray shooting)에 기반하여 볼록한 다각형 간에 MDD를 연산하는 방법을 제시하였다(CHOI, Y.-K., LI, X., RONG, F., WANG, W., AND CAMERON, S. 2006. Computing the minimum directional distance between two convex polyhedra. HKU CS Tech Report TR-2006-01. 참조). 그러나 다각형 그룹(polygon soup) 간에 MDD를 연산하는 알고리즘은 제시된바 없다.
본 발명에서는 다각형 그룹 모델의 BVH를 구성하고, 재귀적으로 BVH에서의 노드 쌍 간의 MDD를 연산하는 방법을 제안하고자 한다. 이 방법은 BVH를 기반으로 한 유클리드 거리 연산과 유사하다.
Figure 112011102188703-pat00094
연산은 BVH에서의 노드 쌍 간에 MDD 연산을 쉽게 만든다.
이하 두 개의 삼각형
Figure 112011102188703-pat00095
Figure 112011102188703-pat00096
간의 MDD 연산에 대해 설명한다. 이 방법은 BV(bounding volume) 간에도 적용될 수 있음은 물론이다.
두 개의 삼각형 간의 최초 접촉 시간(ToC)인 τ'는 상기 수학식 6을 반복적으로 적용하여 검출가능하다. 도 3에 도시된 바와 같이, 모션 바운드(motion bound) μ는 v ㆍn 이고, 여기서 n은 삼각형들 상에서 가장 가까운 지점을 연결한다.
Figure 112011102188703-pat00097
Figure 112011102188703-pat00098
간의 MDD는
Figure 112011102188703-pat00099
라고 할 수 있다. BVH에서의 BV 쌍 또는 삼각형 쌍 간의 MDD 연산은 재귀적으로 수행되고, 상기 수학식 7을 다각형 그룹 모델
Figure 112011102188703-pat00100
Figure 112011102188703-pat00101
사이의 ToC를 획득하기 위해 사용한다.
충돌 회피 형태( Collision - Free Configuration ) 획득
상기 수학식 5의 해를 획득하기 위하여, 소스 형태 qs는 충돌 회피여야 한다. 그렇지 않다면 τ는 0 (zero)이 된다. 충돌 회피란 충돌이 발생하지 않는 상태를 의미한다. 충돌 회피 상태인 소스 형태 qs를 획득하는 방법은 본 발명에서 매우 중요하다. 본 발명의 알고리즘이 지역 최적화기법이고, CCD에 의한 접촉 형태로부터 시작하기 때문이다.
(1) 중심 차이( Centroid Difference )
물체의 관통(interpenetration)에 대한 사전 정보가 없다면, 관통 방향은 물체의 중심으로부터 추측할 수 있다. 이 방향은 움직이는 물체를 충돌 회피 형태에 배치하는데 사용될 수 있다. 충돌 회피 소스 형태는 아래의 식 8과 같이 표현된다.
Figure 112011102188703-pat00102
여기서,
Figure 112011102188703-pat00103
Figure 112011102188703-pat00104
의 최초 형태이고,
Figure 112011102188703-pat00105
Figure 112011102188703-pat00106
는 각각
Figure 112011102188703-pat00107
Figure 112011102188703-pat00108
의 중심이고,
Figure 112011102188703-pat00109
Figure 112011102188703-pat00110
는 각 물체를 둘러싼 구의 지름이다. 도 4는 도 4는 중심 차이로부터 중심 충돌 회피 형태를 결정하는 예를 도시한다. 노란색은 물체
Figure 112011102188703-pat00111
, 분홍색은 최초 충돌 형태의
Figure 112011102188703-pat00112
를 도시하고, 붉은 색은
Figure 112011102188703-pat00113
의 충돌 회피 형태를 도시한다.
(2) 최대 선명 형태( Maximally Clear Configuration )
중심 차이가 충돌 회피 형태를 획득하게 하지만, 오목한 부분이나 구멍이 많은 복잡한 물체의 경우 최적의 침투 깊이 형태와 매우 다를 수 있다. 이와 같은 종류의 물체에 대한 충돌 회피 형태를 획득하기 위해서, 본 발명에서는 최대 선명성(clearance)을 갖는 공간상의 지점을 찾는다. 이러한 과정을 통해 물체를 관통 하지 않는 위치에 배치하게 된다. 최대 선명성을 갖는 지점은 물체의 외부 보로노이 지역(external Voronoi region)의 경계상의 지점에 대응된다.
이러한 최대 선명 형태는 지역적으로 충돌 회피 상태의 최대 가능 지점과 대응되기 때문에 충돌 회피 형태를 위한 적절한 후보자이다. 도 5는 최대 선명 형태에 관한 것으로, 도 5(a)는 컵 모양, 도 5(b)는 쇠살대(grate) 모양, 도 5(c)는 일그러진 원환체(torus)를 나타낸다. 각 그림에서 녹색 원은 최대 선명 형태의 지점을 보여준다.
다각형 모델에 대한 일반화된 보로노이 다이어그램을 구성하기 매우 어렵게 때문에(HOFF, K., CULVER, T., KEYSER, J., LIN, M., AND MANOCHA, D. 1999. Fast computation of generalized Voronoi diagrams using graphics hardware. Proceedings of ACM SIGGRAPH 1999, 277-286. 참조), 본 발명에서는 공간의 화소화(voxelization)에 기반한 다음과 같은 간단한 알고리즘을 제안한다.
(a) 움직이지 않는 물체의 AABB(axis-aligned bounding box)를 연산하고, 그리드(grid)와 함께 AABB를 화소화한다.
(b) 그리드 내부의 각 점으로부터 물체의 거리를 연산한다.
(c) 충돌 가능한 근 거리에 있는 그리드 점을 제거한다.
(d) 주변 형태와 비교하고, 물체와 더 근거리에 있는 점을 제거한다. 그리고, 1차원 또는 2차원의 최대 거리 형태를 찾는다.
(e) AABB의 경계상에 남아 있는 형태를 제거한다.
(f) 다시 주변 형태와 비교하면서, 물체와 근거리에 있는 점을 제거한다. 이를 통해 모든 차원에서 최대 거리 형태를 획득하게 된다.
도 6은 최대 선명 형태를 찾기 위한 본 발명에 따른 알고리즘 단계를 설명하는 예이다. 도 6(a)는 주어진 모델의 일 예이고, 도 6(b)는 이 모델의 AABB이며, 도 6(c)는 AABB를 화소화하고, 각 그리드 지점으로부터 모델까지의 거리가 연산되는 단계이고, 도 6 (d)는 근거리 점을 제거하는 단계, 도 6(e)는 주변 그리드 지점과 비교하면서 x축 및 y축 방향으로 스캔하면서 근거리 지점에 있는 점들을 제거하는 단계, 도 6(f)는 AABB의 경계상에 있는 점들을 제거하는 단계이고, 도 6(g)는 x, y, z 축 방향에서 물체와의 근거리에 있는 점들을 제거하여 최대 거리 형태를 획득하는 단계를 도시한다. 상기 단계는 최대 선명성을 갖는 것이 예상되는 보로노이 경계상의 점들의 부분 집합만을 연산하는 것이다.
(3) 동작 일관성( Motion Coherence )
본 발명에 따른 침투 깊이 알고리즘이 목표하고 있는 애플리케이션들은 동작 일관성을 갖는 경향이 크다. 예컨대, 일련의 충돌 회피 형태 또는 접촉 형태는 시간의 함수로 연산된다. 좋은 최초 소스 형태를 찾기 위하여 근원적인 동작 일관성을 이용할 수 있다. 단순한 방법은 연속된 충돌 회피 형태를 저장하고, 주어진 충돌 가능 형태에 가장 가까운 것을 선택하는 것이다.
좀더 정확하게 설명하면, 침투 깊이 연산으로부터 획득한 마지막 3개의 접촉 가능 형태를 저장하고, 주어진 충돌 가능 형태
Figure 112011102188703-pat00114
로부터 이동 차이가 최소인 qc를 선택한다. 그리고, qc의 방향을
Figure 112011102188703-pat00115
와 같도록 변경하고, 이와 같은 변경이 어떤 충돌도 일으키지 않는 경우, qc를 반복 알고리즘의 시작 형태로 사용한다. 만약 충돌이 발생한다면,
Figure 112011102188703-pat00116
와 반대 방향으로 qc를 조금 이동하여 충돌이 발생하는지 여부를 점검하고, 충돌이 발생하지 않는다면 qc를 반복 알고리즘의 시작 형태로 사용한다. 이때 재차 충돌이 발생한다면 동작 일관성 전략을 포기하고 중심 차이(centroid difference)와 같은 다른 방법을 사용한다.
(4) 무작위 형태( Random Configuration )
좀더 일반적인 방법으로 qs에 대한 사전 정보가 전혀 없는 경우 자유 형태 공간상에서 무작위적인 샘플 qs를 사용하거나, 단순히 qs를 무한거리에 배치하여 사용할 수도 있다.
(5) 샘플링 기반 검색( Sampling - based Search )
아웃 프로젝션(out projection)으로부터 시작하는 충돌 회피 형태를 찾는 방법은 최적의 결과와는 다소 거리가 있는 결과가 산출될 수 있다. 샘플링 기반 검색이 최초 충돌 회피 형태를 개선하는데 사용될 수 있다. 도 7에 도시된 바와 같이, 주어진 충돌 형태
Figure 112011102188703-pat00117
로부터 qo f까지의 직선상에서 샘플링된 형태에 대한 충돌 검출을 수행한다. 이 과정은 충돌 회피 형태가 발견되면 중단된다. 충돌 검출은 다양한 방법이 사용될 수 있다(LARSEN, E., GOTTSCHALK, S., LIN, M., AND MANOCHA, D. 2000. Fast distance queries with rectangular swept sphere volumes. Proc. of IEEE Int. Conference on Robotics and Automation, 3719-3726.참조).
도 7을 살펴보면, 입력된 충돌 형태는
Figure 112011102188703-pat00118
이고, qo f는 최초 충돌 회피 형태이다.
Figure 112011102188703-pat00119
에서 qo f까지의 직선상에서 최초 샘플은 충돌 상태인 것으로 결정되나 두번 째 샘플인 q1 f는 충돌 회피 상태로 결정된다.
반복 최적화( Iterative Optimization )
접촉 공간에서 샘플링된 형태 q는 오리진(origin)으로부터의 거리를 계산하여 침투 깊이를 추정하는데 사용할 수 있다.
Figure 112011102188703-pat00120
로 표현될 수 있다.
전술한 충돌 회피 형태 검출단계에서 설명된 기술 중 하나를 적용하여 나온 결과를 시작 형태로 사용하고, 접촉 공간에 지역적 근사치(local approximation)를 구성한후 인 프로젝션(in-projection)으로 형태를 개선한다. 이러한 과정을 지역적 최적 결과값이 획득될 때까지 반복한다.
(1) 접촉 공간 지역화 및 인 프로젝션( Contact - Space Localization and In - Projection )
전술한 아웃 프로젝션(out-projection) 과정은 접촉 가능 형태(in-contact configuration)를 생성한다. 접촉 가능 형태는
Figure 112011102188703-pat00121
Figure 112011102188703-pat00122
에서 각각 하나씩 구성되는 접촉 특징(contact feature) 쌍에 대응된다. 일반적으로 이러한 특징 쌍은 정점/면(vertex/face, VF), 면/정점(face/vertex, FV) 또는 에지/에지(edge/egde, EE)인 접촉 구성 기초요소를 형성한다. 이로부터 지역 접촉 공간(LCS)을 구성할 수 있다. i 번째 접촉 구성 기초요소를 위하여 jiq = ci 인 접촉 평면의 방적식을 결정한다. 여기서, ji는 계수의 열 벡터(row vector)이고, ci는 i번째 평면 방적식의 스칼라 바이어스(scalar bias) 값이다.
어떤 경우 접촉 평면은 선 또는 점과 같은 형태 공간의 저차원 부분 집합으로 분해될 수 있다. 예컨대, 동일선상의 에지 또는 VE 접촉 간의 접촉은 접촉 선 방정식을 생성한다. 나아가 VV 접촉은 점을 생성한다. 저차원 공간에 대한 투사는 침투 깊이 연산 성능을 향상시키지 못하기 때문에 본 발명 알고리즘은 VV 또는 동일선상의 접촉을 무시한다. VE 접촉의 경우에는 VE에서 에지를 공유하는 모든 면에 대한 몇 개의 VF 초기 접촉을 생성하고, 이를 교차시킨다. VE는 자주 발생하지 않고, 교차의 기법은 알고리즘 적용을 단순화하고 성능을 개선한다. 모든 다른 비단위 접촉(non-primitive contact)은 또한 몇 개의 초기 접촉으로 전환한다.
모든 접촉 방정식을 매트릭스로 구성하면, 선형 방정식(Jq = c) 시스템을 구성할 수 있다.
아래의 수학식 9와 같이, 인 프로젝션은 오리진
Figure 112011102188703-pat00123
와 LCS 상에서 형태 q 간의 사각형태 유클리드 거리(squared Euclidean distance)에 대한 최소화로 공식화될 수 있다.
Figure 112011102188703-pat00124
시스템 방정식 Jq = c 는 LCS를 표현하기 때문에, Jq≥c는 q가 LCS의 경계 또는 바깥 영역에 놓이게 한다.
상기 수학식 9는 선형 상보성 문제(linear complementarity problem: LCP)와 동등한 것으로 알려졌다(REDON, S., KHEDDAR, A., AND COQUILLART, S. 2002. Gauss' least constraints principle and rigid body simulations. In In proceedings of IEEE International Conference on Robotics and Automation. 11-15. 참조). 아래의 수학식 10과 같은 보상 조건을 만족하는 λ 값을 검색하기 위한 것이다.
Figure 112011102188703-pat00125
Figure 112011102188703-pat00126
이다.
Lemke 또는 Dantzig 알고리즘과 같이 LCP문제를 풀기 위한 다양한 방법이 존재한다(COTTLE, R., PANG, J., AND STONE, R. 2009. The linear complementarity problem. Society for Industrial & Applied. 참조). 그러나 본 발명에서는 단순하고 안정적인 투사된 가우스-사이델(projected Gauss-Seidel) 방법을 이용한다(JOURDAN, F., ALART, P., AND JEAN, M. 1998. A Gauss-Seidel like algorithm to solve frictional contact problems. Computer Methods in Applied Mechanics and Engineering 155, 1-2, 31-47.참조). 이 방법을 적용하면 LCP 문제는 아래의 수학식 11과 같이 선형 시스템의 해를 도출하기 위한 것으로 단순화된다.
Figure 112011102188703-pat00127
그리고 가우스-사이델 반복은 아래의 수학식 12와 같이 표현된다.
Figure 112011102188703-pat00128
여기서, D + L + U = JJT이고, 행렬 D, L 및 U는 각각 계수 행렬 JJT의 대각선, 하부 삼각행렬 및 상부 삼각행렬이다. k는 반복 횟수를 의미한다. λ의 구성성분이 반복 과정 중 음수가 되면, 0 (zero)로 설정한다. 투사 가우스-사이델(PGS) 알고리즘에서의 투사 단계(projection step)에 해당한다.
임의적 SPD(symmetric positive definite) 행렬을 이용하는 가우스-사이델 반복(GOLUB, G. H. AND VAN LOAN, C. F. 1996. Matrix computations (3rded.). Johns Hopkins University Press, Baltimore, MD, USA. 참조)은 수렴한다고 알려져 있다. JJT는 대칭이면서 xTJJTx = (JTx)TJTx = ∥JTx2∥ ≥ 0 (x ∈ Rn) 이기 때문에 positive semidefinite 이다. 본 발명에서는 J의 불필요한 열을 제거하여 JJT를 semidefinite에서 positive definite로 만든다. 이제 xTJJTx = (JTx)TJTx = ∥JTx2∥ > 0 (모든 0이 아닌 벡터인 x ∈ Rn) 이다. 그러므로 본 발명의 가우스-사이델 구성요소는 언제나 수렴한다.
본 발명에서는
Figure 112011102188703-pat00129
로부터 대응하는 접촉 평면까지의 거리 기준으로 접촉 특징을 리스트 형태로 저장한다. 복잡한 모델인 경우 접촉 특징은 매우 많아 질 수 있는데 상기 수학식 10을 사용하여 복잡성을 줄여 10 내지 30개의 접촉 특징 쌍을 선택한다.
(2) 반복 과정( Iteration )
샘플을 최적화하여 침투 깊이 연산의 정확도를 높이는 과정에 대해 자세히 설명하기로 한다. 도 8은 non-convex LCS에 대한 침투 깊이의 최적화 반복과정을 설명한 예인데, 도 8을 살펴보면서 반복과정을 설명하기로 한다.
(a) 충돌 가능 형태(또는 오리진
Figure 112011102188703-pat00130
)는 도 8(a)와 같은 입력값으로 주어진다.
(b) 전술한 충돌 회피 형태 검출 방법을 사용하여 충돌 회피 형태 qf를 선택한다(도 8(b)).
(c) 형태 qf를 소스로 사용하고,
Figure 112011102188703-pat00131
를 타겟으로 사용하여, 접촉 형태 q0를 획득하기 위한 아웃 프로젝션을 수행한다(도 8(c)).
(d) 접촉 형태 q0의 주변에 LCS를 구성한다(도 8(d)). 이 예에서는 LCS는 단일 접촉 평면으로 구성된다.
(e) q1을 획득하기 위하여 LCS 상에 인 프로젝션을 수행한다(도 8(e)). 현재 형태 q1을 접촉, 분리 또는 관통으로 분류하기 위하여 근접 질의(proximity query)가 사용한다. 이 예에서 q1은 관통에 대응되며, 다음 단계는 유효한 접촉 가능 형태를 찾는 것이다.
(f) q2를 획득하기 위하여 다시 아웃 프로젝션을 수행한다(도 8(f)). 이 과정은 충돌 가능 타겟 형태뿐만 아니라 충돌없는 소스 형태도 필요하다. 소스 형태(q0)는 이전의 아웃 프로젝션을 통해 획득하고, 현재 형태 q1은 타겟 형태로 사용될 수 있다.
(g) q2주변에 LCS를 구성한다(도 8(g)).q2는 두 개의 접촉 쌍으로 구성되기 때문에 LCS는 볼록한 원뿔형태(두 개의 접촉 평면의 교차)이다.
(h) 다시 인 프로젝션을 수행한다(도 8(h)). 새로운 형태 q3는 접촉 상태이고, 침투 깊이는 ∥q3 -
Figure 112011102188703-pat00132
∥로 나타난다.
도 9는 도 8에 예시한 예보다는 복잡한 LCS에 대한 침투 깊이의 최적화 반복과정을 설명한 예이다. 처음 두 개의 과정은 q1과 q2를 획득한다. 도 9에서 q3에 대한 근접 질의는 관통을 검출한다. 그러므로 q4를 얻기 위하여 아웃 프로젝션을 수행하고(도 9(b)), LCS를 구성한 후, 인 프로젝션을 재차 수행하여 최종 형태 q5를 획득한다.
(3) 알고리즘 종료
본 발명의 알고리즘은 인 프로젝션 및 아웃 프로젝션을 사용하는 반복 최적화 기법에 기반한다. 아웃 프로젝션은 접촉 가능 샘플을 획득하도록 하여 적절한 상한을 갖는 침투 깊이를 반복 과정 중에 산출하게 한다. 인 프로젝션은 반복 과정을 통해 침투 깊이 값을 줄여준다. 이러한 프로젝션은 인 프로젝션으로부터 접촉 가능 형태가 획득될 때까지 반복되며, 이러한 방식으로 통해 침투 깊이에 대한 지역적 최적 값이 획득된다.
지역 접촉 공간(LCS)의 복잡도는 다각형 그룹 모델에서 n이 다각형의 개수일때 O(n6)보다 높아지게 된다. 나아가 본 발명의 알고리즘은 매 반복마다 침투 깊이 값을 줄이기 때문에 같은 LCS에서 프로젝션 반복이 일어나지 않는다. 그러므로, 본 발명의 알고리즘은 일정한 횟수의 단계만을 반복하며, 현실적으로 2~3회의 반복을 수행한다.
(4) 지역 침투 깊이의 측정( Estimation of Local Penetration Depth )
다수의 겹치지 않는 지역에서 두 개의 물체가 교차하면, 모든 침투에 대해 각각의 정보가 필요할 수 있다. 즉, 하나의 전역적 침투 깊이가 아닌 지역적 침투 깊이가 나오게 된다. 예컨대, 강체 역학에서 침투 깊이는 토크(torque)를 연산하거나 시뮬레이션을 안정화하는 방법이 필요하다(GUENDELMAN, E., BRIDSON, R., AND FEDKIW, R. 2003. Nonconvex rigid bodies with stacking. ACM Trans. Graph. 22, 3, 871-878.참조).
본 발명에서는 본 발명 알고리즘이 연산하는 전역적 침투 깊이(global PD) 정보에서 지역적 침투 깊이(local PD)를 제거하는 대안을 제안한다. 본 발명에 따른 지역적 침투 깊이 측정은 각 물체에서 지역적으로 가장 깊게 침투한 지점이 전역적 침투 깊이의 정도만큼 이동하면 충돌이 발생한다는 전제에 기반한다. 두 물체에서 가장 깊은 지점이 분리되는 이동 길이는 침투 지점 방향으로 침투깊이 이동을 투사하여 획득된다.
도 10은 전역적 침투 깊이로부터 지역적 침투 깊이를 측정하는 방법의 예를 도시한다. i 번째 관통 지역의 지역 침투 깊이 di를 연산하는 방법은 다음과 같다.
(a) 중첩하는 두 개의 모델
Figure 112011102188703-pat00133
Figure 112011102188703-pat00134
가 있다고 하면, 전술한 침투 깊이 측정 알고리즘을 이용하여 그들의 전역 침투 깊이
Figure 112011102188703-pat00135
를 측정한다.
(b)
Figure 112011102188703-pat00136
를 d 만큼 이동하여
Figure 112011102188703-pat00137
가 되게 하고,
Figure 112011102188703-pat00138
Figure 112011102188703-pat00139
사이의 각각의 접촉 i에 대한 접촉 노말(contact normal) ni를 연산한다.
(c) 각 ni에 대하여 d를 투사하여 지역적 침투 깊이 di를 획득한다. 즉, di = (d ㆍni)ni이다.
본 발명에서 지역적 침투 깊이에 대한 정의는 종래의 다른 연구와 상이하다. 본 발명의 지역적 침투 깊이는 본 발명의 전역 침투 깊이 알고리즘의 산물이라고 할 수 있다. 또한 본 발명에 따른 지역적 침투 깊이 정의에 따르면 d는 0(zero)이 되지 않아도, d가 n에 대해 노말(normal)이라면 침투 깊이가 0(zero)이 될 수도 있다.
(5) 알고리즘의 복잡도
본 발명의 알고리즘은 크게 두 개의 단계로 구성된다. 아웃 프로젝션과 인 프로젝션이 이에 해당한다. 본 발명의 알고리즘에서 아웃 프로젝션은 이동 CCD로 구현되었다. 이동 CCD의 연산 복잡도는 BVH를 이용한 거리 연산과 유사하다. 본 발명의 이동 CCD는 BVH 간의 최소 이동 거리(MDD)에 대응되기 때문이다. Larsen의 논문에 따르면 거리 연산의 비용 함수는 T = Nbv × Cbv + Np × Cp로 해석된다(LARSEN, E., GOTTSCHALK, S., LIN, M., AND MANOCHA, D. 2000. Fast distance queries with rectangular swept sphere volumes. Proc. of IEEE Int. Conference on Robotics and Automation, 3719-3726. 참조). 여기서 Nb는 BV(bounding volume) 쌍 동작의 횟수이고, Cbv는 BV 쌍에 대한 거리 연산의 비용이고, Np는 초기 쌍 연산의 횟수이고, Cp는 초기 쌍에 대한 거리 연산 비용이다.
이동 CCD는 유사한 비용 함수를 갖는다. 다만, Cbv와 Cp는 각각 BV와 초기형태에 대한 MDD 연산 비용에 대응된다. 게다가 MDD 연산을 위하여 반복적인 기법을 사용하고, 각 반복은 BV와 삼각형 쌍 간에 유클리드 최소 거리 연산을 필요로 한다. 실제로 MDD 연산에 필요한 평균적인 반복 횟수는 작은 상수값이다. 예컨대, 삼각형 40K에 해당하는 모델 경우 1.7에 해당했다. 이것은 이동 CCD동 연산 비용에 단지 1.7번의 반복을 수행했다는 의미이다.
인 프로젝션에 대한 주요 연산 비용은 상기 수학식 11의 해를 푸는 것이다. JJT가 n × n 행렬이고, n은 아웃 프로젝션 결과로 산출되는 접촉 특징의 개수이기 때문에, 선형 시스템에 대한 해를 도출하는 것은 O(n3)가 소요되나, 가우스-사이델 반복 해는 NG가 가우스-사이델 반복의 횟수일 때 O(n2NG)의 복잡도를 갖는다.
결국 본 발명 알고리즘의 전체 연산 복잡도는 O(T + (n2NG))N 이다. 여기서 N은 인 프로젝션과 아웃 프로젝션을 위한 반복의 전체 횟수이다.
본 실시예 및 본 명세서에 첨부된 도면은 본 발명에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 본 발명의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 본 발명의 권리범위에 포함되는 것이 자명하다고 할 것이다.

Claims (9)

  1. 3차원 가상 공간 상의 기하학적 물체에 관한 다각형 모델
    Figure 112013053184087-pat00177
    Figure 112013053184087-pat00178
    에 대한 컴퓨터를 이용한 침투 깊이 연산 방법에 있어서,
    형태 공간에서 충돌 회피 형태가 선택되는 S1 단계;
    상기 S1 단계에서 선택된 충돌 회피 형태에 연속 충돌 검출(CCD)을 적용하여 접촉 공간에서 투사되는 과정으로, 소스 형태(source configuration) qs를 타겟 형태(target configuration) qt로 투사하는 아웃 프로젝션이 수행되는 S2 단계;
    다각형 모델
    Figure 112013053184087-pat00142
    Figure 112013053184087-pat00143
    의 공통 오리진에서 지역 접촉 공간(LCS)으로 투사되는 인 프로젝션이 수행되는 S3 단계; 및
    상기 인 프로젝션을 통해 투사된 형태에 대한 샘플 분류가 수행되는 S4 단계를 포함하되,
    상기 S4 단계에서 수행되는 샘플 분류 결과에 따라 최종 침투 깊이가 산출되거나, 최종 침투 깊이가 산출될 때까지 상기 소스 형태 또는 타겟 형태를 변경하여 상기 S2 단계 내지 S4 단계가 반복되는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
  2. 제1항에 있어서,
    상기 S1 단계의 충돌 회피 형태는 상기 S2 단계에서 사용되는 최초 소스 형태로서 아래의 식으로 표현되는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
    Figure 112011102188703-pat00144

    (여기서,
    Figure 112011102188703-pat00145
    Figure 112011102188703-pat00146
    의 최초 형태이고,
    Figure 112011102188703-pat00147
    Figure 112011102188703-pat00148
    는 각각
    Figure 112011102188703-pat00149
    Figure 112011102188703-pat00150
    의 중심이고,
    Figure 112011102188703-pat00151
    Figure 112011102188703-pat00152
    는 각 물체를 둘러싼 구의 지름임)
  3. 제1항에 있어서,
    상기 S1 단계에서 충돌 회피 형태 선택은 최대 선명성을 갖는 공간상의 지점을 검출하여 충돌 회피 형태를 선택을 수행하는 것으로, 상기 최대 선명성을 갖는 공간상의 지점은 (a) 움직이지 않는 물체의 AABB(axis-aligned bounding box)를 연산하고, 그리드(grid)와 함께 AABB를 화소화하는 단계, (b) 그리드 내부의 각 점으로부터 물체의 거리를 연산하는 단계, (c) 충돌 가능한 근 거리에 있는 그리드 점을 제거하는 단계, (d) 주변 형태와 비교하고, 물체와 더 근거리에 있는 점을 제거하고, 1차원 또는 2차원의 최대 거리 형태를 찾는 단계, (e) AABB의 경계상에 남아 있는 형태를 제거하는 단계, (f) 다시 주변 형태와 비교하면서, 물체와 근거리에 있는 점을 제거하는 단계를 포함하는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
  4. 제1항에 있어서,
    상기 S2 단계에서 CCD는 보수적 전진 기법(C2A)을 사용하고,
    Figure 112011102188703-pat00153
    는 이동에 의해 움직일 수 있지만,
    Figure 112011102188703-pat00154
    는 고정된다고 하면,
    Figure 112011102188703-pat00155
    Figure 112011102188703-pat00156
    와 접촉하는 시간(τ)은 아래의 식으로 표현되는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
    Figure 112011102188703-pat00157

    (여기서 v는
    Figure 112011102188703-pat00158
    의 이동 속도,
    Figure 112011102188703-pat00159
    Figure 112011102188703-pat00160
    Figure 112011102188703-pat00161
    사이의 가장 짧은 거리인 최단 방향 거리임)
  5. 제1항에 있어서,
    상기 S3 단계의 인 프로젝션은
    지역 접촉 공간(LCS)가 구성되는 S3-1 단계; 및
    가우스-사이델 알고리즘을 사용하여
    Figure 112011102188703-pat00162
    로부터 LCS로 인 프로젝션이 수행되는 단계를 포함하는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
  6. 제5항에 있어서,
    상기 S3-1 단계는
    상기 S2 단계에서 아웃 프로젝션이 수행된 형태의 접촉 특징(contact feature)을 찾아 LCS를 구성하며, 상기 LCS는 접촉 공간에서의 선형 볼록 원뿔 모양(linear convex cone)인 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
  7. 제1항에 있어서,
    상기 S4 단계는
    상기 S3 단계에서 인 프로젝션이 수행된 형태(qi)가 접촉 가능 형태라면,
    Figure 112011102188703-pat00163
    부터 qi까지의 유클리드 거리를 계산하여 최종 침투 깊이를 산출하고 알고리즘을 종료하는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
  8. 제1항에 있어서,
    상기 S4 단계는
    상기 S3 단계에서 인 프로젝션이 수행된 형태(qi)가 충돌 회피 형태라면, qi는 소스 형태(qs≡qi)로 설정하고, 오리진은 타겟 형태(qt
    Figure 112011102188703-pat00164
    )로 설정한 후 상기 S2 단계로 진행하는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
  9. 제1항에 있어서,
    상기 S4 단계는
    상기 S3 단계에서 인 프로젝션이 수행된 형태(qi)가 충돌 가능 상태라면, qi를 타겟 형태(qt≡qi)로 설정하고, 이전의 접촉 형태 qi - 1는 소스 형태(qs≡qi -1)로 설정한 후 상기 S2 단계로 진행하는 것을 특징으로 하는 다각형 모델의 침투 깊이 연산방법.
KR1020110139896A 2011-12-22 2011-12-22 다각형 모델의 침투 깊이 연산 방법 KR101309988B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110139896A KR101309988B1 (ko) 2011-12-22 2011-12-22 다각형 모델의 침투 깊이 연산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110139896A KR101309988B1 (ko) 2011-12-22 2011-12-22 다각형 모델의 침투 깊이 연산 방법

Publications (2)

Publication Number Publication Date
KR20130072465A KR20130072465A (ko) 2013-07-02
KR101309988B1 true KR101309988B1 (ko) 2013-09-17

Family

ID=48987139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110139896A KR101309988B1 (ko) 2011-12-22 2011-12-22 다각형 모델의 침투 깊이 연산 방법

Country Status (1)

Country Link
KR (1) KR101309988B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104776968A (zh) * 2015-04-03 2015-07-15 华东师范大学 一种多关节模型穿透深度的计算方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488851B (zh) * 2015-11-30 2017-07-07 腾讯科技(深圳)有限公司 实时虚拟场景中碰撞体之间碰撞探测的方法和装置
KR101864533B1 (ko) * 2017-03-21 2018-06-04 고려대학교 세종산학협력단 오목 구간과 오목점을 이용한 근접객체 구분 방법 및 장치
KR101787473B1 (ko) * 2017-06-29 2017-10-18 주식회사 텐일레븐 용적률 극대화된 건축물 배치를 결정하기 위한 컴퓨터를 이용한 시뮬레이션 방법
CN111062135B (zh) * 2019-12-18 2024-01-02 哈尔滨理工大学 一种精确的碰撞检测方法
CN114820982A (zh) * 2022-04-26 2022-07-29 杭州隐捷适生物科技有限公司 一种面向数字化口腔正畸设计软件的碰撞深度计算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Generalized penetration depth computation" Liangjun Zhang, Young J. Kim, Computer-Aided Design 39, 8, 625-638 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104776968A (zh) * 2015-04-03 2015-07-15 华东师范大学 一种多关节模型穿透深度的计算方法

Also Published As

Publication number Publication date
KR20130072465A (ko) 2013-07-02

Similar Documents

Publication Publication Date Title
KR101309988B1 (ko) 다각형 모델의 침투 깊이 연산 방법
US8406509B2 (en) Three-dimensional surface generation method
CN108871349B (zh) 一种深空探测器光学导航位姿加权确定方法
KR20160070712A (ko) 3d 모델링된 객체 텍스처링
Zaharescu et al. Topology-adaptive mesh deformation for surface evolution, morphing, and multiview reconstruction
Lafarge et al. A hybrid multiview stereo algorithm for modeling urban scenes
CN106599108A (zh) 一种三维环境中多模态环境地图构建方法
WO2017031718A1 (zh) 弹性物体变形运动的建模方法
Pan et al. Real-time collision detection and distance computation on point cloud sensor data
Je et al. PolyDepth: Real-time penetration depth computation using iterative contact-space projection
Guizilini et al. Large-scale 3d scene reconstruction with hilbert maps
Kroemer et al. Point cloud completion using extrusions
Chang et al. Candidate-based matching of 3-D point clouds with axially switching pose estimation
Han et al. DiLO: Direct light detection and ranging odometry based on spherical range images for autonomous driving
El Hazzat et al. Fast 3D reconstruction and modeling method based on the good choice of image pairs for modified match propagation
Kim et al. GraphDistNet: A graph-based collision-distance estimator for gradient-based trajectory optimization
CN111815684B (zh) 基于统一残差模型的空间多元特征配准优化方法及装置
Boulekchour et al. Robust L∞ convex optimisation for monocular visual odometry trajectory estimation
Hedborg et al. Robust three-view triangulation done fast
US8497875B2 (en) System, method, and computer program product for determining a translation vector
Zieliński et al. Keyframe-based dense mapping with the graph of view-dependent local maps
Khalfaoui et al. View planning approach for automatic 3d digitization of unknown objects
CN114022630A (zh) 三维场景的重建方法、装置、设备和计算机可读存储介质
Chowdhury et al. Extended rigid multi-target tracking in dense point clouds with probabilistic occlusion reasoning
Liying et al. A review of range image registration methods with accuracy evaluation

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
LAPS Lapse due to unpaid annual fee