KR101500814B1 - 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법 - Google Patents

구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법 Download PDF

Info

Publication number
KR101500814B1
KR101500814B1 KR1020120154711A KR20120154711A KR101500814B1 KR 101500814 B1 KR101500814 B1 KR 101500814B1 KR 1020120154711 A KR1020120154711 A KR 1020120154711A KR 20120154711 A KR20120154711 A KR 20120154711A KR 101500814 B1 KR101500814 B1 KR 101500814B1
Authority
KR
South Korea
Prior art keywords
spheres
sphere
bounding volume
radius
quot
Prior art date
Application number
KR1020120154711A
Other languages
English (en)
Other versions
KR20140084813A (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 KR1020120154711A priority Critical patent/KR101500814B1/ko
Priority to PCT/KR2013/002287 priority patent/WO2014104481A1/ko
Publication of KR20140084813A publication Critical patent/KR20140084813A/ko
Application granted granted Critical
Publication of KR101500814B1 publication Critical patent/KR101500814B1/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/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

바운딩 볼륨 생성 기법이 개시된다. 바운딩 볼륨은 3D 오브젝트간의 충돌 여부를 손쉽게 판단하기 위하여 사용된다. 개시된 바운딩 볼륨은 2K+1개의 구들의 교집합으로 정의된다. 따라서, 특정한 바운딩 볼륨들이 서로 충돌하는지 여부를 손쉽게 파악할 수 있으며, 또한 특정한 광선(ray)와 바운딩 볼륨이 충돌하는지 여부도 손쉽게 파악할 수 있다.

Description

구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING BOUNDING VOLUME USING INTERSECTION OF SPHERES}
하기의 실시예들은 바운딩 볼륨을 생성하는 장치 및 방법에 관한 것으로, 좀더 구체적으로는 복수의 구들의 교집합으로 정의되는 바운딩 볼륨을 생성하는 장치 및 방법에 관한 것이다.
3D 오브젝트는 복수의 폴리곤으로 구성되며, 비정형적이고 복잡한 형상을 가지는 것이 일반적이다. 따라서, 복수의 3D 오브젝트들이 서로 충돌하는지, 또는 특정한 오브젝트와 특정한 광선(ray) 등이 서로 충돌하는지 여부를 판단하는 것은 복잡한 계산을 필요로 한다.
3D 오브젝트는 복잡한 형상을 가지며, 그 표면은 복수의 폴리곤으로 표현된다. 따라서, 제1 3D 오브젝트가 제2 3D 오브젝트와 충돌하는지 여부를 판단하는 것은 제1 3D 오브젝트를 구성하는 폴리곤들 중에서 어느 하나가 제2 3D 오브젝트를 구성하는 폴리곤들 중에서 어느 하나와 충돌하는지 여부에 따라서 판단되며, 매우 많은 계산량을 필요로 한다.
유사한 방법으로, 3D 오브젝트와 특정한 광선이 충돌하는지 여부를 판단하는 것은, 특정한 광선이 3D 오브젝트를 구성하는 복수의 폴리곤들 중에서 어느 하나와 충돌하는지 여부에 따라서 판단된다. 역시 매우 많은 계산을 필요로 한다.
3D 오브젝트들간의 충돌 여부 또는 3D 오브젝트와 특정한 광선의 충돌 여부를 판단하는 것은 3D 영상 처리의 기초적인 기술이므로, 이러한 판단을 신속히 수행할 수 있는 기술이 연구되고 있다.
하기 실시예들의 목적은 충돌 검사에 효과적인 바운딩 볼륨을 생성하는 것이다.
하기 실시예들의 목적은 구들의 교집합으로 정의되는 바운딩 볼륨을 생성하는 것이다.
예시적 실시예에 따르면, 3D 오브젝트를 포함하고, 복수의 구들에 공통적으로 포함되는 영역(intersection)으로 상기 3D 오브젝트에 대한 바운딩 볼륨을 생성하는 바운딩 볼륨 생성부를 포함하는 바운딩 볼륨 생성 장치가 제공된다.
여기서, 상기 구들의 원점은 서로 다른 위치일 수 있다.
그리고, 상기 구들의 원점은 동일한 직선상에 위치할 수 있다.
또한, 상기 복수의 구들 중에서 어느 하나의 구의 반지름은 다른 구들의 반지름과 상이하고, 상기 다른 구들의 반지름은 서로 동일할 수 있다.
여기서, 상기 바운딩 볼륨 생성부는 상기 3D 오브젝트의 모든 꼭지점을 포함하는 회전 타원체(ellipsoid)를 설정하고, 상기 복수의 구들에 포함된 제1 구의 반지름은 상기 회전 타원체의 장반경과 동일하고, 상기 제1 구의 원점은 상기 회전 타원체의 원점과 동일하도록 결정할 수 있다.
그리고, 상기 바운딩 볼륨 생성부는 하기 수학식 1에 따라서 상기 복수의 구들에 포함된 제2 구 및 제3 구의 반지름을 결정하고, 하기 수학식 2에 따라서 상기 제2 구 및 상기 제3 구의 원점을 결정할 수 있다.
[수학식 1]
Figure 112012108381110-pat00001

여기서,
Figure 112012108381110-pat00002
은 상기 제2 구의 반지름이고,
Figure 112012108381110-pat00003
는 상기 제3 구의 반지름이고,
Figure 112012108381110-pat00004
는 상기 회전 타원체의 장반경이고,
Figure 112012108381110-pat00005
는 상기 회전 타원체의 단반경이다.
[수학식 2]
Figure 112012108381110-pat00006

여기서,
Figure 112012108381110-pat00007
는 상기 제2 구의 원점이고,
Figure 112012108381110-pat00008
는 상기 제3 구의 원점이고,
Figure 112012108381110-pat00009
는 상기 제1 구의 원점이고,
Figure 112012108381110-pat00010
는 상기 회전 타원체의 단반경의 방향이다.
그리고, 상기 바운딩 볼륨 생성부는 상기 3D 오브젝트를 포함하는 상기 복수의 구에 포함된 제1 구를 설정하고, 상기 3D 오브젝트에 대하여 PCA(Principal Component Analysis)를 수행하여 상기 3D 오브젝트의 주축(Principal Axes)에 대한 정보를 획득하고,
상기 주축에 대한 정보에 기반하여 하기 수학식 3 또는 하기 수학식 5에 따라서 상기 복수의 구에 포함된 제2 구 및 제3 구의 반지름을 결정하고 하기 수학식 4에 따라서 상기 제2 구 및 상기 제3 구의 원점을 결정할 수 있다.
[수학식 3]
Figure 112012108381110-pat00011

여기서,
Figure 112012108381110-pat00012
Figure 112012108381110-pat00013
는 상기 제2 구 및 상기 제3 구의 반지름이고,
Figure 112012108381110-pat00014
는 상기 제1 구의 반지름이고,
Figure 112012108381110-pat00015
는 상기 주축 중에서 가장 짧은 축 방향의 길이이다.
[수학식 4]
Figure 112012108381110-pat00016

여기서,
Figure 112012108381110-pat00017
는 상기 제2 구의 원점이고,
Figure 112012108381110-pat00018
는 상기 제3 구의 원점이고,
Figure 112012108381110-pat00019
는 PCA 수행 결과에서, 가장 짧은 축(
Figure 112012108381110-pat00020
)으로의 길이이다.
[수학식 5]
Figure 112012108381110-pat00021

