KR102649922B1 - 도면 공간 탐색 방법 및 장치 - Google Patents

도면 공간 탐색 방법 및 장치 Download PDF

Info

Publication number
KR102649922B1
KR102649922B1 KR1020210133476A KR20210133476A KR102649922B1 KR 102649922 B1 KR102649922 B1 KR 102649922B1 KR 1020210133476 A KR1020210133476 A KR 1020210133476A KR 20210133476 A KR20210133476 A KR 20210133476A KR 102649922 B1 KR102649922 B1 KR 102649922B1
Authority
KR
South Korea
Prior art keywords
node
polygon
room
wall
polygons
Prior art date
Application number
KR1020210133476A
Other languages
English (en)
Other versions
KR20230050143A (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 KR1020210133476A priority Critical patent/KR102649922B1/ko
Publication of KR20230050143A publication Critical patent/KR20230050143A/ko
Application granted granted Critical
Publication of KR102649922B1 publication Critical patent/KR102649922B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/18Details relating to CAD techniques using virtual or augmented reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Analysis (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

실시예는 도면 공간 탐색 방법 및 장치에 관한 것으로서, 도면 저작시 도면에서 방에 해당하는 공간을 자동으로 탐색하는 도면 공간 탐색 방법 및 장치를 제공한다.

Description

도면 공간 탐색 방법 및 장치{DRAWING SPACE NAVIGATION METHOD AND APPARATUS}
본 발명의 실시예는 도면 공간 탐색 방법 및 장치에 관한 것으로서, 보다 상세하게는 인테리어 프로그램에서 도면 저작시 방에 해당하는 영역을 자동으로 탐색하는 도면 공간 탐색 방법 및 장치에 관한 것이다.
종래에는 주거 혹은 상업적 공간의 인테리어 디자인의 구축 및 관리를 위해 인테리어 전문가의 현장조사와 고객의 요구를 바탕으로, 오랜 시간 동안 사전 검토 작업이 수행되었다.
그리고, 인테리어 공사는 복잡하고, 다양한 추가요소와 변경사항이 존재한다. 따라서 전문가와 고객이 구체적인 사항을 협의하고 시공 계약을 체결한 후 시공을 진행하더라도 완료된 인테리어가 고객의 예상과는 다를 수 있다. 또한, 국부적인 인테리어 자재에 따라 고객이 느끼는 전체 인테리어 디자인이 달라 보일 수 있다. 또한, 인테리어 완료 이후 가구를 구입하여 배치한 이후에도 인테리어 결과물이 고객의 예상과 다를 수 있다.
따라서, 이러한 인테리어 공사의 시공 리스크를 감소시키기 위해, 고객은 가구를 구입하거나 인테리어 시공 계약을 체결하기 전에 자신의 취향에 따라 인테리어 자재를 인테리어 대상이 되는 가상 공간에 배치하여 가상으로 인테리어 시공이 완료된 공간을 현장감 있게 확인할 필요가 있다.
이러한 고객의 요구를 충족시키기 위해, 가상 현실 기반 인테리어 서비스가 등장하고 있다. 가상 현실 기반 인테리어 서비스는 고객과의 상호작용을 통해 인테리어 공사가 완료된 공간을 가상으로 현장감 있게 제공하고 이와 관련된 인테리어 견적을 제공할 수 있다.
가상 현실 기반 인테리어 서비스를 제공하기 위해서는, 2D 또는 3D상에서 벽에 해당하는 이미지 또는 아이콘을 표시하는 단계가 필수적으로 수반되어야 한다. 더불어, 도면상에서 방에 해당하는 공간을 식별하여, 방의 인테리어에 필요한 가구 및 소품 등을 배치하고 조명 효과 등을 설정하는 단계가 필요하다. 이를 위해서, 도면에서 방에 해당하는 영역을 구분하여 사용자에게 제공하여야 한다.
이하, 도 1을 참조하여 벽 이미지가 도시된 도면의 예시를 설명한다.
도 1은 벽 구조가 표현된 예시도이다.
도시된 바와 같이, 사용자는 가상 현실 기반 인테리어 서비스를 사용함에 있어서, 벽에 해당하는 이미지(10)를 도면상에 설정한다. 그리고, 가상 현실 기반 인테리어 서비스의 사용자는 일반적으로 벽에 해당하는 구조(10)를 이용하여 복수의 방에 해당하는 영역(20)을 설정하고자 한다.
따라서, 가상 현실 기반 인테리어 서비스는 방에 해당하는 영역(20)을 자동으로 탐색하여 방의 인테리어에 관련된 인테리어 설정을 제공할 필요가 있다. 가상 현실 기반 인테리어 서비스를 제공함에 있어서, 방에 해당하는 영역(20)을 자동으로 탐색하지 못한다면, 방의 인테리어에 적합한 설정 및 서비스를 사용자에게 제공하지 못한다는 문제점이 있다.
본 발명의 실시예에 따른 도면 공간 탐색 방법 및 장치는, 사용자가 도면 저작시 방에 해당하는 영역을 탐색하는 방 탐색 방법 및 장치를 제공하기 위한 것이다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 도면 공간 탐색 방법은, 도면에서 벽의 이미지를 식별하는 단계, 상기 벽 이미지를 구성하는 외곽 노드를 도출하는 단계, 상기 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출하는 단계, 그리고 상기 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하는 방 영역 설정 단계를 포함하며, 상기 외곽 노드는 벽의 이미지를 구성하기 위한 꼭지점, 상기 벽 이미지의 교점 및 상기 벽 이미지를 구성하기 위한 기준점 중 어느 하나 이상을 포함한다.
또한, 본 발명의 실시예에 따른 공간을 구성하는 복수의 폴리곤을 도출하는 단계는, 상기 외곽 노드에 라벨링을 수행하는 단계, 상기 외곽 노드 및 깊이 우선 탐색(DFS: Depth-First Search) 알고리즘을 이용하여 상기 공간을 구성하는 복수의 폴리곤을 도출하는 단계를 포함한다.
또한, 본 발명의 실시예에 따른 외곽 노드를 도출하는 단계는, 상기 벽 이미지는 벽의 시작 위치 또는 벽의 종료 지점에 대응하는 복수의 기준 노드를 설정하는 단계, 상기 기준 노드 및 미리 설정된 벽 두께 정보를 이용하여 도출된 복수의 외곽 노드를 설정하는 단계를 더 포함한다.
또한, 본 발명의 실시예에 따른 방 영역 설정 단계는, 상기 복수의 폴리곤 중 같은 기준 노드를 이용하여 생성된 폴리곤을 방 영역 후보 폴리곤 그룹으로 구분하는 단계, 상기 방 영역 후보 폴리곤 그룹 중 폴리곤의 넓이가 최대인 폴리곤을 제외하고, 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하는 단계를 포함한다.
또한, 본 발명의 실시예에 따른 방에 해당하는 영역은, 방의 이름, 방의 종류, 색상 정보, 바닥 정보, 벽지 정보, 높이 정보 중 하나 이상을 포함한다.
또한, 본 발명의 다른 측면에 따른 도면에서 방에 해당하는 공간을 탐색하는 장치는, 도면 저작 프로그램이 저장된 메모리, 그리고 상기 도면 저작 프로그램을 실행하는 프로세서를 포함하며, 상기 프로세서는 상기 도면 저작 프로그램을 실행하여, 도면에서 벽의 이미지를 식별하고, 벽 이미지를 구성하는 외곽 노드를 도출하며, 상기 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출하고, 상기 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하는 방 영역 설정하며, 상기 외곽 노드는 벽의 이미지를 구성하기 위한 꼭지점, 상기 벽 이미지의 교점 및 상기 벽 이미지를 구성하기 위한 기준점 중 어느 하나 이상을 포함한다.
본 발명의 실시예에 따른 도면 공간 탐색 방법 및 장치는, 사용자가 도면 저작시 방에 해당하는 영역을 탐색하는 도면 공간 탐색 방법 및 장치를 제공할 수 있다.
도 1은 벽 구조가 표현된 예시도이다.
도 2는 실시예에 따른 도면 공간 탐색 장치의 구조도이다.
도 3은 실시예에 따른 도면 공간 탐색 방법의 흐름도이다.
도 4는 실시예에 따른 폴리곤 설정 방법의 흐름도이다.
도 5는 실시예에 따른 폴리곤 설정 방법의 예시도이다.
도 6은 실시예에 따른 공간 탐색 결과의 예시도 이다.
도 7은 실시예에 따른 벽 이미지 생성 방법의 흐름도이다.
도 8은 실시예에 따른 외곽 노드 설정 방법의 흐름도이다.
도 9는 벽이 한 개인 경우 실시예에 따른 벽 이미지 예시도이다.
도 10은 실시예에 따른 벽 이미지 생성 방법의 흐름도이다.
도 11은 실시예에 따른 공유 노드의 예시도이다.
도 12는 벽이 두 개인 경우 실시예에 따라 생성된 벽 이미지의 예시도이다.
도 13은 벽이 세 개 이상인 경우 실시예에 따른 결합 노드의 예시도이다.
도 14는 벽이 세 개 이상인 경우 실시예에 따라 생성된 벽 이미지의 예시도이다.
도 15는 외곽 노드의 연결 순서에 따른 벽 이미지의 예시도이다.
도 16은 실시예에 따른 벽 이미지 생성 예시도이다.
도 17은 실시예에 따른 벽 이미지 생성 예시도이다.
도 18은 본 발명의 또 다른 실시예에 따른 도면 공간 탐색 인터페이스 제공 방법의 순서를 도시한 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '장치'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '장치'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, ' 장치 '는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 ' 장치 '는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 ' 장치 '들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 ' 장치 '들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 ' 장치 '들은 디바이스 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 도 2를 참조하여 실시예에 따른 도면 공간 탐색 장치(1)의 구성을 설명한다.
도 2는 실시예에 따른 도면 공간 탐색 장치의 구성도이다.
도 2를 참조하면, 실시예에 따른 도면 공간 탐색 장치(1)는 메모리(100)와 프로세서(200)를 포함한다. 메모리(100)는 도면 저작 프로그램 및 도면 저작 프로그램과 관련된 데이터를 저장한다. 도면 저작 프로그램은 설명의 편의를 위해 설정된 것으로, 명칭 그 자체로 프로그램의 기능을 제한하는 것은 아니다.
메모리(100)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력을 필요로 하는 휘발성 저장장치를 통칭하는 것으로 해석되어야 한다. 또한, 메모리(100)는 프로세서(200)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 메모리(100)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치 외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(200)는 메모리(100)에 저장된 도면 저작 프로그램을 실행한다. 프로세서(200)는 데이터를 제어 및 처리하는 다양한 종류의 장치들을 포함할 수 있다. 프로세서(200)는 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 일 예에서, 프로세서(200)는 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 형태로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
이 때, 프로세서(200)는 도면 저작 프로그램을 이용하여 도면에서 방에 해당하는 공간을 탐색하여 속성을 부여하기 위한 일련의 데이터 처리 과정을 수행한다. 도면에서 방에 해당하는 공간을 탐색하는 방법은 후술하는 도3 내지 도 6을 참조하여 상세히 설명한다.
또한, 프로세서(200)는 도면 저작 프로그램을 이용하여, 사용자가 설정한 벽 또는 평면도로부터 인식된 벽의 이미지를 도면에 표시하기 위해, 일련의 데이터 처리 과정을 수행한다. 도면 저작 프로그램의 벽 이미지 생성 방법은 후술하는 도 7 내지 도 17을 참조하여 상세히 설명한다.
또한, 실시예에 따른 도면 저작 프로그램은 도면 공간 탐색 및 벽 이미지 생성뿐만 아니라, 벽 이미지 배치 및 편집, 가구 배치, 조명 설정, 넓이 설정 등 가상 현실 기반 인테리어 서비스를 제공하기 위한 프로그램을 포함한다. 따라서, 2D 도면뿐만 아니라 2D 도면에 높이 정보를 적용한 3D 도면에도 적용 가능한 도면 저작 프로그램을 포함할 수 있다.
또한, 본 발명의 실시예에 따른 도면 공간 탐색 장치 (1)는 도면 저작 프로그램을 이용한 가상 현실 기반 인테리어 서비스를 제공하는 서버로서 동작할 수 있다. 한편, 도면 공간 탐색 장치(1)는 제공 도면 저작 프로그램을 이용하여 탐색된 공간을 기반으로, 하여 SaaS(Sofware as a Service) 또는 Iaas(Infrastructure as a Service)와 같은 클라우드 컴퓨팅 서비스 모델에서 동작할 수 있다. 또한, 도면 공간 탐색 장치(1)는 사설(private) 클라우드, 공용(public) 클라우드 또는 하이브리드(hybrid) 클라우드와 같은 형태로 구축될 수 있다.
따라서, 도면 공간 탐색 장치(1)는 도면 저작 프로그램에서 생성된 출력 데이터를 사용자 단말(미도시)에 제공할 수 있다. 사용자 단말은 수신한 데이터를 디스플레이할 수 있으며, 사용자로부터 입력 데이터를 수신하여 도면 저작 프로그램과 상호 작용을 수행할 수 있다.
사용자 단말은 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 휴대성과 이동성이 보장되는 무선 통신 장치 또는 스마트폰, 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 의미할 수 있다. 또한, 도면 공간 속성 부여 장치 (1)는 통신 모듈(미도시)을 포함할 수 있으며, 통신 모듈은 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크를 사용하는 통신 모듈을 포함할 수 있다.
이하, 도 3을 참조하여 실시예에 따른 도면 공간 탐색 방법을 설명한다.
도 3은 실시예에 따른 도면 공간 탐색 방법의 흐름도이다.
도 3을 참조하면, 단계(S1000)에서는 도면에서 벽에 해당하는 이미지(10)를 식별한다. 이 때, 완성된 도면 이미지 파일에서 벽의 이미지를 식별하는 방식과 후술하는 도 7 내지 도 17에 따른 방법에 따라 생성된 벽 이미지를 이용하는 방식이 사용될 수 있다.
완성된 도면 이미지 파일에서 벽을 식별하는 방식으로는, 벽에 해당하는 색상을 이용하여 벽에 해당하는 구성을 식별할 수 있다. 또한, 이미지에 포함된 수학식 또는 기하학적 정보 등을 이용하여 벽에 해당하는 구성을 식별할 수 있다.
단계(S2000)에서는, 벽 이미지(10)를 구성하는 외곽 노드(3100)를 도출한다. 외곽 노드(3100)는 벽의 이미지를 구성하기 위한 꼭지점, 상기 벽 이미지의 교점 및 상기 벽 이미지를 구성하기 위한 기준점 중 어느 하나 이상을 포함한다.
또한, 단계(S2000)에서는, 벽 이미지는 벽의 시작 위치 또는 벽의 종료 지점에 대응하는 복수의 기준 노드(3200)를 설정한다. 그리고, 기준 노드(3200) 및 미리 설정된 벽 두께 정보를 이용하여 복수의 외곽 노드(3100)를 설정할 수 있다.
구체적으로, 벽을 구성하는 두 개의 기준 노드(시작 지점, 종료 지점)을 포함하는 중심 벡터를 생성하고 중심 벡터를 이용하여 복수의 외곽 노드(3100)를 설정한다. 중심 벡터는 벽의 시작 지점과 종료 지점을 연결한 벡터에 대응될 수 있으며, 벽 이미지(10)의 중심선에 대응될 수 있다.
그리고, 중심 벡터를 이용하여 유닛 벡터를 생성한다. 유닛 벡터는 기준 노드 중 어느 하나를 포함하며 중심 벡터에 수직한 방향을 가진다. 즉, 두 개의 기준 노드 각각을 시작 지점으로 하며, 중심 벡터에 수직한 방향으로 형성된다.
따라서, 한 개의 벽 이미지는, 각 기준 노드(3200)에서 두 개의 유닛 벡터가 생성된다. 더불어, 각 기준 노드에서 생성된 두 개의 유닛 벡터는 서로 대칭되는 방향을 가지도록 형성된다. 각 유닛 벡터와 미리 설정된 벽 두께 정보를 이용하여 외곽 노드를 생성한다. 외곽 노드는 유닛 벡터에 벽 두께 값의 절반에 해당하는 스칼라 값을 곱하여 생성될 수 있다.
또한, 기준 노드(3200)는 후술하는 벽 이미지 생성 방법에 따른 기준 노드(310) 및 공유 노드(311)를 포함하는 의미이다. 외곽 노드(3100)는 후술하는 벽 이미지 생성 방법에 따른 외곽 노드(320) 및 결합 노드(321)를 포함하는 의미이다.
외곽 노드(3100)는 벽의 각도, 두께를 고려하여 계산한 2D 벡터로 자신이 포함된 벽 이미지, 위치 좌표, 연결 되어 있는 외곽 노드에 대한 정보를 포함할 수 있다.
단계(S3000)에서는, 외곽 노드(3100)를 이용하여 공간을 구성하는 복수의 폴리곤을 도출한다. 외곽 노드는 벽의 각도, 두께를 고려하여 계산한 2D 벡터로 자신이 포함된 벽 이미지, 위치 좌표, 연결 되어 있는 외곽 노드에 대한 정보를 포함할 수 있다. 따라서, 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출할 수 있으며, 폴리곤을 도출하는 구체적인 방법은 후술하는 도 4 및 도 5를 참조하여 상세히 설명한다.
단계(S4000)에서는, 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정한다. 최외각 폴리곤이란 넓이가 최대인 폴리곤 또는 벽 이미지의 최외각선으로 구성된 폴리곤을 의미할 수 있다.
이하, 도 4 및 도 5를 참조하여 실시예에 따른 폴리곤 설정 방법을 설명한다.
도 4는 실시예에 따른 폴리곤 설정 방법의 흐름도이다.
도 5는 실시예에 따른 폴리곤 설정 방법의 예시도이다.
도 4를 참조하면, 단계(S3100)에서는 외곽 노드(3100)에 라벨링(labeling)을 수행한다. 도 5에 도시된 바와 같이 4개의 벽 이미지(10)가 연결되어 사각형을 형성하는 경우 사각형의 꼭지점에 대응하여 8개의 외곽 노드(3100a~3100h)를 설정할 수 있다. 더불어, 도면 저작 프로그램에 의해 벽 이미지가 생성된 경우에도 도 5와 같이 외곽 노드(3100)가 설정된다. 그리고, 각각의 외곽 노드(3100)에 대하여 고유 id를 부여하거나 번호를 설정하는 등의 방식을 이용하여 라벨링을 수행할 수 있다.
단계(S3200)에서는, 라벨링된 외곽 노드(3100) 및 깊이 우선 탐색(DFS: Depth-First Search) 알고리즘을 이용하여 공간을 구성하는 복수의 폴리곤을 도출한다.
깊이 우선 탐색 알고리즘이란, 맹목적 탐색 방법의 하나로 탐색 트리에 추가된 노드를 선택하고, 추가된 노드에 적용 가능한 동작자 중 하나를 적용하여 트리에 다음 수준(level)의 한 개의 자식 노드를 첨가하며, 첨가된 자식 노드가 목표 노드일 때까지 자식 노드의 추가 과정을 반복해 가는 방식의 알고리즘이다.
따라서, 라벨링된 외곽 노드(3100)를 하나씩 추가하며 외곽 노드를 연결한 폴리곤이 공간을 형성하는 경우를 탐색한다. 따라서, 도 5를 참조하면, [제1 외곽 노드(3100a), 제2 외곽 노드(3100b), 제3 외곽 노드(3100c), 제4 외곽 노드(3100d)] 로 구성된 제1 폴리곤(4000a)과 [제5 외곽 노드(3100e), 제6 외곽 노드(3100f), 제7 외곽 노드(3100g), 제8 외곽 노드(3100h)] 로 구성된 제2 폴리곤(4000b)이 탐색된다.
단계(S3200)에서는, 복수의 폴리곤 중 같은 기준 노드(3200)를 이용하여 생성된 폴리곤을 방 영역 후보 폴리곤 그룹으로 구분한다. 도 5에 도시된 바와 같이 제1 폴리곤(4000a)과 제2 폴리곤(4000b)은 제1 기준 노드(3200a) 내지 제4 기준 노드(3200d)를 공유한다. 따라서, 제1 폴리곤(4000)과 제2 폴리곤(4000b)은 동일한 방 영역 후보 폴리곤 그룹으로 분류된다.
상술한 바와 같이 외곽 노드(3100)는 기준 노드(3200)와 미리 설정된 벽 두께 정보를 이용하여 생성될 수 있다. 따라서, 제1 외곽 노드(3100a) 및 제5 외곽 노드(3100e)는 제1 기준 노드(3200a)를 기준으로 생성되고, 제2 외곽 노드(3100b) 및 제6 외곽 노드(3100f)는 제2 기준 노드(3200b)를 기준으로 생성되며, 제3 외곽 노드(3100c) 및 제7 외곽 노드(3100g)는 제3 기준 노드(3200c)를 기준으로 생성되고, 제4 외곽 노드(3100d) 및 제8 외곽 노드(3100h)는 제4 기준 노드(3200d)를 기준으로 생성된다.
따라서, 제1 폴리곤(4000a)과 제2 폴리곤(4000b)은 제1 기준 노드(3200a) 내지 제4 기준 노드(3200d)로부터 생성된 외곽 노드(3100a~3100h)를 이용하여 생성되므로, 제1 기준 노드(3200a) 내지 제4 기준 노드(3200d)를 공유한다.
또한, 기준 노드(3200)는 벽 이미지의 시작 지점, 종료 지점, 변곡점 및 꼭지점 중 어느 하나에 대응될 수 있다. 따라서, 기준 노드(3200)와 인접한 외곽 노드(3100)를 이용하여 생성된 폴리곤(4000)은 동일한 기준 노드(3200)를 공유하는 것으로 판단될 수 있다.
그러므로, 동일한 기준 노드(3200)를 공유하는 폴리곤(4000)은 동일한 방 영역 후보 폴리곤 그룹으로 분류할 수 있다. 다만, 폴리곤(4000)의 모든 기준 노드(3200)를 공유하지 않고 일부 기준 노드(3200)를 공유하는 경우에도 동일한 방 영역 후보 폴리곤 그룹으로 분류될 수 있다.
단계(S4000)에서는, 방 영역 후보 폴리곤 그룹 중 폴리곤의 넓이가 최대인 폴리곤을 제외하고, 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정한다. 따라서, 제1 폴리곤(4000)과 제2 폴리곤(4000b)은 동일한 방영역 후보 폴리곤 그룹에 속하며, 제2 폴리곤(4000b)이 제1 폴리곤(4000)보다 큰 넓이 값을 가진다. 따라서, 제2 폴리곤(4000b)을 제외한 제1 폴리곤(4000)이 방에 해당하는 공간으로 설정된다.
이하, 도 6을 참조하여 실시예에 따른 공간 탐색 방법 및 결과를 설명한다.
도 6은 실시예에 따른 공간 탐색 결과의 예시도이다.
도 6과 같이 벽 이미지(10)가 배치된 경우, 외곽 노드 설정 단계(S2000) 및 폴리곤 도출 단계(S3000)에 따라 제1 폴리곤(4000a), 제2 폴리곤(4000b), 제3 폴리곤(4000c) 및 제4 폴리곤(4000d)이 도출된다.
그리고, 제1 폴리곤(4000a)은 제1 기준 노드(3200a), 제3 기준 노드(3200c), 제5 기준 노드(3200e), 제6 기준 노드(3200f), 제7 기준 노드(3200g), 제8 기준 노드(3200h), 제9 기준 노드(3200i) 및 제10 기준 노드(3200j)를 포함한다.
또한, 제2 폴리곤(4000b)은 제1 기준 노드((3200a), 제2 기준 노드(3200b), 제3 기준 노드(3200c), 제4 기준 노드(3200d), 제5 기준 노드(3200e), 제6 기준 노드(3200f), 제7 기준 노드(3200g), 제8 기준 노드(3200h)를 포함한다.
제3 폴리곤(4000c)은 제2 기준 노드(3200b), 제6 기준 노드(3200f), 제7 기준 노드(3200g) 및 제10 기준 노드(3200j)를 포함한다.
제 4 폴리곤(4000d)은 제4 기준 노드(3200d), 제5 기준 노드(3200e), 제8 기준 노드(3200h) 및 제9 기준 노드(3200i)를 포함한다.
따라서, 제1 폴리곤(4000a)은 제2 폴리곤(4000b)과 제1 기준 노드(3200a), 제3 기준 노드(3200c), 제5 기준 노드(3200e), 제6 기준 노드(3200f), 제7 기준 노드(3200g), 제8 기준 노드(3200h)를 공유한다. 또한, 제1 폴리곤(4000a)은 제3 폴리곤(4000c)과 제6 기준 노드(3200f), 제7 기준 노드(3200g) 및 제10 기준 노드(3200j)를 공유하며, 제4 폴리곤(4000d)과 제5 기준 노드(3200e), 제8 기준 노드(3200h) 및 제9 기준 노드(3200i)를 공유한다.
그리고, 제2 폴리곤(4000b)은, 제3 폴리곤(4000c)과 제2 기준 노드(3200b), 제6 기준 노드(3200f), 제7 기준 노드(3200g)를 공유하고, 제4 폴리곤(4000d)과 제4 기준 노드(3200d), 제5 기준 노드(3200e) 및 제8 기준 노드(3200h)를 공유한다.
따라서, 제1 폴리곤(4000a) 내지 제 4 폴리곤(4000d)은 기준 노드(3200)를 공유하므로, 동일한 방 영역 후보 폴리곤 그룹으로 분류된다. 그리고, 방 공간 설정 단계(S4000)에서, 최외각 폴리곤인 제2 폴리곤(4000b)을 제외한 제1 폴리곤(4000a), 제3 폴리곤(4000c), 제4 폴리곤(4000d)을 각각 방에 해당하는 영역으로 설정한다.
또한, 방 공간 설정 단계(S4000)에서, 4개의 폴리곤 중 넓이 값이 최대인 제2 폴리곤(4000b)을 제외한 제1 폴리곤(4000a), 제3 폴리곤(4000c), 제4 폴리곤(4000d)을 각각 방에 해당하는 영역으로 설정하는 것도 가능하다.
또한, 방에 해당하는 영역은, 방의 이름, 방의 종류, 색상 정보, 바닥 정보, 벽지 정보, 높이 정보 중 하나 이상을 방의 속성 정보로서 포함할 수 있다. 구체적으로 아래의 표 1과 같은 데이터를 포함할 수 있다.
종류 내용 데이터 구조 예시 디폴트
ID 방 영역을 구별하기 위한 고유 id ANFKMDOVLFNRHDUAK random generated UUID
label 방의 이름 xx의 방 NONE
type 방의 타입 거실, 주방, 침실, 창고, 베란다 등 NONE
floor finish 방의 바닥에 입혀지는 마감재 정보 A회사의 장판, 강마루 등의 제품 정보 혹은 페인트 정보 Gray 색상
ceiling finish 방의 천장에 입혀지는 마감재 정보 A회사의 벽지 혹은 페인트 정보 White 색상
height 방 천장의 높이 (unit: mm) 2600 (2.6m) 2600 (2.6 m)
또한, 도 5 및 도 6에는 벽 이미지가 단절되지 않고 일체로 구성되어 있는 예시를 도시하였다. 하지만, 실시예가 이에 한정되는 것은 아니며, 벽 이미지와 더불어 창문 및 문에 해당하는 이미지가 포함된 경우에도 적용 가능하다.
따라서, 방에 해당하는 영역의 속성을 각각 변경할 수 있으며, 이에 따라 사용자에게 자연스러운 가상 현실 기반 인테리어 서비스를 제공하며, 방에 해당하는 영역에 적합한 설정을 제공할 수 있다.
이하, 도 7 내지 도 9을 참조하여 실시예에 따른 벽 이미지 생성 방법을 설명한다.
도 7은 실시예에 따른 벽 이미지 생성 방법의 흐름도이다.
도 8는 실시예에 따른 외곽 노드 설정 방법의 흐름도이다.
도 9는 벽이 한 개인 경우 실시예에 따른 벽 이미지 생성 예시도이다.
도 7을 참조하면, 단계(S100)에서는 벽 이미지를 생성하기 위한 기준 노드(310)를 설정한다. 기준 노드(310)는 벽의 시작점 또는 벽의 종료지점에 대응된다. 기준 노드(310)는 사용자가 설정하거나, 벽의 길이 값에 대응하여 설정될 수 있다. 또한, 도면 또는 이미지에서 벽에 해당하는 영역을 식별하고 이에 대응하여 설정될 수 있다.
단계(S200)에서는, 벽 이미지에 대응하는 폴리곤(300)을 생성하기 위한 외곽 노드(320)를 설정한다. 외곽 노드(320)는 기준 노드(310) 및 미리 설정된 벽 두께 정보를 이용하여 도출된다. 외곽 노드(320)는 폴리곤(300)의 꼭지점에 대응될 수 있다. 또한, 도면 또는 이미지에서 벽에 해당하는 영역을 식별하고 꼭지점에 대응하는 영역을 외곽노드(320)로 설정할 수 있다. 외곽 노드(320)를 설정하기 위한 구체적인 방법은 도 8를 참조하여 상세히 설명한다.
단계(S300)에서는, 기준 노드(310)와 외곽 노드(320)를 연결하는 폴리곤(300)을 구성한다. 즉, 기준 노드(310)와 외곽 노드(320)를 포함하는 폴리곤(300)으로서, 폴리곤(300)을 이용하여 벽의 이미지를 도면 또는 컴퓨터 프로그램상에 표시할 수 있다. 기준 노드(310)는 폴리곤(300)의 시작 지점 및 종료 지점과 대응하고, 외곽 노드(320)는 폴리곤(300)의 꼭지점에 대응한다.
컴퓨터 그래픽에서 폴리곤은 삼각형, 사각형 또는 각종 다각형 및 3D 그래픽에서 물체를 표현하기 위해 사용되는 다각형을 의미한다. 특히, 본 발명에서는 벽의 이미지를 나타내기 위해 직사각형으로 설정될 수 있다. 또한, 본 발명의 일 실시예에 따른 각 폴리곤의 결합 과정을 통해 직사각형이 아닌 다양한 형태의 다각형으로 변형될 수 있다. 이에 대해서는 후술하는 도 10 내지 도 17을 참조하여 상세히 설명한다.
이하, 도 8를 참조하여, 외곽 노드(320)를 설정하기 위한 구체적인 방법을 설명한다.
도 8를 참조하면, 단계(S210)에서는 중심 벡터(410)를 설정한다. 중심 벡터(410)는 벽의 폴리곤(300)을 구성하는 두 개의 기준 노드(310)로 구성된 벡터를 의미한다. 따라서, 중심 벡터(410)는 벽의 시작 지점과 종료 지점을 연결한 벡터에 대응될 수 있으며, 폴리곤(300)의 중심선에 대응될 수 있다.
단계(S220)에서는, 중심 벡터를 이용하여 유닛 벡터(420)를 생성한다. 유닛 벡터(420)는 기준 노드(310)를 포함하며 중심 벡터(410)에 수직한 방향을 가진다. 즉, 두 개의 기준 노드(310) 각각을 시작 지점으로 하며, 중심 벡터(410)에 수직한 방향으로 형성된다.
따라서, 한 개의 벽 이미지에 대응하는 폴리곤(300)을 생성하는 경우, 각 기준 노드(310)에서 두 개의 유닛 벡터(420)가 생성된다. 더불어, 각 기준 노드(310)에서 생성된 두 개의 유닛 벡터(420)는 서로 대칭되는 방향을 가지도록 형성된다.
단계(S230)에서는, 유닛 벡터(420)와 미리 설정된 벽 두께 정보를 이용하여 외곽 노드(320)를 생성한다. 구체적으로, 외곽 노드(320)는 유닛 벡터에 벽 두께 값의 절반에 해당하는 스칼라 값을 곱하여 외곽 노드(320)를 생성한다.
따라서, 한 개의 벽을 이미지로 표현하는 경우, 총 4개의 외곽 노드(320)가 생성된다. 외곽 노드(320) 각각은 기준 노드(310) 중 어느 하나로부터 수직한 방향으로 미리 설정된 벽 두께의 절반 값에 해당하는 거리를 가지도록 형성된다.
이하, 도 10 내지 도 12을 참조하여 복수의 벽이 연결된 경우, 실시예에 따른 벽 이미지 생성 방법을 설명한다.
도 10은 실시예에 따른 벽 이미지 생성 방법의 흐름도이다.
도 11은 실시예에 따른 공유 노드의 예시도이다.
도 10및 도 11을 참조하면, 복수의 벽이 연결된 경우, 실시예에 따른 벽 이미지 생성 방법은 폴리곤의 중첩된 부분을 파악하여 결합 노드를 생성한다. 그리고 이에 따라 연결된 부분의 벽 이미지가 자연스럽게 연결되도록 폴리곤(300)을 생성한다.
구체적으로, 단계(S240)에서는, 복수의 폴리곤(300)이 연결되는지 판단한다. 이를 위해서, 제1 폴리곤(300a)에 포함된 제1 중심 벡터(410a)와 제2 폴리곤(300b)에 포함된 제2 중심 벡터(410b)의 교점이 존재하는지 판단한다.
그리고, 제1 중심 벡터(410a)와 제2 중심 벡터(410b)의 교점이 존재하는 경우, 단계(S250)에서 제1 중심 벡터(410a)와 제2 중심 벡터(410b)의 교점을 공유 노드(311)로 설정한다. 따라서, 공유 노드(311)가 존재하는 경우, 제1 폴리곤(300a)과 제2 폴리곤(300b)이 연결된 것으로 판단할 수 있다.
일반적으로 사용자가 실시예에 따른 도면 프로그램을 이용하여 벽 이미지를 생성하는 경우, 사용자는 벽의 시작 지점 및 종료 지점을 선택하므로 이에 대응하여 기준 노드(310)가 설정된다. 하지만, 사용자가 연속하여 연결된 벽 이미지를 생성하는 경우, 복수개의 지점을 선택할 수 있다. 이러한 경우, 복수개의 지점 중 처음 선택된 지점은 시작 시점에 대응되며, 마지막에 선택된 지점은 종료 지점에 대응되고, 시작 지점과 종료 지점을 제외한 나머지 선택 지점은 공유 노드(311)에 대응될 수 있다.
더불어, 실시예에 따른 도면 프로그램에서 사용자가 생성된 벽 이미지의 위치 또는 크기 등을 변경하여 복수의 벽이 연결될 수 있다. 이러한 경우 공유 노드(311)는 복수의 벽 이미지 또는 폴리곤이 연결된 부분 또는 각 벽의 이미지 또는 폴리곤(300)이 중첩된 부분의 중점에 대응될 수 있다. 즉, 벽 이미지에 대응하는 폴리곤(300)의 변곡점 또는 복수의 폴리곤(300)의 굴곡이 발생하는 부분의 중점이 공유 노드(311)에 대응될 수 있다.
공유 노드(311)가 존재하는 경우, 제1 폴리곤(300a)과 제2 폴리곤(300b)의 연결 부분의 자연스러운 벽 이미지를 생성하기 위해, 결합 노드 생성 단계(S260) 및 결합 노드를 이용한 폴리곤 생성 단계를 수행한다.
또한, 공유 노드(311)가 존재하지 않는 경우, 벽 이미지에 대응하는 폴리곤(300)이 개별적으로 존재하는 것으로 판단한다. 따라서, 도 7 내지 도 9를 참조하여 상술한 바와 같이, 기준 노드(310) 및 외곽 노드(320)를 이용하여 생성된 폴리곤(300) 벽 이미지로 사용할 수 있다.
여기서, 제1 폴리곤(300a)과 제2 폴리곤(300b) 및 제1 중심 벡터(410a)와 제2 중심 벡터(410b)는 복수의 폴리곤 및 복수의 폴리곤에 대응되는 중심 벡터를 나타내기 위한 것이다. 따라서, 본 발명의 실시예가 2개의 폴리곤이 존재하는 경우에 한정되는 것은 아니며, 복수의 폴리곤이 존재하는 경우를 포함할 수 있다.
도 12은 두 개의 벽이 연결된 경우 실시예에 따라 생성된 벽 이미지의 예시도이다.
도 10 및 도 12을 참조하여, 결합 노드(321)의 생성 방법을 설명한다.
상술한 바와 같이, 공유 노드(311)가 존재하는 경우, 제1 폴리곤(300a)과 제2 폴리곤(300b)의 연결 부분을 재구성하는 단계를 수행한다. 이를 위해서, 결합 노드를 설정하고 결합 노드를 이용하여 연결 부분의 폴리곤을 재구성한다.
구체적으로, 단계(S260)에서는, 폴리곤(300)의 교점을 결합 노드(321)로 설정할 수 있다. 즉 제1 폴리곤(300a)과 제2 폴리곤(300b)의 교점을 결합 노드(321)로 설정한다. 따라서, 공유 노드(311)가 존재하는 경우, 벽 이미지 또는 벽의 폴리곤(300)은 기준 노드(310), 외곽 노드(320), 공유 노드(311) 및 결합 노드(321) 중 어느 하나 이상을 이용하여 생성된다.
더불어, 결합 노드(321)를 설정하기 위해서 중심 벡터(310)와 평행한 평행선(430a, 430b)을 생성하고, 평행선의 교점을 결합 노드(321)로 설정할 수 있다. 평행선(430a, 430b)은 외곽 노드(320) 중 어느 하나를 포함하며, 중심 벡터(410a, 410b)와 평행한 복수의 평행선(430a, 430b)을 생성하여 복수의 평행선(430a, 430b)의 교점을 도출한다. 그리고 도출된 복수의 평행선(430a, 430b)의 교점을 결합 노드(321)로 설정할 수 있다.
구체적으로, 도 12(a)에 도시된 바와 같이 제1 폴리곤(300a)을 구성하는 외곽 노드(320) 중 내측에 위치된 외곽 노드(321)를 포함하며, 제1 중심 벡터(410a)와 평행한 제1 평행선(430a)을 생성한다. 또한, 제2 폴리곤(300b)을 구성하는 외곽 노드(320) 중 내측에 위치된 외곽 노드(320)를 포함하며, 제2 중심 벡터(410b)와 평행한 제2 평행선(430b)을 생성한다. 그리고 제1 평행선(430a)과 제2 평행선(430b)의 교점을 결합 노드(321a)로 설정할 수 있다.
또한, 도 12(b)에 도시된 바와 같이 제1 폴리곤(310a)을 구성하는 외곽 노드(320) 중 외측에 위치된 외곽 노드(321)를 포함하며, 제1 중심 벡터(410a)와 평행한 제1 평행선(430a)을 생성한다. 또한, 제2 폴리곤(310b)을 구성하는 외곽 노드(320) 중 외측에 위치된 외곽 노드(320)를 포함하며, 제2 중심 벡터(410b)와 평행한 제2 평행선(430b)을 생성한다. 그리고 제1 평행선(430a)과 제2 평행선(430b)의 교점을 결합 노드(321b)로 설정할 수 있다.
추가적으로, 제1 폴리곤(300a)과 제2 폴리곤(300b)의 교점을 결합 노드(321a, 321b)로 설정하고, 결합 노드(321a, 321b)로부터 중심 벡터(410a, 410b)와 평행한 평행선(430a, 430b)을 생성한다. 그리고, 생성된 평행선(430a, 430b)이 제1 폴리곤(300a)과 제2 폴리곤(300b)의 외곽 노드(320)를 통과하는지 여부를 판단하여 결합 노드(321)의 위치를 설정하는 방법이 이용될 수 도 있다.
상술한 방법을 이용하여 도 12(c)와 같이 제1 폴리곤(300a)과 제2 폴리곤(300b)의 결합 노드(321a, 321b)를 설정할 수 있다. 그리고, 공유 노드(311)가 존재하는 경우, 도 11 및 도 12(c)에 도시된 바와 같이 기준 노드(310a), 공유 노드(311), 외곽 노드(320), 결합 노드(321a, 321b)를 이용하여 제1 폴리곤(300a)을 구성하고, 기준 노드(310b), 공유 노드(311), 외곽 노드(320), 결합 노드(321a, 321b)를 이용하여 제2 폴리곤(300b)을 생성한다.
도 11에 도시된 바와 같이, 결합 노드(321)를 이용하여 제1 폴리곤(300a)과 제2 폴리곤(300b)을 생성하는 경우, 두 개의 폴리곤이 연결되는 부분을 자연스러운 이미지로 나타낼 수 있다.
이하, 도 10, 도 13 및 도 14을 참조하여 두 개 이상의 벽이 연결된 경우 실시예에 따른 벽 이미지 생성 방법을 설명한다.
도 13는 벽이 세 개 이상인 경우 실시예에 따른 결합 노드의 예시도이다.
도 14은 벽이 세 개 이상인 경우 실시예에 따라 생성된 벽 이미지의 예시도이다.
도 13 및 도 14을 참조하면, 벽이 세 개 이상인 경우란, 공유 노드(311)를 중심으로 변형 또는 생성되는 폴리곤(300)이 세 개 이상인 경우를 의미한다. 추가적으로, 세 개 이상의 중심 벡터(310)가 교점을 가지는 경우를 의미할 수이다. 또는, 제1 폴리곤과 제2 폴리곤이 교차하는 경우, 제1 중심 벡터의 일부분을 제2 중심 벡터가 관통하는 경우는 기존의 제1 폴리곤과 제2 폴리곤이 교차하는 중점을 기준으로 4개의 폴리곤으로 재구성될 수 있다.
도 13를 참조하면, 세 개 이상의 폴리곤(300a, 300b, 300c, 300d)이 연결된 경우에도 폴리곤의 교점을 이용하여 결합 노드(321)를 생성하는 것은 동일하게 적용된다.
세 개 이상의 폴리곤(300a, 300b, 300c, 300d)이 연결된 경우, 인접한 위치의 두 개의 폴리곤을 반복하여 설정하고 두 개의 폴리곤에 대하여 결합 노드(321)를 생성하는 단계(S260)를 수행할 수 있다.
구체적으로, 도 13의 (a)는 제1 폴리곤(300a)과 제2 폴리곤(300b) 간의 결합 노드(321a) 생성을 도시한다. 도 13의 (b)는 제2 폴리곤(300b)과 제3 폴리곤(300c)의 결합 노드(321b) 생성을 도시한다. 도 13의 (c)는 제3 폴리곤(300c)과 제4 폴리곤(300d)의 결합 노드(321c) 생성을 도시한다. 도 13의 (d)는 제4 폴리곤(300d)과 제1 폴리곤(300a)의 결합 노드(321d) 생성을 도시한다.
즉, 인접한 두 개의 폴리곤에 대하여 상술한 결합 노드(321) 생성 과정을 반복하여 수행함으로써, 세 개 이상의 폴리곤이 연결된 경우에도 결합 노드(321)를 설정하여 연결된 벽의 이미지를 자연스럽게 표현할 수 있다.
더불어, 상술한 도 11 및 도 12과 같이 두 개의 폴리곤(300)이 연결되는 경우에는 내측 결합 노드와 외측 결합 노드를 설정한다. 하지만, 도 13에 도시된 바와 같이, 세 개 이상의 폴리곤이 연결되는 경우에는 도 11의 외측 결합 노드를 설정할 필요 없이 외측 결합 노드(321)만을 설정하여 폴리곤을 생성할 수 있다.
도 14을 참조하면, 제1 폴리곤(300a)은 제1 기준 노드(310a), 공유 노드(311), 외곽 노드(320), 결합 노드(321a, 321d)를 이용하여 생성된다. 제2 폴리곤(300b)은 제2 기준 노드(310b), 공유 노드(311), 외곽 노드(320), 결합 노드(321a, 321b)를 이용하여 생성된다. 제3 폴리곤(300c)은 제3 기준 노드(310c), 공유 노드(311), 외곽 노드(320), 결합 노드(321b, 321c)를 이용하여 생성된다. 제4 폴리곤(300d)은 제4 기준 노드(310d), 공유 노드(311), 외곽 노드(320), 결합 노드(321c, 321d)를 이용하여 생성된다.
따라서, 세 개 이상의 벽이 연결된 경우, 폴리곤(300)은 기준 노드(310), 공유 노드(311), 외곽 노드(320) 및 결합 노드(321)를 이용하여 생성되며, 복수의 폴리곤의 연결 부분이 자연스러운 이미지가 생성될 수 있다.
더불어, 기준 노드(310), 공유 노드(311), 외곽 노드 (320), 결합 노드(321)는 폴리곤을 생성하기 위한 데이터 정보가 포함된 것을 의미할 수 있다.
구체적으로, 기준 노드(310) 및 공유 노드(311)는 아래의 표 2와 같은 데이터를 포함할 수 있다.
종류 내용 데이터 구조 예시
ID 노드를 구별하기 위한 고유 id ALSNDKFNRBSIKFLK
Position 노드의 위치 좌표 (20000, 20000)
wallvectors 노드와 연결된 외곽 노드(320) 및 결합 노드(321) id [MFNCKSKENTFLSIDO, MFNCKSKENTFLSIDP, MFNCKSKENTFLSIDR, MFNCKSKENTFLSIDS]
또한, 외곽 노드(320) 및 결합 노드(321)는 아래의 표 3과 같은 데이터를 포함할 수 있다.
종류 내용 데이터 구조 예시
ID 노드를 구별하기 위한 고유 id MFNCKSKENTFLSIDO
Position 노드의 위치 좌표 (20000, 20000)
Corner id 외각 노드(320) 및 결합 노드(321)가 연결되는 기준 노드(310) 및 공유 노드(311)의 id ALSNDKFNRBSIKFLK
Adjacent wallvectors 노드가 직접적으로 연결된 외곽 노드(320) 및 결합 노드(321)의 id [MFNCKSKENTFLSIDP,MFNCKSKENTFLSIDS]
Wall id array 노드를 이용하여 생성된 폴리곤의 id [JNFKDMSLEOIOLDAND]
폴리곤(300)은 표 4와 같은 데이터를 포함할 수 있다.
종류 내용 데이터 구조 예시
ID 폴리곤을 구별하기 위한 고유 id JNFKDMSLEOIOLDAND
corners 폴리곤을 구성하는 기준 노드(310) 및 공유 노드(311)의 id [ALSNDKFNRBSIKFLK, BJFMNEIOSLFNIDHF]
thickness 폴리곤(벽)의 두께 정보(unit: mm) 200(20cm)
hight 폴리곤(벽)의 높이 정보(unit: mm) 2600(2.6m)
finish 폴리곤(벽)의 색상, 질감, 벽지 정보 red, blue, white, ...A회사의 벽지
외곽 노드(320) 및 결합 노드(321)는 기준 노드(310) 또는 공유 노드(311)에 연결된 폴리곤(300)들과의 관계에 의해 위치 정보가 정해진다. 따라서, 폴리곤(300)이 외곽 노드(320) 및 결합 노드(321)의 데이터를 가지게 되면 폴리곤(300)을 구성하는 외곽 노드(320) 및 결합 노드(321)의 데이터가 중복된다. 따라서, 외곽 노드(320) 및 결합 노드(321)의 데이터는 기준 노드(310) 및 공유 노드(311)가 포함한다.
또한, 폴리곤(300)은 색상 정보, 질감 정보 및 벽지 정보를 포함할 수 있다. 따라서, 사용자의 설정 또는 미리 설정된 값에 따라 폴리곤(300) 색상을 변경할 수 있으며, 벽지 정보를 입력하면, 데이터 베이스에 저장된 벽지 정보를 이용하여 벽지에 대응하는 질감 또는 색상을 표현할 수 있다.
이하, 도 15 및 도 16을 참조하여 외곽 노드(320) 연결 방법을 설명한다.
도 15은 외곽 노드의 연결 순서에 따른 벽 이미지의 예시도이다.
도 15을 참조하면, 도 15의 (a)는 외곽 노드(320)의 순서를 설정하지 않고 생성한 폴리곤의 예시이다. 도 15의 (a)에 도시된 바와 같이 외곽 노드(320)에 순서를 설정하지 않고 폴리곤(300)을 생성하는 경우 사용자가 원하는 형태의 폴리곤(300)이 생성되지 않을 수 있다.
따라서, 사용자가 원하는 벽 이미지를 도출하기 위해서는 도 15의 (b)와 같이 직사각형 형태의 폴리곤(300)을 생성하여야 한다. 이를 위해서는 폴리곤 생성 단계(S300)에서 외곽 노드(320)의 연결 순서를 설정할 필요가 있다.
도 16는 실시예에 따른 벽 이미지 생성 예시도이다.
도 16를 참조하면, 한 개의 폴리곤(300)이 존재하는 경우, 기준 노드(310a, 310b) 중 어느 하나와 외곽 노드(320) 중 어느 하나를 이용하여 복수의 위치 벡터(500)를 생성한다. 그리고, 위치 벡터(500)의 각도에 따라 위치 벡터를 정렬한다. 정렬된 위치 벡터의 순서에 따라 위치 벡터에 대응하는 외곽 노드의 순서를 설정한다.
구체적으로, 제1 기준 노드(310a)와 제1 외곽 노드(320a)를 이용하여 제1 위치 벡터(500a)를 생성한다. 제1 기준 노드(310a)와 제2 외곽 노드(320b)를 이용하여 제2 위치 벡터(500b)를 생성한다. 제1 기준 노드(310a)와 제3 외곽 노드(320c)를 이용하여 제3 위치 벡터(500c)를 생성한다. 제1 기준 노드(310a)와 제4 외곽 노드(320d)를 이용하여 제4 위치 벡터(500d)를 생성한다.
그리고, 중심 벡터(410)를 기준으로, 중심 벡터(410)와 위치 벡터(500)가 이루는 각도의 크기에 따라 위치 벡터(500)의 순서를 설정한다. 이에 따르면, 제4 위치 벡터(500d), 제1 위치 벡터(500a), 제2 위치 벡터(500b), 제3 위치 벡터(500c)의 순서로 위치 벡터(500)가 정렬된다. 따라서, 위치 벡터(500)의 정렬 순서에 대응하여 제4 외곽 노드(320d), 제1 외곽 노드(320a), 제2 외곽 노드(320b), 제3 외곽 노드(320c)의 순서로 외곽 노드(320)를 연결하여 폴리곤(300)을 생성할 수 있다.
추가적으로, 외곽 노드(320)의 순서에 기준 노드(310)를 추가하여 폴리곤(300)을 생성할 수도 있다. 예를 들어, 중심 벡터(410)의 종료 지점인 제2 기준 노드(310b)를 0도의 각도를 가지는 것으로 설정할 수 있다. 그리고, 중심 벡터(410)를 기준으로 제1 기준 노드(310a)가 180도의 각도를 가지는 것으로 설정하는 경우, 제1 기준 노드(310a)를 제1 외곽 노드(320a) 와 제2 외곽 노드(320b)의 사이에 배치시킬 수 있다.
따라서, 제2 기준 노드(310b), 제4 외곽 노드(320d), 제1 외곽 노드(320a), 제1 기준 노드(310a), 제2 외곽 노드(320b), 제3 외곽 노드(320c)의 순서 기준 노드(310) 및 외곽 노드(320)를 연결하여 폴리곤(300)을 생성할 수 있다.
이하, 도 17을 참조하여, 공유 노드(311) 및 결합 노드(321)가 존재하는 경우 폴리곤(300) 생성 방법을 설명한다.
도 17은 실시예에 따른 벽 이미지 생성 예시도이다.
도 17을 참조하면, 두 개 이상의 폴리곤(300)이 연결된다. 따라서, 상술한 바와 같이 공유 노드(311) 및 결합 노드(321)를 생성하여 폴리곤(300)을 생성한다. 도 16를 참조하여 설명한 바와 같이 공유 노드(311) 및 결합 노드(321)가 존재하는 경우에도 위치 벡터(500)를 생성하고 위치 벡터의 각도에 따라 기준 노드(310), 공유 노드(311), 외곽 노드(320), 결합 노드(321)의 순서를 설정한다.
구체적으로, 공유 노드(311)가 존재하는 경우, 기준 노드(310a)와 공유 노드(311)를 이용하여 중심 벡터(410)를 생성한다. 그리고, 공유 노드(311)가 존재하는 경우, 공유 노드(311)는 외곽 노드(320) 대신 결합 노드(321a, 321b)와 연결되어 폴리곤(300)을 생성한다.
따라서, 공유 노드(311) 또는 기준 노드(310a) 중 어느 하나와 외곽 노드(320) 및 결합 노드(321) 중 어느 하나로 구성된 위치 벡터를 생성하고 위치 벡터의 각도에 따라 공유 노드(311), 기준 노드(310), 외곽 노드(320), 결합 노드(321)의 연결 순서를 설정한다.
두 개 이상의 폴리곤(300)이 연결되는 경우, 기준 노드(310)와 제1 외곽 노드(320a)를 이용하여 제1 위치 벡터(500a)를 생성한다. 기준 노드(310)와 제2 외곽 노드(320b)를 이용하여 제2 위치 벡터(500b)를 생성한다. 기준 노드(310)와 제1 결합 노드(321a)를 이용하여 제3 위치 벡터(500c)를 생성한다. 기준 노드(310)와 제2 결합 노드(321b)를 이용하여 제4 위치 벡터(500d)를 생성한다.
그리고, 중심 벡터(410)의 종료 지점인 공유 노드(311)를 0도의 각도를 가지는 것으로 설정할 수 있다. 중심 벡터(410)를 기준으로 기준 노드(310a)는 180도의 각도를 가지는 것으로 설정할 수 있다.
이러한 경우, 공유 노드(311)를 1순위로 설정하고, 제1 기준 노드(310a)를 제1 외곽 노드(320a) 와 제2 외곽 노드(320b)의 사이에 배치시킬 수 있다. 따라서, 공유 노드(311, 제2 결합 노드 (321b), 제1 외곽 노드(320a), 기준 노드(310), 제2 외곽 노드(320b), 제1 결합 노드(321a)의 순서로 연결되어 폴리곤(300)이 생성될 수 있다.
도 18은 본 발명의 또 다른 실시예에 따른 도면 공간 탐색 인터페이스 제공 방법의 순서를 도시한 흐름도이다.
도 18을 참조하면, 본 발명의 또 다른 실시예에 따른 다음과 같은 도면 공간 탐색 인터페이스 제공 방법이 수행될 수 있다. 본 방법은 서버 및 단말의 통신 연결을 통해 도면 공간 탐색 인터페이스를 제공하는 방법에 있어서, 상기 서버가 상기 단말에게, 벽 이미지가 포함된 이미지 파일 또는 벽 이미지를 생성하여 도면을 작성하는 입력 영역을 포함하는 제1 인터페이스를 제공하는 단계(S410), 상기 서버가 상기 단말로부터 입력된 상기 도면 이미지, 상기 작성된 도면에 포함된 벽 이미지를 식별하고, 상기 벽 이미지를 구성하는 외곽 노드를 도출하며, 상기 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출하고, 상기 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤을 방에 해당하는 영역으로 설정하는 단계 (S420), 그리고 상기 서버가 상기 단말에게, 상기 방에 해당하는 영역을 토대로 생성한 방 이미지를 포함하는 제2 인터페이스를 제공하는 단계(S430)를 포함한다.
상기 제1 인터페이스를 제공하는 단계(S410)는, 벽의 시작 지점 및 벽의 종료 지점을 설정하는 입력 영역을 포함하는 제3 인터페이스를 제공하는 단계, 상기 서버가 상기 단말로부터, 상기 입력 영역 중 상기 벽의 시작 지점 및 벽의 종료 지점에 대한 설정 입력을 수신하는 단계, 그리고 상기 서버가 상기 단말에게, 상기 설정 입력을 토대로 생성한 벽 이미지를 포함하는 제4 인터페이스를 제공하는 단계를 더 포함할 수 있다.
제1 인터페이스는, 사용자가 건물의 평면도, 구조도 등과 같이 벽 이미지가 포함된 이미지 파일을 입력하거나, 사용자가 직접 벽 이미지를 생성하여 배치할 수 있다.
제2 인터페이스는, 상술한 도면 공간 탐색 방법을 이용하여 사용자가 입력한 도면에서 방에 해당하는 영역을 탐색하여 방 이미지가 표현된 도면을 생성하여 단말의 디스플레이상에 표현한다. 추가적으로, 제2 인터페이스는 방에 해당하는 영역의 방 속성을 설정하기 위한 방 속성 설정 영역, 방에 배치할 수 있는 가구 및 인테리어 소품의 이미지(아이콘)을 선택하여 방에 배치하기 위한 인테리어 설정 영역을 더 포함할 수 있다.
제3인터페이스는 생성된 벽 이미지를 삭제하는 벽 이미지 제거 영역을 포함할 수 있다. 사용자는 단말에서 입력 영역을 선택하는 경우, 벽의 시작 지점 및 종료 시점을 선택할 수 있다. 또한, 사용자가 벽 이미지 제거 영역을 선택하는 경우, 생성된 벽 이미지를 제거할 수 있다. 또한, 사용자는 생성된 벽 이미지를 이동하거나, 생성된 벽 이미지의 시작 지점 및 종료 지점을 변경할 수 있다.
제4 인터페이스는, 상술한 벽 이미지 생성 방법을 이용하여 사용자의 설정 입력에 대응하는 벽 이미지를 생성하여 단말의 디스플레이상에 표현한다. 추가적으로, 제4 인터페이스에도 생성된 벽 이미지를 이동하거나, 생성된 벽 이미지의 시작 지점 및 종료 지점을 변경할 수 있다.
상술한 본 발명의 실시예들에 따른 도면 공간 탐색 방법, 도면 공간 탐색 인터페이스 제공 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 도면 공간 탐색 장치 100: 메모리
200: 프로세서 300: 폴리곤
500: 위치 벡터 310: 기준 노드
320: 외곽 노드 410: 중심 벡터
420: 유닛 벡터 430: 평행선
4000: 폴리곤 3100: 외곽 노드
4100: 기준 노드

Claims (13)

  1. 도면 공간 탐색 장치를 이용하여 도면에서 방에 해당하는 공간을 탐색하는 방법에 관한 것으로서,
    도면에서 벽의 이미지를 식별하는 단계,
    상기 벽 이미지를 구성하는 외곽 노드를 도출하는 단계,
    상기 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출하는 단계, 그리고
    상기 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하는 방 영역 설정 단계,
    를 포함하며,
    상기 외곽 노드는 벽의 이미지를 구성하기 위한 꼭지점 및 상기 벽 이미지의 교점 중 어느 하나 이상을 포함하고,
    상기 외곽 노드를 도출하는 단계는,
    벽의 시작 지점, 벽의 종료 지점 및 변곡점 중 어느 하나 이상에 대응하는 복수의 기준 노드를 설정하는 단계, 및
    상기 기준 노드 및 미리 설정된 벽 두께 정보를 이용하여 도출된 복수의 외곽 노드를 설정하는 단계,
    를 포함하는, 도면 공간 탐색 방법.
  2. 제1항에 있어서,
    상기 공간을 구성하는 복수의 폴리곤을 도출하는 단계는,
    상기 외곽 노드에 라벨링을 수행하는 단계,
    상기 외곽 노드 및 깊이 우선 탐색(DFS: Depth-First Search) 알고리즘을 이용하여 상기 공간을 구성하는 복수의 폴리곤을 도출하는 단계
    를 포함하는, 도면 공간 탐색 방법.
  3. 삭제
  4. 제2항에 있어서,
    상기 방 영역 설정 단계는,
    상기 복수의 폴리곤 중 같은 기준 노드를 이용하여 생성된 폴리곤을 방 영역 후보 폴리곤 그룹으로 구분하는 단계,
    상기 방 영역 후보 폴리곤 그룹 중 폴리곤의 넓이가 최대인 폴리곤을 제외하고, 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하는 단계
    를 포함하는, 도면 공간 탐색 방법.
  5. 제4항에 있어서,
    상기 방에 해당하는 영역은,
    방의 이름, 방의 종류, 색상 정보, 바닥 정보, 벽지 정보, 높이 정보 중 하나 이상을 포함하는, 도면 공간 탐색 방법.
  6. 도면에서 방에 해당하는 공간을 탐색하는 장치에 관한 것으로서,
    도면 저작 프로그램이 저장된 메모리, 그리고
    상기 도면 저작 프로그램을 실행하는 프로세서
    를 포함하며,
    상기 프로세서는 상기 도면 저작 프로그램을 실행하여, 도면에서 벽의 이미지를 식별하고, 벽 이미지를 구성하는 외곽 노드를 도출하며, 상기 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출하고, 상기 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하며, 상기 외곽 노드는 벽의 이미지를 구성하기 위한 꼭지점 및 상기 벽 이미지의 교점 중 어느 하나 이상을 포함하되,
    상기 프로세서는 상기 도면 저작 프로그램을 실행하여,
    벽의 시작 지점, 벽의 종료 지점 및 변곡점 중 어느 하나 이상에 대응하는 복수의 기준 노드를 설정하고, 상기 복수의 기준 노드 및 미리 설정된 벽 두께 정보를 이용하여 복수의 상기 외곽 노드를 설정하는, 도면 공간 탐색 장치.
  7. 제6항에 있어서,
    상기 프로세서는 상기 도면 저작 프로그램을 실행하여,
    상기 외곽 노드에 라벨링을 수행하고, 상기 외곽 노드 및 깊이 우선 탐색(DFS: Depth-First Search) 알고리즘을 이용하여 상기 공간을 구성하는 복수의 폴리곤을 도출하는, 도면 공간 탐색 장치.
  8. 삭제
  9. 제6항에 있어서,
    상기 프로세서는 상기 도면 저작 프로그램을 실행하여,
    상기 복수의 폴리곤 중 같은 기준 노드를 이용하여 생성된 폴리곤을 방 영역 후보 폴리곤 그룹으로 구분하고, 상기 방 영역 후보 폴리곤 그룹 중 폴리곤의 넓이가 최대인 폴리곤을 제외하고, 나머지 폴리곤에 해당하는 영역을 방에 해당하는 영역으로 설정하는, 도면 공간 탐색 장치.
  10. 제9항에 있어서,
    상기 방에 해당하는 영역은,
    방의 이름, 방의 종류, 색상 정보, 바닥 정보, 벽지 정보, 높이 정보 중 하나 이상을 포함하는, 도면 공간 탐색 장치.
  11. 제1항, 제2항, 제4항 및 제5항 중 어느 한 항에 따른 도면 공간 탐색 방법에 따라 설정된 방에 해당하는 영역을 기초로 가상 현실 기반 인테리어 서비스를 제공하는 방법.
  12. 제1항, 제2항, 제4항 및 제5항 중 어느 한 항에 따른 도면 공간 탐색 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 비일시적 컴퓨터 판독 가능 기록매체.
  13. 서버 및 단말의 통신 연결을 통해 도면 공간 탐색 인터페이스를 제공하는 방법에 있어서,
    상기 서버가 상기 단말에게, 도면 이미지 또는 벽 이미지를 생성하여 도면을 작성하는 입력 영역을 포함하는 제1 인터페이스를 제공하는 단계,
    상기 서버가 상기 단말로부터 입력된 상기 도면 이미지 또는 상기 작성된 도면에 포함된 벽 이미지를 식별하고, 상기 벽 이미지를 구성하는 외곽 노드를 도출하며, 상기 외곽 노드를 이용하여 공간을 구성하는 복수의 폴리곤을 도출하고, 상기 복수의 폴리곤 중 최외각 폴리곤을 제외한 나머지 폴리곤을 방에 해당하는 영역으로 설정하는 단계, 그리고
    상기 서버가 상기 단말에게, 상기 방에 해당하는 영역을 토대로 생성한 방 이미지를 포함하는 제2 인터페이스를 제공하는 단계
    를 포함하되,
    상기 외곽 노드는,
    벽의 시작 지점, 벽의 종료 지점 및 변곡점 중 어느 하나 이상에 대응하는 복수의 기준 노드를 설정하고, 상기 복수의 기준 노드 및 미리 설정된 벽 두께 정보를 이용하여 도출된 것인, 도면 공간 탐색 인터페이스 제공 방법.
KR1020210133476A 2021-10-07 2021-10-07 도면 공간 탐색 방법 및 장치 KR102649922B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210133476A KR102649922B1 (ko) 2021-10-07 2021-10-07 도면 공간 탐색 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210133476A KR102649922B1 (ko) 2021-10-07 2021-10-07 도면 공간 탐색 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230050143A KR20230050143A (ko) 2023-04-14
KR102649922B1 true KR102649922B1 (ko) 2024-03-22

Family

ID=85946506

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210133476A KR102649922B1 (ko) 2021-10-07 2021-10-07 도면 공간 탐색 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102649922B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003846A (ja) 2007-06-25 2009-01-08 System Meisei Kk 建築図面データ変換プログラム
US20210073433A1 (en) * 2019-09-06 2021-03-11 BeamUp, Ltd. Structural design systems and methods for automatic extraction of data from 2d floor plans for retention in building information models

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101638378B1 (ko) * 2014-11-28 2016-07-11 주식회사 어반베이스 2차원 도면에 기반한 3차원 자동 입체모델링 방법 및 프로그램
KR102294424B1 (ko) * 2016-06-27 2021-08-26 (주) 아키드로우 인테리어 정보 처리 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003846A (ja) 2007-06-25 2009-01-08 System Meisei Kk 建築図面データ変換プログラム
US20210073433A1 (en) * 2019-09-06 2021-03-11 BeamUp, Ltd. Structural design systems and methods for automatic extraction of data from 2d floor plans for retention in building information models

Also Published As

Publication number Publication date
KR20230050143A (ko) 2023-04-14

Similar Documents

Publication Publication Date Title
US8174541B2 (en) Dividing three-dimensional space into location based virtual packets
EP2991037B1 (en) Method of generating three-dimensional scene model
US10748346B2 (en) Placing and solving constraints on a 3D environment
CN110569563B (zh) 一种个性化软装布局的方法及系统
CN113538706B (zh) 基于数字沙盘的房景展示方法、装置、设备及存储介质
KR102649922B1 (ko) 도면 공간 탐색 방법 및 장치
US10740949B2 (en) Multi-spectral rendering for synthetics
US11676315B2 (en) Generating simplified map shapes
JP6395092B2 (ja) 光環境設計支援装置、光環境設計支援システム、プログラム
KR102592547B1 (ko) 도면 공간 속성 부여 방법 및 장치
JP2004206551A (ja) 三次元内装空間シミュレーションシステム
US11244502B2 (en) Generating 3D structures using genetic programming to satisfy functional and geometric constraints
JP7363990B2 (ja) 照明器具配列設計装置
KR102649917B1 (ko) 도면의 벽 이미지 저작 방법 및 장치
JPH1196400A (ja) 形状変換方法
WO2017061954A1 (en) Method and system for an online space planning tool
CN112530016B (zh) 一种道具吸附的方法、装置、设备及存储介质
CN109461198A (zh) 网格模型的处理方法及装置
KR102545966B1 (ko) 파라메트릭 디자인을 이용한 가구배치 시뮬레이션 방법 및 장치
Satre et al. Furniture Organizer Application Using Augmented Reality
JPH10320428A (ja) レイアウト評価支援システム
US11620721B2 (en) Real estate fit and budgeting tool and method
EP4202683A1 (en) Design development, representation and display
CN113496049B (zh) 一种三维空间物品规划的方法和系统
US20210271788A1 (en) Construction material arrangement processing device, construction material arrangement method, and program

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant