KR102454831B1 - Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor - Google Patents

Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor Download PDF

Info

Publication number
KR102454831B1
KR102454831B1 KR1020220052718A KR20220052718A KR102454831B1 KR 102454831 B1 KR102454831 B1 KR 102454831B1 KR 1020220052718 A KR1020220052718 A KR 1020220052718A KR 20220052718 A KR20220052718 A KR 20220052718A KR 102454831 B1 KR102454831 B1 KR 102454831B1
Authority
KR
South Korea
Prior art keywords
virtual object
electronic device
layer
cross
virtual
Prior art date
Application number
KR1020220052718A
Other languages
Korean (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 KR1020220052718A priority Critical patent/KR102454831B1/en
Application granted granted Critical
Publication of KR102454831B1 publication Critical patent/KR102454831B1/en

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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Architecture (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A control method of an electronic device for modeling a 3D virtual space is disclosed. The control method includes the steps of: acquiring building information on at least one building; generating a skeleton representing a floor-by-floor cross-section of a virtual object matched to a building based on the number of floors, height, and floor-by-floor cross-section according to building information; and transforming the virtual object by performing at least one of rotation, reduction, and expansion of the skeleton generated with respect to at least one layer.

Description

각 층에 매칭되는 뼈대를 조정하여 가상 객체를 변형하는 전자 장치의 제어 방법 { CONTROL METHOD OF ELECTRONIC APPARATUS FOR DEFORMING VIRTUAL OBJECT BY ADJUSTING SKELETON MATCHING TO EACH FLOOR }Control method of an electronic device that transforms a virtual object by adjusting the skeleton matching each floor { CONTROL METHOD OF ELECTRONIC APPARATUS FOR DEFORMING VIRTUAL OBJECT BY ADJUSTING SKELETON MATCHING TO EACH FLOOR }

본 개시는 3차원 가상 공간을 모델링하는 전자 장치의 제어 방법에 관한 것으로, 보다 상세하게는, 건물 정보에 따라 층 별로 생성된 뼈대의 회전 각도 및 크기를 조절하는 전자 장치의 제어 방법에 관한 것이다.The present disclosure relates to a control method of an electronic device for modeling a three-dimensional virtual space, and more particularly, to a control method of an electronic device for adjusting the rotation angle and size of a skeleton generated for each floor according to building information.

3차원 모델링(Modeling)은 시각적으로 이해를 높이고 입체적인 분석을 가능하게 하여, 2차원 정보가 가지는 한계를 개선시킬 수 있다. 특히, 3차원 모델링은, 애니메이션, 게임 등을 구현함에 있어 사용자에게 현실감 있는 3차원의 가상 공간을 제공할 수 있다.Three-dimensional modeling (Modeling) can improve the limitations of two-dimensional information by visually increasing understanding and enabling three-dimensional analysis. In particular, 3D modeling may provide a realistic 3D virtual space to a user in implementing animations, games, and the like.

한편, 3차원 가상 공간의 디자인에 있어서, 일반적으로 개발자/디자이너 등은 개별적인 가상 객체(ex. 건물, 사람, 길) 등을 표현하기 위해 많은 시간을 할애한다. Meanwhile, in designing a 3D virtual space, in general, a developer/designer spends a lot of time to express individual virtual objects (eg, buildings, people, roads).

예를 들어, 건물 하나를 디자인하는 경우를 가정하면, 건물 하나하나의 구체적인 위치, 형태, 방향, 사이즈를 하나하나 지정해야 하며, 건물 내 세부적인 디테일(재질, 창문, 층, 지붕 등) 역시 하나하나 그려지거나 설정될 필요가 있다. 더하여, 만약 디자인의 대상이 건물 하나가 아니라 도시 하나로 확장되는 경우라면, 수많은 건물이 각각 디자인되어야 하는 어려움이 있다.For example, assuming that a building is being designed, the specific location, shape, direction, and size of each building must be specified one by one, and the detailed details (material, window, floor, roof, etc.) within the building are also one. One needs to be drawn or set. In addition, if the design target extends to one city rather than one building, there is a difficulty in that numerous buildings must be individually designed.

게임/애니메이션/CG 등의 현실감이 점차 상향 평준화되고 있는 상황에서, 높은 퀄리티의 디테일한 이미지를 구축하기 위한 개발자/디자이너의 노력과 시간이 너무 많이 소요되는 실정이다.In a situation in which the sense of reality of games/animations/CGs is gradually being leveled upward, it takes too much effort and time for developers/designers to build high-quality, detailed images.

등록특허공보 제10-2258285호(가상건물 생성과 활용 방법 및 서버)Registered Patent Publication No. 10-2258285 (virtual building creation and utilization method and server)

본 개시는, 3차워 공간 내에 건물을 나타내는 가상 객체를 생성함에 있어서, 가상 객체의 층 별로 생성된 뼈대의 회전 각도 및 크기에 따라 가상 객체를 다양한 형태로 변형하는 전자 장치의 제어 방법을 제공한다.The present disclosure provides a method of controlling an electronic device that transforms the virtual object into various shapes according to the rotation angle and size of a skeleton generated for each floor of the virtual object in generating a virtual object representing a building in a three-story space.

본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Objects of the present disclosure are not limited to the above-mentioned purposes, and other objects and advantages of the present disclosure that are not mentioned may be understood by the following description, and will be more clearly understood by examples of the present disclosure. Moreover, it will be readily apparent that the objects and advantages of the present disclosure may be realized by the means and combinations thereof indicated in the claims.

본 개시의 일 실시 예에 따라 3차원의 가상 공간을 모델링하기 위한 전자 장치의 제어 방법은, 적어도 하나의 건물에 대한 건물 정보를 획득하는 단계, 상기 건물 정보에 따른 층 수, 높이, 및 층 별 단면도를 바탕으로, 상기 건물에 매칭되는 가상 객체의 층 별 단면도를 나타내는 뼈대(skeleton)를 생성하는 단계, 적어도 하나의 층에 대하여 상기 생성된 뼈대에 대한 회전, 축소, 및 확대 중 적어도 하나를 수행하여, 상기 가상 객체를 변형하는 단계를 포함한다.According to an embodiment of the present disclosure, a method of controlling an electronic device for modeling a three-dimensional virtual space includes acquiring building information on at least one building, the number of floors, heights, and floors according to the building information Based on the cross-sectional view, generating a skeleton representing a floor-by-floor cross-sectional view of a virtual object matching the building, performing at least one of rotation, reduction, and enlargement of the created skeleton for at least one floor and transforming the virtual object.

상기 가상 객체를 변형하는 단계는, 층이 높아질수록 각 층의 단면적이 점차 좁아지도록, 상기 층 별 단면도를 나타내는 뼈대를 축소시킬 수 있다.In the deforming of the virtual object, the skeleton representing the cross-sectional area for each layer may be reduced such that the cross-sectional area of each layer becomes gradually narrower as the layers increase.

상기 가상 객체를 변형하는 단계는, 층 수가 높아질수록 매층마다 회전 각도가 일정 각도만큼 달라지도록, 상기 층 별 단면도를 나타내는 뼈대를 회전시킬 수 있다.In the deforming of the virtual object, the skeleton representing the cross-sectional view for each floor may be rotated so that the rotation angle varies by a predetermined angle for each floor as the number of floors increases.

이때, 상기 가상 객체를 변형하는 단계는, 상기 가상 객체의 층 수에 따라, 상기 가상 객체의 최상층의 최대 회전 각도를 설정할 수도 있다.In this case, the deforming of the virtual object may include setting a maximum rotation angle of the uppermost layer of the virtual object according to the number of layers of the virtual object.

상기 가상 객체를 변형하는 단계는, 상기 가상 객체를 구성하는 복수의 층을 제1 그룹 및 제2 그룹으로 구분하고, 상기 제1 그룹 내에서 층 수가 높아질수록 매층마다 단면적이 제1 값만큼 달라지고, 상기 제2 그룹 내에서 층 수가 높아질수록 매층마다 단면적이 제2 값만큼 달라지도록, 상기 층 별 단면도를 나타내는 뼈대를 축소 또는 확대시킬 수도 있다.In the transforming of the virtual object, a plurality of layers constituting the virtual object are divided into a first group and a second group, and as the number of layers in the first group increases, the cross-sectional area of each layer varies by a first value, , as the number of layers increases in the second group, the skeleton representing the cross-sectional area for each layer may be reduced or enlarged so that the cross-sectional area varies by a second value for each layer.

상기 전자 장치의 제어 방법은, 상기 층 별 단면도를 나타내는 뼈대를 층 단위 및 옆면 단위에 따라 복수의 슬롯으로 구분하는 단계, 상기 복수의 슬롯 각각에 대하여 상기 가상 객체를 구성하는 벽, 창문, 및 문 중 적어도 하나를 생성하는 단계, 상기 가상 객체가 변형된 경우, 변형된 뼈대를 구성하는 복수의 슬롯 각각에 포함된 벽, 창문, 및 문 중 적어도 하나를 변형하는 단계를 포함할 수 있다.The control method of the electronic device may include dividing a skeleton representing a cross-sectional view for each floor into a plurality of slots according to a floor unit and a side unit unit, and a wall, a window, and a door constituting the virtual object for each of the plurality of slots The method may include generating at least one of, and when the virtual object is deformed, deforming at least one of a wall, a window, and a door included in each of a plurality of slots constituting the deformed skeleton.

상기 전자 장치의 제어 방법은, 실제 공간에 해당하는 일 구역을 선택하는 사용자 입력을 수신하는 단계, 상기 사용자 입력에 따라 선택된 구역에 포함되는 복수의 건물 각각에 대한 건물 정보를 획득하는 단계, 상기 건물 정보를 바탕으로, 3차원의 가상 공간 내에 상기 복수의 건물 각각에 매칭되는 복수의 가상 객체를 생성하는 단계를 포함할 수 있다.The control method of the electronic device includes: receiving a user input for selecting a zone corresponding to an actual space; acquiring building information for each of a plurality of buildings included in the selected zone according to the user input; The method may include generating a plurality of virtual objects matching each of the plurality of buildings in a three-dimensional virtual space based on the information.

이 경우, 상기 전자 장치의 제어 방법은, 상기 복수의 가상 객체 중 다른 가상 객체와의 최단 거리가 임계 거리 미만인 적어도 하나의 가상 객체를 식별하는 단계, 상기 식별된 가상 객체에 대하여, 층이 높아질수록 각 층의 단면적이 점차 좁아지도록, 상기 식별된 가상 객체를 변형하는 단계를 포함할 수 있다.In this case, the control method of the electronic device may include: identifying at least one virtual object having a shortest distance to another virtual object from among the plurality of virtual objects less than a threshold distance; It may include deforming the identified virtual object so that the cross-sectional area of each layer is gradually narrowed.

또한, 상기 전자 장치의 제어 방법은, 상기 복수의 가상 객체 각각에 대하여, 층 별 단면도의 면적 차이 및 층 별 단면도의 회전 각도 차이를 바탕으로 변형 정도를 산출하는 단계, 상기 복수의 가상 객체의 변형 정도의 평균 값이 임계치 미만인 경우, 상기 복수의 가상 객체 중 상기 변형 정도가 가장 낮은 적어도 하나의 가상 객체를 식별하고, 뼈대의 회전, 축소, 및 확대 중 적어도 하나를 수행하여, 상기 식별된 가상 객체를 변형하는 단계를 포함할 수 있다.In addition, the method of controlling the electronic device may include: calculating a degree of deformation for each of the plurality of virtual objects based on a difference in area of a cross-sectional view for each floor and a rotation angle difference of a cross-sectional view for each layer; When the average value of the degree is less than the threshold, at least one virtual object having the lowest degree of deformation among the plurality of virtual objects is identified, and at least one of rotation, reduction, and enlargement of a skeleton is performed, and the identified virtual object may include the step of transforming

본 개시에 따른 전자 장치의 제어 방법은, 건물 정보에 매칭되는 뼈대로 구성된 가상 객체를 디자인함에 있어서, tapering/twisting/ramp deforming을 통한 다양한 변형을 지원할 수 있다.The control method of the electronic device according to the present disclosure may support various deformations through taping/twisting/ramp deforming when designing a virtual object composed of a skeleton matching building information.

도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 3a는 본 개시의 일 실시 예에 따른 전자 장치가 건물 정보에 따라 층 별 뼈대를 획득하는 동작을 설명하기 위한 도면,
도 3b는 본 개시의 일 실시 예에 따른 전자 장치가 층 별 뼈대가 구성하는 단면적을 변경(taper)하는 동작을 설명하기 위한 도면,
도 3c는 본 개시의 일 실시 예에 따른 전자 장치가 층 별 뼈대의 회전(twist) 각도를 다양하게 설정하는 동작을 설명하기 위한 도면,
도 3d는 본 개시의 일 실시 예에 따른 전자 장치가 층 별 뼈대의 단면적의 변화 패턴을 다양하게 설정하는 동작을 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따른 전자 장치가 상술한 도 3b 내지 도 3d의 변화 방식을 모두 반영하여 가상 객체를 변형하는 동작을 설명하기 위한 도면,
도 5a 내지 도 5c는 본 개시의 일 실시 예에 따른 전자 장치가 OSM(Open Street Map) 정보를 바탕으로 복수의 가상 객체를 일괄적으로 생성하는 과정을 설명하기 위한 도면들,
도 6은 본 개시에 따른 전자 장치가 복수의 가상 객체를 다양한 형태로 변형한 결과물의 예시를 도시한 도면, 그리고
도 7은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
1 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
2 is a flowchart illustrating a control method of an electronic device according to an embodiment of the present disclosure;
3A is a view for explaining an operation in which an electronic device acquires a skeleton for each floor according to building information according to an embodiment of the present disclosure;
3B is a view for explaining an operation in which an electronic device tapers a cross-sectional area of a skeleton for each layer according to an embodiment of the present disclosure;
3C is a view for explaining an operation in which an electronic device variously sets a twist angle of a skeleton for each layer according to an embodiment of the present disclosure;
3D is a view for explaining an operation in which an electronic device according to an embodiment of the present disclosure variously sets a change pattern of a cross-sectional area of a skeleton for each layer;
4 is a view for explaining an operation of an electronic device transforming a virtual object by reflecting all of the above-described change methods of FIGS. 3B to 3D according to an embodiment of the present disclosure;
5A to 5C are diagrams for explaining a process in which an electronic device collectively generates a plurality of virtual objects based on Open Street Map (OSM) information according to an embodiment of the present disclosure;
6 is a diagram illustrating an example of a result obtained by transforming a plurality of virtual objects into various shapes by an electronic device according to the present disclosure;
7 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure.

본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Prior to describing the present disclosure in detail, a description will be given of the description of the present specification and drawings.

먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. First, terms used in the present specification and claims have been selected in consideration of functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention or legal or technical interpretation of a person skilled in the art, and the emergence of new technology. Also, some terms are arbitrarily selected by the applicant. These terms may be interpreted in the meaning defined in the present specification, and if there is no specific term definition, it may be interpreted based on the general content of the present specification and common technical knowledge in the art.

또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다. Also, the same reference numerals or reference numerals in each drawing attached to this specification indicate parts or components that perform substantially the same functions. For convenience of description and understanding, the same reference numerals or reference numerals are used in different embodiments. That is, even though all components having the same reference number are illustrated in a plurality of drawings, the plurality of drawings do not mean one embodiment.

또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다. In addition, in this specification and claims, terms including an ordinal number, such as "first" and "second", may be used to distinguish between elements. This ordinal number is used to distinguish the same or similar elements from each other, and the meaning of the term should not be construed as limited due to the use of the ordinal number. For example, the components combined with such an ordinal number should not be limited in the order of use or arrangement by the number. If necessary, each ordinal number may be used interchangeably.

본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "comprises" or "consisting of" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and are intended to indicate that one or more other It is to be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.

본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment of the present disclosure, terms such as “module”, “unit”, “part”, etc. are terms for designating a component that performs at least one function or operation, and such component is hardware or software. It may be implemented or implemented as a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except when each needs to be implemented as individual specific hardware, and thus at least one processor. can be implemented as

또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, in an embodiment of the present disclosure, when a part is connected to another part, this includes not only direct connection but also indirect connection through another medium. In addition, the meaning that a certain part includes a certain component means that other components may be further included without excluding other components unless otherwise stated.

도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.1 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.

도 1을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다. Referring to FIG. 1 , the electronic device 100 may include a memory 110 and a processor 120 .

전자 장치(100)는 데스크탑 PC, 노트북 PC, 태블릿 PC, 스마트폰, PDA 등 다양한 단말 기기에 해당할 수 있다. 일 예로, 전자 장치(100)는 적어도 하나의 컴퓨터 프로그램을 실행함으로써 후술할 제어 방법(도 2)을 수행할 수 있다. 여기서, 컴퓨터 프로그램은, 게임/애니메이션/CG를 디자인하기 위한 툴로서 유상 또는 무상으로 배포되는 것일 수 있다.The electronic device 100 may correspond to various terminal devices such as a desktop PC, a notebook PC, a tablet PC, a smart phone, and a PDA. As an example, the electronic device 100 may perform a control method ( FIG. 2 ) to be described later by executing at least one computer program. Here, the computer program, as a tool for designing games/animations/CGs, may be distributed for a fee or free of charge.

또한, 전자 장치(100)는 적어도 하나의 컴퓨터로 구성된 서버로 구현될 수도 있다. 이 경우, 전자 장치(100)는 다양한 사용자 단말(ex. 데스크탑 PC, 노트북 PC 등)과 통신을 수행할 수 있다. 구체적으로, 전자 장치(100)는 적어도 하나의 웹 페이지 또는 애플리케이션을 통해 디자이너의 사용자 단말과 연동되어 후술할 제어 방법을 수행할 수도 있다.Also, the electronic device 100 may be implemented as a server including at least one computer. In this case, the electronic device 100 may communicate with various user terminals (eg, a desktop PC, a notebook PC, etc.). Specifically, the electronic device 100 may perform a control method to be described later by interworking with the designer's user terminal through at least one web page or application.

메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.The memory 110 is a configuration for storing an operating system (OS) for controlling overall operations of the components of the electronic device 100 and at least one instruction or data related to the components of the electronic device 100 . .

메모리(110)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(110)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.The memory 110 may include non-volatile memory such as ROM and flash memory, and may include volatile memory such as DRAM. In addition, the memory 110 may include a hard disk, a solid state drive (SSD), or the like.

메모리(110)는 3차원 가상 공간의 모델링과 관련된 다양한 정보를 포함할 수 있다. 예를 들어, 메모리(110)는 3차원 가상 공간 내 위치하는 다양한 가상 객체에 대한 정보를 포함할 수 있다.The memory 110 may include various information related to modeling of a 3D virtual space. For example, the memory 110 may include information on various virtual objects located in the 3D virtual space.

메모리(110)는 다양한 건물에 대한 건물 정보를 포함할 수 있다. 건물 정보는, 건물의 위치(ex. 주소), 높이, 높이 별 단면도, 방향, 면적, 건물명, 용도 등을 포함할 수 있다.The memory 110 may include building information for various buildings. The building information may include a location (eg, an address) of a building, a height, a cross-sectional view by height, a direction, an area, a building name, a use, and the like.

건물 정보는, 실제 공간을 나타내는 적어도 하나의 맵과 연동되어 관리되는 정보일 수 있다.The building information may be information managed in association with at least one map representing an actual space.

예를 들어, 건물 정보는, 실제 존재하는 적어도 하나의 지역에 대하여 공개된 OSM(Open Street Map)에 포함된 정보일 수 있다. OSM은 오픈 소스 방식의 참여형 지도 서비스에 해당하는 바, 각 지역에 위치하는 다양한 건물에 대한 건물 정보를 포함한다.For example, the building information may be information included in an open street map (OSM) open to at least one area that actually exists. OSM corresponds to an open-source participatory map service, and includes building information for various buildings located in each area.

한편, 건물 정보는, 실제 존재하지 않는 가상으로 정의된 공간을 나타내는 적어도 하나의 맵과 연동되어 관리될 수도 있다. 이 경우, 건물 정보는, 가상으로 정의된 건물에 대한 정보에 해당할 수 있다.Meanwhile, the building information may be managed in association with at least one map indicating a space defined in a virtual environment that does not actually exist. In this case, the building information may correspond to information about a virtual defined building.

프로세서(120)는 전자 장치(100)를 전반적으로 제어하기 위한 구성이다. 구체적으로, 프로세서(120)는 메모리(110)와 연결되는 한편 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다.The processor 120 is a configuration for overall controlling the electronic device 100 . Specifically, the processor 120 may perform operations according to various embodiments of the present disclosure by executing at least one instruction stored in the memory 110 while being connected to the memory 110 .

프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 인공지능 전용 프로세서는, 특정 인공지능 모델의 훈련 내지는 이용에 특화된 하드웨어 구조로 설계될 수 있다.The processor 120 may include a general-purpose processor such as a CPU, an AP, or a digital signal processor (DSP), a graphics-only processor such as a GPU, a vision processing unit (VPU), or the like, or an artificial intelligence-only processor such as an NPU. The AI-only processor may be designed with a hardware structure specialized for training or use of a specific AI model.

도 1을 참조하면, 프로세서(120)는 건물 정보 관리 모듈(121), 3D 모델링 모듈(122) 등을 제어할 수 있다. 본 모듈들은, 소프트웨어 및/또는 하드웨어의 결합으로 구현될 수 있다. 한편, 본 모듈들은 프로세서(120)의 기능에 따라 기능 블록을 정의하기 위한 예시에 해당하는 바, 전자 장치(100)의 기능을 설계/정의함에 있어 전자 장치(100) 내 모듈 구성이 반드시 상술한 모듈 구성과 같이 구축되어야 하는 것은 아니다.Referring to FIG. 1 , the processor 120 may control the building information management module 121 , the 3D modeling module 122 , and the like. These modules may be implemented by a combination of software and/or hardware. On the other hand, these modules correspond to examples for defining functional blocks according to the functions of the processor 120 . In designing/defining the functions of the electronic device 100 , the module configuration in the electronic device 100 must be described above. It doesn't have to be built like a module configuration.

건물 정보 관리 모듈(121)은 상술한 건물 정보를 획득 및 관리하기 위한 구성이다.The building information management module 121 is a configuration for acquiring and managing the above-described building information.

일 예로, 건물 정보 관리 모듈(121)은 실제 공간에 해당하는 특정 지역의 OSM으로부터 해당 지역에 존재하는 건물들의 건물 정보를 추출할 수 있다.As an example, the building information management module 121 may extract building information of buildings existing in the corresponding area from the OSM of a specific area corresponding to the actual space.

3D 모델링 모듈(122)은, 3차원 이미지 데이터를 바탕으로 3차원 가상 공간을 구축하기 위한 구성으로, 가상 공간을 구성하는 좌표, 각 좌표에 위치하는 가상 객체들에 대한 정보를 관리할 수 있다.The 3D modeling module 122 is a configuration for building a 3D virtual space based on 3D image data, and may manage coordinates constituting the virtual space and information on virtual objects positioned at each coordinate.

일 예로, 3D 모델링 모듈(122)은, 건물 정보 관리 모듈(121)을 통해 획득된 건물 정보를 바탕으로 적어도 하나의 건물에 해당하는 가상 객체를 가상 공간 내에 생성할 수 있다. 구체적으로, 3D 모델링 모듈(122)은 건물 정보에 포함된 건물의 위치, 면적, 높이, 층수, 높이 별 단면도 등을 바탕으로 실제 건물과 매칭되는 3차원의 가상 객체를 생성할 수 있다. 이 경우, 각 층의 단면도를 나타내는 뼈대(skeleton)가 활용될 수 있는 바, 이하 도면들을 통해 후술한다.For example, the 3D modeling module 122 may generate a virtual object corresponding to at least one building in a virtual space based on the building information obtained through the building information management module 121 . Specifically, the 3D modeling module 122 may generate a three-dimensional virtual object that matches an actual building based on the location, area, height, number of floors, cross-sectional view by height, etc. of the building included in the building information. In this case, a skeleton representing a cross-sectional view of each layer may be utilized, which will be described later with reference to the drawings.

도 2는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.

도 2를 참조하면, 전자 장치(100)는 적어도 하나의 건물에 대한 건물 정보를 획득할 수 있다(S210). 구체적으로, 전자 장치(100)는 적어도 하나의 건물의 층 수, 높이, 층 별 단면도, 면적 등에 대한 정보를 획득할 수 있다.Referring to FIG. 2 , the electronic device 100 may obtain building information on at least one building ( S210 ). Specifically, the electronic device 100 may obtain information on the number of floors, height, cross-sectional view for each floor, area, and the like of at least one building.

이 경우, 사용자 입력에 따라 적어도 하나의 건물의 건물 정보가 입력될 수 있다.In this case, building information of at least one building may be input according to a user input.

예를 들어, 전자 장치(100)는 실제 공간에 해당하는 특정 지역의 OSM으로부터 해당 지역에 존재하는 건물들의 건물 정보를 추출할 수 있다.For example, the electronic device 100 may extract building information of buildings existing in the corresponding area from the OSM of a specific area corresponding to the actual space.

구체적인 예로, 전자 장치(100)는 OSM을 제공하는 적어도 하나의 웹페이지에 접속하여 curve/flat geo를 포함하는 OSM 데이터를 획득할 수 있다. 이때, 전자 장치(100)는 OSM 데이터 중 building data만을 추출할 수 있으며, 그 결과 각 건물에 대한 건물 정보가 획득될 수 있다. As a specific example, the electronic device 100 may acquire OSM data including curve/flat geo by accessing at least one web page providing OSM. In this case, the electronic device 100 may extract only building data among OSM data, and as a result, building information for each building may be obtained.

이 경우, 전자 장치(100)는 OSM 데이터 중 건물의 뼈대(skeleton)를 구성하기 위한 건물 정보(ex. 크기, 높이 별 면적, 높이, 층수, 높이 별 단면도)만을 추출할 수 있다.In this case, the electronic device 100 may extract only building information (eg, size, area by height, height, number of floors, cross-sectional view by height) for configuring a skeleton of a building from the OSM data.

그리고, 전자 장치(100)는 건물 정보에 따른 층 수, 높이, 및 층 별 단면도를 바탕으로, 건물에 매칭되는 가상 객체의 층 별 단면도를 나타내는 뼈대(skeleton)를 생성할 수 있다(S220). 뼈대는, 건물에 매칭되는 가상 객체의 층 별 단면도를 나타내는 하나 이상의 점 및/또는 선으로 구성될 수 있다. 뼈대는, 가상 객체에 문, 창문, 벽 등에 대한 구체적인 디자인 샘플(ex. 하나 이상의 폴리곤으로 구성됨)이 반영될 수 있는 기준이 될 수도 있다. 예를 들어, 뼈대는 층 단위, 옆면 단위 등에 따라 복수의 슬롯으로 구분될 수 있고, 슬롯 별로 문, 창문, 벽 등이 생성될 수 있다.In addition, the electronic device 100 may generate a skeleton representing a cross-sectional view for each floor of a virtual object matching a building based on the number of floors, a height, and a cross-sectional view for each floor according to the building information ( S220 ). The skeleton may be composed of one or more points and/or lines representing a cross-sectional view for each floor of a virtual object matching a building. The skeleton may be a reference through which a specific design sample (eg, composed of one or more polygons) for a door, window, wall, etc. may be reflected in the virtual object. For example, the skeleton may be divided into a plurality of slots according to a floor unit, a side unit, and the like, and a door, a window, a wall, etc. may be generated for each slot.

도 3a를 참조하면, 전자 장치(100)는 가상 객체를 구성하는 각 층의 단면도가 반영된 뼈대를 구성할 수 있다.Referring to FIG. 3A , the electronic device 100 may configure a skeleton in which a cross-sectional view of each layer constituting the virtual object is reflected.

이때, 적어도 하나의 층에 대하여, 전자 장치(100)는 생성된 뼈대에 대한 회전, 축소, 및 확대 중 적어도 하나를 수행하여, 가상 객체를 변형할 수 있다.In this case, with respect to at least one layer, the electronic device 100 may deform the virtual object by performing at least one of rotation, reduction, and enlargement of the generated skeleton.

일 실시 예로, 전자 장치(100)는 층마다 단면적이 달라지도록 각 층의 뼈대를 축소 및/또는 확대시킬 수 있다.As an embodiment, the electronic device 100 may reduce and/or enlarge the skeleton of each layer so that the cross-sectional area of each layer is different.

관련하여, 도 3b는 본 개시의 일 실시 예에 따른 전자 장치가 층 별 뼈대가 구성하는 단면적을 변경(taper)하는 동작을 설명하기 위한 도면이다.In relation to this, FIG. 3B is a diagram for explaining an operation in which the electronic device tapers the cross-sectional area of the skeleton for each layer according to an embodiment of the present disclosure.

도 3b를 참조하면, 가상 객체의 층이 높아질수록 각 층의 단면적이 점차 높아지도록, 전자 장치(100)는 층 별 단면도를 나타내는 뼈대를 축소시킬 수 있다.Referring to FIG. 3B , as the layer of the virtual object increases, the electronic device 100 may reduce the skeleton representing the cross-sectional area for each layer so that the cross-sectional area of each layer gradually increases.

그 결과, 높이에 따라 단면적이 달라지는 가상 객체의 변형이 수행될 수 있다.As a result, the virtual object whose cross-sectional area varies according to the height may be deformed.

또한, 일 실시 예로, 전자 장치(100)는 층마다 회전 각도가 조금씩 달라지도록 가상 객체를 변형할 수도 있다.Also, according to an embodiment, the electronic device 100 may deform the virtual object so that the rotation angle is slightly different for each layer.

관련하여, 도 3c는 본 개시의 일 실시 예에 따른 전자 장치가 층 별 뼈대의 회전(twist) 각도를 다양하게 설정하는 동작을 설명하기 위한 도면이다.In relation to this, FIG. 3C is a diagram for explaining an operation of variously setting a twist angle of a skeleton for each layer by an electronic device according to an embodiment of the present disclosure.

도 3c를 참조하면, 가상 객체의 층 수가 높아질수록 매층마다 회전 각도가 일정 각도만큼 달라지도록, 전자 장치(100)는 층 별 단면도를 나타내는 뼈대를 회전시킬 수 있다.Referring to FIG. 3C , as the number of layers of the virtual object increases, the electronic device 100 may rotate a skeleton representing a cross-sectional view for each layer so that the rotation angle varies by a predetermined angle for each floor.

도 3c에서, 좌측 그림의 경우, 최상층과 최하층 간의 각도 차이가 40°로 구현되도록 각 층의 각도 차이가 일정하게 형성된 경우를 도시한 것이고, 우측 그림의 경우, 최상층과 최하층 간의 각도 차이가 180°로 구현되도록 각 층의 각도 차이가 일정하게 형성된 경우를 도시한 것이다.In FIG. 3C , in the case of the left figure, the angular difference between the uppermost and lowermost layers is uniformly formed so that the angular difference between the uppermost and lowermost layers is 40°, and in the case of the right figure, the angular difference between the uppermost and lowest layers is 180° It shows a case in which the angular difference of each layer is formed uniformly so as to be implemented as .

여기서, 전자 장치(100)는 가상 객체의 층 수에 따라 가상 객체의 최상층의 최대 회전 각도를 설정할 수도 있다. 최대 회전 각도는, 최하층부터 한 층씩 올라갈수록 점차 회전 각도가 커지는 설정 하에서, 최하층을 기준으로 했을 때 최상층이 최대로 회전할 수 있는 각도를 의미한다.Here, the electronic device 100 may set the maximum rotation angle of the uppermost layer of the virtual object according to the number of layers of the virtual object. The maximum rotation angle means an angle at which the uppermost layer can be rotated to the maximum with respect to the lowest floor under a setting in which the rotation angle gradually increases as one goes up one layer from the lowest floor.

구체적으로, 가상 객체의 층 수가 높을수록 최상층의 최대 회전 각도가 더 크게 설정될 수 있으며, 전자 장치(100)는 최상층의 회전 각도가 최대 회전 각도 이하를 유지하는 조건 하에서 변형을 수행할 수 있다. 예를 들어, 가상 객체의 층 수가 5층인 경우 최상층의 최대 회전 각도는 50°로 설정될 수 있고, 가상 객체의 층 수가 15층인 경우 최상층의 최대 회전 각도는 150°로 설정될 수 있다.Specifically, as the number of layers of the virtual object increases, the maximum rotation angle of the uppermost layer may be set to be larger, and the electronic device 100 may perform deformation under a condition that the rotation angle of the uppermost layer maintains the maximum rotation angle or less. For example, when the number of layers of the virtual object is 5, the maximum rotation angle of the top layer may be set to 50°, and when the number of layers of the virtual object is 15 layers, the maximum rotation angle of the top layer may be set to 150°.

또한, 일 실시 예로, 전자 장치(100)는 가상 객체의 층을 기준으로 가상 객체를 복수의 그룹으로 구분하는 한편, 층 별 단면적의 변화 패턴을 그룹 별로 다르게 설정할 수 있다.Also, according to an embodiment, the electronic device 100 may classify the virtual object into a plurality of groups based on the layer of the virtual object, and set different patterns of changes in the cross-sectional area for each layer for each group.

구체적으로, 전자 장치(100)는 가상 객체를 구성하는 복수의 층을 제1 그룹 및 제2 그룹으로 구분할 수 있다(ex. 1~10층: 1그룹, 11~20층: 2그룹).Specifically, the electronic device 100 may classify a plurality of layers constituting the virtual object into a first group and a second group (eg, 1st to 10th floors: 1 group, 11 to 20th floors: 2 groups).

여기서, 전자 장치(100)는, 제1 그룹 내에서는 층 수가 높아질수록 매층마다 단면적이 제1 값만큼 달라지고, 제2 그룹 내에서는 층 수가 높아질수록 매층마다 단면적이 제2 값(: 제1 값과 다름)만큼 달라지도록, 층 별 단면도를 나타내는 뼈대를 축소 또는 확대할 수 있다.Here, in the electronic device 100, the cross-sectional area of each layer changes by a first value as the number of layers increases within the first group, and as the number of layers increases in the second group, the cross-sectional area of each layer changes at a second value (: first value) and different), it is possible to reduce or enlarge the skeleton representing the cross-sectional view for each floor.

관련하여, 도 3d는 본 개시의 일 실시 예에 따른 전자 장치가 층 별 뼈대의 단면적의 변화 패턴을 다양하게 설정하는 동작을 설명하기 위한 도면이다.In relation to this, FIG. 3D is a diagram for explaining an operation of variously setting a change pattern of a cross-sectional area of a skeleton for each layer by an electronic device according to an embodiment of the present disclosure.

예를 들어, 도 3d의 좌측 그림을 참조하면, 1층부터 15층까지는 층 수가 높아질수록 매층마다 단면적이 일정 값만큼 줄어들고, 15층 이상에 대해서는 (줄어든) 단면적이 일정하게 유지되도록, 가상 객체가 변형될 수 있다.For example, referring to the left figure of FIG. 3D, the virtual object is created so that the cross-sectional area decreases by a certain value for each floor as the number of floors increases from the first to the fifteenth floors, and the (reduced) cross-sectional area remains constant for the fifteenth or higher floors. can be deformed.

예를 들어, 도 3d의 우측 그림을 참조하면, 중간층(ex. 18층)을 기준으로, 중간층보다 낮아지는 구간에 대해서는 층 수가 낮아질수록 단면적이 점차 줄어들고, 중간층보다 높아지는 구간에 대해서는 층 수가 높아질수록 단면적이 점차 줄어들도록, 가상 객체가 변형될 수 있다.For example, referring to the figure on the right of FIG. 3D , based on the middle layer (ex. 18 layers), the cross-sectional area gradually decreases as the number of layers decreases for a section lower than the middle layer, and as the number of layers increases for a section higher than the middle layer, the higher the number of layers The virtual object may be deformed so that the cross-sectional area is gradually reduced.

이렇듯, 전자 장치(100)는 층 별 단면도를 나타내는 뼈대의 회전, 확대, 축소 등을 바탕으로 가상 객체를 다양하게 변형시킬 수 있다. 예를 들어, 도 4와 같이 복잡한 형태의 변형도 가능하다.As such, the electronic device 100 may variously deform the virtual object based on rotation, enlargement, reduction, etc. of a skeleton representing a cross-sectional view for each layer. For example, it is possible to deform a complex shape as shown in FIG. 4 .

한편, 일 실시 예로, 전자 장치(100)는 3차원의 가상 공간 내에 복수의 가상 객체를 생성할 수 있는 바, 각각의 가상 객체는 상술한 뼈대로 구성될 수 있다.Meanwhile, as an embodiment, the electronic device 100 may generate a plurality of virtual objects in a three-dimensional virtual space, and each virtual object may be configured with the above-described skeleton.

관련하여, 일 실시 예로, 전자 장치(100)는 실제 공간에 해당하는 일 구역을 선택하는 사용자 입력을 수신할 수 있다. 예를 들어, 전자 장치(100)는 OSM 상에서 특정 구역 내지는 특정 지역을 선택하는 사용자 입력을 수신할 수 있다. 이때, 전자 장치(100)는 특정 구역의 주소(ex. 서울시, 강남구, 역삼동 등)를 설정하는 사용자 입력에 따라 해당 구역을 선택할 수 있다. 또한, 전자 장치(100)는 실제 공간을 나타내는 맵(ex. 2D, 3D)을 제공할 수 있다. 이 경우, 전자 장치(100)는 맵 상에서 적어도 하나의 구역을 선택하는 사용자 입력에 따라 해당 구역을 선택할 수 있다.In relation to this, according to an embodiment, the electronic device 100 may receive a user input for selecting an area corresponding to an actual space. For example, the electronic device 100 may receive a user input for selecting a specific area or a specific area on the OSM. In this case, the electronic device 100 may select a corresponding zone according to a user input for setting an address (eg, Seoul, Gangnam-gu, Yeoksam-dong, etc.) of a specific zone. Also, the electronic device 100 may provide a map (eg, 2D, 3D) representing an actual space. In this case, the electronic device 100 may select a corresponding zone according to a user input for selecting at least one zone on the map.

구체적인 예로, 도 5a는 OSM에 포함된 맵(510), 맵(510)과 연동된 건물 정보(510')를 도시한 것이다. OSM 상에는 맵(510) 내 각 구역과 관련된 건물 정보(510')가 포함되어 있다. 또한, OSM 상에는 맵(510) 내 각 구역과 관련된 경로 정보가 포함되어 있다. 경로 정보는, 각 경로의 위치, 폭, 분류(ex. 고속도로, 자전거길, 인도 등) 등을 포함한다.As a specific example, FIG. 5A illustrates a map 510 included in the OSM and building information 510 ′ linked to the map 510 . On the OSM, building information 510' related to each area in the map 510 is included. In addition, path information related to each area in the map 510 is included on the OSM. The route information includes the location, width, and classification (eg, highway, bicycle path, sidewalk, etc.) of each route.

도 5b를 참조하면, 전자 장치(100)는 해당 맵(510)을 표시할 수 있으며, 맵(510) 상에서 사용자 입력에 따라 선택된 구역(511)을 식별할 수 있다.Referring to FIG. 5B , the electronic device 100 may display a corresponding map 510 and identify a region 511 selected according to a user input on the map 510 .

그리고, 전자 장치(100)는 (선택된) 해당 구역(ex. 511)에 포함되는 복수의 건물 각각에 대한 건물 정보를 획득할 수 있다. 예를 들어, OSM 내에서 “서울”의 “강남구”가 선택된 경우, 전자 장치(100)는 “강남구”에 포함되는 모든 건물에 대한 건물 정보를 추출할 수 있다. 구체적인 예로, 전자 장치(100)는 OSM을 제공하는 적어도 하나의 웹페이지에 접속하여 curve/flat geo를 포함하는 OSM 데이터를 획득할 수 있다. 이때, 전자 장치(100)는 OSM 데이터 중 building data만을 추출할 수 있으며, 그 결과 각 건물에 대한 건물 정보가 획득될 수 있다. 이 경우, 전자 장치(100)는 OSM 데이터 중 건물의 뼈대(skeleton)를 구성하기 위한 건물 정보(ex. 크기, 높이 별 면적, 높이, 층수, 높이 별 단면도)만을 추출할 수 있다.In addition, the electronic device 100 may obtain building information for each of a plurality of buildings included in the (selected) corresponding area (ex. 511 ). For example, when “Gangnam-gu” of “Seoul” is selected in the OSM, the electronic device 100 may extract building information on all buildings included in “Gangnam-gu”. As a specific example, the electronic device 100 may acquire OSM data including curve/flat geo by accessing at least one web page providing OSM. In this case, the electronic device 100 may extract only building data among OSM data, and as a result, building information for each building may be obtained. In this case, the electronic device 100 may extract only building information (eg, size, area by height, height, number of floors, cross-sectional view by height) for configuring a skeleton of a building from the OSM data.

이렇듯 획득된 건물 정보를 바탕으로, 전자 장치(100)는 3차원의 가상 공간 내에 복수의 건물 각각에 매칭되는 복수의 가상 객체를 생성할 수 있다. Based on the obtained building information, the electronic device 100 may generate a plurality of virtual objects matching each of the plurality of buildings in the three-dimensional virtual space.

예를 들어, 도 5c를 참조하면, 전자 장치(100)는 3차원의 가상 공간(520) 내에 각 건물에 매칭되는 복수의 가상 객체를 일괄적으로 생성할 수 있다. 본 가상 객체들은 앞서 도 5b에서 사용자 입력에 따라 선택된 구역(511)에 포함되는 각 건물에 매칭될 수 있다.For example, referring to FIG. 5C , the electronic device 100 may collectively generate a plurality of virtual objects matching each building in the three-dimensional virtual space 520 . The virtual objects may be matched to each building included in the area 511 selected according to a user input in FIG. 5B .

여기서, 상술한 도 3a와 마찬가지로, 각 가상 객체의 층 별 단면도에 따라 각 층의 단면도를 나타내는 뼈대가 생성될 수 있다.Here, as in FIG. 3A , a skeleton representing a cross-sectional view of each layer may be generated according to a cross-sectional view for each layer of each virtual object.

이렇듯, 가상 공간 내 복수의 가상 객체가 생성된 상태에서, 전자 장치(100)는 복수의 가상 객체의 건물 정보를 바탕으로 도 2의 S230 단계에 해당하는 변형을 다양하게 수행할 수 있다.As such, in a state in which a plurality of virtual objects are generated in the virtual space, the electronic device 100 may variously perform transformations corresponding to step S230 of FIG. 2 based on building information of the plurality of virtual objects.

구체적으로, 전자 장치(100)는 가상 객체 간의 거리, 각 가상 객체의 변형 정도 등을 바탕으로 변형 유발 조건이 만족했는지 여부를 식별할 수 있다. 변형 유발 조건은, 적어도 하나의 가상 객체의 자동 변형을 트리거하기 위한 조건에 해당하며, 변형 유발 조건이 만족되면, 전자 장치(100)는 적어도 하나의 가상 객체를 자동으로 변형할 수 있다. 이하 변형 유발 조건의 예시들에 대해 설명한다.Specifically, the electronic device 100 may identify whether a deformation-inducing condition is satisfied based on a distance between virtual objects, a degree of deformation of each virtual object, and the like. The deformation-inducing condition corresponds to a condition for triggering automatic deformation of the at least one virtual object, and when the deformation-inducing condition is satisfied, the electronic device 100 may automatically deform the at least one virtual object. Hereinafter, examples of the deformation-inducing condition will be described.

일 실시 예로, 전자 장치(100)는 각 가상 객체의 위치 및 면적을 바탕으로, 가상 객체들 간의 거리를 식별할 수 있다.As an embodiment, the electronic device 100 may identify a distance between the virtual objects based on the location and area of each virtual object.

이때, 전자 장치(100)는 복수의 가상 객체 중 다른 가상 객체와의 최단 거리가 임계 거리 미만(: 변형 유발 조건)인 적어도 하나의 가상 객체를 식별할 수 있다. 여기서, 식별된 가상 객체에 대하여, 전자 장치(100)는 층이 높아질수록 각 층의 단면적이 점차 좁아지도록 가상 객체를 변형할 수 있다(ex. 도 3b). 그 결과, 거리가 너무 가까운 (ex. 거리가 임계치 미만) 가상 객체들 간의 거리 내지는 간격이 비교적 여유로워 보이는 효과가 있으며, 이러한 동작은 전자 장치(100)에 의해 자동으로 수행될 수 있다.In this case, the electronic device 100 may identify at least one virtual object in which the shortest distance to another virtual object among the plurality of virtual objects is less than a threshold distance (a deformation inducing condition). Here, with respect to the identified virtual object, the electronic device 100 may deform the virtual object so that the cross-sectional area of each layer becomes gradually narrower as the layers increase (eg, FIG. 3B ). As a result, there is an effect that the distance or interval between virtual objects that are too close (eg, the distance is less than a threshold) appears relatively relaxed, and this operation may be automatically performed by the electronic device 100 .

또한, 일 실시 예로, 전자 장치(100)는 가상 공간 내에 존재하는 복수의 가상 객체 각각의 변형 정도를 산출할 수 있다. Also, according to an embodiment, the electronic device 100 may calculate the degree of deformation of each of a plurality of virtual objects existing in the virtual space.

여기서, 변형 정도는, 기준이 되는 형태로부터 변형된 정도를 의미한다. Here, the degree of deformation means the degree of deformation from the standard shape.

기준이 되는 형태는, 예를 들어, 도 3a와 같이 모든 층의 단면도의 각도 및 면적이 동일한 형태일 수 있다.The reference shape may be, for example, a shape in which the angles and areas of the cross-sectional views of all layers are the same as in FIG. 3A .

이때, 층 별 단면도 간의 면적 차이 및 층 별 단면도의 회전 각도 차이를 바탕으로 변형 정도가 산출될 수 있다. 예를 들어, 층 별 단면도의 면적 차이가 클수록, 층 별 단면도의 회전 각도 차이가 클수록, 변형 정도가 더 높게 산출될 수 있다.In this case, the degree of deformation may be calculated based on the difference in area between the cross-sections for each layer and the difference in rotation angle of the cross-sections for each layer. For example, the greater the difference in the area of the cross-sectional view for each layer and the greater the difference in the rotation angle of the cross-sectional view for each layer, the higher the degree of deformation may be calculated.

그리고, 전자 장치(100)는 복수의 가상 객체의 변형 정도의 평균 값을 산출할 수 있다. 만약, 복수의 가상 객체의 변형 정도의 평균 값이 임계치 미만인 경우(: 변형 유발 조건), 전자 장치(100)는 복수의 가상 객체 중 변형 정도가 가장 낮은 적어도 하나의 가상 객체를 식별할 수 있다.Then, the electronic device 100 may calculate an average value of the degree of deformation of the plurality of virtual objects. If the average value of the degree of deformation of the plurality of virtual objects is less than the threshold (deformation inducing condition), the electronic device 100 may identify at least one virtual object having the lowest degree of deformation among the plurality of virtual objects.

이때, 전자 장치(100)는 식별된 가상 객체(: 변형 정도가 낮은 가상 객체)에 대하여 뼈대의 회전, 축소, 및 확대 중 적어도 하나를 수행하여, 식별된 가상 객체를 변형할 수 있다.In this case, the electronic device 100 may deform the identified virtual object by performing at least one of rotation, reduction, and enlargement of the skeleton with respect to the identified virtual object (a virtual object with a low degree of deformation).

이를 통해, 가상 공간 내 가상 객체들의 전반적인 변형 정도가 낮은 경우 적어도 하나의 가상 객체의 변형 정도가 자동으로 강화될 수 있으므로, 가상 객체들의 전반적인 변형 정도가 낮아 전반적으로 지루하거나 획일화된 모습이 나타나는 상황이 미연에 방지될 수 있다.Through this, when the overall degree of deformation of the virtual objects in the virtual space is low, the degree of deformation of at least one virtual object may be automatically strengthened, so that the overall degree of deformation of the virtual objects is low, resulting in an overall boring or uniform appearance. This can be prevented in advance.

또한, 일 실시 예로, 전자 장치(100)는 일 가상 객체를 기준으로 일정 거리 내에 위치하는 가상 객체들의 변형 정도를 각각 식별하고, 식별된 변형 정도의 평균 값 및 편차 값을 산출할 수 있다. 여기서, 식별된 편차가 임계 편차 미만인 경우, 전자 장치(100)는 기준이 된 가상 객체의 변형 정도가 평균 값과 더 멀어지도록 해당 가상 객체를 변형할 수 있다. 반면, 식별된 편차가 임계 편차 이상인 경우, 전자 장치(100)는 기준이 된 가상 객체의 변형 정도가 평균 값과 더 가까워지도록 해당 가상 객체를 변형할 수 있다. 전자 장치(100)는 이러한 과정을 복수의 가상 객체 각각을 기준으로 하여 수행할 수 있다.Also, according to an embodiment, the electronic device 100 may identify deformation degrees of virtual objects located within a predetermined distance based on one virtual object, respectively, and calculate an average value and a deviation value of the identified deformation degrees. Here, when the identified deviation is less than the threshold deviation, the electronic device 100 may deform the corresponding virtual object such that the degree of deformation of the reference virtual object is further away from the average value. On the other hand, when the identified deviation is equal to or greater than the threshold deviation, the electronic device 100 may deform the corresponding virtual object so that the reference virtual object's deformation degree is closer to the average value. The electronic device 100 may perform this process based on each of the plurality of virtual objects.

이 경우, 가상 객체들의 전반적인 변형 정도가 근접한 가상 객체와의 관계에서 조화롭게 유지될 수 있다.In this case, the overall degree of deformation of the virtual objects may be harmoniously maintained in relation to the adjacent virtual objects.

한편, 일 실시 예로, 전자 장치(100)는 복수의 가상 객체 각각의 높이 및 변형 정도를 바탕으로, 복수의 가상 객체 중 적어도 하나의 랜드마크 객체를 선택할 수도 있다. 랜드마크 객체는, 가상 공간 내 적어도 하나의 영역을 상징적으로 대표하는 가상 객체(ex. 가상 건물)로 정의될 수 있다.Meanwhile, according to an embodiment, the electronic device 100 may select at least one landmark object from among the plurality of virtual objects based on the height and deformation degree of each of the plurality of virtual objects. The landmark object may be defined as a virtual object (eg, a virtual building) that symbolically represents at least one area in a virtual space.

예를 들어, 전자 장치(100)는 높이가 가장 높거나 및/또는 변형 정도가 가장 큰 가상 객체를 랜드마크 객체로 선택할 수 있으며, 선택된 랜드마크 객체에 대한 정보를 사용자에게 제공할 수 있다.For example, the electronic device 100 may select a virtual object having the highest height and/or the greatest degree of deformation as the landmark object, and may provide information on the selected landmark object to the user.

관련하여, 복수의 가상 객체가 특정한 도시를 구성하는 가상 공간에 존재한는 경우, 전자 장치(100)는 가상 공간 내 등장 인물들(ex. 디지털 휴먼)의 분포를 랜드마크 객체 중심으로 설정할 수 있다. 예를 들어, 전자 장치(100)는 랜드마크 객체와 가까울수록 등장 인물들의 밀집도가 더 커지도록 캐릭터들의 위치를 설정할 수 있다.In relation to this, when a plurality of virtual objects exist in a virtual space constituting a specific city, the electronic device 100 may set the distribution of characters (eg, digital humans) in the virtual space as the center of the landmark object. For example, the electronic device 100 may set the positions of the characters such that the closer to the landmark object, the greater the density of the characters.

또한, 전자 장치(100)는 랜드마크 객체의 변형 패턴을 식별하고, 식별된 변형 패턴을 랜드마크 객체로부터 일정 거리 내에 위치한 가상 객체들에 적용할 수도 있다. 변형 패턴은, 층 별 단면도의 면적이 변화하는 패턴(ex. 한 층씩 올라갈 때마다 단면적의 변화량), 층 별 단면도의 회전 각도 차이 등으로 구성될 수 있다.Also, the electronic device 100 may identify a deformation pattern of the landmark object and apply the identified deformation pattern to virtual objects located within a predetermined distance from the landmark object. The deformation pattern may consist of a pattern in which the area of the cross-sectional area for each layer changes (eg, the amount of change in the cross-sectional area for each layer), a difference in rotation angle of the cross-sectional view for each layer, and the like.

예를 들어, 랜드마크 객체의 최하층과 최고층 간의 회전 각도 차이가 90°인 경우, 전자 장치(100)는 랜드마크 객체로부터 일정 거리 내에 위치한 적어도 하나의 가상 객체의 회전 각도(최하층과 최고층 간의 회전 각도 차이)가 일정 범위(ex. 90°를 기준으로 ±30°) 내로 되도록 가상 객체를 변형할 수 있다.For example, when the difference in rotation angle between the lowest floor and the highest floor of the landmark object is 90°, the electronic device 100 sets the rotation angle (rotation angle between the lowest floor and the highest floor) of at least one virtual object located within a predetermined distance from the landmark object. The virtual object can be deformed so that the difference) is within a certain range (eg, ±30° based on 90°).

한편, 전자 장치(100)는 층 별 단면도를 나타내는 뼈대를 서브 빌딩 단위, 층 단위, 옆면 단위 등에 따라 복수의 슬롯으로 구분할 수 있다. 각 슬롯은, 가상 객체를 구성하는 벽, 창문, 및 문 등이 적용될 수 있는 단위에 해당한다. 각 슬롯에 대해서는, 식별 번호(ex. USN: Unique Slot Number)가 지정될 수 있다.Meanwhile, the electronic device 100 may divide a skeleton representing a cross-sectional view for each floor into a plurality of slots according to a sub-building unit, a floor unit, a side unit, and the like. Each slot corresponds to a unit to which walls, windows, and doors constituting the virtual object can be applied. For each slot, an identification number (ex. USN: Unique Slot Number) may be designated.

예를 들어, 하나의 건물을 나타내는 가상 객체가 2개의 서브 빌딩을 포함하는 경우를 가정한다. 여기서, 첫 번째 서브 빌딩의 5층의 4번째 옆면에 매칭되는 뼈대 부분의 경우, 1-5-4와 같은 식별 번호를 부여받을 수 있으며, 이는 추후 건물의 커스텀 디자인의 편집 단위가 되는 슬롯의 식별 번호로 활용될 수 있다.For example, it is assumed that a virtual object representing one building includes two sub-buildings. Here, in the case of the skeleton part matching the fourth side of the 5th floor of the first sub-building, an identification number such as 1-5-4 may be assigned, which identifies the slot that will later become the editing unit of the custom design of the building It can be used as a number.

