KR102591633B1 - 가상 공간상 지형 구현 장치 및 그 방법 - Google Patents
가상 공간상 지형 구현 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102591633B1 KR102591633B1 KR1020200156786A KR20200156786A KR102591633B1 KR 102591633 B1 KR102591633 B1 KR 102591633B1 KR 1020200156786 A KR1020200156786 A KR 1020200156786A KR 20200156786 A KR20200156786 A KR 20200156786A KR 102591633 B1 KR102591633 B1 KR 102591633B1
- Authority
- KR
- South Korea
- Prior art keywords
- tile
- terrain
- level
- virtual space
- tiles
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012876 topography Methods 0.000 title description 5
- 238000006243 chemical reaction Methods 0.000 claims abstract description 15
- 238000012800 visualization Methods 0.000 claims abstract description 11
- 238000007493 shaping process Methods 0.000 claims abstract description 9
- 230000007423 decrease Effects 0.000 claims abstract description 8
- 238000003491 array Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 24
- 230000002265 prevention Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G06T3/0093—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
가상 공간상 지형 구현 장치 및 그 방법이 개시된다.
이 장치는 가상 공간 상에 지형을 구현하는 장치로서, 입력부, 변환부, 제어부 및 가시화부를 포함한다. 입력부는 사용자로부터 구현될 지형의 경위도 좌표, 가상 공간 상에서 그리드 형식으로 생성되는 타일의 생성 범위, 및 타일 레벨에 대한 입력을 받으며, 여기서 타일 레벨은 높아질수록 타일의 스케일이 감소한다. 변환부는 가상 공간에서의 좌표를 경위도 좌표로 변환하거나, 또는 경위도 좌표를 가상 공간에서의 좌표로 변환한다. 제어부는 입력부를 통해 입력되는 타일의 생성 범위 및 타일 레벨에 대응하는 타일 배열을 가상 공간상에서 생성하고, 타일 배열에 속하는 각각의 타일의 좌표에 대해 변환부를 통해 변환된 경위도 좌표에 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화한 후, 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑한다. 가시화부는 제어부에 의해 매핑된 지형을 3차원으로 시각화한다.
이 장치는 가상 공간 상에 지형을 구현하는 장치로서, 입력부, 변환부, 제어부 및 가시화부를 포함한다. 입력부는 사용자로부터 구현될 지형의 경위도 좌표, 가상 공간 상에서 그리드 형식으로 생성되는 타일의 생성 범위, 및 타일 레벨에 대한 입력을 받으며, 여기서 타일 레벨은 높아질수록 타일의 스케일이 감소한다. 변환부는 가상 공간에서의 좌표를 경위도 좌표로 변환하거나, 또는 경위도 좌표를 가상 공간에서의 좌표로 변환한다. 제어부는 입력부를 통해 입력되는 타일의 생성 범위 및 타일 레벨에 대응하는 타일 배열을 가상 공간상에서 생성하고, 타일 배열에 속하는 각각의 타일의 좌표에 대해 변환부를 통해 변환된 경위도 좌표에 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화한 후, 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑한다. 가시화부는 제어부에 의해 매핑된 지형을 3차원으로 시각화한다.
Description
본 발명은 가상 공간상 지형 구현 장치 및 그 방법에 관한 것이다.
인터넷 및 모바일의 발달과 함께 최근 공간 정보를 기반으로 한 디지털 트윈 산업이 성장하고 있는 추세이며, 실감형 미디어, 스마트 도시 등 최근 ICT(Information and Communications Technologies) 환경 변화에 따른 공간 정보 기반 콘텐츠에 대한 수요도 꾸준히 증가하고 있다.
정부 및 지자체에선 보유하고 있는 고정밀 측량 데이터를 활용한 디지털 트윈 구축에 많은 관심을 가지고 있으며, 다양한 산업 분야에서도 마찬가지로 디지털 트윈을 기반으로 한 융복합 기술 개발도 활발히 진행 중에 있다.
그러나, 기술의 발전으로 최근의 지형 데이터가 고정밀/대용량으로 진화하여 기존의 지형 구현 기술에 의해 고정밀/대용량의 지형 데이터를 가상 공간 상에 구현하기 위한 지형 데이터 처리 시간이나 카메라 이동시 지형 가시화 처리 시간이 많이 소요되는 등 지형 구현이 효율적이지 않다는 문제점이 있다.
본 발명이 해결하고자 하는 과제는 고정밀/대용량 지형 데이터를 빠른 시간에 처리하고 최적화함으로써 가상 공간상에 효율적으로 구현할 수 있는 가상 공간상 지형 구현 장치 및 그 방법을 제공하는 것이다.
상기한 바와 같은 본 발명의 과제를 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 측면에 따르면, 가상 공간상 지형 구현 장치가 제공되며, 이 장치는,
가상 공간 상에 지형을 구현하는 장치로서, 사용자로부터 구현될 지형의 경위도 좌표, 가상 공간 상에서 그리드 형식으로 생성되는 타일의 생성 범위, 및 타일 레벨에 대한 입력을 받는 입력부 - 상기 타일 레벨은 높아질수록 상기 타일의 스케일이 감소함 -, 가상 공간에서의 좌표를 경위도 좌표로 변환하거나, 또는 경위도 좌표를 상기 가상 공간에서의 좌표로 변환하는 변환부, 상기 입력부를 통해 입력되는 타일의 생성 범위 및 타일 레벨에 대응하는 타일 배열을 가상 공간상에서 생성하고, 상기 타일 배열에 속하는 각각의 타일의 좌표에 대해 상기 변환부를 통해 변환된 경위도 좌표에 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화한 후, 상기 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑하는 제어부, 그리고 상기 제어부에 의해 매핑된 지형을 3차원으로 시각화하는 가시화부를 포함한다.
본 발명의 다른 측면에 따르면, 가상 공간상 지형 구현 방법이 제공되며, 이 방법은,
가상 공간 상에 지형을 구현하는 방법으로서, 사용자로부터 입력되는, 가상 공간 상에서 그리드 형식으로 생성되는 타일의 생성 범위 및 타일 레벨에 대응하는 타일 배열을 생성하는 단계 - 상기 타일 레벨은 높아질수록 상기 타일의 스케일이 감소함 -, 상기 타일 배열에 속하는 각각의 타일의 좌표에 대응하는 경위도 좌표 기반으로 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화하는 단계, 상기 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑하는 단계, 그리고 매핑된 지형을 3차원으로 시각화하는 단계를 포함한다.
본 발명에 따르면, 고정밀/대용량 지형 데이터를 빠른 시간에 처리하고 최적화함으로써 가상 공간상에 효율적으로 구현할 수 있다.
또한, 공간 정보를 기반으로 한 디지털 트윈의 기본이 되는 지형을 효율적으로 생성 및 운용할 수 있게 함으로써, 관광, 방재, 국방, 교통 등 다양한 산업 분야에 접목되어 활용되어 질 수 있다.
일부 중첩되는 타일에 대해 시야에 보이지 않는 지형으로서 비가시화함으로써 장치의 메모리 낭비를 최소화할 수 있다.
사용자의 시야에 대응하는 카메라의 이동시 미리 설정된 시간 지연 동안의 타일 이동에 대해 중첩 방지 프로세스를 수행하지 않음으로써 지형 가시화 처리 시간을 절약할 수 있어서 지형 구현이 기존에 비해 효율적이다.
도 1은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 사용되는 타일로 구획된 지형 데이터의 개념을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 사용되는 타일 레벨의 개념을 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 개략적인 구성 블록도이다.
도 4는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 변환부에서 경위도 좌표와 가상 좌표 사이의 변환 개념을 도시한 도면이다.
도 5는 도 4에 도시된 제어부의 구체적인 구성 블록도이다.
도 6은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 생성부에서 생성되는 타일 레벨별 타일 배열의 예를 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 복수 타일 레벨별 타일 배열 및 복수 타일 배열의 중첩 예를 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 타일에 형성된 충돌체의 배치 예를 도시한 도면이다.
도 9는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 서로 다른 레벨의 타일 배열들 사이에 중첩된 타일을 제거하는 예를 도시한 도면이다.
도 10은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 낮은 타일 레벨의 타일 한 개 전체가 중첩되는 경우의 충돌체의 접촉 예를 도시한 도면이다.
도 11은 도 10에서의 경우에 있어서 중첩되는 낮은 타일 레벨의 타일을 제거하는 개념을 도시한 도면이다.
도 12는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 낮은 타일 레벨의 타일 한 개의 일부가 중첩되는 경우에서 중첩된 타일 일부를 비가시화하는 예를 도시한 도면이다.
도 13은 도 12에서의 경우를 실제 지형 이미지에 대해 적용한 예를 도시한 도면이다.
도 14는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 서로 다른 레벨의 타일을 혼합하여 타일 지형을 형상화시킨 예를 도시한 도면이다.
도 15는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 타일과 타일에 형성되어 있는 충돌체가 배치되어 있는 실제 지형 이미지의 예를 도시한 도면이다.
도 16은 도 15의 예에서 서로 다른 레벨의 타일을 레벨별로 구분하여 상하 분리한 형태를 도시한 도면이다.
도 17은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 카메라의 이동에 따라 지형 이미지에서 복수 레벨의 타일로 중첩된 영역의 이동 예를 도시한 도면이다.
도 18은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 카메라의 이동에 따라 시야에서 벗어난 타일 영역을 비가시화하는 예를 도시한 도면이다.
도 19는 본 발명의 실시예에 따른 가상 공간상 지형 구현 방법의 개략적인 흐름도이다.
도 20은 본 발명의 실시예에 따른 가상 공간상 지형 구현 방법에 따라 가상 공간상에 시각화된 지형의 예를 도시한 도면이다.
도 21은 본 발명의 실시예에 따른 타일 배열 생성 과정의 개략적인 흐름도이다.
도 22는 본 발명의 다른 실시예에 따른 가상 공간상 지형 구현 방법의 개략적인 흐름도이다.
도 2는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 사용되는 타일 레벨의 개념을 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 개략적인 구성 블록도이다.
도 4는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 변환부에서 경위도 좌표와 가상 좌표 사이의 변환 개념을 도시한 도면이다.
도 5는 도 4에 도시된 제어부의 구체적인 구성 블록도이다.
도 6은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 생성부에서 생성되는 타일 레벨별 타일 배열의 예를 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 복수 타일 레벨별 타일 배열 및 복수 타일 배열의 중첩 예를 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 타일에 형성된 충돌체의 배치 예를 도시한 도면이다.
도 9는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 서로 다른 레벨의 타일 배열들 사이에 중첩된 타일을 제거하는 예를 도시한 도면이다.
도 10은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 낮은 타일 레벨의 타일 한 개 전체가 중첩되는 경우의 충돌체의 접촉 예를 도시한 도면이다.
도 11은 도 10에서의 경우에 있어서 중첩되는 낮은 타일 레벨의 타일을 제거하는 개념을 도시한 도면이다.
도 12는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 낮은 타일 레벨의 타일 한 개의 일부가 중첩되는 경우에서 중첩된 타일 일부를 비가시화하는 예를 도시한 도면이다.
도 13은 도 12에서의 경우를 실제 지형 이미지에 대해 적용한 예를 도시한 도면이다.
도 14는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 서로 다른 레벨의 타일을 혼합하여 타일 지형을 형상화시킨 예를 도시한 도면이다.
도 15는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 타일과 타일에 형성되어 있는 충돌체가 배치되어 있는 실제 지형 이미지의 예를 도시한 도면이다.
도 16은 도 15의 예에서 서로 다른 레벨의 타일을 레벨별로 구분하여 상하 분리한 형태를 도시한 도면이다.
도 17은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 카메라의 이동에 따라 지형 이미지에서 복수 레벨의 타일로 중첩된 영역의 이동 예를 도시한 도면이다.
도 18은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에서 카메라의 이동에 따라 시야에서 벗어난 타일 영역을 비가시화하는 예를 도시한 도면이다.
도 19는 본 발명의 실시예에 따른 가상 공간상 지형 구현 방법의 개략적인 흐름도이다.
도 20은 본 발명의 실시예에 따른 가상 공간상 지형 구현 방법에 따라 가상 공간상에 시각화된 지형의 예를 도시한 도면이다.
도 21은 본 발명의 실시예에 따른 타일 배열 생성 과정의 개략적인 흐름도이다.
도 22는 본 발명의 다른 실시예에 따른 가상 공간상 지형 구현 방법의 개략적인 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
먼저, 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치 및 그 방법에 대해 구체적으로 설명하기 전에, 본 발명의 실시예에서 사용되는 지형 데이터 구축 및 관리를 위한 기술에 대해 설명한다.
본 발명의 실시예에서는, 도 1에 도시된 바와 같이, (a)에 표시된 세계 지도를 (b)에서와 같이, WGS(World Geodetic System)84 좌표계 기준으로, 경도를 x등분, 위도를 y등분하고, 등분된 부분에 타일(10)을 좌측 하단부터 배열하는 형태로 지형 데이터 구축을 위한 분할을 수행한다. 여기서, x, y는 용도에 따라 미리 설정될 수 있는 임의의 자연수이다. 여기서, WGS84 좌표계는 1984년에 제정된 세계 지구 좌표 시스템으로, 지구 타원체의 중심을 원점으로 하고, X, Y, Z 방향의 축을 따라 좌표를 결정하며, 원점은 지구의 질량 중심이고, Z축은 지구의 회전축 방향과 평행하며, WGS84 타원체의 회전축이다. 이러한 WGS84 좌표계에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.
전술한 바와 같이, 세계 지도가 타일(10)을 사용하여 분할된 상태를 타일 레벨 0으로 규정한다. 그리고, 각각의 타일을 구분하기 위한 좌표는 타일 좌표(idx, idy)로서, 좌측 아래를 기준으로 (0, 0)을 할당하고, 가로 방향, 즉 x축 방향으로 1개의 타일씩 이동할 때마다 idx가 1씩 증가하고, y축 방향으로 1개의 타일씩 이동할 때마다 idy가 1씩 증가하도록 할당된다. 도 2의 (a)를 참조하면 타일 레벨 0인 4개의 타일에 대해 타일 좌표(idx, idy)로서 각각 (0, 0), (1, 0), (0, 1) 및 (1, 1)의 좌표가 할당된 것을 알 수 있다.
각각의 타일(10)은 수치 표고 모델(Digital Elevation Model, DEM)로 데이터화되어 있으며, 여기서 수치 표고 모델은 지형의 고도값을 수치로 저장함으로써 지형의 형상을 나타내는 자료를 말한다.
한편, 도 1의 (b)에서와 같이, 타일 레벨 0으로 나타낸 지형도는 보다 높은 타일 레벨로서 분할되어 보다 구체적인 지형도로서 구현될 수 있다. 예를 들어, 타일 레벨 0에서의 각각의 타일(10)을 경도와 위도 기준으로 각각 2등분하여 타일 레벨이 한 단계 더 높은 레벨, 즉 타일 레벨 1이 되도록 타일(10)을 분할할 수 있다. 이하에서는, 하나의 타일을 2등분하는 것은 경도와 위도 기준으로 각각 2등분하는 것을 의미하며, 이는 하나의 타일을 정사각형 형태로 4등분하는 것을 의미함을 이해할 것이다. 즉, 타일은 레벨에 상관없이 일정한 조밀도를 갖지만, 타일의 레벨이 높아질수록 스케일이 감소되는 것이다. 본 실시예에서는 타일의 스케일이 레벨이 1씩 증가할수록 경도와 위도 기준으로 1/2씩, 총 1/4씩 감소된다.
예를 들어, 도 2의 (a)에 도시된 바와 같은 타일 레벨 0의 4개의 타일(10)을 2등분하는 경우, 도 2의 (b)에 도시된 바와 같이, 타일 레벨 1인 총 16개의 타일(11)로 분할될 수 있다. 이 때, 타일 레벨 1의 타일(11)의 좌표도 마찬가지로 타일 레벨 0에서와 같은 방식으로 설정된다.
전술한 방식으로, 현재의 타일을 계속 2등분함으로써 타일 레벨을 계속 높일 수 있으며, 이러한 타일 레벨의 증가를 통해 지형의 정밀도를 증가시킬 수 있다. 즉, 전술한 방식을 통해 모델링 데이터의 정밀도를 단계별로 조정하는 기술인 LOD(Level of Detail)가 구현될 수 있다는 것이 쉽게 이해될 것이다.
이하, 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치에 대해 구체적으로 설명한다.
도 3은 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치의 개략적인 구성 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치(100)는 입력부(110), 변환부(120), 통신부(130), 제어부(140) 및 가시화부(150)를 포함한다.
입력부(110)는 본 발명의 실시예에 따른 가상 공간상 지형 구현을 위해 사용자에 의한 설정 입력과 사용자에 의한 카메라 조작 입력을 각각 수신한다. 여기서, 입력부(110)는 외부 장치를 통해 값을 입력받는 경우도 있으나, 개발자에 의해 미리 설정된 값을 입력받거나 서버로부터 설정값을 다운받는 형태로 입력받을 수 있다.
구체적으로, 입력부(110)는 사용자로부터 화면 상에 나타날 지형의 좌표, 타일의 생성 범위, 타일 레벨에 대한 입력을 받는다. 예를 들어, 다음의 [표 1]은 사용자로부터의 설정 입력의 예를 나타낸 것이다.
또한, 입력부(110)는 카메라 조작을 위해 사용자로부터 카메라 이동 속도 및 시야각을 포함하는 카메라 조작 입력을 받는다. 입력부(110)는 예를 들어, 마우스, 키보드, 터치 스크린 또는 센싱 장치일 수 있다. 예를 들어, 다음의 [표 2]는 사용자로부터의 카메라 조작 입력의 예를 나타낸 것이다.
변환부(120)는 가상 좌표계와 경위도 좌표, 즉 GIS(Geographic Information System) 좌표계 사이의 변환을 수행한다. 즉, 변환부(120)는 가상 좌표계의 좌표를 GIS 좌표계의 좌표로 변환하거나, 또는 GIS 좌표계의 좌표를 가상 좌표계의 좌표로 변환한다. 여기서, 가상 좌표계는 가상 공간 상에서 사용되는 좌표계로서 기본적으로 원점을 기준으로 하는 가상 좌표이다.
도 4에 도시된 바와 같이, 변환부(120)는 입력부(110)를 통해 사용자로부터 입력된 경위도 좌표, 예를 들어 GIS 좌표 (위도(lat), 경도(lon))를 원점으로 두고, 해당 GIS 좌표를 미터값으로 변환한 후, 변환된 미터값과 타일 레벨을 사용하여 대응하는 픽셀값으로 변환하고 이를 이용하여 3차원 가상 좌표로 최종 도출한다.
이와 반대로, 다시 도 4를 참조하면, 가상 좌표인 픽셀값은 타일의 위치와 타일 레벨을 사용하여 대응하는 미터값으로 변환되고, 변환된 미터값과 타일 레벨을 사용하여 대응하는 GIS 좌표 (lat, lon)를 도출할 수 있다.
통신부(130)는 유무선 네트워크를 통해 외부의 서버 등과의 통신을 통해 데이터 송수신을 수행한다. 예를 들어, 통신부(130)는 외부의 서버로부터 타일(10, 11)에 대응하는 타일 DEM 데이터, 지도 이미지 등의 지형 정보를 제공받을 수 있다. 예를 들어, 통신부(130)는 와이파이(WIFI), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), HSPA(High Speed Packet Access), 모바일 와이맥스(Mobile WiMAX), 와이브로(WiBro), LTE(Long Term Evolution), 블루투스(bluetooth), 적외선통신(IrDA, infrared data association), NFC(Near Field Communication), 지그비(Zigbee), 무선랜 기술, USB(Universal Serial Bus) 등을 통해 구현될 수 있다.
제어부(140)는 본 발명의 실시예에 따른 가상 공간상 지형 구현 장치(100)에대한 전반적인 제어를 수행하며, 특히, 제어부(140)는 입력부(110)를 통해 입력된 설정 입력에 따라 가상 공간 상에 타일의 배열을 생성하고, 생성된 타일을 편집하여 지형을 형성하며, 형성된 지형을 입력부(110)를 통한 카메라 조작 입력에 따라 빠르게 구동하는 제어를 수행한다. 예를 들어, 제어부(140)는 범용 CPU(Central Processing Unit), 마이크로프로세서, ASIC(Application-Specific Integrated Circuit), 또는 본 출원의 해결수단에서 프로그램 실행을 제어하기 위한 하나 이상의 집적 회로로 구현될 수 있다.
가시화부(150)는 제어부(140)에 의해 형성된 지형을 3차원으로 시각화한다. 예를 들어, 가시화부(150)는 시각화된 지형 이미지를 외부로 표시하기 위해, LCD(Liquid Crystal Display, LCD), LED(Light Emitting Diode, LED) 디스플레이, OLED(Organic Light Emitting Diode) 디스플레이 등을 포함할 수 있다.
저장부(160)는 지형 데이터, 타일 데이터 등에 관한 정보를 저장한다. 예를 들어, 저장부(160)는 ROM(Read-Only Memory) 또는 명령을 저장할 수 있는 다른 유형의 정적 저장 장치, 또는 RAM(Random Access Memory) 또는 정보 및 명령을 저장할 수 있는 다른 유형의 동적 저장 장치일 수 있거나, 또는 EEPROM(Electrically Erasable Programmable Read-Only Memory), CD-ROM(Compact Disc Read-Only Memory) 또는 다른 컴팩트 디스크 저장 장치 또는 광 디스크 저장 장치(압축 광 디스크, 레이저 디스크, 광 디스크, 디지털 다용도 디스크, 블루레이 디스크 등을 포함함), 자기 디스크 저장 매체 또는 다른 자기 저장 장치, 또는 명령 또는 데이터 구조의 형태로 예상 프로그램 코드를 운반하거나 저장할 수 있으면서 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체, 예를 들어 클라우드 서버 장치일 수 있으며, 이것은 제한되지 않는다.
이하, 전술한 제어부(140)에 대해 구체적으로 설명한다.
도 5는 도 4에 도시된 제어부(140)의 구체적인 구성 블록도이다.
도 5에 도시된 바와 같이, 제어부(140)는 생성부(141), 편집부(142) 및 구동부(143)를 포함한다.
생성부(141)는 입력부(110)를 통해 입력된 설정 입력에 따라 가상 공간 상에 타일의 배열을 생성한다. 생성부(141)는 생성된 타일의 배열에 관한 정보를 저장부(160)에 저장할 수 있다.
먼저, 본 발명의 실시예에서는 가상의 공간에서 지도를 그리드로 구획하고 각각의 그리드에 지형을 구축하기 위해 필요한 정보를 담고 있는 객체를 유닛(Unit), 본 실시예에서는 타일(Tile)로 정의한다. 이러한 타일은 '충돌체', '3D 메쉬(Mesh)' 및 '타일 정보(타일 레벨, 타일 좌표(idx, idy), 경위도 좌표)'를 포함하는 구조체이다.
생성부(141)는 입력부(110)를 통해 입력된 설정 입력, 즉, 타일의 생성 범위와 타일 레벨에 따라 대응하는 타일의 배열을 가상 공간상에 생성할 수 있다.
예를 들어, 사용자로부터 타일의 생성 범위가 3×3으로 설정되고 타일 레벨이 16으로 설정되었으면, 도 6의 (a)에 도시된 바와 같이, 가로 3개 및 세로 3개의 범위 내에 레벨 16의 타일을 9개 생성하여 배치하는 형태의 타일 배열을 생성한다. 마찬가지로, 사용자로부터 타일의 생성 범위가 5×5로 설정되고 타일 레벨이 16으로 설정되었으면, 도 6의 (b)에 도시된 바와 같이, 가로 5개 및 세로 5개의 범위 내에 레벨 16의 타일을 25개 생성하여 배치하는 형태의 타일 배열을 생성한다. 또한, 사용자로부터 타일의 생성 범위가 3×3으로 설정되고 타일 레벨이 15로 설정되었으면, 도 6의 (c)에 도시된 바와 같이, 가로 3개 및 세로 3개의 범위 내에 레벨 15의 타일을 9개 생성하여 배치하는 형태의 타일 배열을 생성한다.
만약 사용자로부터 설정된 타일 레벨이 단일 레벨이 아니고 복수의 레벨을 포함하는 범위 레벨(min~max)인 경우, 생성부(141)는 타일 생성 작업을 레벨별로 각각 수행하게 된다. 예를 들어, 사용자에 의해 설정된 타일 레벨이 범위 레벨로서 14~16인 경우, 도 7의 (a)에 도시된 바와 같이, 레벨 14, 15, 16별로 각각 9개의 타일이 생성되므로 총 27개의 타일이 생성된다. 하지만 도 7의 (b)에 도시된 바와 같이, 레벨 14, 15, 16의 타일을 중첩하는 경우, 추후 설명될 충돌체를 통해 중첩되어지는 타일을 제외시키면, 2개의 타일이 중첩의 결과로 제거되어 결과적으로 25개의 타일만 생성된다. 구체적으로는, 레벨 14에서 1개의 타일, 레벨 15에서 1개의 타일이 제거되어 총 25개의 타일로 구성된다. 이와 같이 중첩으로 타일을 제거하는 내용에 대해서는 추후 구체적으로 설명한다.
이하, 전술한 충돌체에 대해 설명한다.
충돌체는 각각의 타일당 5개가 배치되지만, 본 발명에서는 이것으로만 한정되는 것은 아니다. 예를 들어, 도 8에 도시되어 있는 바와 같이, 5개의 충돌체 중에서 한 개는 타일의 중점 위치에 배치되고, 나머지 4개의 충돌체는 타일을 2등분한 각 구획, 즉 타일 레벨이 1 높은 레벨의 각 타일의 중점에 각각 충돌체가 배치된다. 이와 같이, 타일 레벨이 1 높은 레벨의 각 타일의 중점에 4개의 충돌체를 추가 배치하는 이유는 단일 레벨이 아닌 여러 레벨의 타일들을 사용할 때 중첩 여부를 체크하기 위함이다. 한편, 본 발명에서, 같은 타일 레벨의 타일만 사용하는 경우에는 타일의 중점 위치에만 충돌체를 배치하더라도 각 타일 간의 중첩 여부를 체크할 수 있다.
이러한 충돌체는 충돌체간 접촉여부를 판단하는 알고리즘이 포함된 객체이다. 이러한 알고리즘은 저장부(160)에 미리 저장되어 있을 수 있다.
한편, 충돌체를 이용하여 중첩을 방지하는 프로세스는 크게 두 가지 상황에 따라 실행된다.
먼저, 첫 번째 상황은, 카메라가 다른 타일로 이동하면서 새로 생성된 타일과 기존의 타일이 중첩되는 상황이다.
예를 들어, 도 9의 (a)에서와 같이, 기존의 타일 배열(T1)에서 카메라(20)가 중심의 타일(12)에서 대각선의 타일(13)로 이동하는 경우, 전술한 첫 번째 상황에 해당한다. 이 경우, 카메라가 이동한 타일(13)의 위치 기반으로 동일한 타일 레벨의 새로운 타일 배열(T2)이 생성된다.
이와 같이, 두 개의 타일 배열(T1, T2)이 존재하므로, 이 두 개의 타일 배열(T1, T2)이 중첩되는 경우 각 타일에 형성되어 있는 충돌체가 접촉 여부를 판단하여 접촉이 감지된 새로운 타일을 제거한다. 예를 들어, 도 9의 (a)를 참조하면, 새로 생성된 타일 배열(T2)이 기존의 타일 배열(T1)과 중첩되는 경우, 새로 생성된 타일 배열(T2)에서 빗금친 타일들에 형성된 충돌체들이 기존의 타일 배열(T2)의 타일들에 형성된 충돌체들과 동일한 위치에서 서로 접촉되는 것을 확인함으로써, 새로 생성된 타일 배열(T2)에서 빗금친 타일들, 즉 4개의 타일이 도 9의 (b)에서와 같이 제거된 후 두 개의 타일 배열(T1, T2)이 중첩되어 새로운 타일 배열(T3)을 형성한다. 즉, 카메라(20)가 타일(12)에서 대각선 타일(13)로 이동함으로써 기존의 타일 배열(T1)에서 새로운 타일 배열(T3)로 변형됨을 알 수 있다. 이 과정에서, 각 타일에 형성된 충돌체에 의해 중첩 방지 프로세스가 수행되어 중첩된 타일들이 제거된 후에 새로운 타일 배열(T3)이 생성된다.
다음, 두 번째 상황은, 타일 생성시 기존의 타일 레벨과 서로 다른 타일 레벨의 타일을 생성함으로써 새로 생성된 타일과 기존의 타일이 중첩되는 상황이다.
도 10에 도시된 바와 같이, 기존의 타일 레벨 1인 타일 베열(T3) 외에 타일 레벨 2인 새로운 타일 배열(T4)이 생성되어 기존의 타일 배열(T3)의 한 개의 타일과 새로운 타일 배열(T4)이 중첩되는 경우, 기존의 타일 배열(T3)에 형성된 충돌체(31)와 새로운 타일 배열(T4)에 형성된 충돌체(41) 사이에 접촉이 판단된다. 이 때, 도 10에 도시된 바와 같이, 기존의 타일 배열(T3)의 한 개의 타일에 형성된 충돌체 중에서 중심에 배치된 타일을 제외한 나머지 4개의 충돌체(31)가 새로운 타일 배열(T4)의 타일에 형성된 충돌체 중에서 중심에 배치된 충돌체(41)와 중첩되므로, 해당하는 충돌체(31, 41)에 의해 접촉되는 것으로 판단되어, 해당 충돌체가 형성되어 있는 타일이 중첩되는 것으로 확인될 수 있다. 이 경우, 두 번째 상황에서는 첫 번째 상황에서와 달리, 중첩되는 기존의 타일 배열(T3)에서의 타일을 제거하고, 그 자리에 새로운 타일 배열(T4)의 타일들을 배치시킨다.
이와 같이, 두 개의 다른 레벨의 타일이 중첩될 때, 높은 레벨의 타일 전체가 낮은 레벨의 타일 중 일부 타일 전체에 중첩되는 경우에는 중첩된 낮은 레벨을 모두 제거한다. 도 11의 예를 들면, 레벨 15의 타일 4개, 즉 2×2 타일 중 하나의 타일 전체에 레벨 16의 타일 4개, 즉 2×2 타일 전체가 중첩되는 경우에는, 낮은 레벨, 즉 레벨 15의 타일 중에서 중첩되는 타일을 제거하고, 그 위치에 높은 레벨, 즉 레벨 16의 타일 전체가 배치된다. 이 경우, 새로 형성되는 타일 배열은 3개의 타일(레벨 15)과 4개의 타일(레벨 16), 즉 총 7개의 타일로 조합된다.
그러나, 두 개의 다른 레벨의 타일이 중첩될 때, 낮은 레벨의 타일 중 일부분이 높은 레벨의 타일과 중첩되는 경우에는 낮은 레벨의 타일 중에서 중첩된 일부분만 비가시화하고 중첩되지 않은 부분은 가시화하며, 비가시화된 부분에 중첩된 높은 레벨의 타일을 대체함으로써 일부분만 중첩된 낮은 레벨의 타일이 삭제되지 않는다.
도 12의 예를 들면, 도 11에서의 예와 달리, 레벨 15의 타일 4개, 즉 2×2 타일 중 하나의 타일 일부분이 레벨 16의 타일 4개, 즉 2×2 타일 중 2개의 타일에 의해서 중첩됨을 알 수 있다. 이 경우, 낮은 레벨, 즉 레벨 15의 일부분 중첩되는 타일에서 중첩되는 부분을 비가시화하고, 비가시화되는 위치에 높은 레벨, 즉 레벨 16의 중첩되는 타일을 배치한다. 이 경우, 새로 형성되는 타일 배열은 4개의 타일(레벨 15)과 4개의 타일(레벨 16), 즉 총 8개의 타일로 조합된다. 이와 같이, 일부분만 중첩되는 타일에 대해 시야에 보이지 않는 지형으로서 비가시화함으로써 장치(100)의 메모리 낭비를 최소화할 수 있다.
이상 설명한 바와 같이, 충돌체를 사용하여 각 타일 사이의 중첩 여부를 판단하여 상황에 따라 새로운 형태의 타일 배열을 생성할 수 있으며, 이 때 충돌체는 충돌체 알고리즘을 사용하여 중첩 여부를 판단한다. 여기서, 충돌체 알고리즘은 서로 다른 충돌체끼리 접촉하게 되면, 상황에 따라 접촉되는 충돌체를 포함하는 하나의 타일만을 남기고 다른 타일은 제거하는 알고리즘을 사용하여 타일이 같은 위치에 중첩되는 것을 방지하는 역할을 한다.
도 13을 참조하면, (a)에서와 같이, 레벨 15의 타일(16)의 일부분(16-1)이 레벨 16의 타일(17)과 중첩되는 경우, (b)에서와 같이, 낮은 레벨인 레벨 15의 타일(16) 중 중첩되는 일부분(16-1)을 비가시화하고 그 위치에 레벨 16의 타일을 배치함으로써, 서로 다른 레벨이 일부분만 중첩되는 경우의 타일 배치를 수행하는 예가 나타나 있다.
도 14는 도 13에서와 같이, 서로 다른 레벨의 타일을 혼합하여 타일 지형을 형상화시킨 예를 도시한 도면이다. 도 14의 예에서와 같이, 일부 지형이 보다 높은 레벨의 타일 지형으로 혼합됨으로써 해당 부분이 그렇지 않은 부분에 비해 보다 상세하게 형상화되어 있음을 알 수 있다.
도 15는 타일과 타일에 형성되어 있는 충돌체가 배치되어 있는 모습을 도시한 도면이고, 도 16은 도 15에서 서로 다른 레벨의 타일을 레벨별로 구분하여 상하 분리한 형태를 도시한 도면이다. 도 15 및 도 16에 도시된 바와 같이, 각 타일에 형성되어 있는 충돌체를 사용하여 서로 같은 레벨의 타일의 혼합 또는 서로 다른 레벨의 타일의 혼합시 충돌 알고리즘을 통한 중첩 방지 프로세스가 수행되어 다양한 형태의 혼합 지형 형성이 가능해진다.
다음, 편집부(142)는 전술한 바와 같이 생성부(141)에 의해 가상 공간 상에생성된 타일의 배열에 대해 대응하는 타일 정보를 적용하여 대응하는 지형으로 형상화시킨 후, 타일의 경위도 좌표, 즉 GIS 좌표를 기반으로 지도 이미지를 사용하여 각 타일에 매핑하여 최종적인 타일에 대한 지형화 작업을 완료한다. 여기서, 타일 정보 및 지도 이미지는 저장부(160) 또는 통신부(130)를 통한 외부의 서버로부터 제공받을 수 있다. 또한, 타일 정보는 타일 DEM 데이터를 포함하고, 타일에 대한 지형 형상화는 타일의 3D 메쉬에 타일 정보를 적용하여 각 타일을 대응하는 지형으로의 형상화를 말하며, 보다 구체적으로는, 타일의 3D 메쉬에 타일 DEM 높이값을 적용하는 것을 의미한다. 또한, 이것은 타일 배열에서의 평평한 면이 입체감을 가진 3차원 지형으로 변하는 것을 의미한다. 여기서, 메쉬는 3차원 컴퓨터 그래픽스에서 다면체의 형태를 구성하는 폴리곤과 정점들의 집합을 의미하며 와이어프레임이 그물처럼 격자를 가지고 있는 것을 의미한다.
구동부(143)는 입력부(110)로부터 입력되는 카메라 조작 입력에 따라 카메라를 구동하며, 구동되는 카메라 정보를 생성부(141)로 제공하여 카메라 구동에 따라 가시화되어야 할 타일 배열이 새로 생성될 수 있도록 한다. 구체적으로, 구동부(143)는 카메라 조작 입력, 즉 카메라 이동 속도 및 카메라 시야각에 따라 카메라 구동을 수행할 수 있다.
구동부(143)는 구동되는 카메라가 다른 타일로 이동할 때마다 이동된 타일에 해당하는 새로운 타일 배열이 생성될 수 있도록 카메라 구동 정보를 생성부(141)로 전달하며, 이 때 카메라가 빠른 속도로 많은 타일을 통과하게 되는 경우, 생성부(141)에 의해 빠른 속도로 통과하는 타일들에 대해 계속 새로운 타일 배열을 생성하고 생성된 배열들에 대한 중첩 방지 프로세스가 수행되면, 장치(100)에서의 많은 연산량이 발생하게 되고, 이로 인해 장치(100)에서 속도 저하가 발생하게 된다.
따라서, 이러한 문제를 해결하기 위해, 구동부(143)는 시간 지연을 미리 설정하고, 카메라 이동시 설정된 시간 지연이 경과한 후에 카메라가 최종 위치한 타일을 기준으로 새로운 타일 배열이 생성되고 이 과정에서 중첩 방지 프로세스가 수행되도록 한다. 예를 들어, 2초를 시간 지연으로 미리 설정한 상태에서, 구동부(143)에 의해 2초 사이에 5개의 타일을 통과하여 카메라가 구동되는 경우에도, 구동부(143)는 통과한 5개의 타일에 대한 정보를 생성부(141)로 전달하지 않고 5개의 타일을 통과한 후 6번째의 타일 정보만을 전달한다. 따라서, 통과한 5개의 타일에 대한 타일 배열 생성과 중첩 방지 프로세스는 수행되지 않고, 6번째의 타일에 대해서만 타일 배열 생성과 중첩 방지 프로세스가 한 번만 수행됨으로써, 장치(100)에서의 연산량이 많아지지 않아 장치(100)의 속도 저하가 방지될 수 있다.
한편, 지평선이 보일 정도의 넓은 범위의 지형을 상세하게 생성하고자 하는경우, 단일 레벨의 타일만 사용하면 소요되는 타일이 적게는 몇 천개 많게는 몇 만개가 된다. 이는 장치(100)의 효율성을 떨어트린다. 반면에, 레벨이 낮은 타일만 사용하는 경우 적은 개수의 타일만으로 커버가 가능하나, 면적 대비 타일의 조밀도가 현저히 낮기 때문에 지형의 상세함이 떨어진다.
따라서, 타일 레벨에 대한 레벨 범위를 설정하게 되면 이와 같은 문제점을 해결할 수 있다. 이러한 레벨 범위의 설정은 사용자에 의해 수행될 수 있거나, 또는 구동부(143)에 의한 카메라 구동에 따라서도 수행될 수 있다. 예를 들어, 카메라 위치와 가까운 지형은 세밀하게, 즉 높은 레벨의 타일을 사용하고, 거리가 멀어질수록 형태가 단순한 레벨이 낮은 타일을 사용함으로서, 지형의 상세함을 유지하면서 적은 타일의 개수로 넓은 범위를 커버할 수 있으며, 이로 인해 장치(100)의 속도 향상에도 도움이 된다.
따라서, 구동부(143)에 의해 카메라가 구동되어 위치되는 타일을 포함한 주변의 타일들에는 높은 레벨의 타일 레벨이 적용되고, 그 외의 타일들에는 낮은 레벨의 타일 레벨이 적용되는 방식으로 전체 타일 배열에 대해 타일 레벨이 레벨 범위로서 설정될 수 있다.
예를 들어, 도 17에 도시된 바와 같이, 구동부(143)에 의해 카메라가 (a)에도시된 타일에서 (b)에 도시된 바와 같이 다른 타일로 이동될 때마다 실시간으로 이동된 타일에 대한 레벨 범위가 갱신되기 때문에, 먼거리에 있는 단순한 지형이라도 카메라가 근접하게 되면 세밀한 지형으로 치환이 되고, 반대로 세밀한 지형이라도 거리가 멀어지면 단순한 지형으로 치환되는 것으로, 결과적으로 LOD(Level of Detail) 시스템과 같은 기능이 구현될 수 있다.
한편, 도 18에 도시된 바와 같이, LOD 기능을 강화하여 카메라 구동에 따라 시야에서 벗어난 타일은 중첩과 상관없이 비가시화함으로써, 장치(100)의 메모리 낭비를 최소화할 수 있다.
이하, 도면을 참조하여, 본 발명의 실시예에 따른 가상 공간상 지형 구현 방법에 대해 설명한다.
도 19는 본 발명의 실시예에 따른 가상 공간상 지형 구현 방법의 개략적인 흐름도이다. 도 19에 따른 방법은 전술한 도 1 내지 도 18을 참조하여 설명한 가상 공간상 지형 구현 장치(100)에 의해 수행될 수 있다.
도 19를 참조하면, 먼저, 가상 공간상 지형 구현을 위해 사용자로부터 설정된 입력을 수신한다(S100). 구체적으로, 구현될 지형에 대응하는 경위도 좌표, 예를 들어, (126.94, 37.61), 가상 공간상에서 타일 배열로서 생성될 생성 범위, 예를 들어 3×3, 그리고 타일 레벨(단일 레벨 또는 레벨 범위), 예를 들어 레벨 13 또는 레벌 범위 14~16의 입력이 수신된다.
그 후, 설정 입력에 따라 대응하는 타일 배열을 생성한다(S110). 이 , 타일 레벨이 레벨 범위로 입력된 경우에는 생성되는 타일에 형성되어 있는 충돌체의 충돌체 알고리즘을 사용하여 서로 다른 레벨들의 타일 배열 사이의 접촉을 판단하여 접촉된 타일의 제거 및/또는 비가시화 등에 대한 충돌 방지 프로세스가 수행되어야 한다.
이와 같이, 타일 배열이 생성되면, 입력된 경위도 좌표에 기초하여 타일 배열 내 타일들의 좌표(idx, idy)를 변환한 후(S120) 저장되어 있거나 또는 외부 서버로부터 변환된 좌표에 대응하는 타일 정보, 즉 타일 DEM 데이터를 획득한다(S130).
계속해서, 상기 단계(S110)에서 생성된 타일 배열에 대해 상기 단계(S130)에서 획득된 타일 정보를 적용하여 대응하는 지형으로 형상화한다(S140).
그리고, 형상화된 지형에 대해, 타일의 경위도 좌표를 기반으로 지도 이미지를 사용하여 각 타일에 매핑함으로써 지형화 작업을 완료한다(S150).
그 후, 타일 배열에 대해 수행된 지형을 3차원으로 시각화한다(S160).
전술한 가상 공간상 지형 구현 방법에 따라 가상 공간상에 시각화된 지형의 예로 도 20을 참조한다.
다음, 전술한 타일 배열 생성 단계(S120)에 대해 보다 구체적으로 설명한다.
도 21은 본 발명의 실시예에 따른 타일 배열 생성 과정의 개략적인 흐름도이다.
도 21을 참조하면, 먼저, 상기 단계(S110)에서 입력된 타일 레벨에 대응하도록 타일 배열을 생성한다(S111). 여기서, 입력된 타일 레벨이 단일 레벨인 경우에는 하나의 타일 배열이 생성되지만, 만약 입력된 타일 레벨이 복수의 타일 레벨을 포함하는 레벨 범위인 경우에는 레벨 범위에 속한 각각의 타일 레벨에 대응하는 타일 배열을 생성한다. 예를 들어, 입력된 타일 레벨 범위가 14~16인 경우에는 타일 레벨 14, 15, 16 3개의 레벨 각각에 대응하는 총 3개의 타일 배열이 생성될 것이다.
그 후, 타일 레벨이 단일 레벨인지가 판단되고(S112), 만약 타일 레벨이 단일 레벨이 아니고 레벨 범위인 경우에는, 생성된 각각의 타일에 형성된 충돌체들을 통한 접촉이 있는지 여부가 판단된다(S113).
만약 충돌체들의 충돌체 알고리즘 수행에 의해 충돌체들 사이의 접촉이 있는 것으로 판단되는 경우, 타일 레벨이 낮은 타일 배열에 있는 타일에 대해 일부분 접촉인지가 판단된다(S114).
만약 일부분 접촉이 아니고 전부 접촉인 것으로 판단되면, 타일 레벨이 낮은 타일 배열에서 중첩된 타일은 제거하고, 타일 레벨이 높은 타일 배열에서 중첩된 타일은 유지한다(S115).
그러나, 일부분 접촉인 것으로 판단되면, 타일 레벨이 낮은 타일 배열에서 일부분 중첩된 타일에서 중첩된 일부분을 비가시화하고 남은 부분은 가시화하며, 또한 타일 레벨이 높은 타일 배열에서 중첩된 타일은 유지한다(S116)
그 후, 상기 단계(S112)에서 타일 레벨이 단일 레벨이거나, 또는 상기 단계(S113)에서 충돌체 접촉이 없거나, 또는 상기 단계(S115, S116)에서 여러 타일 배열의 중첩된 타일들에 대한 처리가 완료된 후 최종 타일 배열이 생성된다(S117).
한편, 전술한 도 20을 참조하여 설명한 바와 같이, 사용자의 설정 입력에 따라 가상 공간상에 지형이 시각화된 후, 사용자로부터의 카메라 조작 입력에 의해 카메라가 구동되는 경우에 대해 설명한다.
도 22는 본 발명의 다른 실시예에 따른 가상 공간상 지형 구현 방법의 개략적인 흐름도이다.
도 22를 참조하면, 먼저, 전술한 도 20을 참조하여 설명한 바와 같이, 사용자의 설정 입력에 따라 가상 공간상에 초기 지형이 시각화된다(S200).
그 후, 사용자로부터의 카메라 조작 입력에 의해 카메라가 구동되는지 여부를 판단한다(S210).
만약 사용자로부터의 카메라 조작 입력에 의해 카메라가 구동되는 것으로 판단되는 경우, 카메라가 다른 타일로 이동되는지가 판단된다(S220).
만약 카메라가 동일한 타일을 벗어나 다른 타일로 이동하는 것으로 판단되는경우, 카메라 이동 시작부터 미리 설정된 시간 지연이 경과되었는지를 판단한다(S230). 즉, 미리 설정된 시간 지연이 경과할 때까지 카메라가 이동하는 경로에 포함된 타일(들)에 대한 타일 배열 생성 및 중첩 방지 프로세스가 수행되지 않도록 하는 것이다.
만약 카메라 이동 시작부터 미리 설정된 시간 지연이 경과되었으면 그 때 카메라가 이동하여 위치한 타일을 기준으로 새로운 타일 배열을 생성한다(S240).
그 후, 새로운 타일 배열에 대해 타일 정보를 적용하여 대응하는 지형으로 형상화하고(S250), 형상화된 지형에 대해, 타일의 경위도 좌표를 기반으로 지도 이미지를 사용하여 각 타일에 매핑함으로써 지형화 작업을 완료한다(S260).
상기 단계(S240)에서 생성되는 새로운 타일 배열은 카메라 이동 전에 생성되어 있던 기존의 타일 배열과는 서로 다른 타일 배열이므로, 두 개의 타일 배열 사이의 충돌체에 의한 접촉 여부를 고려하여 두 개의 타일 배열을 중첩한 최종 타일 배열을 생성한다(S270). 이 때, 중첩되는 각각의 타일 배열들은 이미 지형화 작업이 완료되었으므로, 최종 타일 배열에 대한 지형화 작업은 수행되지 않는다.
그 후, 최종 타일 배열에 대응되는 지형을 3차원으로 시각화한다(S280).
이상과 같이, 사용자의 설정 입력에 따라 가상 공간상에 3D 지형이 시각화된후에 카메라 이동시 최적화 처리를 통해 지형 가시화 처리 시간을 절약할 수 있어서 지형 구현이 기존에 비해 효율적이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
Claims (10)
- 가상 공간 상에 지형을 구현하는 장치로서,
사용자로부터 구현될 지형의 경위도 좌표, 가상 공간 상에서 그리드 형식으로 생성되는 타일의 생성 범위, 및 타일 레벨에 대한 입력을 받는 입력부 - 상기 타일 레벨은 높아질수록 상기 타일의 스케일이 감소함 -,
상기 가상 공간에서의 좌표를 경위도 좌표로 변환하거나, 또는 경위도 좌표를 상기 가상 공간에서의 좌표로 변환하는 변환부,
상기 입력부를 통해 입력되는 타일의 생성 범위 및 타일 레벨에 대응하는 타일 배열을 상기 가상 공간상에서 생성하고, 상기 타일 배열에 속하는 각각의 타일의 좌표에 대해 상기 변환부를 통해 변환된 경위도 좌표에 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화한 후, 상기 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑하는 제어부, 그리고
상기 제어부에 의해 매핑된 지형을 3차원으로 시각화하는 가시화부
를 포함하며,
상기 제어부는 가상 공간상에 지형을 구축하는데 필요한 정보를 포함하고 있는 객체 유닛인 타일을 '적어도 하나의 충돌체', '3D 메쉬(Mesh)' 및 '타일 정보(타일 레벨, 타일 좌표, 경위도 좌표)'를 포함하는 구조체로 정의하고, 상기 충돌체는 충돌체간 접촉 여부를 판단하는 충돌체 알고리즘을 포함하며,
두 대상의 타일들의 중첩 여부는 상기 두 대상의 타일들에 각각 포함된 충돌체가 상기 충돌체 알고리즘을 사용하여 동일한 위치에서 서로 접촉되는 것을 확인함으로써 판단되는,
가상 공간상 지형 구현 장치. - 제1항에 있어서,
상기 제어부는,
상기 입력부를 통해 입력되는 타일 레벨에 대응하는 타일을 상기 타일의 생성 범위에 맞게 형성된 타일 배열을 생성하되, 상기 타일 레벨이 복수의 타일 레벨을 포함하는 범위 레벨인 경우, 상기 복수의 타일 레벨 각각에 대응하는 복수의 타일 배열을 생성한 후, 생성된 복수의 타일 배열을 중첩시켜서 최종 타일 배열을 생성하는 생성부,
상기 생성부에 의해 생성된 최종 타일 배열에 속하는 각각의 타일의 좌표에 대해 상기 변환부를 통해 변환된 경위도 좌표에 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화한 후, 상기 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑하는 편집부, 그리고
상기 입력부를 통해 입력되는 상기 사용자로부터 카메라 조작 입력에 따라 상기 사용자의 시야에 대응하는 카메라를 구동하는 구동부
를 포함하며,
상기 생성부는 상기 구동부에 의해 구동된 카메라의 이동 정보에 따라 대응하는 타일 배열을 새로 생성하는,
가상 공간상 지형 구현 장치. - 제2항에 있어서,
상기 타일에 포함된 충돌체의 충돌체 알고리즘을 사용하여 타일들 사이의 접촉을 파악하여 타일들 사이의 충돌을 방지하는,
가상 공간상 지형 구현 장치. - 제3항에 있어서,
상기 생성부는 서로 다른 타일 레벨에 대응하는 타일 배열들이 중첩되는 경우, 타일 레벨이 낮은 중첩된 타일을 제거하여 타일 배열들을 중첩시키되,
타일 레벨이 낮은 중첩된 타일의 일부가 중첩되는 경우에는 상기 타일 레벨이 낮은 중첩된 타일을 제거하지 않고, 상기 중첩된 타일의 일부만 비가시화하고 중첩되지 않은 나머지 부분은 가시화하는,
가상 공간상 지형 구현 장치. - 제2항에 있어서,
상기 구동부는 상기 카메라의 구동으로 인해 상기 카메라가 이동되는 경우,미리 설정된 시간 지연이 경과하기 전까지 상기 카메라가 이동 중에 거쳐간 타일에 대한 정보를 상기 생성부로 전달하지 않고, 상기 미리 설정된 시간 지연이 경과한 후에 상기 카메라가 이동하여 위치한 타일에 대한 정보를 상기 생성부로 전달하여 대응하는 타일 배열이 생성되도록 하는,
가상 공간상 지형 구현 장치. - 제1항에 있어서,
상기 타일은 5개의 충돌체를 포함하고,
상기 5개의 충돌체 중에서 1개는 상기 타일의 중점 위치에 배치되고, 나머지 4개는 상기 타일을 경도 및 위도 기준으로 각각 2등분한 각각의 구획의 중심 위치에 1개씩 배치되는,
가상 공간상 지형 구현 장치. - 가상 공간 상에 지형을 구현하는 방법으로서,
사용자로부터 입력되는, 가상 공간 상에서 그리드 형식으로 생성되는 타일의 생성 범위 및 타일 레벨에 대응하는 타일 배열을 생성하는 단계 - 상기 타일 레벨은 높아질수록 상기 타일의 스케일이 감소함 -,
상기 타일 배열에 속하는 각각의 타일의 좌표에 대응하는 경위도 좌표 기반으로 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화하는 단계,
상기 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑하는 단계, 그리고
매핑된 지형을 3차원으로 시각화하는 단계
를 포함하며,
상기 타일은 가상 공간상에 지형을 구축하는데 필요한 정보를 포함하고 있는 객체 유닛으로서, '충돌체', '3D 메쉬(Mesh)' 및 '타일 정보(타일 레벨, 타일 좌표, 경위도 좌표)'를 포함하는 구조체로 정의되고, 상기 충돌체는 충돌체간 접촉 여부를 판단하는 충돌체 알고리즘을 포함하며,
두 대상의 타일들의 중첩 여부는 상기 두 대상의 타일들에 각각 포함된 충돌체가 상기 충돌체 알고리즘을 사용하여 동일한 위치에서 서로 접촉되는 것을 확인함으로써 판단되는,
가상 공간상 지형 구현 방법. - 제7항에 있어서,
상기 타일 배열을 생성하는 단계는,
상기 타일 레벨이 복수의 레벨을 포함하는 범위 레벨인 경우, 상기 복수의 레벨에 각각 대응하는 타일 배열에 속하는 타일들에 형성된 충돌체를 사용하여 타일들 사이의 접촉 여부를 판단하는 단계,
타일들 사이의 접촉이 있어서 타일 배열이 중첩된 것으로 판단되는 경우, 타일 레벨이 낮은 타일의 일부가 중첩되었는지 여부를 판단하는 단계,
상기 타일 레벨이 낮은 타일의 일부가 아닌 전체가 중첩된 것으로 판단되는 경우, 중첩된 상기 타일 레벨이 낮은 타일을 제거하는 단계,
상기 타일 레벨이 낮은 타일의 일부가 중첩된 것으로 판단되는 경우, 상기 타일 레벨이 낮은 타일 중 중첩된 일부를 비가시화하는 단계, 그리고
상기 복수 레벨별 타일 배열이 중첩된 최종 타일 배열을 생성하는 단계
를 포함하는, 가상 공간상 지형 구현 방법. - 제7항에 있어서,
상기 시각화하는 단계 후에,
상기 사용자로부터 입력된 카메라 조작 입력에 따라 상기 사용자의 시야에 대응하는 카메라의 구동을 시작하는 단계,
미리 설정된 시간 지연이 경과되었는지를 판단하는 단계,
상기 미리 설정된 시간 지연이 경과된 것으로 판단되는 경우, 상기 카메라가 위치한 타일에 대한 정보에 따라 새로운 타일 배열을 생성하는 단계,
상기 새로운 타일 배열에 속하는 각각의 타일의 좌표에 대응하는 경위도 좌표 기반으로 대응하는 타일 정보를 획득하여 대응하는 지형으로 형상화하는 단계,
상기 타일의 경위도 좌표에 대응하는 지도 이미지를 사용하여 각각의 타일에 매핑하는 단계,
상기 카메라의 구동전의 타일 배열과 상기 새로운 타일 배열을 중첩을 고려하여 서로 중첩시켜서 상기 카메라의 구동 후의 최종 타일 배열을 생성하는 단계, 그리고
상기 최종 타일 배열에 대응하는 지형을 3차원으로 시각화하는 단계
를 포함하는 가상 공간상 지형 구현 방법. - 제8항에 있어서,
상기 타일 배열을 생성하는 단계에서,
상기 타일 레벨이 복수의 레벨을 포함하는 범위 레벨인 경우, 상기 복수의 레벨에 각각 대응하는 타일 배열들을 각 타일 배열들의 중점 위치의 타일을 기준으로 서로 중첩하여 상기 타일 배열을 생성하는,
가상 공간상 지형 구현 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200156786A KR102591633B1 (ko) | 2020-11-20 | 2020-11-20 | 가상 공간상 지형 구현 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200156786A KR102591633B1 (ko) | 2020-11-20 | 2020-11-20 | 가상 공간상 지형 구현 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220069551A KR20220069551A (ko) | 2022-05-27 |
KR102591633B1 true KR102591633B1 (ko) | 2023-10-19 |
Family
ID=81791638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200156786A KR102591633B1 (ko) | 2020-11-20 | 2020-11-20 | 가상 공간상 지형 구현 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102591633B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101548647B1 (ko) * | 2014-12-19 | 2015-08-31 | 한국건설기술연구원 | 3차원 지형정보 가시화 프로세서 및 그 동작방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101575639B1 (ko) * | 2014-02-19 | 2015-12-09 | 서울대학교산학협력단 | 지도 서비스를 위한 타일 이미지 갱신 시스템 및 그 방법 |
KR102046112B1 (ko) * | 2017-12-15 | 2019-11-18 | 주식회사 상헌 | 온라인 지도 오픈 api를 이용한 3차원 지형 및 시설 데이터 제공 장치 및 그 방법 |
-
2020
- 2020-11-20 KR KR1020200156786A patent/KR102591633B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101548647B1 (ko) * | 2014-12-19 | 2015-08-31 | 한국건설기술연구원 | 3차원 지형정보 가시화 프로세서 및 그 동작방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20220069551A (ko) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102199940B1 (ko) | 3d 엔진을 통한 모바일 3d 디지털 트윈의 3d 지도 구축 방법 | |
CN1273939C (zh) | 公共空间的智能模拟的***和方法 | |
US10417821B2 (en) | Method of simplifying a geometry model | |
CN110246220A (zh) | 一种基于gis的三维管理平台构建方法、***、装置和介质 | |
KR20100136604A (ko) | 3차원 지형 영상 실시간 가시화 시스템 및 이의 방법 | |
EP3501013B1 (en) | System and method for procedurally generated building graphics within a street network of a three-dimensional virtual environment | |
KR101591427B1 (ko) | 3차원 지형 영상 가시화에서의 적응형 렌더링 방법 | |
JP2017174393A (ja) | マルチ解像度画像システム | |
EP3501012B1 (en) | System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment | |
JP6380051B2 (ja) | 有限要素演算プログラム、有限要素演算装置および有限要素演算方法 | |
CN112559665A (zh) | 空气质量模式预报数据可视化方法及装置 | |
JP6671064B2 (ja) | 粒子シミュレーション装置、粒子シミュレーション方法及び粒子シミュレーションプログラム | |
US20240208679A1 (en) | Optimized packing of polygons into a container | |
CN112090078A (zh) | 游戏角色移动控制方法、装置、设备和介质 | |
US20240177396A1 (en) | Object processing method and apparatus, device, computer-readable storage medium, and computer program product | |
CN107610233A (zh) | 一种基于实景的仿真场景构建方法 | |
KR102591633B1 (ko) | 가상 공간상 지형 구현 장치 및 그 방법 | |
KR102339020B1 (ko) | 가상 컨텐츠 데이터 기반 현실적 장면 이미지의 객체 변환 렌더링 방법 및 그 장치 | |
KR102339019B1 (ko) | 가상 컨텐츠 데이터 기반의 현실적 장면 이미지 분산 렌더링 방법 및 그 장치 | |
JP6212398B2 (ja) | 景観定量化装置 | |
CN116842121A (zh) | 一种多层级瓦片联合的大规模数字孪生场景构建方法 | |
CN113870426A (zh) | 一种三维空间坐标转换方法、存储介质和计算装置 | |
JP7285678B2 (ja) | 情報処理装置、及び制御プログラム | |
Glander et al. | Concepts for automatic generalization of virtual 3D landscape models | |
Morgan et al. | Using binary space partitioning to generate urban spatial patterns |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |