KR101614065B1 - 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템 - Google Patents

3차원 모델링 데이터 용량을 줄이는 방법 및 시스템 Download PDF

Info

Publication number
KR101614065B1
KR101614065B1 KR1020140139222A KR20140139222A KR101614065B1 KR 101614065 B1 KR101614065 B1 KR 101614065B1 KR 1020140139222 A KR1020140139222 A KR 1020140139222A KR 20140139222 A KR20140139222 A KR 20140139222A KR 101614065 B1 KR101614065 B1 KR 101614065B1
Authority
KR
South Korea
Prior art keywords
block
data
target object
modeling data
block object
Prior art date
Application number
KR1020140139222A
Other languages
English (en)
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 KR1020140139222A priority Critical patent/KR101614065B1/ko
Priority to US15/519,397 priority patent/US20170243398A1/en
Priority to PCT/KR2015/010831 priority patent/WO2016060464A1/ko
Application granted granted Critical
Publication of KR101614065B1 publication Critical patent/KR101614065B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/04Architectural design, interior design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/32Image data format

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 개시는 3차원 모델링 데이터 용량을 줄이는 방법에 있어서, 3차원 모델링 데이터에서 블럭 객체(Block Object)를 선정하는 제1 단계; 3차원 모델링 데이터에서 블럭 객체와 비교할 수 있는 타겟 객체(Target Object)를 추출하는 제2 단계; 블럭 객체와 타겟 객체를 비교하는 제3 단계; 그리고, 블럭 객체와 타겟 객체의 비교를 통해 동일한 것으로 인정되는 경우 타겟 객체를 레퍼런스 객체(Reference Object)로 설정하는 제4 단계;를 포함하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법 및 이를 실행하는 시스템에 관한 것이다.

Description