전자 장치(100)는 뼈대를 구성하는 슬롯마다 문, 창문, 기둥, 벽 등을 구성하는 디자인 샘플(ex. 하나 이상의 폴리곤으로 구성됨)을 적용하여 구체적인 디자인 동작을 수행할 수 있으며, 그 결과 가상 객체가 온전한 건물의 형상으로 구현될 수 있다.The electronic device 100 may perform a specific design operation by applying a design sample (eg, composed of one or more polygons) constituting a door, window, column, wall, etc. to each slot constituting the skeleton, and as a result, a virtual object can be implemented in the shape of a complete building.

다만, 문, 창문, 기둥, 벽 등 디자인 샘플이 반영된 이후라도, 뼈대의 변형으로 인해 가상 객체가 변형될 수 있다. 예를 들어, 가상 객체의 변형을 요청하는 사용자 입력이 수신됨에 따라 가상 객체가 변형될 수 있다. 다른 예로, 순차적으로 가상 객체가 추가 생성되는 과정에서 상술한 변형 유발 조건이 후발적으로 만족됨에 따라 적어도 하나의 가상 객체가 자동으로 변형될 수도 있다.However, even after design samples such as doors, windows, columns, and walls are reflected, the virtual object may be deformed due to deformation of the skeleton. For example, the virtual object may be deformed as a user input requesting transformation of the virtual object is received. As another example, at least one virtual object may be automatically transformed as the above-described transformation-inducing condition is subsequently satisfied in the process of sequentially additionally generating the virtual object.