여기서,
Figure 112012108381110-pat00022
는 상기 제2 구의 원점이고,
Figure 112012108381110-pat00023
는 제 2구를 평행 이동하여 얻을 수 있는 구의 최소 반경이다.
또한, 상기 복수의 구의 개수는 상기 회전 타원체의 장반경, 중반경 및 단반경의 비율에 따라서 결정될 수 있다.
여기서, 상기 생성된 바운딩 볼륨이 다른 바운딩 볼륨과 충돌하는지 여부 또는 상기 바운딩 볼륨과 상기 다른 바운딩 볼륨간의 거리를 추정할 수 있다.
또 다른 예시적 실시예에 따르면, 3D 오브젝트를 포함하고, 복수의 구들에 공통적으로 포함되는 영역(intersection)으로 상기 3D 오브젝트에 대한 바운딩 볼륨을 생성하는 단계를 포함하는 바운딩 볼륨 생성 방법이 제공된다.
여기서, 상기 구들의 원점은 서로 다른 위치일 수 있다.
그리고, 상기 구들의 원점은 동일한 직선상에 위치할 수 있다.
또한, 상기 복수의 구들 중에서 어느 하나의 구의 반지름은 다른 구들의 반지름과 상이하고, 상기 다른 구들의 반지름은 서로 동일할 수 있다.
여기서, 상기 바운딩 볼륨을 생성하는 단계는 상기 3D 오브젝트의 모든 꼭지점을 포함하는 회전 타원체(ellipsoid)를 설정하고, 상기 복수의 구들에 포함된 제1 구의 반지름은 상기 회전 타원체의 장반경과 동일하고, 상기 제1 구의 원점은 상기 회전 타원체의 원점과 동일하도록 결정할 수 있다.
그리고, 상기 바운딩 볼륨을 생성하는 단계는 하기 수학식 6에 따라서 상기 복수의 구들에 포함된 제2 구 및 제3 구의 반지름을 결정하고, 하기 수학식 7에 따라서 상기 제2 구 및 상기 제3 구의 원점을 결정할 수 있다.
[수학식 6]
Figure 112012108381110-pat00024

여기서,
Figure 112012108381110-pat00025
은 상기 제2 구의 반지름이고,
Figure 112012108381110-pat00026
는 상기 제3 구의 반지름이고,
Figure 112012108381110-pat00027
는 상기 회전 타원체의 장반경이고,
Figure 112012108381110-pat00028
는 상기 회전 타원체의 단반경이다.
[수학식 7]
Figure 112012108381110-pat00029

여기서,
Figure 112012108381110-pat00030
는 상기 제2 구의 원점이고,
Figure 112012108381110-pat00031
는 상기 제3 구의 원점이고,
Figure 112012108381110-pat00032
는 상기 제1 구의 원점이고,
Figure 112012108381110-pat00033
는 상기 회전 타원체의 단반경의 방향이다.
또한, 상기 바운딩 볼륨을 생성하는 단계는 상기 3D 오브젝트를 포함하는 상기 복수의 구에 포함된 제1 구를 설정하고, 상기 3D 오브젝트에 대하여 PCA(Principal Component Analysis)를 수행하여 상기 3D 오브젝트의 주축(Principal Axes)에 대한 정보를 획득하고, 상기 주축에 대한 정보에 기반하여 하기 수학식 8 또는 하기 수학식 10에 따라서 상기 복수의 구에 포함된 제2 구 및 제3 구의 반지름을 결정하고 하기 수학식 9에 따라서 상기 제2 구 및 상기 제3 구의 원점을 결정할 수 있다.
[수학식 8]
Figure 112012108381110-pat00034

여기서,
Figure 112012108381110-pat00035
Figure 112012108381110-pat00036
는 상기 제2 구 및 상기 제3 구의 반지름이고,
Figure 112012108381110-pat00037
는 상기 제1 구의 반지름이고,
Figure 112012108381110-pat00038
는 상기 주축 중에서 가장 짧은 축 방향의 길이이다.
[수학식 9]
Figure 112012108381110-pat00039

여기서,
Figure 112012108381110-pat00040
는 상기 제2 구의 원점이고,
Figure 112012108381110-pat00041
는 상기 제3 구의 원점이고,
Figure 112012108381110-pat00042
는 PCA 수행 결과에서, 가장 짧은 축(
Figure 112012108381110-pat00043
)으로의 길이이다.
[수학식 10]
Figure 112012108381110-pat00044