3차원 모델링 데이터 용량을 줄이는 방법 및 시스템{METHOD AND SYSTEM FOR REDUCING 3D MODELING DATA}
본 개시(Disclosure)는 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템에 관한 것으로, 3차원 모델링 데이터의 저장 용량을 줄여 경량한 데이터로 변환하는 방법 및 시스템에 관한 것이다.
여기서는, 본 개시에 관한 배경기술이 제공되며, 이들이 반드시 공지기술을 의미하는 것은 아니다(This section provides background information related to the present disclosure which is not necessarily prior art).
3차원 모델링 데이터의 효율적인 웹 서비스를 하기 위해서는, 3차원 모델링 데이터의 저장 용량을 경량화할 필요가 있다.
3차원 기하 객체 데이터라 함은 예를 들어 건물 벽체, 나무, 의자 등 일정한 형태를 갖는 기하 객체를 모니터 등의 디스플레이에서 사용자가 3차원으로 볼 수 있도록 해주는 데이터를 의미한다.
기하 객체를 3차원 기하 객체 데이터로 만드는 것을 3차원 모델링(Modeling)한다고 한다.
3차원 모델링 데이터라 함은 복수의 3차원 기하 객체 데이터를 포함하는 것을 의미한다. 예를 들어 3차원 기하 객체 데이터는 의자 1개에 대한 3차원 시각화 데이터라고 할 때, 3차원 모델링 데이터는 의자에 대한 3차원 기하 객체 데이터 10개를 포함하고 있는 데이터를 의미한다.
도 1은 3차원 모델링한 책상의 3차원 기하 객체 데이터가 3차원으로 디스플레이에서 표현되는 것의 일 예를 보여준다.
도 1에 도시된 책상은 폴리곤 메쉬 형태로 표현되고 있다. 이는 도 1에 도시된 것과 같이, 무수히 많은 버텍스(vertex)로 구성된다. 도 1에 도시된 각각의 버텍스(vertex)로 구성된 삼각형을 메쉬(Mesh)라고 하며, 다수의 메쉬를 기반으로 구성된 3차원 기하 객체를 폴리곤 메쉬 모델이라 한다.
폴리곤 메쉬 모델은 도 1에 도시된 바와 같이 3차원 기하 객체의 표면에 대한 형태 정보만을 묘사한 것으로 그 내부는 채워지지 않은 형태를 나타내게 된다. 폴리곤 메쉬 모델의 세밀도는 메쉬를 구성하는 삼각형의 크기에 의해 좌우되며, 보다 세밀한 형태를 묘사하기 위해서는 그만큼 삼각형의 크기가 작아지고 수량은 많아지게 된다.
일반적인 폴리곤 메쉬 기반의 3차원 기하 객체 데이터는 그 세부적인 저장 형태에 대해서는 각각의 포맷별로 차이가 발생하지만, 기본적으로 버텍스 리스트(Vertex List), 페이스 리스트(Face List), 유브이 리스트(UV List)의 세 가지 항목을 반드시 포함하게 되며, 통상적으로 바이너리 형태로 저장된다.
상기 버텍스 리스트(Vertex List)는 3차원 객체를 구성하고 있는 모든 점들의 3차원 좌표를 포인트 아이디(Point ID)와 함께 순차적으로 저장한 것이다.이러한 점들의 3차원 좌표를 버텍스 좌표라 한다.
상기 페이스 리스트(Face List)는 3개의 버텍스(Vertex)로 이루어지는 개별 삼각평면을 정의한 것으로 버텍스 리스트(Vertex List)에 포함되어 있는 포인트 아이디(Point ID)만으로 구성된다.
상기 유브이 리스트(UV List)는 각각의 페이스(Face)에 적용되는 텍스처가 하나의 텍스처 영상의 어느 위치에 있는지 지정하는 것으로, 페이스(Face)를 구성하는 버텍스(Vertex)의 포인트 아이디(Point ID)와 1:1로 매핑되게 구성되어 있다. 각각의 페이스(Face)에 대해 별도 파일 형태의 텍스처를 적용하는 경우, 유브이 리스트(UV List)를 별도로 저장할 필요가 없이 바로 파일명을 지정하면 되지만, 그럴 경우 파일의 수가 너무 많아진다는 문제로 인해 통상적으로 하나의 텍스처 파일을 사용한다.
일반적으로 기하 객체를 2차원으로 시각화하는 것보다 3차원으로 시각화하는 것이 사용자가 기하 객체를 이해하는데 유리하다. 그러나 기하 객체를 디스플레이에서 3차원으로 시각화하기 위해서는 2차원으로 시각화할 때보다 많은 용량의 데이터가 필요하다는 것이 알려져 있다. 3차원 기하 객체 데이터의 큰 용량은 인터넷을 이용한 웹 서비스를 하는데 제한 요인이었다. 특히 복수의 3차원 기하 객체 데이터를 포함하고 있는 3차원 모델링 데이터의 큰 저장 용량은 인터넷을 통한 서비스에 큰 제한 요인이 되었다. 이에 3차원 모델링 데이터의 용량을 줄이는 방법으로 많은 연구가 있었으며, 대표적인 것으로 CityGML에서 3차원 가상 도시모델 데이터를 경량화하는 방법이 있다.
CityGML(City - Geography Markup Language)은 3차원 가상 도시모델의 저장 및 교환을 위한 XML기반 데이터 포맷으로, GML(Geography Markup Language)의 응용스키마이다. 상기 GML은 OGC(Open Geospatial Consortium)에 의해 개발되는 ISO 19136의 국제 표준이며, 메타형식으로 그 구체적인 교환형식은 CityGML이나 3DF-GML과 같은 응용스키마에 의해 구현된다. CityGML 에서 3차원 가상 도시모델 데이터를 경량화하는 방법은 Implicit Geometry 개념을 사용한다. Implicit Geometry 개념은 동일한 형태를 갖는 기하 객체들이 존재할 경우, 동일한 형태의 기하 객체를 대표하는 원형 기하 객체를 만들어 사용하는 것이다. 예를 들어 3차원 가상 도시모델에서 반복적으로 사용되는 나무, 신호등, 교통 표지에 대하여 원형 기하 객체를 저장한 후 변환 행렬과 기점 데이터를 이용하여 전역좌표계의 특정 위치에 원형 기하 객체를 불러들여 해당 위치에 기하 객체를 나타낼 수 있는 방법이다. 원형 기하 객체를 불러들여 표시하는 기하 객체를 참조 기하 객체라 부른다. 이러한 방법을 통해 반복적으로 사용되는 나무, 신호등, 교통 표지에 대해서 모두 3차원 모델링을 할 필요가 없이 각각에 대한 원형 기하 객체만을 3차원 모델링 하고 참조 기하 객체는 원형 기하 객체에 대한 변환 행렬과 기점 데이터로 나타낸다. 즉 CityGML에서는 3차원 모델링 데이터가 나무, 신호등, 교통 표지 등 중복되는 기하 객체를 전부 3차원 기하 객체 데이터로 저장하고 있는 것이 아니라, 3차원 기하 객체 데이터 형태를 갖는 원형 기하 객체 데이터와 변환 행렬 및 기점 데이터 형태를 갖는 참조 기하 객체 데이터로 구성된다. 여기서 참조 기하 객체 데이터는 3차원 모델링에서 만들어진 3차원 기하 객체 데이터가 아니기 때문에 3차원 모델링 데이터의 크기를 획기적으로 줄일 수 있다. 변환 행렬 및 기점 데이터 형태가 3차원 기하 객체 데이터 형태보다 저장 용량이 획기적으로 작은 것은 당업자에게 잘 알려져 있다. 변환 행렬 및 기점 데이터를 좌표변환데이터라 부른다.
그러나 CityGML처럼 3차원 모델링 데이터를 처음 제작할 때부터 Implicit Geometry 개념을 사용하지 않는 경우가 있다. 예를 들어 BIM(Building Information Modeling) 데이터의 경우 BIM 데이터 내에 있는 모든 기하 객체에 대하여 일부는 파라미터 방식으로 데이터가 저장되고 일부는 3차원 기하 객체 데이터(폴리곤 메쉬 방식)로 저장되어 있다. 현재는 BIM 데이터를 사용자가 3차원으로 볼 수 있도록 하기 위해서 BIM 데이터의 모든 기하 객체를 3차원 기하 객체 데이터로 변환하고 있다. 다만 BIM 데이터 중 파라미터 방식으로 데이터가 저장된 것만을 3차원 기하 객체 데이터로 전환하고 있다. 그러나 BIM 데이터를 현재와 같이 BIM 데이터에 있는 모든 기하 객체에 대하여 3차원 기하 객체 데이터로 전환하여 저장한 3차원 모델링 데이터는 저장 용량이 거대해지는 문제가 있었다. 이러한 문제는 BIM 데이터 이외에도 모든 기하 객체가 3차원 기하 객체 데이터로 되어 있는 3차원 모델링 데이터가 갖는 문제이다.
본 개시는 모든 기하 객체에 대하여 3차원 모델링이 되어 있는 3차원 모델링 데이터의 용량을 줄이는 것을 목적으로 한다.
이에 대하여 '발명의 실시를 위한 구체적인 내용'의 후단에 기술한다.
여기서는, 본 개시의 전체적인 요약(Summary)이 제공되며, 이것이 본 개시의 외연을 제한하는 것으로 이해되어서는 아니된다(This section provides a general summary of the disclosure and is not a comprehensive disclosure of its full scope or all of its features).
본 개시에 따른 일 태양에 의하면(According to one aspect of the present disclosure), 3차원 모델링 데이터 용량을 줄이는 방법에 있어서, 3차원 모델링 데이터에서 블럭 객체(Block Object)를 선정하는 제1 단계; 3차원 모델링 데이터에서 블럭 객체와 비교할 수 있는 타겟 객체(Target Object)를 추출하는 제2 단계; 블럭 객체와 타겟 객체를 비교하는 제3 단계; 그리고, 블럭 객체와 타겟 객체의 비교를 통해 동일한 것으로 인정되는 경우 타겟 객체를 레퍼런스 객체(Reference Object)로 설정하는 제4 단계;를 포함하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법이 제공된다.
본 개시에 따른 또 다른 태양에 의하면(According to another aspect of the present disclosure), 3차원 모델링 데이터의 용량을 줄이는 3차원 모델링 데이터 처리 시스템에 있어서, 용량을 줄이고자 하는 3차원 모델링 데이터를 입력받는 데이터 수신부; 입력된 3차원 모델링 데이터에서 블럭 객체와 타겟 객체를 추출하는 선별부; 선별된 블럭 객체와 타겟 객체의 기하 정보를 비교하는 제1 비교부; 제1 비교부에서 동일한 것으로 판단된 블럭 객체의 모든 버텍스 좌표를 변환 행렬을 이용하여 변환한 후 변환된 블럭 객체의 모든 버텍스 좌표를 타겟 객체의 모든 버텍스 좌표와 비교하는 제2 비교부; 그리고, 제2 비교부에서 블럭 객체와 동일한 것으로 판단된 타겟 객체를 레퍼런스 객체로 저장하는 저장부;를 포함하는 것을 특징으로 하는 3차원 모델링 데이터 처리 시스템이 제공된다.
이에 대하여 '발명의 실시를 위한 구체적인 내용'의 후단에 기술한다.
도 1은 3차원 모델링한 책상이 3차원으로 디스플레이에서 표현되는 것의 일 예를 보여주는 도면,
도 2는 본 개시에서 사용하는 블럭(Block)/레퍼런스(Reference) 개념을 설명하는 도면,
도 3은 본 개시에 따라 3차원 모델링 데이터의 저장 용량을 줄이는 방법을 단계별로 설명한 도면,
도 4는 메쉬 형태를 비교하는 방법에 대한 도면,
도 5는 블럭 객체와 타겟 객체를 상세 비교하는 방법에 대한 도면,
도 6은 3차원 모델링 데이터의 저장 용량을 줄이는 3차원 모델링 데이터 처리 시스템에 대한 도면.
이하, 본 개시를 첨부된 도면을 참고로 하여 자세하게 설명한다(The present disclosure will now be described in detail with reference to the accompanying drawing(s)).
도 2는 본 개시에서 사용하는 블럭(Block)/레퍼런스(Reference) 개념을 설명하는 도면이다.
모든 기하 객체에 대하여 3차원 모델링이 되어 있는 BIM 데이터의 경우 인공적으로 설계되기 때문에 모든 기하 객체가 각각의 고유한 형상을 갖고 있지 않다. 모든 기하 객체에 대하여 3차원 기하 객체 데이터를 갖고 있는 3차원 모델링 데이터를 블럭/레퍼런스 개념을 이용하여 저장 용량을 줄이는 방법(100)을 보여준다. 원본 3차원 모델링 데이터에는 기하 객체 1(110), 기하 객체 2(111), 기하 객체 3(112), 기하 객체 4(113), 기하 객체 5(114), 기하 객체 6(115), 기하 객체7(116), 기하 객체 8(117), 기하 객체 9(118), 기하 객체 10(119)에 대한 각각의 3차원 기하 객체 데이터를 포함하고 있다. 기하 객체 1(110), 기하 객체 4(113), 기하 객체 5(114)는 문으로 중복된다. 기하 객체 2(111), 기하 객체 7(116), 기하 객체 10(119)는 창문으로 중복된다. 기하 객체 3(112), 기하 객체 6(115)은 책상으로 중복된다. 기하 객체 8(117), 기하 객체 9(118)는 밸브로 중복된다. 다만 중복되는 것은 형상이 중복되는 것이며 방향 및 기하 객체가 있는 기점이 중복되는 것은 아니다. 예를 들어 방향의 경우 책상을 나타내는 기하 객체 3(112)과 기하 객체 6(115)을 비교해 보면 기하 객체 6(115)은 기하 객체 3(112)을 기준으로 하였을 때 왼쪽으로 비스듬하게 보인다. 원본 3차원 모델링 데이터는 형상은 같지만 방향 및 기점이 다른 기하 객체를 모두 다른 것으로 3차원 모델링을 하여 3차원 기하 객체 데이터로 저장하고 있기 때문에 저장 용량이 커지게 된다. 본 개시에서는 저장 용량을 줄이기 위해 블럭/레퍼런스 개념을 사용하여 원본 3차원 모델링 데이터의 저장 용량을 줄인다. 먼저 기하 객체 중 형상이 같은 것 중 1개를 블럭 객체로 정한다. 예를 들어 블럭 객체 1(120)은 문을 나타내는 기하 객체 1(110)의 3차원 기하 객체 데이터를 갖는다. 다음에 기하 객체 중 문에 해당하는 기하 객체인 기하 객체 1(110), 기하 객체 4(113), 기하 객체 5(114)를 레퍼런스 객체 1(130), 레퍼런스 객체 4(133), 레퍼런스 객체 5(134)로 각각 설정하여 저장한다. 이때 레퍼런스 객체 1(130),레퍼런스 객체 4(133), 레퍼런스 객체 5(134)의 데이터는 기하 객체 1(110), 기하 객체 4(113), 기하 객체 5(114)의 3차원 기하 객체 데이터가 아니다. 레퍼런스 객체 1(130)은 블럭 객체 1(120)에 대한 인덱스 데이터와 기하 객체 1(110)의 좌표변환데이터만을 갖는다. 레퍼런스 객체 4(133)는 블럭 객체 1(120)에 대한 인덱스 데이터와 기하 객체 4(113)에 대한 좌표변환데이터를 갖는다. 레퍼런스 객체 5(134)는 블럭 객체 1(120)에 대한 인덱스 데이터와 기하 객체 5(114)에 대한 좌표변환데이터를 갖는다. 블럭 객체 1(120)에 대한 인덱스 데이터는 레퍼런스 객체 1(130)은 블럭 객체 1(120)에 해당에 해당한다는 정보이다. 예를 들어 블럭 객체 1(120)은 문에 해당하고, 블럭 객체 2(121)는 창문에 해당하고 블럭 객체 3(122)은 책상에 해당하고, 블럭 객체 4(123)는 밸브에 해당한다고 할 때, 다수의 블럭 객체 중 레퍼런스 객체 1(130)은 문에 대한 블럭 객체 1(120)과 관련이 있다는 정보이다. 좌표변환데이터는 기하 객체 1(110), 기하 객체 4(113), 기하 객체 5(114)의 기점 데이터와 방향 정보를 포함한다. 기점 데이터는 BIM 데이터를 예로 든다면 책상이 건물 내에 어디에 위치하는가에 대한 위치 정보이다. 방향 정보는 책상이 왼쪽으로 비스듬하게 놓였는지, 아니면 오른쪽으로 비스듬하게 놓였는지에 대한 정보이다.
도 3은 본 개시에 따라 3차원 모델링 데이터의 저장 용량을 줄이는 방법을 단계별로 설명한 것이다.
본 개시에서는 블럭 객체 및 레퍼런스 객체의 개념을 사용하여 모든 기하 객체를 3차원 모델링한 3차원 모델링 데이터의 용량을 줄이고 있다.
제1 단계(S100)는 3차원 모델링 데이터의 기하 정보를 담고 있는 자료 구조에서 첫 번째 기하 객체를 블럭 객체로 선정한다.
제2 단계(S200)는 선정된 블럭 객체를 제외한 나머지 기하 객체 중에서 비교할 타겟(Target) 객체를 추출한다.
제3 단계(S300)는 선정된 블럭 객체와 타겟 객체를 비교하여 동일 여부를 판단한다. 이때 제3-1 단계(S310)로 블럭 객체와 타겟 객체의 3차원 기하 객체 데이터에 있는 기하 정보를 이용하여 동일 여부를 판단한다. 기하 정보에는 블럭 객체 및 타겟 객체가 갖고 있는 타입(Type), Vertex 개수, Mesh 형태 등이다. 예를 들어 타입은 BIM 데이터의 경우 가구 타입, 벽 타입, 문 타입 등을 의미한다. Vertex 개수는 도 1에서 본 것처럼 폴리곤 메쉬 타입의 3차원 모델링 데이터는 삼각형으로 된 메쉬를 통해 가시화된다. 이때 삼각형을 구성하는 꼭지점(Vertex)의 개수를 의미한다. 메쉬 형태는 메쉬를 구성하는 다수의 삼각형에 대한 정보는 버텍스 리스트의 경우 순서대로 저장되는데 이때 첫 번째로 저장된 삼각형의 변의 길이를 비교하여 각 변의 길이가 동일할 경우 블럭 객체와 타겟 객체를 동일한 것으로 판단하는 것이다. 삼각형의 변의 길이를 비교하는 것은 도 4에 도시하였다.
또한 제3-2 단계(S320)에서는 제3-1 단계에서 동일한 것으로 판단된 블럭 객체와 타겟 객체를 대상으로 다시 상세 비교를 한다. 상세 비교를 하는 방법은 도 5에서 설명한다.
제4 단계(S400)는 블럭 객체와 동일한 것으로 판단된 타겟 객체를 레퍼런스 객체로 설정한다. 이때 레퍼런스 객체는 타겟 객체가 갖고 있는 3차원 기하 객체 데이터를 갖지 않는다. 도 2에서 설명한 것처럼 레퍼런스 객체는 블럭 객체의 인덱스 데이터와 타겟 객체의 좌표변환데이터를 갖고 있다. 이후 제1 단계(S100)에서 선정한 블럭 객체에 해당하는 모든 레퍼런스 객체를 찾을 때까지 제2 단계(S200) 내지 제4 단계(400)를 반복(S500)한다.또한 블럭 객체가 다수 존재할 때 제1 단계(S100) 내지 제4 단계(400)를 반복(S600)한다. 예를 들어 BIM 데이터에서 의자를 블럭 객체로 하여 모든 의자에 대한 타겟 객체를 레퍼런스 객체로 설정한 이후 문(Door)을 블럭 객체로 하여 다시 문에 대한 모든 타겟 객체를 레퍼런스 객체로 설정하는 것이다.
3차원 모델링 데이터가 BIM 데이터인 경우에는 BIM 데이터에서는 기하 객체의 타입 정보가 IFC Entity Type을 통해 정리가 되어 있다. 따라서 IFC Entity Type 정보를 활용하면 블럭 객체와 타겟 객체의 동일성을 판단하는데 많은 시간을 줄일 수 있다.
도 4는 메쉬 형태를 비교하는 방법에 대한 도면이다.
블럭 객체 및 타겟 객체와 같은 기하 객체는 도 1에서와 같이 폴리곤 메쉬 형태의 3차원 기하 객체 데이터로 저장되어 있다. 폴리곤 메쉬는 복수개의 삼각형으로 되어 있다. 복수개의 삼각형에 대한 정보는 버텍스 리스트의 경우 순서대로 저장되어 있는데, 이중 블럭 객체 및 타겟 객체의 첫 번째에 있는 삼각형을 선정한 후 삼각형 세 변의 길이를 비교한다. 블럭 객체의 첫 번째 삼각형(200)의 세 변 a, b, c와 타겟 객체의 첫 번째 삼각형(210)의 세 변 a', b', c'의 길이를 비교하여 세 변의 길이가 같으면(a=a', b=b', c=c') 블럭 객체와 타겟 객체가 동일한 것으로 판단한다.
도 5는 블럭 객체와 타겟 객체를 상세비교하는 방법에 대한 도면이다.
먼저 도 4에서 메쉬 형태를 비교할 때 사용한 블럭 객체의 삼각형(200)과 타겟 객체의 삼각형(210)을 이용하여 변환 행렬을 계산하다. 즉 블럭 객체의 삼각형(200)을 타겟 객체의 삼각형(210)으로 공간좌표 상에서 전환하는 변환 행렬을 계산한다. 공간좌표 상에 각각의 공간좌표 값에 따라 삼각형을 배치한다(300). 이후 동일한 한 변(예를 들어 a 와 a')에 대해서 이동 요소와 1차 회전행렬을 결정한다(310). 이후 동일한 한 변을 기준으로 평면에 대한 2차 회전행렬을 결정한다(320). 이와 같이 구한 1차 회전행렬과 2 차 회전행렬의 곱행렬을 계산하고 이동 요소를 적용하여 전체 변환 행렬을 결정한다.
상기와 같이 구한 변환 행렬을 이용하여, 블럭 객체의 3차원 기하 객체 데이터의 Vertex 좌표를 변환한다. 이후 변환 행렬을 이용하여 구한 블럭 객체의 변환된 Vertex 좌표를 타겟 객체의 3차원 기하 객체 데이터의 Vertex 좌표와 비교한다. 변환된 블럭 객체의 Vertex 좌표가 타겟 객체의 Vertex 좌표와 일치하는 경우 블럭 객체와 타겟 객체는 동일한 것으로 판단한다.
도 6은 3차원 모델링 데이터의 저장 용량을 줄이는 3차원 모델링 데이터 처리 시스템에 대한 도면이다.
본 개시에 따른 3차원 모델링 데이터 처리 시스템(400)은 용량을 줄이고자 하는 3차원 모델링 데이터를 입력받는 데이터 수신부(410), 입력된 3차원 모델링 데이터에서 블럭 객체와 타겟 객체를 추출하는 선별부(420), 선별된 블럭 객체와 타겟 객체의 기하 정보를 비교하는 제1 비교부(430), 제1 비교부에서 동일한 것으로 판단된 블럭 객체의 모든 버텍스 좌표를 변환 행렬을 이용하여 변환한 후 변환된 블럭 객체의 모든 버텍스 좌표를 타겟 객체의 모든 버텍스 좌표와 비교하는 제2 비교부(440), 그리고 블럭 객체 및 제2 비교부에서 블럭 객체와 동일한 것으로 판단된 타겟 객체를 레퍼런스 객체로 설정하여 저장하는 저장부(450)를 포함하여 구성된다. 제어부(460)는 상기 각 구성요소와 연동하여 시스템(400)의 동작을 제어한다.
특히 저장부(450)에서 저장되는 것은 블럭 객체의 3차원 기하 객체 데이터와 레퍼런스 객체의 블럭 객체에 대한 인덱스 데이터 및 타겟 객체의 좌표변환데이터이다. 또한 3차원 모델링 데이터가 BIM 데이터인 경우에는 선별된 블럭 객체와 타겟 객체의 IFC Entity Type을 비교하는 비교부를 추가할 수 있다. 다만 IFC Entity Type을 비교하는 비교부는 제1 비교부(430)가 기능을 수행하기 전에 실행되어야 한다.
본 개시에 따른 방법을 적용한 경우 BIM 데이터의 용량을 크게 줄일 수 있다. 예를 들어 저장 크기가 65.3 MB 인 BIM 데이터를 사용자가 시각적으로 볼 수 있도록 전환하는 경우 데이터의 크기가 187 MB로 커진다. 187 MB의 데이터 중 61.7 MB 가 기하 객체에 대한 3차원 기하 객체 데이터이다. 이중 본 개시에 따라 중복되는 기하 객체를 블럭/레퍼런스 개념을 이용하여 변환시키는 경우 3차원 기하 객체의 데이터 양은 4.87 MB로 줄어들었다. 특히 중복되는 3차원 기하 객체 데이터가 많이 포함된 3차원 모델링 데이터의 경우 용량이 줄어드는 효과는 더욱 커진다. 예를 들어 1 개의 건물에 대한 3차원 모델링 데이터보다 100 개의 건물에 대한 3차원 모델링 데이터에 본 개시를 적용하는 경우 효과는 더욱 커진다.
이하 본 개시의 다양한 실시 형태에 대하여 설명한다.
(1) 3차원 모델링 데이터 용량을 줄이는 방법에 있어서, 3차원 모델링 데이터에서 블럭 객체(Block Object)를 선정하는 제1 단계; 3차원 모델링 데이터에서 블럭 객체와 비교할 수 있는 타겟 객체(Target Object)를 추출하는 제2 단계; 블럭 객체와 타겟 객체를 비교하는 제3 단계; 그리고, 블럭 객체와 타겟 객체의 비교를 통해 동일한 것으로 인정되는 경우 타겟 객체를 레퍼런스 객체(Reference Object)로 설정하는 제4 단계;를 포함하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(2) 제3 단계는 블럭 객체와 타겟 객체가 각각 갖고 있는 기하 정보를 이용하여 1차 비교하는 제3-1 단계;와 블럭 객체와 타겟 객체 간의 변환 행렬을 이용하여 2차 비교하는 제3-2 단계;로 나누어지는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(3) 블럭 객체와 타겟 객체를 1차 비교하는데 사용하는 기하 정보는 블럭 객체 및 타겟 객체 각각의 버텍스(Vertex) 수, 메쉬(Mesh) 형태, 타입(Type) 정보 중 적어도 하나인 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(4) 메쉬 형태의 비교는 블럭 객체의 메쉬를 구성하는 삼각형의 변의 길이와 타겟 객체의 메쉬를 구성하는 삼각형의 변의 길이를 비교하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(5) 제3-2 단계에서 사용하는 변환 행렬은 블럭 객체와 타겟 객체를 1차 비교할 때 사용한 삼각형을 이용하여 구하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(6) 제3-2 단계는 변환 행렬을 이용해 블럭 객체의 모든 버텍스 좌표를 변환하고 변환된 블럭 객체의 모든 버텍스 좌표를 타겟 객체의 모든 버텍스 좌표와 비교하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(7) 제1 단계에서 선정한 블럭 객체와 동일한 모든 타겟 객체를 레퍼런스 객체로 설정할 때까지 제2 단계 내지 제4 단계를 반복하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(8) 3차원 모델링 데이터에 다수의 블럭 객체가 있는 경우 모든 블럭 객체에 대하여 각각 동일한 모든 타겟 객체를 레퍼런스 객체로 설정할 때까지 제1 단계 내지 제4 단계를 반복하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(9) 3차원 모델링 데이터가 BIM(Building Information Modeling) 데이터인 경우 제2 단계와 제3 단계 사이에 블럭 객체와 타겟 객체의 IFC Entity Type을 비교하는 단계;를 추가하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(10) 제4 단계에서 레퍼런스 객체는 타겟 객체와 동일한 블럭 객체에 대한 인덱스 데이터와 블럭 객체를 타겟 객체로 전환할 수 있는 좌표변환데이터를 갖고 있는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
(11) 3차원 모델링 데이터의 용량을 줄이는 3차원 모델링 데이터 처리 시스템에 있어서, 용량을 줄이고자 하는 3차원 모델링 데이터를 입력받는 데이터 수신부; 입력된 3차원 모델링 데이터에서 블럭 객체와 타겟 객체를 추출하는 선별부; 선별된 블럭 객체와 타겟 객체의 기하 정보를 비교하는 제1 비교부; 제1 비교부에서 동일한 것으로 판단된 블럭 객체의 모든 버텍스 좌표를 변환 행렬을 이용하여 변환한 후 변환된 블럭 객체의 모든 버텍스 좌표를 타겟 객체의 모든 버텍스 좌표와 비교하는 제2 비교부; 그리고, 제2 비교부에서 블럭 객체와 동일한 것으로 판단된 타겟 객체를 레퍼런스 객체로 저장하는 저장부;를 포함하는 것을 특징으로 하는 3차원 모델링 데이터 처리 시스템.
(12) 데이터 수신부에 입력되는 3차원 모델링 데이터가 BIM 데이터인 경우 선별된 블럭 객체와 타겟 객체의 IFC Entity Type을 비교하는 비교부;를 제1 비교부에 앞서 실행하게 추가하는 것을 특징으로 하는 3차원 모델링 데이터 처리 시스템.
본 개시에 따르면 모든 기하 정보에 대하여 3차원 모델링을 한 3차원 모델링 데이터의 용량을 크게 줄일 수 있다.
기하 객체 : 110, 111, 112, 113, 114, 115, 116, 117, 118, 119
블럭 객체 : 120, 121, 122, 123
레퍼런스 객체 : 130, 131, 132, 133, 134, 135, 136, 137, 138, 139

Claims (12)

  1. 3차원 모델링 데이터 용량을 줄이는 방법에 있어서,
    3차원 모델링 데이터에서 블럭 객체(Block Object)를 선정하는 제1 단계;
    3차원 모델링 데이터에서 블럭 객체와 비교할 수 있는 타겟 객체(Target Object)를 추출하는 제2 단계;
    블럭 객체와 타겟 객체를 비교하는 제3 단계; 그리고,
    블럭 객체와 타겟 객체의 비교를 통해 동일한 것으로 인정되는 경우 타겟 객체를 레퍼런스 객체(Reference Object)로 설정하는 제4 단계;를 포함하며,
    제3 단계는 블럭 객체와 타겟 객체가 각각 갖고 있는 기하 정보를 이용하여 1차 비교하는 제3-1 단계;와 블럭 객체와 타겟 객체 간의 변환 행렬을 이용하여 2차 비교하는 제3-2 단계;로 나누어지는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    블럭 객체와 타겟 객체를 1차 비교하는데 사용하는 기하 정보는 블럭 객체 및 타겟 객체 각각의 버텍스(Vertex) 수, 메쉬(Mesh) 형태, 타입(Type) 정보 중 적어도 하나인 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  4. 청구항 3에 있어서,
    메쉬 형태의 비교는 블럭 객체의 메쉬를 구성하는 삼각형의 변의 길이와 타겟 객체의 메쉬를 구성하는 삼각형의 변의 길이를 비교하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  5. 청구항 1에 있어서,
    제3-2 단계에서 사용하는 변환 행렬은 블럭 객체와 타겟 객체를 1차 비교할 때 사용한 삼각형을 이용하여 구하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  6. 청구항 1에 있어서,
    제3-2 단계는 변환 행렬을 이용해 블럭 객체의 모든 버텍스 좌표를 변환하고 변환된 블럭 객체의 모든 버텍스 좌표를 타겟 객체의 모든 버텍스 좌표와 비교하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  7. 청구항 1에 있어서,
    제1 단계에서 선정한 블럭 객체와 동일한 모든 타겟 객체를 레퍼런스 객체로 설정할 때까지 제2 단계 내지 제4 단계를 반복하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  8. 청구항 1에 있어서,
    3차원 모델링 데이터에 다수의 블럭 객체가 있는 경우 모든 블럭 객체에 대하여 각각 동일한 모든 타겟 객체를 레퍼런스 객체로 설정할 때까지 제1 단계 내지 제4 단계를 반복하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  9. 청구항 1에 있어서,
    3차원 모델링 데이터가 BIM(Building Information Modeling) 데이터인 경우 제2 단계와 제3 단계 사이에 블럭 객체와 타겟 객체의 IFC Entity Type을 비교하는 단계;를 추가하는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  10. 3차원 모델링 데이터 용량을 줄이는 방법에 있어서,
    3차원 모델링 데이터에서 블럭 객체(Block Object)를 선정하는 제1 단계;
    3차원 모델링 데이터에서 블럭 객체와 비교할 수 있는 타겟 객체(Target Object)를 추출하는 제2 단계;
    블럭 객체와 타겟 객체를 비교하는 제3 단계; 그리고,
    블럭 객체와 타겟 객체의 비교를 통해 동일한 것으로 인정되는 경우 타겟 객체를 레퍼런스 객체(Reference Object)로 설정하는 제4 단계;를 포함하며,
    제4 단계에서 레퍼런스 객체는 타겟 객체와 동일한 블럭 객체에 대한 인덱스 데이터와 블럭 객체를 타겟 객체로 전환할 수 있는 좌표변환데이터를 갖고 있는 것을 특징으로 하는 3차원 모델링 데이터 용량을 줄이는 방법.
  11. 3차원 모델링 데이터의 용량을 줄이는 3차원 모델링 데이터 처리 시스템에 있어서,
    용량을 줄이고자 하는 3차원 모델링 데이터를 입력받는 데이터 수신부;
    입력된 3차원 모델링 데이터에서 블럭 객체와 타겟 객체를 추출하는 선별부;
    선별된 블럭 객체와 타겟 객체의 기하 정보를 비교하는 제1 비교부;
    제1 비교부에서 동일한 것으로 판단된 블럭 객체의 모든 버텍스 좌표를 변환 행렬을 이용하여 변환한 후 변환된 블럭 객체의 모든 버텍스 좌표를 타겟 객체의 모든 버텍스 좌표와 비교하는 제2 비교부; 그리고,
    제2 비교부에서 블럭 객체와 동일한 것으로 판단된 타겟 객체를 레퍼런스 객체로 저장하는 저장부;를 포함하는 것을 특징으로 하는 3차원 모델링 데이터 처리 시스템.
  12. 청구항 11에 있어서,
    데이터 수신부에 입력되는 3차원 모델링 데이터가 BIM 데이터인 경우 선별된 블럭 객체와 타겟 객체의 IFC Entity Type을 비교하는 비교부;를 제1 비교부에 앞서 실행하게 추가하는 것을 특징으로 하는 3차원 모델링 데이터 처리 시스템.
KR1020140139222A 2014-10-15 2014-10-15 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템 KR101614065B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140139222A KR101614065B1 (ko) 2014-10-15 2014-10-15 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템
US15/519,397 US20170243398A1 (en) 2014-10-15 2015-10-14 Method and system for reducing volume of three-dimensional modeling data
PCT/KR2015/010831 WO2016060464A1 (ko) 2014-10-15 2015-10-14 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140139222A KR101614065B1 (ko) 2014-10-15 2014-10-15 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101614065B1 true KR101614065B1 (ko) 2016-04-20

Family

ID=55746937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140139222A KR101614065B1 (ko) 2014-10-15 2014-10-15 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템

Country Status (3)

Country Link
US (1) US20170243398A1 (ko)
KR (1) KR101614065B1 (ko)
WO (1) WO2016060464A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101741038B1 (ko) 2017-04-25 2017-06-15 한국건설기술연구원 HTML5-WebGL 기반의 BIM 모델 활용을 위한 BIM 데이터 경량화 방법 및 장치
KR20190092845A (ko) * 2018-01-31 2019-08-08 가이아쓰리디 주식회사 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
CN112231800A (zh) * 2020-09-25 2021-01-15 深圳市华阳国际工程设计股份有限公司 Bim图形的优化方法、装置以及计算机存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109645569A (zh) * 2017-10-12 2019-04-19 卓尔悦欧洲控股有限公司 电子烟及其控制方法
CN107998660A (zh) * 2017-12-05 2018-05-08 北京像素软件科技股份有限公司 场景物体处理方法、装置及电子设备
CN111415411B (zh) * 2020-03-02 2023-12-12 重庆市勘测院 三维模型空间坐标纠正及加密方法
CN111930742B (zh) * 2020-07-23 2023-08-25 深圳市万翼数字技术有限公司 基于建筑信息模型bim的数据存储方法及相关装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3182224B2 (ja) * 1992-09-03 2001-07-03 三洋電機株式会社 自動設計システム
JPH06215105A (ja) * 1993-01-18 1994-08-05 Canon Inc 3次元画像処理装置及びその方法
JP2002288687A (ja) * 2001-03-22 2002-10-04 Olympus Optical Co Ltd 特徴量算出装置および方法
US7698016B2 (en) * 2003-02-18 2010-04-13 Tti Acquisition Corporation Feature-based translation system and method
JP2005071095A (ja) * 2003-08-25 2005-03-17 Olympus Corp 3次元モデルデータベース装置
JP4893148B2 (ja) * 2006-08-09 2012-03-07 株式会社日立製作所 形状簡略化装置及びそれに用いられるプログラム
US8374829B2 (en) * 2007-03-16 2013-02-12 Lego A/S Automatic generation of building instructions for building element models
EP2446419B1 (en) * 2009-06-23 2021-04-07 InterDigital VC Holdings, Inc. Compression of 3d meshes with repeated patterns
KR101443297B1 (ko) * 2013-01-15 2014-10-07 주식회사 석영시스템즈 Ifc 기반 bim 모델 버전 관리 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101741038B1 (ko) 2017-04-25 2017-06-15 한국건설기술연구원 HTML5-WebGL 기반의 BIM 모델 활용을 위한 BIM 데이터 경량화 방법 및 장치
KR20190092845A (ko) * 2018-01-31 2019-08-08 가이아쓰리디 주식회사 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
KR102030594B1 (ko) 2018-01-31 2019-11-08 가이아쓰리디 주식회사 3차원 지리 정보 시스템 웹 서비스를 제공하는 방법
CN112231800A (zh) * 2020-09-25 2021-01-15 深圳市华阳国际工程设计股份有限公司 Bim图形的优化方法、装置以及计算机存储介质
CN112231800B (zh) * 2020-09-25 2022-06-21 深圳市华阳国际工程设计股份有限公司 Bim图形的优化方法、装置以及计算机存储介质

Also Published As

Publication number Publication date
WO2016060464A1 (ko) 2016-04-21
US20170243398A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
KR101614065B1 (ko) 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템
CN104346769B (zh) 三维建模对象的压缩
CN104217460B (zh) 3d建模对象的压缩与解压缩
US20180365371A1 (en) Mechanisms for Constructing Spline Surfaces to Provide Inter-Surface Continuity
US8766972B2 (en) Method and system for efficient transmission of rich three-dimensional geometry and animation content over narrow band communication networks
JP7343963B2 (ja) 画像を入力とする関数を学習するためのデータセット
CN105069226A (zh) 一种基于模板的三维造型建模方法
EP3051446A1 (en) Engraving a 2D image on a subdivision surface
US20190362029A1 (en) Systems and methods for lightweight precise 3d visual format
CN102629391A (zh) 基于数字图形介质的三维空间结构图形切割及切片方法
KR20140142470A (ko) 나무 모델과 숲 모델 생성 방법 및 장치
KR101552828B1 (ko) 3차원 객체 모델의 다각형 정보 추출 방법
CN103559374A (zh) 一种多子网格模型上进行面分裂型曲面细分的方法
KR102620835B1 (ko) 3D 기하 객체 정보를 이용한 CityGML 기반의 빌딩 객체 정보 생성 방법, 빌딩 객체 정보 생성 시스템, 이를 위한 컴퓨터 프로그램
RU2701710C1 (ru) Система и способ обработки данных
US8638334B2 (en) Selectively displaying surfaces of an object model
Rörig et al. Surface panelization using periodic conformal maps
KR101552827B1 (ko) 3차원 객체 모델의 분할 방법
US20160042106A1 (en) Generating a cad model from a finite element mesh
EP2471046A1 (en) Method for local refinement of a geometric or physical representation
WO2020120698A1 (en) A system for optimizing a 3d mesh
Virtanen et al. Browser based 3D for the built environment
KR101086228B1 (ko) 3차원 모델 단면 시뮬레이션 방법 및 장치
Oliveira et al. Incremental texture mapping for autonomous driving
Reid Towards semantic visual SLAM

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190320

Year of fee payment: 4