이 경우, 전자 장치(100)는 변형된 뼈대를 구성하는 복수의 슬롯 각각에 포함된 벽, 창문, 및 문 중 적어도 하나를 변형할 수 있다.In this case, the electronic device 100 may deform at least one of a wall, a window, and a door included in each of the plurality of slots constituting the deformed skeleton.

이렇듯 전자 장치(100)는 상술한 다양한 실시 예에 따라 가상 공간 내 복수의 가상 객체 각각에 대한 변형을 수행할 수 있으며, 도 6과 같이 다양한 형상의 가상 객체를 포함하는 가상 공간이 디자인되는 것이 가능하다.As such, the electronic device 100 may perform transformation on each of a plurality of virtual objects in the virtual space according to the various embodiments described above, and it is possible to design a virtual space including virtual objects of various shapes as shown in FIG. 6 . do.

한편, 도 7은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.Meanwhile, FIG. 7 is a block diagram illustrating a configuration of an electronic device according to various embodiments of the present disclosure.

도 7을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120) 외에 통신부(130), 디스플레이(140), 사용자 입력부(150) 등을 더 포함할 수 있다.Referring to FIG. 7 , the electronic device 100 may further include a communication unit 130 , a display 140 , a user input unit 150 , and the like in addition to the memory 110 and the processor 120 .

통신부(130)는 다양한 유무선 통신방식으로 적어도 하나의 외부 장치와 통신을 수행하기 위한 회로, 모듈, 칩 등을 포함할 수 있다.The communication unit 130 may include circuits, modules, chips, etc. for performing communication with at least one external device in various wired/wireless communication methods.

통신부(130)는 다양한 네트워크를 통해 외부 장치들과 연결될 수 있다.The communication unit 130 may be connected to external devices through various networks.

네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.The network may be a personal area network (PAN), a local area network (LAN), a wide area network (WAN), etc. depending on the area or size, and depending on the openness of the network, an intranet, It may be an extranet or the Internet.

통신부(130)는 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등 다양한 무선 통신 방식을 통해 외부 장치들과 연결될 수 있다. The communication unit 130 is a long-term evolution (LTE), LTE Advance (LTE-A), 5th generation (5G) mobile communication, CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system) , WiBro (Wireless Broadband), GSM (Global System for Mobile Communications), DMA (Time Division Multiple Access), WiFi (Wi-Fi), WiFi Direct, Bluetooth, NFC (near field communication), Zigbee, etc. It can be connected to external devices through

또한, 통신부(130)는 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 유선 통신 방식을 통해 외부 장치들과 연결될 수도 있다.Also, the communication unit 130 may be connected to external devices through a wired communication method such as Ethernet, an optical network, a Universal Serial Bus (USB), or a ThunderBolt.

디스플레이(140)는 다양한 정보를 시각적으로 출력하기 위한 구성이다. The display 140 is configured to visually output various information.

디스플레이(140)는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있으나, 이에 한정되는 것은 아니고 이밖에 종래 알려진 다양한 형태의 디스플레이를 포함할 수 있다. 디스플레이(140)는, 사용자의 터치 조작을 감지할 수 있는 터치스크린 형태로 구현될 수 있으며, 접히거나 구부러질 수 있는 플렉서블 디스플레이로 구현될 수도 있다.The display 140 may be implemented as a liquid crystal display (LCD), a plasma display panel (PDP), an organic light emitting diode (OLED), a transparent OLED (TOLED), a micro LED, etc., but is not limited thereto. It may include various known types of displays. The display 140 may be implemented in the form of a touch screen capable of sensing a user's touch manipulation, or may be implemented as a flexible display that can be folded or bent.

일 예로, 전자 장치(100)는 디스플레이(140)를 통해 실제 공간을 나타내는 맵을 표시할 수 있으며, 3차원의 가상 공간 내 다양한 영역을 표시할 수 있다.For example, the electronic device 100 may display a map representing a real space through the display 140 , and may display various regions in a three-dimensional virtual space.

사용자 입력부(150)는 다양한 명령 또는 정보를 사용자로부터 입력 받기 위한 구성이다. 사용자 입력부(150)는 적어도 하나의 버튼, 터치 패드, 터치 스크린, 마이크, 카메라, 센서 등으로 구현될 수 있다. 또한, 전자 장치(100)는 마우스, 키보드 등으로 구성된 별도의 사용자 입력 장치와 연결될 수도 있다.The user input unit 150 is configured to receive various commands or information from a user. The user input unit 150 may be implemented as at least one button, a touch pad, a touch screen, a microphone, a camera, a sensor, and the like. Also, the electronic device 100 may be connected to a separate user input device including a mouse, a keyboard, and the like.