여기서,
Figure 112012108381110-pat00045
는 상기 제2 구의 원점이고,
Figure 112012108381110-pat00046
는 제 2구를 평행 이동하여 얻을 수 있는 구의 최소 반경이다.
그리고, 상기 복수의 구의 개수는 상기 회전 타원체의 장반경, 중반경 및 단반경의 비율에 따라서 결정될 수 있다.
또한, 상기 생성된 바운딩 볼륨이 다른 바운딩 볼륨과 충돌하는지 여부 또는 상기생성된 바운딩 볼륨과 상기 다른 바운딩 볼륨간의 거리를 추정하는 단계를 더 포함할 수 있다.
하기 실시예들에 따르면, 충돌 검사에 효과적인 바운딩 볼륨을 생성할 수 있다.
하기 실시예들에 따르면, 구들의 교집합으로 정의되는 바운딩 볼륨을 생성할 수 있다.
도 1은 예시적 실시예에 따른 바운딩 볼륨을 이용한 충돌 검사를 설명한 도면이다.
도 2는 예시적 실시예에 따른 바운딩 볼륨 생성 장치의 구조를 도시한 블록도이다.
도 3은 예시적 실시예에 따른 바운딩 볼륨의 개념을 설명한 도면이다.
도 4는 회전 타원체(ellipsoid)를 이용하여 바운딩 볼륨을 생성하는 예시적 실시예를 설명하는 도면이다.
도 5는 PCA를 이용하여 바운딩 볼륨을 생성하는 또 다른 예시적 실시예를 설명하는 도면이다.
도 6은 예시적 실시예에 따른 바운딩 볼륨 생성 방법을 단계별로 설명한 순서도이다.
이하, 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 예시적 실시예에 따른 바운딩 볼륨을 이용한 충돌 검사를 설명한 도면이다.
도 1의 (a)는 바운딩 볼륨을 이용한 충돌 검사의 일예를 설명한 도면이다. 각각의 바운딩 볼륨(120, 140)은 3D 오브젝트(110, 130)를 포함한다. 도 1의 (a)에서는 각각의 3D 오브젝트(110, 130)를 포함하는 사각형의 바운딩 볼륨(120, 140)이 도시되었다.
3D 오브젝트(110, 130)들 간의 충돌 여부를 판단하는 것은 매우 복잡한 계산을 필요로 하며, 3D 오브젝트(110, 130)를 처리하는데 있어 가장 큰 기술적 난제의 하나로 생각되고 있다.
각 3D 오브젝트(110, 130)를 포함하는 바운딩 볼륨(120, 140)을 이용하여 3D 오브젝트(110, 130)간의 충돌 여부를 간단히 판단할 수 있다. 도 1의 (a)와 같이, 각 각 3D 오브젝트(110, 130)를 포함하는 바운딩 볼륨(120, 140)들이 서로 충돌하지 않는다면, 각 바운딩 볼륨(120, 140)에 포함된 3D 오브젝트들(110, 130)은 서로 충돌하지 않는다.
도 1의 (b)와 같이, 3D 오브젝트들(150, 170)을 포함하는 바운딩 볼륨(160, 170)이 서로 충돌하는 경우에는, 3D 오브젝트들(150, 170)은 서로 충돌할 수도 있고, 충돌하지 않을 수도 있다. 따라서, 이 경우에는 각 3D 오브젝트들(150, 170)이 서로 충돌하는지 여부를 판단하기 위하여 계산을 수행할 수 있다.
도 1에서 설명된 바와 같이 3D 오브젝트(110, 130, 150, 170)들을 포함하는 바운딩 볼륨(120, 140, 160, 180)을 사용하면, 도 1의 (a)와 같이 바운딩 볼륨(120, 140)들이 서로 충돌하지 않는 경우에는 복잡한 계산을 수행할 필요가 없으므로, 3D 오브젝트들(110, 130, 150, 170)간의 충돌 검사를 적은 계산량 만으로 수행할 수 있다.
도 1에서는 3D 오브젝트(110, 130, 150, 170)를 포함하고, 직사각형(rectangular)의 형상을 가지는 바운딩 볼륨(120, 140, 160, 180)들이 개시되었다. 그러나, 충돌여부를 신속히 판단하기 위해서는 다른 형상의 바운딩 볼륨이 사용될 수도 있다.
본 명세서에서는 복수 개의 구(sphere)들의 교집합을 이용하여 바운딩 볼륨을 생성하는 구성에 대하여 상세히 설명하기로 한다.
도 2는 예시적 실시예에 따른 바운딩 볼륨 생성 장치의 구조를 도시한 블록도이다. 예시적 실시예에 따른 바운딩 볼륨 생성 장치(200)는 바운딩 볼륨 생성부(210) 및 충돌 검사부(220)를 포함한다.
바운딩 볼륨 생성부(210)는 3D 오브젝트를 포함하고, 복수의 구들에 공통적으로 포함되는 영역(교집합, intersection)으로 정의되는 바운딩 볼륨을 생성한다.
이하 도 3을 참고하여 예시적 실시예에 따른 바운딩 볼륨의 개념을 설명하기로 한다.
예시적 실시예에 따른 바운딩 볼륨(350)은 3D 오브젝트(310)를 포함하며, 복수의 구(320, 330, 340)들에 공통적으로 포함되는 영역, 예를 들어 교집합으로 정의된다. 바운딩 볼륨(350)은 하기의 수학식 1과 같이 표현될 수도 있다.
[수학식 1]
Figure 112012108381110-pat00047

여기서,
Figure 112012108381110-pat00048
는 k개의 구들의 교집합(Intersection Of Spheres)으로 정의되는 바운딩 볼륨을 나타내고,
Figure 112012108381110-pat00049
는 i번째 구를 나타내고,
Figure 112012108381110-pat00050
는 구들의 교집합을 나타낸다.
3차원 공간에서, 구(sphere)는 각각의 중심점(321, 331, 341)으로부터 일정한 거리에 위치하는 점들의 집합으로 정의된다. 따라서, 특정한 광선이 바운딩 볼륨(350)과 충돌하는지 여부를 판단하는 것은 특정한 광선과 바운딩 볼륨(350)을 구성하는 각각의 구(310, 320, 330)들의 중심점(321, 331, 341)간의 거리를 이용하여 간단히 계산될 수 있다. 또한, 바운딩 볼륨간의 충돌 여부를 판단하는 것도, 각 바운딩 볼륨을 구성하는 구들간의 거리를 이용하여 간단히 계산될 수 있다. 결과적으로, 구들의 교집합으로 정의되는 바운딩 볼륨을 이용하면, 바운딩 볼륨들간의 충돌은 물론, 바운딩 볼륨과 광선과의 충돌을 간단히 계산할 수 있는 기술적 효과가 있다.
도 3에 도시된 바운딩 볼륨(350)은 3개의 구(320, 330, 340)의 교집합으로 정의되나, 다른 실시예에 따른 바운딩 볼륨은 더 많은 개수의 구들의 교집합으로 정의될 수도 있다. 바운딩 볼륨을 정의하는 구의 개수가 증가하면, 바운딩 볼륨의 부피가 감소한다. 따라서, 3D 오브젝트와 모양과 크기가 유사한 바운딩 볼륨을 생성할 수 있으며, 이 경우에, 바운딩 볼륨간의 충돌 여부 판단 결과와 3D 오브젝트간의 충돌 여부 판단 결과가 유사해지는 기술적 효과가 있다.
일측에 따르면, 바운딩 볼륨 생성부(210)는 회전 타원체(ellipsoid)를 이용하는 방법 또는 PCA(Principle Component Analysis)를 이용하는 방법을 이용하여 3D 오브젝트(310)에 대한 최적의 바운딩 볼륨(350)을 생성할 수 있다.
이하 도 4를 참고하여 회전 타원체(ellipsoid)를 이용하여 바운딩 볼륨을 생성하는 예시적 실시예를 설명하기로 한다.
바운딩 볼륨 생성부(210)는 3D 오브젝트(410)을 포함하는 가장 작은 크기의 원형 타원체(smallest ellipsoid, 420)를 설정한다. 여기서, 원형 타원체(420)은 3D 오브젝트(410)를 구성하는 폴리곤들의 모든 꼭지점을 원형 타원체(420)의 내부 영역에 포함한다.
여기서, 원형 타원체(420)의 중심점(center)를
Figure 112012108381110-pat00051
(431)이라고 한다. 또한, 원형 타원체(420)의 주축(principal directions)을 각각
Figure 112012108381110-pat00052
(423),
Figure 112012108381110-pat00053
,
Figure 112012108381110-pat00054
(424)라고 한다. 여기서,
Figure 112012108381110-pat00055
(423)는 원형 타원체(420)의 세 주축 중에서 원형 타원체(420)의 길이가 가장 긴 방향의 축이고,
Figure 112012108381110-pat00056
(424)는 원형 타원체(420)의 주축 중에서, 원형 타원체(420)의 길이가 가장 짧은 방향의 축이다. 이하 본 명세서에서는 원형 타원체(420)의 세 주축(
Figure 112012108381110-pat00057
(423),
Figure 112012108381110-pat00058
,
Figure 112012108381110-pat00059
(424)) 방향의 반지름을 각각
Figure 112012108381110-pat00060
,
Figure 112012108381110-pat00061
,
Figure 112012108381110-pat00062
라고 한다.
Figure 112012108381110-pat00063
(423)는 원형 타원체(420)의 길이가 가장 긴 방향의 축이고,
Figure 112012108381110-pat00064
(424)는 원형 타원체(420)의 주축 중에서, 원형 타원체(420)의 길이가 가장 짧은 방향의 축 이므로,
Figure 112012108381110-pat00065
라고 가정할 수 있다.
바운딩 볼륨 생성부(210)는 3D 오브젝트(410)를 포함하는 제1 구(430)를 설정한다. 이 경우에, 제1 구(430)의 중심점은 원형 타원체의 중심점(431)과 동일할 수 있다. 또한, 제1 구(430)의 반지름은 원형 타원체(420)의 장반경(421)과 동일하거나 작을 수 있다. 원형 타원체(420)의 장반경(421)은 원형 타원체(420)의 가장 긴 방향의 축(423)의 길이이다. 제1 구(430)는 원형 타원체(420)와 마찬가지로, 3D 오브젝트(410)를 구성하는 폴리곤들의 모든 꼭지점을 포함한다.
바운딩 볼륨 생성부(210)는 바운딩 볼륨을 구성하는 제2 구(440)를 설정할 수 있다. 여기서, 제2 구(440)의 중심점(441)은 원형 타원체(420)의 중심점(431)에서, 원형 타원체의 길이가 가장 짧은 방향의 축
Figure 112012108381110-pat00066
(424)위에 존재한다. 또한, 바운딩 볼륨 생성부는 하기 수학식 1에 따라서 제2 구(440)의 반지름을 설정할 수 있다.
[수학식 1]
Figure 112012108381110-pat00067

여기서,
Figure 112012108381110-pat00068
은 제2 구(440)의 반지름이다.
일측에 따르면, 제2 구(440)의 중심점(441)은 하기 수학식 2에 따라서 결정될 수 있다.
[수학식 2]
Figure 112012108381110-pat00069

여기서,
Figure 112012108381110-pat00070
는 제2 구(440)의 중심점(441)이다.
일측에 따르면, 제3 구의 반지름
Figure 112012108381110-pat00071
는 제2 구의 반지름
Figure 112012108381110-pat00072
과 동일한 값으로 결정될 수 있다. 즉, 제3 구의 반지름은 하기 수학식 3과 같이 결정될 수 있다.
[수학식 3]
Figure 112012108381110-pat00073

또한, 제3 구의 위치는 제1 구(430)의 중심점(441)을 중심점으로 제2 구(440)의 반대편에 대칭되는 위치에 존재할 수 있다.
따라서, 제3 구의 중심점(451)은 하기 수학식 4에 따라서 결정될 수 있다.
[수학식 4]
Figure 112012108381110-pat00074

위에서 설명된 바에 따르면, 도 3에 도시된 바운딩 볼륨을 구성하는 복수의 구(320, 330, 340)들 중에서 어느 하나의 구(320)의 반지름은 다른 구(330, 340)들의 반지름과 상이하고, 다른 구(330, 340)들의 반지름은 서로 동일할 수 있다. 또한, 바운딩 볼륨을 구성하는 복수의 구(320, 330, 340)들은 동일한 직선상의 서로 다른 위치(321, 331, 341)에 존재할 수 있다.
또 다른 측면에 따르면, 바운딩 볼륨은 2K+1개의 구들로 구성될 수 있다(여기서, K는 자연수), 이 경우에, 2K개의 구들은 다른 구와 K개의 쌍(pair)을 이루고, 1개의 구만 쌍을 이루지 못한다. 서로 쌍(pair)을 이루는 2개의 구들의 반지름은 서로 동일할 수 있다. 반지름이 서로 동일한, 서로 쌍을 이루는 2개의 구들의 중심점은 쌍을 이루지 못하는 구의 중심점을 통과하는 직선상의 서로 대칭되는 위치에 존재할 수 있다.
예를 들어, 도 3에서는 3개의 구(320, 330, 340)로 구성된 바운딩 볼륨이 도시되었으나, 다른 실시예에 따르면, 5개의 구를 이용하여 바운딩 볼륨을 구성할 수 있다. 이 경우에, 추가된 2개의 구들의 반지름은 제2 구 및 제3 구와 동일 할 수 있다. 추가된2개의 구들의 중심점의 위치는 하기 수학식 5에 따라서 결정될 수 있다.
[수학식 5]
Figure 112012108381110-pat00075

여기서,
Figure 112012108381110-pat00076
는 제4 구의 중심점이고,
Figure 112012108381110-pat00077
는 제5 구의 중심점이다.
이하 도 5를 참고하여 PCA를 이용하여 바운딩 볼륨을 생성하는 또 다른 예시적 실시예를 설명하기로 한다.
먼저, 바운딩 볼륨 생성부(210)는 3D 오브젝트(510)를 포함하는 제1 구(540)를 설정한다. 제1 구(540)는 3D 오브젝트(510)를 구성하는 폴리곤들의 모든 꼭지점을 포함할 수 있다.
그리고, 바운딩 볼륨 생성부(210)는 3D 오브젝트(510)에 대한 PCA(Principle Component Analysis)를 수행한다. 바운딩 볼륨 생성부(210)는 PCA 수행에 따라서 3차원 공간 상에서 3D 오브젝트(510)의 주요한 3개 축(Principal Axes)의 방향을 알 수 있다.
도 5를 참고하면, PCA 수행 결과는 박스(560)으로 도시될 수 있다. 여기서, 박스(560)의 가장 긴 축(523) 방향(
Figure 112012108381110-pat00078
)으로의 길이를
Figure 112012108381110-pat00079
(521)이라 하고, 가장 짧은 축(524) 방향(
Figure 112012108381110-pat00080
)으로의 길이를
Figure 112012108381110-pat00081
(522)라 할 수 있다. 도 5에는 도시되지 않았으나, 도 5의 화면 방향(
Figure 112012108381110-pat00082
)으로의 길이를
Figure 112012108381110-pat00083
라 할 수 있다.
여기서, 예시적 실시예에 따른 바운딩 볼륨을 구성하는 제2구(530) 및 제3구의 반지름은 하기 수학식 6에 따라서 결정될 수 있다.
[수학식6]
Figure 112012108381110-pat00084

여기서,
Figure 112012108381110-pat00085
은 제2 구(530)의 반지름이고,
Figure 112012108381110-pat00086
는 제3 구의 반지름이다. 제3 구는 제2 구와 서로 쌍을 이루며, 제1 구(540)의 중심점을 통과하는 직선상에서 제2 구(530)와 서로 대칭되는 위치에 존재한다. 제2 구(530)의 중심점 및 제3 구의 중심점을 하기 수학식 7에 따라서 결정될 수 있다.
[수학식 7]
Figure 112012108381110-pat00087

여기서,
Figure 112012108381110-pat00088
는 상기 제2 구의 중심점이고,
Figure 112012108381110-pat00089
는 상기 제1 구의 중심점이다. 또한,
Figure 112012108381110-pat00090
는 PCA 수행 결과에서, 가장 짧은 축(
Figure 112012108381110-pat00091
)으로의 길이이다.
도 5에서, 제2구(530)는 상기 수학식 7에 따라서 결정된 중심점을 이용하여 설정된 것이다. 수학식 7에 따라서 결정된 중심점을 이용한다면, 3D 오브젝트(510)를 포함하는 바운딩 볼륨을 생성할 수 있다.
일측에 따르면, 수학식 7에 따라서 결정된 중심점을 이용하여 생성된 바운딩 볼륨은 3D 오브젝트(510)에 충분히 근접하여 생성되지 않을 수도 있다. 즉, 3D 오브젝트(510)와 바운딩 볼륨의 표면(532) 간에 공간이 있을 수도 있다. 이 공간은 충돌 검사시 불필요한 연산을 증가시킬 수 있다. 따라서, 좀더 3D 오브젝트(510)에 타이트하게 근접하는 바운딩 볼륨을 생성할 필요가 있다.
다른 측면에 따르면, 제2 구(530)의 중심점을 이동시켜, 제2 구(530)의 표면으로 형성되는 바운딩 볼륨의 표면(532)을 이동시킬 수 있다. 일측에 따르면, 제2 구(530)의 중심점이 이동하면 바운딩 볼륨의 표면(550)이 이동할 수 있고, 이 경우 바운딩 볼륨과 3D 오브젝트(510)가 좀더 근접하게 된다. 일측에 따르면, 제2 구의 중심점은 하기 수학식 8에 따라서 이동할 수 있다.
[수학식 8]
Figure 112012108381110-pat00092