예를 들어, 전자 장치(100)는 사용자 입력부(150)를 통해 수신된 사용자 입력에 따라 맵 상 적어도 하나의 구역을 선택하여 건물 정보를 추출할 수 있다. 또한, 전자 장치(100)는 사용자 입력부(150)를 통해 수신된 사용자 입력에 따라 복수의 가상 객체를 일괄 생성할 수 있으며, 각 건물의 편집(ex. 뼈대 변형, 디자인 샘플 추가/변경)을 수행할 수 있다.For example, the electronic device 100 may extract building information by selecting at least one area on the map according to a user input received through the user input unit 150 . In addition, the electronic device 100 may collectively generate a plurality of virtual objects according to a user input received through the user input unit 150 , and edit each building (eg, deform a skeleton, add/change a design sample). can do.

한편, 이상에서 설명된 다양한 실시 예들은 서로 저촉되거나 모순되지 않는 한 두 개 이상의 실시 예가 서로 결합되어 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented by combining two or more embodiments as long as they do not conflict with or contradict each other.

한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.

하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. According to the hardware implementation, the embodiments described in the present disclosure are ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays) ), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing other functions may be implemented using at least one.

일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.In some cases, the embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the above-described software modules may perform one or more functions and operations described herein.

한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치(100)에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다. On the other hand, the computer instructions or computer program for performing the processing operation in the electronic device 100 according to various embodiments of the present disclosure described above is a non-transitory computer-readable medium. can be stored in When the computer instructions or computer program stored in such a non-transitory computer-readable medium are executed by the processor of the specific device, the specific device performs the processing operation in the electronic device 100 according to the various embodiments described above.

비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.The non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, a cache, a memory, and the like, and can be read by a device. Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been illustrated and described, but the present disclosure is not limited to the specific embodiments described above, and is commonly used in the technical field pertaining to the present disclosure without departing from the gist of the present disclosure as claimed in the claims. Of course, various modifications may be made by those having the knowledge of

100: 전자 장치 110: 메모리
120: 프로세서
100: electronic device 110: memory
120: processor

Claims (9)