여기서,
Figure 112012108381110-pat00093
은 제1 구의 중심점
Figure 112012108381110-pat00094
이 이동하여 생성된 제2 구의 새로운 중심점이고,
Figure 112012108381110-pat00095
는 제 2구를 평행 이동하여 얻을 수 있는 구의 최소 반경 이다.
바운딩 볼륨을 구성하는 제 3구는 제2 구의 중심점이 이동함에 따라서 대칭적으로 이동할 수 있다.
도 5에서는 3개의 구를 이용하여 바운딩 볼륨을 구성하는 실시예가 도시되었으나, 다른 실시예에 따르면, 5개의 구를 이용하여 바운딩 볼륨을 구성할 수 있다. 이 경우에, 바운딩 볼륨 생성부(210)는 도 5에 도시된 3개의 구에 2개의 구를 추가할 수 있다. 추가된 2개의 구들의 중심점은 하기 수학식 9에 따라서 결정되며, 반지름은 제2 구 및 제3 구와 동일할 수 있다.
[수학식 9]
Figure 112012108381110-pat00096

여기서,
Figure 112012108381110-pat00097
는 제4 구의 중심점이고,
Figure 112012108381110-pat00098
는 제5 구의 중심점이다.
도 4 및 5에서, 바운딩 볼륨을 구성하는 구의 최적 개수는 도 3에서의 회전 타원체의 비율 또는 도 4에서의 PCA 수행 결과에 따라서 결정될 수 있다.
도 4를 참고하면, 원형 타원체(420)의 세 주축(
Figure 112012108381110-pat00099
(423),
Figure 112012108381110-pat00100
,
Figure 112012108381110-pat00101
(424)) 방향의 반지름을 각각
Figure 112012108381110-pat00102
,
Figure 112012108381110-pat00103
,
Figure 112012108381110-pat00104
(
Figure 112012108381110-pat00105
)라고 할 수 있다. 이 경우에,
Figure 112012108381110-pat00106
,
Figure 112012108381110-pat00107
,
Figure 112012108381110-pat00108
의 각 비율에 따라서 바운딩 볼륨을 구성하는 구의 개수 K는 하기와 같이 결정될 수 있다.
1)
Figure 112012108381110-pat00109
이고,
Figure 112012108381110-pat00110
인 경우에, K의 값은 5
2)
Figure 112012108381110-pat00111
이고,
Figure 112012108381110-pat00112
인 경우에, K의 값은 3
3)
Figure 112012108381110-pat00113
이고,
Figure 112012108381110-pat00114
인 경우에, K의 값은 1
도 5에서, PCA 수행 결과에 따라 박스(560)의 세 축 방향의 길이를 각각
Figure 112012108381110-pat00115
,
Figure 112012108381110-pat00116
,
Figure 112012108381110-pat00117
(
Figure 112012108381110-pat00118
)라고 할 수 있다. 이 경우에, 바운딩 볼륨을 구성하는 구의 개수 K는 위에 설명된 수학식에 따라 결정될 수 있다.
도 2에서, 바운딩 볼륨 생성부(210)가 3D 오브젝트를 포함하는 바운딩 볼륨을 생성하면, 충돌 검사부(220)는 생성된 바운딩 볼륨이 다른 바운딩 볼륨과 충돌하는지 여부를 판단할 수 있다. 또는, 충돌 검사부(220)는 생성된 바운딩 볼륨과 다른 바운딩 볼륨간의 거리를 추정하거나, 생성된 바운딩 볼륨과 직선이 충돌하는지 여부 등을 판단할 수 있다.
도 6은 예시적 실시예에 따른 바운딩 볼륨 생성 방법을 단계별로 설명한 순서도이다.
단계(610)에서, 바운딩 볼륨 생성 장치는 3D 오브젝트를 포함하고, 복수의 구들에 공통적으로 포함되는 영역(교집합, intersection)으로 정의되는 바운딩 볼륨을 생성한다.
일측에 따르면, 바운딩 볼륨을 구성하는 구들의 중심점을 서로 다른 위치에 있을 수 있다. 특히, 바운딩 볼륨을 구성하는 구들의 중심점은 동일한 직선상에 위치할 수도 있다.
일측에 따르면, 바운딩 볼륨 생성 장치는 2K+1개의 구들로 구성되는 바운딩 볼륨을 생성할 수 있다. 이 경우에, 2K 개들의 구들은 다른 구와 K개의 쌍을 이루고 1개의 구는 쌍을 이루지 못할 수 있다. 서로 쌍(pair)을 이루는 2개의 구들의 반지름은 서로 동일할 수 있다. 반지름이 서로 동일한, 서로 쌍을 이루는 2개의 구들의 중심점은 쌍을 이루지 못하는 구의 중심점을 통과하는 직선상의 서로 대칭되는 위치에 존재할 수 있다.
일측에 따르면, 바운딩 볼륨 생성 장치는 단계(610)에서, 1) 회전 타원체(ellipsoid)를 이용하는 방법 또는 2) PCA(Principle Component Analysis)를 이용하는 방법을 이용하여 3D 오브젝트에 대한 최적의 바운딩 볼륨을 생성할 수 있다.
회전 타원체를 이용하는 방법에서, 바운딩 볼륨 생성 장치는 3D 오브젝트의 모든 꼭지점을 포함하는 회전 타원체(ellipsoid)를 설정한다.
바운딩 볼륨 생성 장치는 회전 타원체의 장반경과 동일하거나 작고, 중심점은 회전 타원체의 중심점과 동일한 제1 구를 설정한다.
또한, 바운딩 볼륨 생성 장치는 회전 타원체의 장반경
Figure 112012108381110-pat00119
및 단반경
Figure 112012108381110-pat00120
를 이용하여 제2 구 및 제3 구를 설정할 수 있다. 예를 들어, 바운딩 볼륨 생성 장치는 위에서 설명된 수학식 1, 수학식 3에 따라서 제2구 및 제3 구의 반지름을 결정하고, 수학식 2 및 수학식 4에 따라서 제2구의 중심점 및 제3 구의 중심점을 결정할 수 있다.
바운딩 볼륨 생성 장치는 회전 타원체의 중반경
Figure 112012108381110-pat00121
를 이용하여 제4 구 및 제5 구를 설정할 수 있다. 예를 들어, 바운딩 볼륨 생성 장치는 위에서 설명된 수학식 5에 따라서 제4 구 및 제5 구의 중심점을 결정할 수 있다. 제4 구 및 제5 구의 반지름은 제2 구 및 제3 구의 반지름과 동일하게 결정될 수 있다.
회전 타원체(ellipsoid)를 이용하여 바운딩 볼륨을 생성하는 실시예에 대해서는 도 3에서 상세히 설명하였으므로, 구체적인 설명은 생략하기로 한다.
PCA를 이용하는 방법에서, 바운딩 볼륨 생성 장치는 3D 오브젝트를 포함하는 제1 구를 설정한다. 여기서, 제1 구의 반지름은
Figure 112012108381110-pat00122
이고, 중심점은
Figure 112012108381110-pat00123
로 표현될 수 있다.
또한, 바운딩 볼륨 생성 장치는 3D 오브젝트에 대한 PCA를 수행하여 3D 오브젝트의 주요한 3개 축의 방향에 대한 정보를 획득한다. 여기서, PCA 수행 결과는 도 5에 도시된 박스의 형태로 도시될 수 있다. 박스의 가장 긴 축 방향(
Figure 112012108381110-pat00124
)으로의 길이를
Figure 112012108381110-pat00125
라 하고, 가장 짧은 축 방향(
Figure 112012108381110-pat00126
)으로의 길이를
Figure 112012108381110-pat00127
라 할 수 있다.
이 경우에, 바운딩 볼륨 생성 장치는 박스의 각 방향의 길이를 이용하여 제2 구 및 제3 구를 설정할 수 있다. 예를 들어, 바운딩 볼륨 생성 장치는 수학식 6에 따라서 제2 구 및 제3 구의 반지름을 결정할 수 있다. 또한, 바운딩 볼륨 생성 장치는 수학식 7에 따라서 제2 구 및 제3 구의 위치를 설정할 수 있다.
일측에 따르면, 바운딩 볼륨 생성 장치가 생성한 바운딩 볼륨은 3D 오브젝트에 충분히 근접하여 생성되지 않을 수도 있다. 즉, 3D 오브젝트와 바운딩 볼륨의 표면(532) 간에 공간이 있을 수도 있다. 이 공간은 충돌 검사시 불필요한 연산을 증가시킬 수 있다. 따라서, 좀더 3D 오브젝트에 타이트하게 근접하는 바운딩 볼륨을 생성할 필요가 있다.
일측에 따르면, 바운딩 볼륨 생성 장치는 수학식 8에 따라서 제2 구의 중심을 이동시켜 바운딩 볼륨이 3D 오브젝트에 근접되도록 설정할 수 있다. 바운딩 볼륨을 구성하는 제 3구는 제2 구의 중심이 이동함에 따라서 대칭적으로 이동할 수 있다.
단계(610)에서, 바운딩 볼륨을 구성하는 구의 최적 개수는 회전 타원체의 비율 또는 PCA 수행 결과에 따라서 결정될 수 있다.
원형 타원체를 이용하는 방법의 경우에, 원형 타원체의 세 주축 방향의 반지름을 각각
Figure 112012108381110-pat00128
,
Figure 112012108381110-pat00129
,
Figure 112012108381110-pat00130
(
Figure 112012108381110-pat00131
)라고 할 수 있다. 이 경우에,
Figure 112012108381110-pat00132
,
Figure 112012108381110-pat00133
,
Figure 112012108381110-pat00134
의 각 비율에 따라서 바운딩 볼륨을 구성하는 구의 개수 K는 하기와 같이 결정될 수 있다.
4)
Figure 112012108381110-pat00135
이고,
Figure 112012108381110-pat00136
인 경우에, K의 값은 5
5)
Figure 112012108381110-pat00137
이고,
Figure 112012108381110-pat00138
인 경우에, K의 값은 3
6)
Figure 112012108381110-pat00139
이고,
Figure 112012108381110-pat00140
인 경우에, K의 값은 1
PCA를 이용하는 방법의 경우에, PCA 수행 결과에 따라 박스의 세 축 방향의 길이를 각각
Figure 112012108381110-pat00141
,
Figure 112012108381110-pat00142
,
Figure 112012108381110-pat00143
(
Figure 112012108381110-pat00144
)라고 할 수 있다. 이 경우에, 바운딩 볼륨을 구성하는 구의 개수 K는 위에 설명된 수학식에 따라 결정될 수 있다.
단계(620)에서, 바운딩 볼륨 생성 장치는 생성된 바운딩 볼륨이 다른 바운딩 볼륨과 충돌하는지 여부를 판단할 수 있다. 또는, 바운딩 볼륨 생성 장치는 생성된 바운딩 볼륨과 다른 바운딩 볼륨간의 거리를 추정하거나, 생성된 바운딩 볼륨과 직선이 충돌하는지 여부 등을 판단할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
200: 바운딩 볼륨 생성 장치
210: 바운딩 볼륨 생성부
220: 충돌 검사부