3차원의 가상 공간을 모델링하기 위한 전자 장치의 제어 방법에 있어서,
적어도 하나의 건물에 대한 건물 정보를 획득하는 단계;
상기 건물 정보에 따른 층 수, 높이, 및 층 별 단면도를 바탕으로, 상기 건물에 매칭되는 가상 객체의 층 별 단면도를 나타내는 뼈대(skeleton)를 생성하는 단계; 및
적어도 하나의 층에 대하여 상기 생성된 뼈대에 대한 회전, 축소, 및 확대 중 적어도 하나를 수행하여, 상기 가상 객체를 변형하는 단계;를 포함하고,
상기 가상 객체를 변형하는 단계는,
상기 가상 객체를 구성하는 복수의 층을 제1 그룹 및 제2 그룹으로 구분하고,
상기 제1 그룹 내에서 층 수가 높아질수록 매층마다 단면적이 제1 값만큼 달라지고, 상기 제2 그룹 내에서 층 수가 높아질수록 매층마다 단면적이 제2 값만큼 달라지도록, 상기 층 별 단면도를 나타내는 뼈대를 축소 또는 확대시키는, 전자 장치의 제어 방법.
A method for controlling an electronic device for modeling a three-dimensional virtual space, the method comprising:
acquiring building information for at least one building;
generating a skeleton representing a floor-by-floor cross-sectional view of a virtual object matching the building based on the number of floors, a height, and a cross-sectional view for each floor according to the building information; and
Transforming the virtual object by performing at least one of rotation, reduction, and enlargement of the generated skeleton with respect to at least one layer;
The step of transforming the virtual object comprises:
A plurality of layers constituting the virtual object are divided into a first group and a second group,
In the first group, as the number of layers increases, the cross-sectional area for each layer changes by a first value, and as the number of layers in the second group increases, the cross-sectional area for each layer changes by a second value. A method of controlling an electronic device that reduces or enlarges.
제1항에 있어서,
상기 가상 객체를 변형하는 단계는,
층이 높아질수록 각 층의 단면적이 점차 좁아지도록, 상기 층 별 단면도를 나타내는 뼈대를 축소시키는, 전자 장치의 제어 방법.
According to claim 1,
The step of transforming the virtual object comprises:
A method of controlling an electronic device, in which a skeleton representing a cross-sectional area for each layer is reduced such that the cross-sectional area of each layer becomes gradually narrower as the layers increase.
제1항에 있어서,
상기 가상 객체를 변형하는 단계는,
층 수가 높아질수록 매층마다 회전 각도가 일정 각도만큼 달라지도록, 상기 층 별 단면도를 나타내는 뼈대를 회전시키는, 전자 장치의 제어 방법.
According to claim 1,
The step of transforming the virtual object comprises:
A method of controlling an electronic device, comprising rotating a skeleton representing a cross-sectional view for each layer so that the rotation angle varies by a predetermined angle for each layer as the number of layers increases.
제3항에 있어서,
상기 가상 객체를 변형하는 단계는,
상기 가상 객체의 층 수에 따라, 상기 가상 객체의 최상층의 최대 회전 각도를 설정하는, 전자 장치의 제어 방법.
4. The method of claim 3,
The step of transforming the virtual object comprises:
A method of controlling an electronic device, comprising setting a maximum rotation angle of an uppermost layer of the virtual object according to the number of layers of the virtual object.
삭제delete 제1항에 있어서,
상기 전자 장치의 제어 방법은,
상기 층 별 단면도를 나타내는 뼈대를 층 단위 및 옆면 단위에 따라 복수의 슬롯으로 구분하는 단계;
상기 복수의 슬롯 각각에 대하여 상기 가상 객체를 구성하는 벽, 창문, 및 문 중 적어도 하나를 생성하는 단계; 및
상기 가상 객체가 변형된 경우, 변형된 뼈대를 구성하는 복수의 슬롯 각각에 포함된 벽, 창문, 및 문 중 적어도 하나를 변형하는 단계;를 포함하는, 전자 장치의 제어 방법.
According to claim 1,
The control method of the electronic device,
dividing the skeleton representing the sectional view for each layer into a plurality of slots according to the floor unit and the side unit;
generating at least one of a wall, a window, and a door constituting the virtual object for each of the plurality of slots; and
When the virtual object is deformed, deforming at least one of a wall, a window, and a door included in each of a plurality of slots constituting the deformed skeleton;
제1항에 있어서,
상기 전자 장치의 제어 방법은,
실제 공간에 해당하는 일 구역을 선택하는 사용자 입력을 수신하는 단계;
상기 사용자 입력에 따라 선택된 구역에 포함되는 복수의 건물 각각에 대한 건물 정보를 획득하는 단계; 및
상기 건물 정보를 바탕으로, 3차원의 가상 공간 내에 상기 복수의 건물 각각에 매칭되는 복수의 가상 객체를 생성하는 단계;를 포함하는, 전자 장치의 제어 방법.
According to claim 1,
The control method of the electronic device,
receiving a user input for selecting a zone corresponding to an actual space;
acquiring building information for each of a plurality of buildings included in a selected area according to the user input; and
generating a plurality of virtual objects matching each of the plurality of buildings in a three-dimensional virtual space based on the building information;
제7항에 있어서,
상기 전자 장치의 제어 방법은,
상기 복수의 가상 객체 중 다른 가상 객체와의 최단 거리가 임계 거리 미만인 적어도 하나의 가상 객체를 식별하는 단계; 및
상기 식별된 가상 객체에 대하여, 층이 높아질수록 각 층의 단면적이 점차 좁아지도록, 상기 식별된 가상 객체를 변형하는 단계;를 포함하는, 전자 장치의 제어 방법.
8. The method of claim 7,
The control method of the electronic device,
identifying at least one virtual object whose shortest distance to another virtual object among the plurality of virtual objects is less than a threshold distance; and
and transforming the identified virtual object so that the cross-sectional area of each layer becomes gradually narrower as the layers increase.
제7항에 있어서,
상기 전자 장치의 제어 방법은,
상기 복수의 가상 객체 각각에 대하여, 층 별 단면도의 면적 차이 및 층 별 단면도의 회전 각도 차이를 바탕으로 변형 정도를 산출하는 단계; 및
상기 복수의 가상 객체의 변형 정도의 평균 값이 임계치 미만인 경우, 상기 복수의 가상 객체 중 상기 변형 정도가 가장 낮은 적어도 하나의 가상 객체를 식별하고, 뼈대의 회전, 축소, 및 확대 중 적어도 하나를 수행하여, 상기 식별된 가상 객체를 변형하는 단계;를 포함하는, 전자 장치의 제어 방법.
8. The method of claim 7,
The control method of the electronic device,
calculating a deformation degree for each of the plurality of virtual objects based on a difference in area of a cross-sectional view for each layer and a difference in rotation angle of a cross-sectional view for each layer; and
When the average value of the degree of deformation of the plurality of virtual objects is less than the threshold, at least one virtual object having the lowest degree of deformation among the plurality of virtual objects is identified, and at least one of rotating, reducing, and enlarging the skeleton is performed. and transforming the identified virtual object.
KR1020220052718A 2022-04-28 2022-04-28 Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor KR102454831B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220052718A KR102454831B1 (en) 2022-04-28 2022-04-28 Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220052718A KR102454831B1 (en) 2022-04-28 2022-04-28 Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor

Publications (1)

Publication Number Publication Date
KR102454831B1 true KR102454831B1 (en) 2022-10-14

Family

ID=83600062

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220052718A KR102454831B1 (en) 2022-04-28 2022-04-28 Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor

Country Status (1)

Country Link
KR (1) KR102454831B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102065788B1 (en) * 2019-03-21 2020-01-13 정현호 Method for providing safty inspection service for real estate with handheld based device
KR102258285B1 (en) 2019-11-19 2021-05-31 데이터킹주식회사 Method and server for generating and using a virtual building

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102065788B1 (en) * 2019-03-21 2020-01-13 정현호 Method for providing safty inspection service for real estate with handheld based device
KR102258285B1 (en) 2019-11-19 2021-05-31 데이터킹주식회사 Method and server for generating and using a virtual building

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김치경 외 2명, "2차원 도면 인식을 통한 3D 골조모델 생성", Computational Structural Engineering Institute of Korea Pages.367-370, 2011.04.14., <URL: https://www.koreascience.or.kr/article/CFKO201106654859301.pdf> 1부.* *
문상호 외 2명, "3D 모델링 기반 빌딩관제시스템의 설계 및 구현", Volume 23 Issue 5, Pages.673-682, 2020.05.31., <URL: https://doi.org/10.9717/kmms.2020.23.5.673> 1부.* *

Similar Documents

Publication Publication Date Title
US8423914B2 (en) Selection user interface
CN102779358B (en) Method and device for designing a geometrical three-dimensional modeled object
US9934551B2 (en) Split storage of anti-aliased samples
US8988433B2 (en) Systems and methods for primitive intersection in ray tracing
US10657710B2 (en) Displacement directed tessellation
US8508550B1 (en) Selective rendering of objects
JP2009009359A (en) Method and unit for generating three-dimensional structure data, computer program, recording medium, and computer system
KR102299943B1 (en) Method and system for augmented reality content production based on attribute information application
CN113010945A (en) BIM model linkage method and system
Schnabel et al. Using parametric modelling in form-based code design for high-dense cities
US7116341B2 (en) Information presentation apparatus and method in three-dimensional virtual space and computer program therefor
KR102486770B1 (en) Control method of electronic apparatus for automatically generating virtual object based on building information
KR102454831B1 (en) Control method of electronic apparatus for deforming virtual object by adjusting skeleton matching to each floor
CN115668271A (en) Method and device for generating plan
KR102529176B1 (en) Control method of electronic apparatus for performing detail variation of virtual object corresponding to building
Zmugg et al. Procedural architecture using deformation-aware split grammars
KR20140120156A (en) Method of generating 3-d graphic data with improved usability for mobile device and application development environment enabling the method
CN109189537A (en) The dynamic display method of page info calculates equipment and computer storage medium
RU2637903C2 (en) Method and computer device for creating simplified borders of graphic objects
KR102520660B1 (en) Control method of electronic appratus for providing tools for designing virtual object corresponding to building in units of slots
KR20230130507A (en) Control method of electronic apparatus for converting normal map to height map
EP4360055A2 (en) Rendering a visual representation of a luminaire by re-using light values
KR102483778B1 (en) Control method of electronic apparatus for designing roof part of virtual object corresponding to bulding
KR102354512B1 (en) Method for displaying fine dust measurement data in 3d graphics and apparatus for performing the same
CN114730347A (en) Computer-implemented techniques for creating a layout of a physical space

Legal Events

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