Claims (19)

  1. 3D 오브젝트를 포함하고, 복수의 구들이 겹침에 따라 발생하는 상기 복수의 구들의 교집합과 대응하는 영역(intersection)으로 정의되는 바운딩 볼륨을 생성하는 바운딩 볼륨 생성부; 및
    상기 바운딩 볼륨이 상기 바운딩 볼륨의 주변에 위치한 주변 바운딩 볼륨과 충돌하는지 여부 또는 상기 바운딩 볼륨과 상기 주변 바운딩 볼륨간의 거리를 추정하는 충돌 검사부
    를 포함하고,
    상기 바운딩 볼륨 생성부는
    상기 3D 오브젝트의 꼭지점을 포함하는 회전 타원체(ellipsoid)를 설정하거나 상기 3D 오브젝트의 주축(Principal Axes)에 대한 정보를 획득하고, 상기 회전 타원체의 장반경 및 단반경을 이용하여 상기 복수의 구들 중 일부 구들의 반지름을 결정하거나 상기 주축 중에서 가장 짧은 축 방향의 길이를 이용하여 상기 복수의 구들 중 일부 구들의 반지름을 결정하는 바운딩 볼륨 생성 장치.
  2. 제1항에 있어서,
    상기 구들의 중심점은 서로 다른 위치인 바운딩 볼륨 생성 장치.
  3. 제2항에 있어서,
    상기 구들의 중심점은 동일한 직선상에 위치하는 바운딩 볼륨 생성 장치.
  4. 제1항에 있어서,
    상기 복수의 구들 중에서 어느 하나의 구의 반지름은 다른 구들의 반지름과 상이하고, 상기 다른 구들의 반지름은 서로 동일한 바운딩 볼륨 생성 장치.
  5. 제1항에 있어서,
    상기 바운딩 볼륨 생성부는 상기 회전 타원체가 설정되는 경우, 상기 복수의 구들에 포함된 제1 구의 반지름은 상기 회전 타원체의 장반경과 동일하고, 상기 제1 구의 중심점은 상기 회전 타원체의 중심점과 동일하도록 결정하는 바운딩 볼륨 생성 장치.
  6. 제5항에 있어서,
    상기 바운딩 볼륨 생성부는 하기 수학식 1에 따라서 상기 복수의 구들에 포함된 제2 구 및 제3 구의 반지름을 결정하고, 하기 수학식 2에 따라서 상기 제2 구 및 상기 제3 구의 중심점을 결정하는 바운딩 볼륨 생성 장치.

    [수학식 1]

    Figure 112012108381110-pat00145


    여기서,
    Figure 112012108381110-pat00146
    은 상기 제2 구의 반지름이고,
    Figure 112012108381110-pat00147
    는 상기 제3 구의 반지름이고,
    Figure 112012108381110-pat00148
    는 상기 회전 타원체의 장반경이고,
    Figure 112012108381110-pat00149
    는 상기 회전 타원체의 단반경이다.

    [수학식 2]
    Figure 112012108381110-pat00150


    여기서,
    Figure 112012108381110-pat00151
    는 상기 제2 구의 중심점이고,
    Figure 112012108381110-pat00152
    는 상기 제3 구의 중심점이고,
    Figure 112012108381110-pat00153
    는 상기 제1 구의 중심점이고,
    Figure 112012108381110-pat00154
    는 상기 회전 타원체의 단반경의 방향이다.
  7. 제1항에 있어서,
    상기 바운딩 볼륨 생성부는 상기 3D 오브젝트를 포함하는 상기 복수의 구에 포함된 제1 구를 설정하고, 상기 3D 오브젝트에 대하여 PCA(Principal Component Analysis)를 수행하여 상기 3D 오브젝트의 주축(Principal Axes)에 대한 정보를 획득하고,
    상기 주축에 대한 정보에 기반하여 하기 수학식 3 또는 하기 수학식 5에 따라서 상기 복수의 구에 포함된 제2 구 및 제3 구의 반지름을 결정하고 하기 수학식 4에 따라서 상기 제2 구 및 상기 제3 구의 중심점을 결정하는 바운딩 볼륨 생성 장치.

    [수학식 3]

    Figure 112014033516805-pat00155


    여기서,
    Figure 112014033516805-pat00156
    Figure 112014033516805-pat00157
    는 상기 제2 구 및 상기 제3 구의 반지름이고,
    Figure 112014033516805-pat00158
    는 상기 제1 구의 반지름이고,
    Figure 112014033516805-pat00159
    는 상기 주축 중에서 가장 짧은 축 방향의 길이이다.

    [수학식 4]

    Figure 112014033516805-pat00160


    여기서,
    Figure 112014033516805-pat00161
    는 상기 제2 구의 중심점이고,
    Figure 112014033516805-pat00162
    는 상기 제3 구의 중심점이고,
    Figure 112014033516805-pat00197
    는 상기 제1 구의 중심점이고,
    Figure 112014033516805-pat00163
    는 PCA 수행 결과에서, 가장 짧은 축(
    Figure 112014033516805-pat00164
    )으로의 길이이다.

    [수학식 5]

    Figure 112014033516805-pat00165


    여기서,
    Figure 112014033516805-pat00166
    는 상기 제1 구의 중심점이 이동하여 생성된 제2 구의 새로운 중심점이고,
    Figure 112014033516805-pat00167
    는 제 2구를 평행 이동하여 얻을 수 있는 구의 최소 반경이다.
  8. 제5항에 있어서,
    상기 복수의 구의 개수는 상기 회전 타원체의 장반경, 중반경 및 단반경의 비율에 따라서 결정되는 바운딩 볼륨 생성 장치.
  9. 삭제
  10. 3D 오브젝트를 포함하고, 복수의 구들이 겹침에 따라 발생하는 상기 복수의 구들의 교집합과 대응하는 영역(intersection)으로 정의되는 바운딩 볼륨을 생성하는 단계; 및
    상기 바운딩 볼륨이 상기 바운딩 볼륨 주변에 위치한 주변 바운딩 볼륨과 충돌하는지 여부 또는 상기 바운딩 볼륨과 상기 주변 바운딩 볼륨간의 거리를 추정하는 단계
    를 포함하고,
    상기 바운딩 볼륨을 생성하는 단계는
    상기 3D 오브젝트의 꼭지점을 포함하는 회전 타원체(ellipsoid)를 설정하거나 상기 3D 오브젝트의 주축(Principal Axes)에 대한 정보를 획득하는 단계; 및
    상기 회전 타원체의 장반경 및 단반경을 이용하여 상기 복수의 구들 중 일부 구들의 반지름을 결정하거나 상기 주축 중에서 가장 짧은 축 방향의 길이를 이용하여 상기 복수의 구들 중 일부 구들의 반지름을 결정하는 단계
    를 포함하는 바운딩 볼륨 생성 방법.
  11. 제10항에 있어서,
    상기 구들의 중심점은 서로 다른 위치인 바운딩 볼륨 생성 방법.
  12. 제11항에 있어서,
    상기 구들의 중심점은 동일한 직선상에 위치하는 바운딩 볼륨 생성 방법.
  13. 제10항에 있어서,
    상기 복수의 구들 중에서 어느 하나의 구의 반지름은 다른 구들의 반지름과 상이하고, 상기 다른 구들의 반지름은 서로 동일한 바운딩 볼륨 생성 방법.
  14. 제10항에 있어서,
    상기 바운딩 볼륨을 생성하는 단계는
    상기 회전 타원체가 설정되는 경우, 상기 복수의 구들에 포함된 제1 구의 반지름은 상기 회전 타원체의 장반경과 동일하고, 상기 제1 구의 중심점은 상기 회전 타원체의 중심점과 동일하도록 결정하는 바운딩 볼륨 생성 방법.
  15. 제14항에 있어서,
    상기 바운딩 볼륨을 생성하는 단계는 하기 수학식 6에 따라서 상기 복수의 구들에 포함된 제2 구 및 제3 구의 반지름을 결정하고, 하기 수학식 7에 따라서 상기 제2 구 및 상기 제3 구의 중심점을 결정하는 바운딩 볼륨 생성 방법.

    [수학식 6]

    Figure 112012108381110-pat00168


    여기서,
    Figure 112012108381110-pat00169
    은 상기 제2 구의 반지름이고,
    Figure 112012108381110-pat00170
    는 상기 제3 구의 반지름이고,
    Figure 112012108381110-pat00171
    는 상기 회전 타원체의 장반경이고,
    Figure 112012108381110-pat00172
    는 상기 회전 타원체의 단반경이다.

    [수학식 7]
    Figure 112012108381110-pat00173


    여기서,
    Figure 112012108381110-pat00174
    는 상기 제2 구의 중심점이고,
    Figure 112012108381110-pat00175
    는 상기 제3 구의 중심점이고,
    Figure 112012108381110-pat00176
    는 상기 제1 구의 중심점이고,
    Figure 112012108381110-pat00177
    는 상기 회전 타원체의 단반경의 방향이다.
  16. 제10항에 있어서,
    상기 바운딩 볼륨을 생성하는 단계는 상기 3D 오브젝트를 포함하는 상기 복수의 구에 포함된 제1 구를 설정하고, 상기 3D 오브젝트에 대하여 PCA(Principal Component Analysis)를 수행하여 상기 3D 오브젝트의 주축(Principal Axes)에 대한 정보를 획득하고,
    상기 주축에 대한 정보에 기반하여 하기 수학식 8 또는 하기 수학식 10에 따라서 상기 복수의 구에 포함된 제2 구 및 제3 구의 반지름을 결정하고 하기 수학식 9에 따라서 상기 제2 구 및 상기 제3 구의 중심점을 결정하는 바운딩 볼륨 생성 방법.

    [수학식 8]

    Figure 112014033516805-pat00178


    여기서,
    Figure 112014033516805-pat00179
    Figure 112014033516805-pat00180
    는 상기 제2 구 및 상기 제3 구의 반지름이고,
    Figure 112014033516805-pat00181
    는 상기 제1 구의 반지름이고,
    Figure 112014033516805-pat00182
    는 상기 주축 중에서 가장 짧은 축 방향의 길이이다.

    [수학식 9]

    Figure 112014033516805-pat00183


    여기서,
    Figure 112014033516805-pat00184
    는 상기 제2 구의 중심점이고,
    Figure 112014033516805-pat00185
    는 상기 제3 구의 중심점이고,
    Figure 112014033516805-pat00198
    는 상기 제1 구의 중심점이고,
    Figure 112014033516805-pat00186
    는 PCA 수행 결과에서, 가장 짧은 축(
    Figure 112014033516805-pat00187
    )으로의 길이이다.

    [수학식 10]

    Figure 112014033516805-pat00188


    여기서,
    Figure 112014033516805-pat00189
    는 상기 제1 구의 중심점이 이동하여 생성된 제2 구의 새로운 중심점이고,
    Figure 112014033516805-pat00190
    는 제 2구를 평행 이동하여 얻을 수 있는 구의 최소 반경이다.
  17. 제14항에 있어서,
    상기 복수의 구의 개수는 상기 회전 타원체의 장반경, 중반경 및 단반경의 비율에 따라서 결정되는 바운딩 볼륨 생성 방법.
  18. 삭제
  19. 제10항 내지 제17항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
KR1020120154711A 2012-12-27 2012-12-27 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법 KR101500814B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120154711A KR101500814B1 (ko) 2012-12-27 2012-12-27 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법
PCT/KR2013/002287 WO2014104481A1 (ko) 2012-12-27 2013-03-20 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120154711A KR101500814B1 (ko) 2012-12-27 2012-12-27 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140084813A KR20140084813A (ko) 2014-07-07
KR101500814B1 true KR101500814B1 (ko) 2015-03-10

Family

ID=51021515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120154711A KR101500814B1 (ko) 2012-12-27 2012-12-27 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101500814B1 (ko)
WO (1) WO2014104481A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102088101B1 (ko) * 2018-05-28 2020-03-11 한양대학교 산학협력단 다수의 이동체들 사이의 충돌 예측 및 근접관계의 회피 방법
US11508248B2 (en) 2017-05-30 2022-11-22 Iucf-Hyu (Industry-University Cooperation Foundation Hanyang University) Method for predicting collision and avoiding conflict between multiple moving bodies
KR102067363B1 (ko) * 2019-10-28 2020-01-16 한양대학교 산학협력단 다수의 이동체들 사이의 충돌 예측 및 근접관계의 회피 방법
WO2023229287A1 (ko) * 2022-05-23 2023-11-30 김한익 충돌 후보 객체 결정 방법 및 장치, 컴퓨터 판독 가능한 저장 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097372A1 (en) * 2008-10-17 2010-04-22 Caustic Graphics, Inc. Synthetic acceleration shapes for use in ray tracing
KR20110069259A (ko) * 2009-12-17 2011-06-23 한국과학기술원 상호충돌검사 기반 병렬충돌검사 방법 및 컴퓨터 판독가능 매체

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7928993B2 (en) * 2006-07-28 2011-04-19 Intel Corporation Real-time multi-resolution 3D collision detection using cube-maps
US8237711B2 (en) * 2007-11-19 2012-08-07 Caustic Graphics, Inc. Tracing of shader-generated ray groups using coupled intersection testing
US8248409B2 (en) * 2008-10-14 2012-08-21 Oracle International Corporation Point in polyhedron
KR101661934B1 (ko) * 2010-07-29 2016-10-04 삼성전자주식회사 영상 처리 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097372A1 (en) * 2008-10-17 2010-04-22 Caustic Graphics, Inc. Synthetic acceleration shapes for use in ray tracing
KR20110069259A (ko) * 2009-12-17 2011-06-23 한국과학기술원 상호충돌검사 기반 병렬충돌검사 방법 및 컴퓨터 판독가능 매체
KR101084980B1 (ko) * 2009-12-17 2011-11-21 이화여자대학교 산학협력단 상호충돌검사 기반 병렬충돌검사 방법 및 컴퓨터 판독가능 매체

Also Published As

Publication number Publication date
WO2014104481A1 (ko) 2014-07-03
KR20140084813A (ko) 2014-07-07

Similar Documents

Publication Publication Date Title
JP6830139B2 (ja) 3次元データの生成方法、3次元データの生成装置、コンピュータ機器及びコンピュータ読み取り可能な記憶媒体
CN109901567B (zh) 用于输出障碍物信息的方法和装置
KR100888475B1 (ko) 모델간 충돌 여부 검사 방법 및 장치
KR101500814B1 (ko) 구들의 교집합을 이용한 바운딩 볼륨 생성 장치 및 방법
KR101661934B1 (ko) 영상 처리 장치 및 방법
KR20190039382A (ko) 회귀 분석으로 2d 바운딩 박스에서 수도(pseudo)-3d박스를 획득하는 방법 및 이를 이용한 학습 장치 및 테스트 장치
JP4942517B2 (ja) 衝突感知装置及び方法
EP3179389A1 (en) Detecting cut-outs
JP5498437B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、厚み領域設定装置、厚み領域設定方法、厚み領域設定プログラム、厚み領域設定プログラムを記憶したコンピュータ読み取り可能な記録媒体、仮想空間における面に関するデータ構造
KR101533946B1 (ko) 원의 보로노이 다이어그램의 업데이트 방법과 이를 이용한 입자 간 충돌 시뮬레이션 방법
CN105160698B (zh) 一种三角化射线跟踪路径搜索方法
JP5113765B2 (ja) コンピュータシミュレーションおよび分析のための粒子への物体離散化
US10319132B2 (en) Method and system for representing objects with velocity-dependent particles
KR102399671B1 (ko) 객체들을 모델링하는 방법 및 장치
KR20230005312A (ko) 평면도를 생성하기 위한 방법 및 장치
KR101585998B1 (ko) 영상 처리 장치 및 방법
CN107590300B (zh) 最短路径确定方法和信息处理装置
US10115224B2 (en) Method and apparatus generating acceleration structure
KR20150046642A (ko) 레이 트레이싱 시스템에서의 가속 구조 탐색 장치 및 그 탐색 방법
US20110273447A1 (en) Connection-relation deciding program, computer aiding apparatus, computer aiding method
EP1685509B1 (en) System, method, and computer program product for determining wall thickness in a graphic model
KR102051903B1 (ko) 공간 가속 구조 탐색 장치 및 방법
JP2023045667A (ja) 点群データのマッチング方法、マッチング装置、及びプログラム
JP5787514B2 (ja) 3次元空間データ処理装置及びプログラム
KR20220150575A (ko) 유동해석 데이터 처리장치 및 그 장치에서 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20180226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 6