KR20200038148A - Method and apparatus for transporting textures of a 3d model - Google Patents

Method and apparatus for transporting textures of a 3d model Download PDF

Info

Publication number
KR20200038148A
KR20200038148A KR1020180117874A KR20180117874A KR20200038148A KR 20200038148 A KR20200038148 A KR 20200038148A KR 1020180117874 A KR1020180117874 A KR 1020180117874A KR 20180117874 A KR20180117874 A KR 20180117874A KR 20200038148 A KR20200038148 A KR 20200038148A
Authority
KR
South Korea
Prior art keywords
reference point
model
texture
electronic device
ray
Prior art date
Application number
KR1020180117874A
Other languages
Korean (ko)
Other versions
KR102113745B1 (en
Inventor
임화섭
장우석
안상철
유범재
Original Assignee
한국과학기술연구원
재단법인 실감교류인체감응솔루션연구단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원, 재단법인 실감교류인체감응솔루션연구단 filed Critical 한국과학기술연구원
Priority to KR1020180117874A priority Critical patent/KR102113745B1/en
Publication of KR20200038148A publication Critical patent/KR20200038148A/en
Application granted granted Critical
Publication of KR102113745B1 publication Critical patent/KR102113745B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually

Landscapes

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

Abstract

Disclosed are a method and an electronic device for transferring a texture of a first model generated by 3D scanning an object to a second model. The method can comprise the steps of: setting a first reference point of a first model and a second reference point of a second model; mapping the first reference point and the second reference point; and transferring a texture placed in the vicinity of the first reference point to a texture placed in the vicinity of the second reference point based on the mapping result.

Description

3차원 모델의 텍스처를 전이하는 방법 및 장치{METHOD AND APPARATUS FOR TRANSPORTING TEXTURES OF A 3D MODEL}METHOD AND APPARATUS FOR TRANSPORTING TEXTURES OF A 3D MODEL}

본 개시는 대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이하는 방법 및 장치에 관한 것이다.The present disclosure relates to a method and apparatus for transferring a texture of a first model generated by 3D scanning an object to a second model.

최근 3차원 모델링에 대한 일반인의 관심도가 높아지고, 현실세계와 동일한 가상세계를 구현하려는 수요가 증가하고 있다. 특히, 사용자와 유사한 외형을 갖는 캐릭터가 다양한 역할을 수행하는 가상세계가 구현되고 있다. 예를 들면, 사용자와 유사한 외형을 갖는 3차원 캐릭터가 게임 내에서 활동하거나, 대화를 하거나 행동으로 표현하는 등 다양한 역할을 수행한다. Recently, the public's interest in 3D modeling has increased, and the demand for realizing a virtual world identical to the real world has increased. In particular, a virtual world has been implemented in which characters having a similar appearance to a user perform various roles. For example, a 3D character having an appearance similar to a user plays various roles, such as acting in a game, talking, or expressing an action.

사용자는 자신과 유사한 가상의 3차원 캐릭터가 다양한 역할을 수행함으로써 대리만족을 느끼기 때문에, 보다 사용자와 유사한 3차원 캐릭터를 생성하는 방법이 요구되고 있다. Since a user feels surrogate satisfaction by playing a variety of roles by a virtual 3D character similar to himself, a method for generating a 3D character similar to the user is required.

사용자와 유사한 가상의 3차원 캐릭터를 생성하는 방법으로, 3차원 스캐너를 이용하여 사용자의 외형에 관한 데이터를 획득하고, 이를 기초로 3차원 캐릭터를 생성하는 방안도 제안되었다. 하지만, 3차원 스캐너를 이용하여 생성된 모델은 사용자의 외형만을 스캔한 것이기 때문에, 모션을 취하거나 움직일 수 없는 문제점이 존재한다. As a method of generating a virtual 3D character similar to a user, a method of acquiring data on the user's appearance using a 3D scanner and generating a 3D character based on the same has also been proposed. However, since the model generated by using the 3D scanner scans only the user's appearance, there is a problem that motion cannot be taken or moved.

종래에는 모델의 제어점(control point)를 이용하여 모델의 표면(surface)를 매개변수로 스캔된 3D 모델의 텍스처를 템플릿 3D모델로 전이하는 방법이 존재하였다. 하지만, 종래의 방법은 알고리즘의 복잡도가 높고, 연산량이 많아서 활용되기 어려울 뿐만 아니라, 부자연스럽게 텍스처가 전이되는 문제가 존재하였다.Conventionally, there has been a method of transferring a texture of a 3D model scanned as a parameter to a template 3D model by using a control point of the model as a parameter. However, the conventional method has a high algorithm complexity and is difficult to be utilized due to a large amount of computation, and there is a problem in that the texture is unnaturally transferred.

대한민국 특허청 특허등록공보 10-1454780Republic of Korea Patent Office Patent Registration Publication 10-1454780 미국 특허청 특허등록공보 06750873United States Patent and Trademark Office Patent Registration Publication 06750873

# D. Panozzo, I. Baran, O. Diamanti, O. Sorkine-Hornung, “Weighted Averages on Surfaces,” ACM SIGGRAPH, 2013.# D. Panozzo, I. Baran, O. Diamanti, O. Sorkine-Hornung, “Weighted Averages on Surfaces,” ACM SIGGRAPH, 2013.

본 개시는 대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이함으로써, 대상체와 유사한 3차원 모델을 생성하는 방법 및 전자 장치를 제공하고자 한다. The present disclosure is to provide a method and electronic device for generating a 3D model similar to an object by transferring a texture of the first model generated by 3D scanning the object to the second model.

개시된 실시예들이 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 유추될 수 있다.The technical problems to be achieved by the disclosed embodiments are not limited to the technical problems as described above, and other technical problems may be inferred.

상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이하는 방법은, 상기 제1 모델의 제1 기준점과 상기 제2 모델의 제2 기준점을 설정하는 단계, 상기 제1 기준점과 상기 제2 기준점을 맵핑(Mapping)하는 단계 및 상기 맵핑된 결과에 기초하여, 상기 제1 기준점의 인근에 위치된 텍스처를 상기 제2 기준점의 인근에 위치된 텍스처에 전이(Transfer)하는 단계를 포함할 수 있다. As a technical means for solving the above-described technical problem, a method of transferring a texture of a first model generated by 3D scanning an object to a second model includes a first reference point and the second reference point of the first model. Setting a second reference point of the model, mapping the first reference point and the second reference point (Mapping), and based on the mapped result, the texture located near the first reference point is the second reference point It may include the step of transferring (Transfer) to the texture located in the vicinity of.

또한, 상기 맵핑하는 단계는, 상기 제2 기준점으로부터 상기 제1 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 레이-트레이싱(ray-tracing)을 수행하는 단계를 포함할 수 있다. .Also, the mapping may include performing ray-tracing to map the first reference point and the second reference point by irradiating a ray from the second reference point to the first reference point. It may include. .

또한, 상기 맵핑하는 단계는, 상기 제1 기준점으로부터 상기 제2 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 퐁-프로젝션(Phong-projection)을 수행하는 단계를 포함할 수 있다. In addition, the mapping step may include performing a Phong-projection mapping the first reference point and the second reference point by irradiating a ray from the first reference point to the second reference point. It may include.

또한, 상기 맵핑하는 단계는, 복수의 제1 기준점들과 복수의 제2 기준점들 각각을 연결하는 레이(ray)들이 소정의 간격으로 이격되도록, 상기 레이들의 간격을 정규화하는 단계를 포함할 수 있다. In addition, the mapping may include normalizing the spacing of the rays so that the rays connecting each of the plurality of first reference points and the plurality of second reference points are spaced apart at predetermined intervals. .

또한, 상기 방법은, 상기 제2 모델의 텍스처를 후처리하는 단계를 더 포함할 수 있다. Further, the method may further include post-processing the texture of the second model.

또한, 상기 후처리하는 단계는, 상기 제2 모델로부터 상기 제1 모델의 텍스처가 전이되지 않은 제1 텍스처 영역을 검출하는 단계 및 상기 제1 텍스처 영역의 인근에 위치된 제2 텍스처 영역으로부터 상기 제2 텍스처 영역에 전이된 상기 제1 모델의 텍스처 데이터에 기초하여, 상기 제1 텍스처 영역을 채색하는 단계를 포함할 수 있다. In addition, the post-processing may include detecting a first texture region in which the texture of the first model is not transferred from the second model and removing the second texture region from the second texture region located in the vicinity of the first texture region. And coloring the first texture region based on the texture data of the first model transferred to the 2 texture region.

또한, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 단계는, 상기 맵핑된 결과에 기초하여 상기 제2 모델의 외형을 상기 제1 모델의 외형에 대응되도록 와핑(warping)하는 단계를 포함할 수 있다.Further, the mapping of the first reference point and the second reference point may include warping the appearance of the second model to correspond to the appearance of the first model based on the mapped result. have.

한편, 상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이하는 전자 장치는, 상기 제1 모델 및 상기 제2 모델을 저장하는 메모리, 상기 제1 모델의 제1 기준점과 상기 제2 모델의 제2 기준점을 설정하고, 상기 제1 기준점과 상기 제2 기준점을 맵핑(Mapping)하며, 상기 맵핑된 결과에 기초하여, 상기 제1 기준점의 인근에 위치된 텍스처를 상기 제2 기준점의 인근에 위치된 텍스처에 전이(Transfer)하는 프로세서 및 상기 제2 모델을 디스플레이하는 디스플레이부를 포함할 수 있다. On the other hand, as a technical means for solving the above-described technical problem, the electronic device that transfers the texture of the first model generated by 3D scanning the object to the second model includes the first model and the second model. A memory for storing a first reference point of the first model and a second reference point of the second model are set, the first reference point and the second reference point are mapped, and based on the mapped result, It may include a processor for transferring the texture located in the vicinity of the first reference point to the texture located in the vicinity of the second reference point (display) and a display unit for displaying the second model.

또한, 상기 프로세서는, 상기 제2 기준점으로부터 상기 제1 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 레이-트레이싱(ray-tracing)을 수행할 수 있다. In addition, the processor may perform ray-tracing that maps the first reference point and the second reference point by irradiating a ray from the second reference point to the first reference point.

또한, 상기 프로세서는, 상기 제1 기준점으로부터 상기 제2 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 퐁-프로젝션(Phong-projection)을 수행할 수 있다. In addition, the processor may perform a Phong-projection mapping the first reference point and the second reference point by irradiating a ray from the first reference point to the second reference point.

또한, 상기 프로세서는, 복수의 제1 기준점들과 복수의 제2 기준점들 각각을 연결하는 레이(ray)들이 소정의 간격으로 이격되도록, 상기 레이들의 간격을 정규화할 수 있다. In addition, the processor may normalize the intervals of the rays so that the rays connecting each of the plurality of first reference points and the plurality of second reference points are spaced apart at predetermined intervals.

또한, 상기 프로세서는, 상기 제2 모델의 텍스처를 후처리 할 수 있다. Also, the processor may post-process the texture of the second model.

또한, 상기 프로세서는, 상기 제2 모델로부터 상기 제1 모델의 텍스처가 전이되지 않은 제1 텍스처 영역을 검출하고, 상기 제1 텍스처 영역의 인근에 위치된 제2 텍스처 영역으로부터 상기 제2 텍스처 영역에 전이된 상기 제1 모델의 텍스처 데이터에 기초하여, 상기 제1 텍스처 영역을 채색할 수 있다.In addition, the processor detects a first texture region in which the texture of the first model is not transferred from the second model, and from the second texture region located adjacent to the first texture region to the second texture region. Based on the transferred texture data of the first model, the first texture region may be colored.

또한, 상기 프로세서는, 상기 맵핑된 결과에 기초하여 상기 제2 모델의 외형을 상기 제1 모델의 외형에 대응되도록 와핑(warping)할 수 있다.Also, the processor may warp the appearance of the second model to correspond to the appearance of the first model based on the mapped result.

한편, 상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 컴퓨터에서 실행시키기 위한 프로그램을 기록한, 컴퓨터로 읽을 수 있는 기록매체는, 전술한 대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록할 수 있다. On the other hand, as a technical means for solving the above-described technical problem, a computer-readable recording medium that records a program to be executed on a computer, the texture of the first model generated by three-dimensional scanning the above-described object. The program for executing the method of transferring the data to the second model on the computer may be recorded.

도 1은 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 방법의 일례를 나타낸 것이다.
도 2는 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 방법의 순서도이다.
도 3은 일 실시예에 따른, 레이-트레이싱(ray-tracing)을 나타내는 도면이다.
도 4는 일 실시예에 따른, 퐁-프로젝션(Phong-projection)을 나타내는 도면이다.
도 5는 일 실시예에 따른, 레이들의 간격을 정규화하는 것을 나타내는 도면이다.
도 6은 일 실시예에 따른, 텍스처를 전이한 후 후처리(post processing)의 예시를 나타낸 도면이다.
도 7은 일 실시예에 따른, 텍스처 지도에 무관하게 텍스처 정보를 생성한 결과를 나타낸 도면이다.
도 8은 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 전자 장치의 블록도이다.
도 9는 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 서버의 블록도이다.
1 shows an example of a method of transferring a texture of a 3D model, according to an embodiment.
2 is a flow chart of a method of transferring a texture of a 3D model, according to an embodiment.
3 is a diagram showing ray-tracing, according to an embodiment.
4 is a view showing a Phong-projection according to an embodiment.
5 is a diagram for normalizing the spacing of a ladle, according to an embodiment.
6 is a diagram illustrating an example of post processing after transferring a texture according to an embodiment.
7 is a view showing a result of generating texture information regardless of a texture map according to an embodiment.
8 is a block diagram of an electronic device transferring a texture of a 3D model, according to an embodiment.
9 is a block diagram of a server for transferring texture of a 3D model, according to an embodiment.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.

본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented with various numbers of hardware and / or software configurations that perform particular functions. For example, the functional blocks of the present disclosure can be implemented by one or more microprocessors, or by circuit configurations for a given function. Also, for example, functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks can be implemented with algorithms running on one or more processors. In addition, the present disclosure may employ conventional techniques for electronic environment setting, signal processing, and / or data processing. Terms such as “mechanism”, “element”, “means” and “composition” can be used widely, and are not limited to mechanical and physical configurations.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . Also, when a part “includes” a certain component, this means that other components may be further included rather than excluding other components, unless otherwise specified.

또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.In addition, the connecting lines or connecting members between the components shown in the drawings are merely illustrative of functional connections and / or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that are replaceable or added.

또한, 본 명세서에서 사용되는 “제 1” 또는 “제 2” 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.In addition, terms including an ordinal number such as “first” or “second” as used herein may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 방법의 일례를 나타낸 것이다.1 shows an example of a method of transferring a texture of a 3D model, according to an embodiment.

전자 장치(1000)는 대상체를 3차원 스캐닝함으로써 생성된 제1 모델 데이터(10)의 텍스처(texture)를 제2 모델 데이터(20)로 전이함으로써, 제3 모델 데이터(30)을 생성할 수 있다. 또는, 전자 장치(1000)는 서버(2000)로 제1 모델 데이터(10) 및 제2 모델 데이터(20)를 전송하고, 서버(2000)로부터 제2 모델(25)에 제1 모델(15)의 텍스처가 전이된 제3 모델 데이터(30)를 수신할 수 있다. 전자 장치(1000)는 제3 모델 데이터(30)을 저장할 수 있다. 또한, 전자 장치(1000)는 제3 모델(35)을 디스플레이 할 수 있다. The electronic device 1000 may generate the third model data 30 by transferring the texture of the first model data 10 generated by 3D scanning the object to the second model data 20. . Alternatively, the electronic device 1000 transmits the first model data 10 and the second model data 20 to the server 2000 and transmits the first model data 15 from the server 2000 to the second model 25. It may receive the third model data 30, the texture of the transition. The electronic device 1000 may store the third model data 30. Also, the electronic device 1000 may display the third model 35.

전자 장치(1000)는 범용 컴퓨터(PC, Personal computer), 모바일 장치(예를 들면, 스마트폰, 태블릿PC 등) 및 특수한 분야에 사용하기 위해 만들어진 고성능의 컴퓨터인 워크스테이션(Workstation)을 포함할 수 있다. 또는, 전자 장치(1000)는 한 개의 서버 및 클라우드 컴퓨팅을 수행하는 적어도 두 개의 서버를 포함할 수 있다. The electronic device 1000 may include a general-purpose computer (PC, personal computer), a mobile device (for example, a smartphone, a tablet PC, etc.) and a workstation, which is a high-performance computer made for use in special fields. have. Alternatively, the electronic device 1000 may include one server and at least two servers performing cloud computing.

개시된 실시예들은 전자 장치(1000)에 의해서 수행되는 것을 기준으로 작성되었으나, 적어도 일부 단계는 전자 장치(1000)로부터 수신된 데이터를 이용하여 다른 전자 장치 또는 서버(2000)에서 수행될 수 있다. Although the disclosed embodiments have been prepared based on being performed by the electronic device 1000, at least some of the steps may be performed by another electronic device or the server 2000 using data received from the electronic device 1000.

제1 모델 데이터(10)는 대상체를 3차원으로 스캐닝함으로써 생성된 제1 텍스처 지도(13), 제1 폴리곤 메쉬(11) 및 제1 폴리곤 메쉬(11)에 제1 텍스처 지도(13)가 피팅(fitting)된 제1 모델(15)에 관련된 데이터를 포함할 수 있다. In the first model data 10, the first texture map 13, the first polygon mesh 11, and the first texture map 13 fitted to the first polygon mesh 11 are generated by scanning an object in three dimensions. It may include data related to the (fitting) the first model 15.

제1 모델 데이터(10)는 메모리 또는 데이터베이스에 저장된 것일 수 있다.The first model data 10 may be stored in memory or a database.

제1 모델 데이터(10)는 3차원 스캐너를 이용하여 획득된 것일 수 있다. 제1 모델 데이터(10)는 대상체에 대한 복수의 2차원 영상 데이터를 재구성함으로써 획득된 것일 수 있다. The first model data 10 may be obtained using a 3D scanner. The first model data 10 may be obtained by reconstructing a plurality of 2D image data of an object.

제2 모델 데이터(20)는 대상체의 일반적인 외형을 갖는 3차원 모델에 관련된 템플릿 데이터이다. 예를 들면, 제2 모델 데이터(20)는 사람의 일반적인 외형에 관련된 데이터일 수 있다. 또는, 제2 모델 데이터(20)는 동물(예를 들면, 강아지, 고양이, 사자)의 일반적인 외형에 관련된 데이터 일 수 있다. 또는, 제2 모델 데이터(20)는 식물(예를 들면, 해바라기, 선인장)의 일반적인 외형에 관련된 데이터 일 수 있다. 또는, 제2 모델 데이터(20)는 상상속의 크리쳐(예를 들면, 공룡, 용, 삼두사)의 일반적인 외형에 관련된 데이터 일 수 있다.The second model data 20 is template data related to a three-dimensional model having a general appearance of an object. For example, the second model data 20 may be data related to the general appearance of a person. Alternatively, the second model data 20 may be data related to the general appearance of an animal (eg, puppy, cat, lion). Alternatively, the second model data 20 may be data related to a general appearance of a plant (eg, sunflower, cactus). Alternatively, the second model data 20 may be data related to a general appearance of an imaginary creature (eg, dinosaur, dragon, or samdusa).

제2 모델 데이터(20)는 제2 폴리곤 메쉬(21), 제2 텍스처 지도(23) 및 제2 폴리곤 메쉬(21)에 제2 텍스처 지도(23)가 피팅된 제2 모델(25)에 관련된 데이터를 포함할 수 있다. The second model data 20 is related to a second model 25 in which the second texture map 23 is fitted to the second polygon mesh 21, the second texture map 23, and the second polygon mesh 21. Data.

제3 모델 데이터(30)는 제1 모델 데이터(10)의 텍스처를 제2 모델 데이터(20)로 전이함으로써 생성될 수 있다. The third model data 30 may be generated by transferring the texture of the first model data 10 to the second model data 20.

제3 모델 데이터(30)는 제3 폴리곤 메쉬(31), 제3 텍스처 지도(33) 및 제3 폴리곤 메쉬(31)에 제3 텍스처 지도(33)가 피팅된 제3 모델(35)에 관련된 데이터를 포함할 수 있다. The third model data 30 is related to the third polygon 35, the third texture map 33, and the third model 35 with the third texture map 33 fitted to the third polygon mesh 31. Data.

제3 폴리곤 메쉬(31)는 제1 폴리곤 메쉬(11)와 제2 폴리곤 메쉬를 맵핑(Mapping)한 결과에 기초하여, 제2 폴리곤 메쉬(21)가 와핑(warping)됨으로써 생성될 수 있다. 도 3 내지 도 5를 참조하여, 아래에서 구체적으로 설명한다.The third polygon mesh 31 may be generated by warping the second polygon mesh 21 based on a result of mapping the first polygon mesh 11 and the second polygon mesh. With reference to Figs. 3 to 5, it will be described in detail below.

제3 텍스처 지도(33)는 제1 폴리곤 메쉬(11)와 제2 폴리곤 메쉬를 맵핑(Mapping)한 결과에 기초하여, 제2 텍스처 지도(23)에 제1 텍스터 지도가 전이됨으로써 생성될 수 있다. 또한, 제3 텍스처 지도(33)는 제1 텍스처 지도(13)가 전이된 제2 텍스처 지도(23)에 후처리가 수행됨으로써 생성될 수 있다. 도 6 및 도 7을 참조하여, 아래에서 구체적으로 설명한다.The third texture map 33 may be generated by transferring the first texture map to the second texture map 23 based on the result of mapping the first polygon mesh 11 and the second polygon mesh. . Also, the third texture map 33 may be generated by performing post-processing on the second texture map 23 to which the first texture map 13 is transferred. With reference to Figures 6 and 7, it will be described in detail below.

제1 모델(15)과 제2 모델(25)은 다른 형태일 수 있다. 제1 텍스처 지도(13)는 제2 텍스처 지도(23)와 다른 유형일 수 있다. 즉, 본 개시에 따르면, 전자 장치(1000) 또는 서버(2000)는 3차원 모델의 구조와 텍스처 지도의 유형과 무관하게 제1 모델(15)의 텍스처를 제2 모델(25)로 전이함으로써 제3 모델(35)을 생성할 수 있다. The first model 15 and the second model 25 may have different shapes. The first texture map 13 may be of a different type from the second texture map 23. That is, according to the present disclosure, the electronic device 1000 or the server 2000 transfers the texture of the first model 15 to the second model 25 regardless of the structure of the 3D model and the type of the texture map. 3 model 35 can be created.

도 2는 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 방법의 순서도이다.2 is a flow chart of a method of transferring a texture of a 3D model, according to an embodiment.

단계 S210을 참조하면, 전자 장치(1000)는 제1 모델의 제1 기준점과 제2 모델의 제2 기준점을 설정할 수 있다.Referring to step S210, the electronic device 1000 may set a first reference point of the first model and a second reference point of the second model.

전자 장치(1000)는 제1 텍스처 지도(13)의 각 화소를 제1 기준점으로 설정할 수 있다. 전자 장치(1000)는 제1 폴리곤 메쉬(11)에 포함된 메쉬들의 각각의 무게 중심 좌표를 제1 기준점으로 설정할 수 있다. The electronic device 1000 may set each pixel of the first texture map 13 as a first reference point. The electronic device 1000 may set each center of gravity coordinates of the meshes included in the first polygon mesh 11 as the first reference point.

전자 장치(1000)는 제2 텍스처 지도(23)의 각 화소를 제2 기준점으로 설정할 수 있다. 전자 장치(1000)는 제2 폴리곤 메쉬(21)에 포함된 메쉬들의 각각의 무게 중심 좌표를 제2 기준점으로 설정할 수 있다. The electronic device 1000 may set each pixel of the second texture map 23 as a second reference point. The electronic device 1000 may set each center of gravity coordinates of the meshes included in the second polygon mesh 21 as the second reference point.

전자 장치(1000)는 제1 텍스처 지도(13)의 각 화소와 제1 폴리곤 메쉬(11)의 상관 관계에 기초하여, 제1 텍스처 지도(13)와 제1 폴리곤 메쉬(11)를 맵핑할 수 있다. 제1 텍스처 지도(13)와 제1 폴리곤 메쉬(11)는 제1 모델을 생성할 때 맵핑 되어있을 수 있다. 예를 들면, 대상체가 3차원 스캐닝될 때, 동일한 좌표에 위치된 제1 텍스처 지도(13)의 각 화소와 제1 폴리곤 메쉬(11)가 맵핑될 수 있다.The electronic device 1000 may map the first texture map 13 and the first polygon mesh 11 based on the correlation between each pixel of the first texture map 13 and the first polygon mesh 11. have. The first texture map 13 and the first polygon mesh 11 may be mapped when creating the first model. For example, when the object is 3D scanned, each pixel of the first texture map 13 positioned at the same coordinate and the first polygon mesh 11 may be mapped.

전자 장치(1000)는 제2 텍스처 지도(23)의 각 화소와 제2 폴리곤 메쉬(21)의 상관 관계에 기초하여, 제2 텍스처 지도(23)와 제2 폴리곤 메쉬(21)를 맵핑할 수 있다. The electronic device 1000 may map the second texture map 23 and the second polygon mesh 21 based on the correlation between each pixel of the second texture map 23 and the second polygon mesh 21. have.

예를 들면, 전자 장치(1000)는 Point Inclusion in Ploygon Test(PNPOLY) 알고리즘을 이용함으로써, 제2 텍스처 지도(23)의 특정 화소와 제2 폴리곤 메쉬(21)를 맵핑할 수 있다. For example, the electronic device 1000 may map a specific pixel of the second texture map 23 and the second polygon mesh 21 by using the Point Inclusion in Ploygon Test (PNPOLY) algorithm.

구체적으로, 전자 장치(1000)는 제2 텍스처 지도(23)의 제1 화소가 제2 폴리곤 메쉬(21) 중 제1 메쉬가 포함된 좌표의 최대값 및 최소값 사이의 제1 범위에 위치되는지를 확인할 수 있다. 전자 장치(1000)는 제1 메쉬의 제1 범위에 위치된 제1 화소를 스캔 라인을 따라 제1 메쉬와의 교차점을 확인할 수 있다. 전자 장치(1000)는 제1 화소와 제1 메쉬의 교차점의 개수에 기초하여, 제1 화소가 제1 메쉬를 통과한 것인지 여부를 식별할 수 있다. 전자 장치(1000)는 제1 메쉬내의 제1 화소가 위치된 무게 중심 좌표를 획득할 수 있다. 전자 장치(1000)는 제2 텍스처 지도의 각 화소가 위치된 제2 폴리곤 메쉬(21)내의 무게 중심 좌표를 획득할 수 있다.Specifically, the electronic device 1000 determines whether the first pixel of the second texture map 23 is located in a first range between a maximum value and a minimum value of the coordinates of the second polygon mesh 21 in which the first mesh is included. Can be confirmed. The electronic device 1000 may check the intersection of the first pixel positioned in the first range of the first mesh with the first mesh along the scan line. The electronic device 1000 may identify whether the first pixel has passed the first mesh based on the number of intersections between the first pixel and the first mesh. The electronic device 1000 may obtain a center of gravity coordinate in which the first pixel in the first mesh is located. The electronic device 1000 may obtain center of gravity coordinates in the second polygon mesh 21 in which each pixel of the second texture map is located.

제2 텍스처 지도(23)의 각 화소와 제2 폴리곤 메쉬(21)의 상관 관계는 테이블로 생성되어 메모리 또는 데이터 베이스에 저장될 수 있다. Correlation between each pixel of the second texture map 23 and the second polygon mesh 21 may be generated as a table and stored in a memory or a database.

제2 텍스처 지도(23)의 각 화소와 제2 폴리곤 메쉬(21)의 상관 관계는 메모리 또는 데이터 베이스에 기 저장되어 있을 수 있다. 즉, 제2 모델이 생성될 때, 제2 텍스처 지도(23)의 각 화소와 제2 폴리곤 메쉬(21)의 상관 관계가 메모리 또는 데이터 베이스에 저장될 수 있다. The correlation between each pixel of the second texture map 23 and the second polygon mesh 21 may be pre-stored in a memory or a database. That is, when the second model is generated, a correlation between each pixel of the second texture map 23 and the second polygon mesh 21 may be stored in a memory or database.

단계 S230을 참조하면, 전자 장치(1000)는 제1 기준점 및 제2 기준점을 맵핑할 수 있다. Referring to step S230, the electronic device 1000 may map the first reference point and the second reference point.

일 실시예에 따르면, 전자 장치(1000)는 제2 기준점으로부터 제1 기준점으로 레이(ray)를 조사하는 레이-트레이싱(ray-tracing)을 수행함으로써, 제1 기준점과 제2 기준점을 맵핑 할 수 있다. 레이-트레이싱은 도 3을 참조하여 아래에서 구체적으로 설명한다.According to an embodiment, the electronic device 1000 may map the first reference point and the second reference point by performing ray-tracing to irradiate the ray from the second reference point to the first reference point. have. Ray-tracing is specifically described below with reference to FIG. 3.

일 실시예에 따르면, 전자 장치(1000)는 제1 기준점으로부터 제2 기준점으로 레이(ray)를 조사하는 퐁-프로젝션(Phong-projection)을 수행함으로써, 제1 기준점과 제2 기준점을 맵핑할 수 있다. 퐁-프로젝션은 도 4를 참조하여 아래에서 구체적으로 설명한다.According to an embodiment, the electronic device 1000 may map the first reference point and the second reference point by performing a Phong-projection that irradiates the ray from the first reference point to the second reference point. have. Pong-projection will be described in detail below with reference to FIG. 4.

일 실시예에 따르면, 전자 장치(1000)는 복수의 제1 기준점들과 복수의 제2 기준점들 각각을 연결하는 레이(ray)들이 소정의 간격으로 이격되도록, 상기 레이들의 간격을 정규화(Regualtion)를 수행할 수 있다. 정규화는 도 5를 참조하여 아래에서 구체적으로 설명한다.According to an embodiment, the electronic device 1000 normalizes the intervals of the rays so that the rays connecting each of the plurality of first reference points and the plurality of second reference points are spaced apart at predetermined intervals. You can do Normalization will be described in detail below with reference to FIG. 5.

레이-트레이싱, 퐁-프로젝션 및 정규화는 각각 수행될 수 있고, 함께 수행될 수 있으며, 어느 하나가 제외되고 나머지만 수행될 수 있다.Ray-tracing, pong-projection and normalization can each be performed, can be performed together, and any one can be excluded and only the rest can be performed.

단계 S250을 참조하면, 전자 장치(1000)는 제2 모델의 외형을 제1 모델의 외형에 대응되도록 와핑할 수 있다. 단계 S250은 필수적인 단계는 아니며, 전자 장치(1000)는 제2 모델의 외형을 제1 모델의 외형에 대응되도록 와핑하지 않아도, 단계 S270과 같이 제1 기준점의 인근에 위치된 텍스처를 제2 기준점의 인근에 위치된 텍스처에 전이할 수 있다. Referring to step S250, the electronic device 1000 may warp the appearance of the second model to correspond to the appearance of the first model. Step S250 is not an essential step, and even if the electronic device 1000 does not warp the appearance of the second model to correspond to the appearance of the first model, the texture located in the vicinity of the first reference point as in step S270 is the second reference point. You can transition to a texture located nearby.

일 실시예에 따르면, 전자 장치(1000)는 제1 기준점 및 제2 기준점을 맵핑한 결과에 기초하여, 제2 폴리곤 메쉬(21)를 조정함으로써 제2 모델의 외형을 와핑할 수 있다. According to an embodiment, the electronic device 1000 may warp the appearance of the second model by adjusting the second polygon mesh 21 based on the result of mapping the first reference point and the second reference point.

예를 들면, 전자 장치(1000)는 레이-트레이싱을 수행함으로써 제1 기준점에 맵핑된 제2 기준점에 기초하여, 제2 폴리곤 메쉬(21)에 포함된 정점의 위치를 조정함으로써 제2 모델(25)의 외형을 와핑할 수 있다.For example, the electronic device 1000 may adjust the position of the vertex included in the second polygon mesh 21 based on the second reference point mapped to the first reference point by performing ray-tracing. ) Can be warped.

다른 예를 들면, 전자 장치(1000)는 퐁-프로젝션을 수행함으로써 제1 기준점에 맵핑된 제2 기준점에 기초하여, 제2 폴리곤 메쉬(21)에 포함된 정점의 위치를 조정함으로써 제2 모델(25)의 외형을 와핑할 수 있다.For another example, the electronic device 1000 may adjust the position of the vertex included in the second polygon mesh 21 based on the second reference point mapped to the first reference point by performing pong-projection. The appearance of 25) can be warped.

또 다른 예를 들면, 전자 장치(1000)는 제1 기준점과 제2 기준점을 연결하는 레이들의 간격에 정규화를 수행함으로써 제1 기준점과 제2 기준점을 맵핑하고, 제2 기준점에 기초하여 제2 폴리곤 메쉬(21)에 포함된 정점(vertex)의 위치를 조정함으로써 제2 모델(25)의 외형을 와핑할 수 있다.For another example, the electronic device 1000 maps the first reference point and the second reference point by performing normalization to the interval of the ladle connecting the first reference point and the second reference point, and based on the second reference point, the second polygon By adjusting the position of the vertex included in the mesh 21, the appearance of the second model 25 can be warped.

일 실시예에 따르면, 전자 장치(1000)는 제2 폴리곤 메쉬(21)에 포함된 메쉬들 각각의 무게 중심 좌표를 제1 폴리곤 메쉬(11)에 포함된 메쉬들 각각의 무게 중심 좌표에 대응하도록, 제2 폴리곤 메쉬(21)의 정점들을 이동할 수 있다.According to an embodiment, the electronic device 1000 may correspond to the center of gravity coordinate of each of the meshes included in the second polygon mesh 21 to the center of gravity coordinate of each of the meshes included in the first polygon mesh 11. , The vertices of the second polygon mesh 21 can be moved.

단계 S270을 참조하면, 전자 장치(1000)는 제1 기준점의 인근에 위치된 텍스처를 제2 기준점의 인근에 위치된 텍스처에 전이할 수 있다. Referring to step S270, the electronic device 1000 may transfer a texture located near the first reference point to a texture located near the second reference point.

전자 장치(1000)는 제1 기준점 및 제2 기준점을 맵핑한 결과에 기초하여, 제1 기준점의 인근에 위치된 텍스처를 제2 기준점의 인근에 위치된 텍스처에 전이할 수 있다.The electronic device 1000 may transition a texture located near the first reference point to a texture located near the second reference point based on a result of mapping the first reference point and the second reference point.

일 실시예에 따르면, 전자 장치(1000)는 제1 폴리곤 메쉬(11)에 포함된 제1 메쉬의 무게 중심 좌표의 인근에 위치된 텍스처를 제2 폴리곤 메쉬(21)에 포함된 제2 메쉬의 무게 중심 좌표의 인근에 위치된 텍스처에 전이할 수 있다. According to an embodiment, the electronic device 1000 may include a texture located in the vicinity of the center of gravity coordinates of the first mesh included in the first polygon mesh 11 of the second mesh included in the second polygon mesh 21. You can transition to a texture located near the center of gravity coordinates.

예를 들면, 전자 장치(1000)는 제1 메쉬의 정점들 내에 맵핑된 제1 텍스처 지도의 화소의 데이터를 제2 메쉬의 정점들 내에 맵핑된 제2 텍스처 지도의 화소에 전이할 수 있다.For example, the electronic device 1000 may transfer data of pixels of the first texture map mapped in vertices of the first mesh to pixels of the second texture map mapped in vertices of the second mesh.

일 실시예에 따르면, 전자 장치(1000)는 제1 폴리곤 메쉬(11)에 포함된 제1 정점의 인근에 위치된 텍스처를 제2 폴리곤 메쉬(21)에 포함된 제2 정점의 인근에 위치된 텍스처에 전이할 수 있다.According to an embodiment, the electronic device 1000 may include a texture located near the first vertex included in the first polygon mesh 11 and located near the second vertex included in the second polygon mesh 21. You can transition to the texture.

예를 들면, 전자 장치(1000)는 제1 정점을 공유하는 제1 메쉬들내에 맵핑된 제1 텍스처 지도의 화소의 데이터들을 제2 정점을 공유하는 제2 메쉬들내에 맵핑된 제2 텍스처 지도의 화소들에 전이할 수 있다. 이 때, 제1 정점은 제2 기준점인 제2 정점에 맵핑된 제1 기준점일 수 있다.For example, the electronic device 1000 may display data of pixels of the first texture map mapped in the first meshes sharing the first vertex of the second texture map mapped in the second meshes sharing the second vertex. It can transition to pixels. At this time, the first vertex may be a first reference point mapped to a second vertex that is a second reference point.

일 실시예에 따르면, 전자 장치(1000)는 텍스처가 전이된 제2 모델 데이터(20)에 후처리를 수행할 수 있다. 예를 들면, 전자 장치(1000)는 제2 텍스처 지도(23)의 적어도 일부에 보간(inpainting)을 수행할 수 있다. 다른 예를 들면, 전자 장치(1000)는 제2 폴리곤 메쉬(21)의 정점을 이동할 수 있다. 전자 장치(1000)가 수행하는 후처리는 도 6을 참조하여 아래에서 구체적으로 설명한다.According to an embodiment, the electronic device 1000 may perform post-processing on the second model data 20 with the texture transferred. For example, the electronic device 1000 may perform inpainting on at least a portion of the second texture map 23. For another example, the electronic device 1000 may move the vertex of the second polygon mesh 21. The post-process performed by the electronic device 1000 will be described in detail below with reference to FIG. 6.

도 3은 일 실시예에 따른, 레이-트레이싱(ray-tracing)을 나타내는 도면이다.3 is a diagram showing ray-tracing, according to an embodiment.

도 3을 참조하면, 전자 장치(1000)는 제2 폴리곤 메쉬(21)로부터 제1 폴리곤 메쉬(11)로 레이(ray)를 조사함으로써, 제2 기준점과 제1 기준점을 맵핑할 수 있다. 이 경우, 레이는 제2 폴리곤 메쉬(21)의 표면으로부터 수직 방향으로 조사될 수 있다.Referring to FIG. 3, the electronic device 1000 may map a second reference point and a first reference point by irradiating a ray from the second polygon mesh 21 to the first polygon mesh 11. In this case, the ray can be irradiated in the vertical direction from the surface of the second polygon mesh 21.

전자 장치(1000)는 제2 폴리곤 메쉬(21)에 설정된 제2 기준점으로부터 조사된 레이를 직선 방정식으로 계산하여, 레이를 추적할 수 있다. 전자 장치(1000)는 제2 기준점으로부터 조사된 레이가 제1 폴리곤 메쉬(11)에 입사된 교차점(intersection)을 제1 기준점으로 설정할 수 있다. 전자 장치(1000)는 제1 폴리곤 메쉬(11) 중 복수의 위치에 레이가 조사된 경우, 가장 가까운 교차점을 제1 기준점으로 설정할 수 있다. The electronic device 1000 may track the ray by calculating the ray irradiated from the second reference point set in the second polygon mesh 21 in a linear equation. The electronic device 1000 may set the intersection of the ray irradiated from the second reference point to the first polygon mesh 11 as the first reference point. When the ray is irradiated to a plurality of positions of the first polygon mesh 11, the electronic device 1000 may set the closest intersection as the first reference point.

전자 장치(1000)는 제2 기준점 및 제2 기준점에 대응하는 제1 기준점에 관련된 데이터를 저장할 수 있다. 이 경우, 저장되는 데이터는 제2 기준점의 좌표, 제2 기준점에서 조사된 레이의 조사각, 제2 기준점에 맵핑된 제2 텍스처 지도(23) 내의 좌표, 제1 기준점의 좌표, 제1 기준점에 맵핑된 제1 텍스처 지도(13) 내의 좌표를 포함할 수 있다. The electronic device 1000 may store data related to the second reference point and the first reference point corresponding to the second reference point. In this case, the stored data is the coordinates of the second reference point, the irradiation angle of the ray irradiated from the second reference point, the coordinates in the second texture map 23 mapped to the second reference point, the coordinates of the first reference point, and the first reference point. Coordinates in the mapped first texture map 13 may be included.

일 실시예에 따르면, 전자 장치(1000)는 제2 폴리곤 메쉬(21)에 포함된 제1 메쉬의 무게 중심 좌표를 제2 기준점으로 설정할 수 있다. 전자 장치(1000)는 제1 메쉬의 무게 중심 좌표로부터 조사된 레이가 제1 폴리곤 메쉬(11)에 입사된 좌표를 제1 기준점으로 설정할 수 있다. According to an embodiment, the electronic device 1000 may set the center of gravity coordinates of the first mesh included in the second polygon mesh 21 as the second reference point. The electronic device 1000 may set the coordinates of the ray irradiated from the center of gravity of the first mesh to the first polygon mesh 11 as the first reference point.

일 실시예에 따르면, 전자 장치(1000)는 제2 폴리곤 메쉬(21)에 포함된 제1 정점을 제2 기준점으로 설정할 수 있다. 전자 장치는 제1 정점으로부터 조사된 레이가 제1 폴리곤 메쉬(11)에 입사된 좌표를 제1 기준점으로 설정할 수 있다. According to an embodiment, the electronic device 1000 may set the first vertex included in the second polygon mesh 21 as the second reference point. The electronic device may set the coordinates of the ray irradiated from the first vertex to the first polygon mesh 11 as the first reference point.

전자 장치(1000)는 제2 폴리곤 메쉬(21)에 포함된 제1 메쉬의 무게 중심 좌표에 기초하여, 제2 폴리곤 메쉬(21)의 제1 정점의 위치 좌표를 획득할 수 있다.The electronic device 1000 may obtain the position coordinates of the first vertex of the second polygon mesh 21 based on the center of gravity coordinates of the first mesh included in the second polygon mesh 21.

전자 장치(1000)는 제1 정점의 위치 좌표 및 제1 정점에서 조사되는 레이의 방향 벡터를 보간(interpolation)함으로써, 레이가 입사된 제1 폴리곤 메쉬(11)의 교차점의 위치 좌표를 획득할 수 있다. 전자 장치(1000)는 제1 정점의 위치 좌표 및 제1 폴리곤 메쉬(11)의 교차점의 위치 좌표에 기초하여 제2 기준점의 위치 좌표 및 제1 기준점의 위치 좌표를 맵핑할 수 있다.The electronic device 1000 may interpolate the position coordinates of the first vertex and the direction vector of the ray irradiated from the first vertex, thereby obtaining the position coordinates of the intersection of the first polygon mesh 11 to which the ray is incident. have. The electronic device 1000 may map the position coordinates of the second reference point and the position coordinates of the first reference point based on the position coordinates of the first vertex and the position coordinates of the intersection point of the first polygon mesh 11.

도 4는 일 실시예에 따른, 퐁-프로젝션(Phong-projection)을 나타내는 도면이다.4 is a view showing a Phong-projection according to an embodiment.

도 4를 참조하면, 전자 장치(1000)는 제1 폴리곤 메쉬(11)로부터 제2 폴리곤 메쉬(21)로 레이를 조사함으로써, 제1 기준점과 제2 기준점을 맵핑할 수 있다. 이 경우, 레이는 제1 폴리곤 메쉬(11)의 표면으로부터 수직 방향으로 조사될 수 있다.Referring to FIG. 4, the electronic device 1000 may map the first reference point and the second reference point by irradiating the ray from the first polygon mesh 11 to the second polygon mesh 21. In this case, the ray can be irradiated in the vertical direction from the surface of the first polygon mesh 11.

전자 장치(1000)는 제1 폴리곤 메쉬(11)에 설정된 제1 기준점으로부터 조사된 레이를 직선 방정식으로 계산하여 레이를 추적할 수 있다. 전자 장치(1000)는 제1 기준점으로부터 조사된 레이가 제2 폴리곤 메쉬(21)에 입사된 교차점(intersection)을 제2 기준점으로 설정할 수 있다. 전자 장치(1000)는 제2 폴리곤 메쉬(21) 중 복수의 위치에 레이가 조사된 경우, 가장 가까운 교차점을 제2 기준점으로 설정할 수 있다. 전자 장치(1000)는 제1 기준점 및 제1 기준점에 대응하는 제2 기준점에 관련된 데이터를 저장할 수 있다. 이 경우, 저장되는 데이터는 제1 기준점의 좌표, 제1 기준점에서 조사된 레이의 조사각, 제1 기준점에 맵핑된 제1 텍스처 지도(13) 내의 좌표, 제2 기준점의 좌표, 제2 기준점에 맵핑된 제2 텍스처 지도(23) 내의 좌표를 포함할 수 있다. The electronic device 1000 may track the ray by calculating the ray irradiated from the first reference point set in the first polygon mesh 11 in a linear equation. The electronic device 1000 may set the intersection of the ray irradiated from the first reference point to the second polygon mesh 21 as the second reference point. When the ray is irradiated to a plurality of positions of the second polygon mesh 21, the electronic device 1000 may set the closest intersection as the second reference point. The electronic device 1000 may store data related to the first reference point and the second reference point corresponding to the first reference point. In this case, the stored data is the coordinates of the first reference point, the irradiation angle of the ray irradiated from the first reference point, the coordinates in the first texture map 13 mapped to the first reference point, the coordinates of the second reference point, and the second reference point. It may include coordinates in the mapped second texture map 23.

일 실시예에 따르면, 전자 장치(1000)는 레이-트레이싱을 수행함으로써 맵핑된 제1 기준점과 제2 기준점에 퐁-프로젝션을 수행할 수 있다. 전자 장치(1000)는 퐁-프로젝션을 수행함으로써 제1 기준점과 제2 기준점의 맵핑 결과를 보정할 수 있다. According to an embodiment, the electronic device 1000 may perform pong-projection on the first and second reference points mapped by performing ray-tracing. The electronic device 1000 may correct the mapping result of the first reference point and the second reference point by performing pong-projection.

일 실시예에 따르면, 전자 장치(1000)는 제1 기준점으로서, 제1 폴리곤 메쉬(11)에 포함된 제1 메쉬 내의 복수의 무게 중심 좌표, 복수의 무게 중심 좌표 각각으로부터 조사된 레이의 방향 벡터 및 제1 메쉬의 정점(vertex)의 위치 좌표에 기초하여 제2 기준점을 설정할 수 있다. 퐁-프로젝션을 수행함으로써 설정된 제2 기준점과 레이-트레이싱을 수행함으로써 설정된 제2 기준점은 서로 다른 위치에 설정될 수 있다. 전자 장치(1000)는 퐁-프로젝션을 수행함으로써 설정된 제2 기준점을 제1 기준점과 맵핑함으로써, 레이-트레이싱을 수행함으로써 맵핑한 결과를 보정할 수 있다. According to an embodiment, the electronic device 1000 as a first reference point, a direction vector of the ray irradiated from each of a plurality of center of gravity coordinates and a plurality of center of gravity coordinates in the first mesh included in the first polygon mesh 11 And a second reference point based on the position coordinates of the vertex of the first mesh. The second reference point set by performing pong-projection and the second reference point set by performing ray-tracing may be set at different positions. The electronic device 1000 may correct the mapping result by performing ray-tracing by mapping the second reference point set by performing the pong-projection with the first reference point.

예를 들면, 전자 장치(1000)는 수학식 1 내지 수학식 4의 알고리즘을 이용하여 퐁-프로젝션을 수행할 수 있다. 수학식 1 내지 수학식 4는 삼각형인 제1 메쉬를 기준으로 적용되는 알고리즘을 설명한 것이다. 4각형 이상의 메쉬는 수학식 1 내지 수학식 4를 수정하여 퐁-프로젝션을 수행할 수 있다.For example, the electronic device 1000 may perform pong-projection using the algorithms of Equations 1 to 4 below. Equations 1 to 4 describe algorithms applied based on a first mesh that is a triangle. For a quadrangular mesh or more, it is possible to perform pong-projection by modifying Equations 1 to 4.

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

수학식 1 내지 수학식 4에 있어서,

Figure pat00005
,
Figure pat00006
,
Figure pat00007
는 각각 제1 기준점으로서 제1 메쉬에 포함된 무게 중심 좌표를 나타내고, n1, n2, n3는 제1 메쉬의 무게 중심 좌표에서 조사된 레이의 방향 벡터이고, v1, v2, v3는 제1 메쉬에 포함된 정점(vertex)의 위치 좌표이고, yt는 제2 기준점의 위치 좌표를 나타낸다.In Equations 1 to 4,
Figure pat00005
,
Figure pat00006
,
Figure pat00007
Denotes the center of gravity coordinates included in the first mesh as the first reference point, n 1 , n 2 , and n 3 are the direction vectors of the ray irradiated from the center of gravity coordinates of the first mesh, v 1 , v 2 , v 3 is a location coordinate of a vertex included in the first mesh, and y t represents a location coordinate of the second reference point.

도 5는 일 실시예에 따른, 레이들의 간격을 정규화하는 것을 나타내는 도면이다.5 is a diagram for normalizing the spacing of a ladle, according to an embodiment.

도 5를 참조하면, 전자 장치(1000)는 제1 폴리곤 메쉬(11)에 포함된 복수의 제1 기준점들 및 제2 폴리곤 메쉬(21)에 포함된 복수의 제2 기준점들을 연결하는 레이들(511a, 511b)이 소정의 간격으로 이격되도록, 레이들(511a, 511b)의 간격을 정규화 할 수 있다. Referring to FIG. 5, the electronic device 1000 may include a ladle connecting a plurality of first reference points included in the first polygon mesh 11 and a plurality of second reference points included in the second polygon mesh 21 ( The spacing of the ladles 511a, 511b may be normalized so that the 511a, 511b) are spaced at a predetermined interval.

정규화 되기 전(510) 레이들(511a, 511b)의 간격은 일 측의 길이(d1a)가 타 측의 길이(d1b)보다 멀 수 있다. 이 경우, 제1 모델(15)의 외형과 제2 모델(25)의 외형 상 차이가 존재하기 때문에, 제1 모델(15)로부터 제2 모델(25)로 텍스처가 자연스럽지 않게 전이될 수 있다. The interval between the ladles 511a and 511b before normalization 510 may have a length d1a on one side greater than a length d1b on the other side. In this case, since there is a difference in appearance between the first model 15 and the second model 25, the texture may be unnaturally transferred from the first model 15 to the second model 25. .

따라서, 전자 장치(1000)는 레이들(511a, 511b)의 간격의 일 측의 길이(d2a)가 타 측의 길이(d2b)와 일정하도록 정규화 함으로써, 제1 폴리곤 메쉬(11)에 포함된 제1 기준점들과 제2 폴리곤 메쉬(21)에 포함된 제2 기준점을 맵핑한 결과를 보정할 수 있다.Therefore, the electronic device 1000 normalizes so that the length d2a of one side of the spacing of the ladles 511a and 511b is constant with the length d2b of the other side, thereby eliminating the first polygon mesh 11. The result of mapping the first reference points and the second reference points included in the second polygon mesh 21 may be corrected.

전자 장치(1000)는 제1 기준점 및 제2 기준점 중 적어도 하나의 위치를 조정함으로써 레이들 사이의 간격을 정규화 할 수 있다. 도 5를 참조하여 예를 들면, 전자 장치(1000)는 최대 간격에 위치된 제1 기준점을 레이의 간격을 좁히는 방향으로 이동함으로써 레이들(511a, 511b) 사이의 간격을 정규화 할 수 있다. 또는 전자 장치(1000)는 최소 간격에 위치된 제2 기준점을 레이의 간격을 넓히는 방향으로 이동함으로써 레이들(511a, 511b) 사이의 간격을 정규화 할 수 있다. 또는 전자 장치(1000)는 제1 기준점 및 제2 기준점을 이동함으로써 레이들(511a, 511b) 사이의 간격을 정규화 할 수 있다.The electronic device 1000 may normalize the distance between the ladles by adjusting the position of at least one of the first reference point and the second reference point. Referring to FIG. 5, for example, the electronic device 1000 may normalize the spacing between the ladles 511a and 511b by moving the first reference point located at the maximum spacing in a direction to narrow the spacing of the rays. Alternatively, the electronic device 1000 may normalize the spacing between the ladles 511a and 511b by moving the second reference point located at the minimum spacing in the direction of widening the spacing of the rays. Alternatively, the electronic device 1000 may normalize the distance between the ladles 511a and 511b by moving the first reference point and the second reference point.

일 실시예에 따르면, 전자 장치(1000)는 레이들(511a, 511b)의 최대 간격 및 최소 간격에 기초하여 레이들(511a, 511b) 사이의 간격을 정규화 할 수 있다. 예를 들면, 전자 장치(1000)는 최대 간격 및 최소 간격의 평균 거리가 되도록 레이들(511a, 511b) 사이의 간격을 정규화 할 수 있다. 다른 예를 들면, 전자 장치(1000)는 레이들(511a, 511b) 사이의 간격이 최소 간격의 정수배가 되도록 정규화 할 수 있다. According to an embodiment, the electronic device 1000 may normalize the interval between the ladles 511a and 511b based on the maximum and minimum intervals of the ladles 511a and 511b. For example, the electronic device 1000 may normalize the interval between the ladles 511a and 511b so as to be the average distance between the maximum interval and the minimum interval. For another example, the electronic device 1000 may normalize the interval between the ladles 511a and 511b to be an integer multiple of the minimum interval.

도 6은 일 실시예에 따른, 텍스처를 전이한 후 후처리(post processing)의 예시를 나타낸 도면이다.6 is a diagram illustrating an example of post processing after transferring a texture according to an embodiment.

일 실시예에 따르면, 전자 장치(1000)는 전이된 텍스처 중 적어도 일부 영역을 보간(interpolation)하는 후처리를 수행할 수 있다. 제2 텍스처 지도(23)에 전이되는 제1 텍스처 지도(13)의 화소 값은 정수 값이므로, 제1 텍스처 지도(13)의 화소의 데이터가 제2 텍스처 지도(23)에 전이됨으로써 생성된 제3 텍스처 지도(33)는 부자연스러운 텍스처를 포함할 수 있다. According to an embodiment, the electronic device 1000 may perform post-processing to interpolate at least some regions of the transferred texture. Since the pixel value of the first texture map 13 transferred to the second texture map 23 is an integer value, the data generated by transferring the data of the pixels of the first texture map 13 to the second texture map 23 is generated. 3 The texture map 33 may include an unnatural texture.

전자 장치(1000)는 제3 텍스처 지도(33)의 소정의 화소에 대해서 보간을 수행함으로써, 자연스러운 텍스처를 생성할 수 있다. 예를 들면, 전자 장치(1000)는 주변의 화소들의 컬러 값과 차이가 큰 컬러 값를 포함하는 화소가 주변의 화소들의 컬러 값을 평균한 값을 포함하도록 보간을 수행할 수 있다. 다른 예를 들면, 전자 장치(1000)는 다른 컬러 값을 갖는 화소들의 경계에 위치된 화소가 다른 컬러 값의 중간 값을 포함하도록 보간을 수행할 수 있다.The electronic device 1000 may generate a natural texture by performing interpolation on a predetermined pixel of the third texture map 33. For example, the electronic device 1000 may perform interpolation such that a pixel including a color value having a large difference from a color value of surrounding pixels includes an average value of color values of surrounding pixels. For another example, the electronic device 1000 may perform interpolation such that a pixel located at a boundary of pixels having different color values includes an intermediate value of different color values.

일 실시예에 따르면, 전자 장치(1000)는 제3 모델(35)의 외형을 조정하는 후처리를 수행할 수 있다. 제1 기준점 및 제2 기준점을 맵핑한 결과가 정확하지 않거나, 제2 폴리곤 메쉬(21)를 조정한 결과에 따라서 제3 모델(35)의 외형 중 일부가 부자연스러울 수 있다. 예를 들면, 제3 폴리곤 메쉬(31) 중 제1 메쉬에 포함된 제1 정점이 제1 메쉬에 포함된 다른 정점과 크게 이격될 수 있다. According to an embodiment, the electronic device 1000 may perform post-processing to adjust the appearance of the third model 35. The result of mapping the first reference point and the second reference point may be inaccurate, or a part of the appearance of the third model 35 may be unnatural depending on the result of adjusting the second polygon mesh 21. For example, a first vertex included in the first mesh of the third polygon mesh 31 may be greatly separated from other vertices included in the first mesh.

전자 장치(1000)는 제3 폴리곤 메쉬(31)에 포함된 적어도 하나의 정점의 위치를 조정함으로써, 제3 모델(35)의 외형을 조정할 수 있다. The electronic device 1000 may adjust the appearance of the third model 35 by adjusting the position of at least one vertex included in the third polygon mesh 31.

일 실시예에 따르면, 전자 장치(1000)는 제1 정점의 원 위치 좌표와 제1 메쉬에 포함된 다른 정점의 위치 좌표들의 평균 위치 좌표에 기초하여, 제1 정점의 위치를 조정할 수 있다. 예를 들면, 전자 장치(1000)는 평균 위치 좌표와 제1 정점의 원 위치 좌표의 평균에 해당하는 위치 좌표로 제1 정점의 위치를 조정할 수 있다. According to an embodiment, the electronic device 1000 may adjust the position of the first vertex based on the original position coordinates of the first vertex and the average position coordinates of the position coordinates of the other vertices included in the first mesh. For example, the electronic device 1000 may adjust the position of the first vertex with the position coordinate corresponding to the average of the average position coordinate and the original position coordinate of the first vertex.

일 실시예에 따르면, 전자 장치(1000)는 제1 정점과 제1 정점과 연결된 제2 정점들 각각의 간격에 기초하여 제1 정점의 위치를 조정할 수 있다. 예를 들면, 전자 장치(1000)는 제1 정점과 제2 정점들 각각의 간격이 동일하도록 제1 정점의 위치를 조정할 수 있다. According to an embodiment, the electronic device 1000 may adjust the position of the first vertex based on the interval of each of the first vertex and the second vertices connected to the first vertex. For example, the electronic device 1000 may adjust the position of the first vertex such that the distance between each of the first and second vertices is the same.

전자 장치(1000)는 제3 텍스처 지도(33)의 소정의 화소에 대해서 보간을 수행함으로써, 자연스러운 텍스처를 생성할 수 있다. 예를 들면, 전자 장치(1000)는 주변의 화소들의 컬러 값과 차이가 큰 컬러 값를 포함하는 화소가 주변의 화소들의 컬러 값을 평균한 값을 포함하도록 보간을 수행할 수 있다. 다른 예를 들면, 전자 장치(1000)는 다른 컬러 값을 갖는 화소들의 경계에 위치된 화소가 다른 컬러 값의 중간 값을 포함하도록 보간을 수행할 수 있다.The electronic device 1000 may generate a natural texture by performing interpolation on a predetermined pixel of the third texture map 33. For example, the electronic device 1000 may perform interpolation such that a pixel including a color value having a large difference from a color value of surrounding pixels includes an average value of color values of surrounding pixels. For another example, the electronic device 1000 may perform interpolation such that a pixel located at a boundary of pixels having different color values includes an intermediate value of different color values.

일 실시예에 따르면, 전자 장치(1000)는 텍스처 중 일부 영역을 채색(inpainting)하는 후처리를 수행할 수 있다. 제1 기준점과 제2 기준점이 맵핑되지 않거나, 제1 폴리곤 메쉬(11)와 제1 텍스처 지도(13)가 맵핑되지 않거나, 제2 폴리곤 메쉬(21)와 제2 텍스처 지도(23)가 맵핑되지 않은 경우, 일부 제1 모델의 텍스처의 전이가 되지 않아 제3 텍스처 지도(33)의 일부 화소는 컬러 값을 포함하지 않을 수 있다. According to an embodiment of the present disclosure, the electronic device 1000 may perform post-processing to inpaint some areas of the texture. The first reference point and the second reference point are not mapped, the first polygon mesh 11 and the first texture map 13 are not mapped, or the second polygon mesh 21 and the second texture map 23 are not mapped. If not, some of the pixels of the third texture map 33 may not include color values because the textures of some first models are not transferred.

전자 장치(1000)는 컬러 값을 포함하지 않은 제3 텍스처 지도(33)의 일부 화소에 채색하는 후처리를 수행할 수 있다. 전자 장치(1000)는 제3 텍스처 지도(33) 중 제1 텍스처 지도(13)의 컬러 값이 전이 되지 않은 제1 텍스처 영역(37)을 검출할 수 있다. 전자 장치(1000)는 제1 텍스처 영역(37)의 인근에 위치된 제2 텍스처 영역으로부터 제2 텍스처 영역에 전이된 제1 텍스처 지도(13)의 컬러 값에 기초하여 제1 텍스처 영역(37)을 채색하는 후처리를 수행할 수 있다. The electronic device 1000 may perform post-processing to color some pixels of the third texture map 33 that do not include color values. The electronic device 1000 may detect the first texture region 37 in which the color value of the first texture map 13 among the third texture maps 33 is not transferred. The electronic device 1000 based on the color value of the first texture map 13 transferred from the second texture area located in the vicinity of the first texture area 37 to the second texture area 37 It is possible to perform a post-processing coloring the.

전자 장치(1000)는 제1 텍스처 영역(37)을 나타내는 채색 마스크(40)를 생성할 수 있다. 전자 장치(1000)는 채색 마스크(40)에 채색함으로써, 제3 텍스처 지도(33)를 손상시키지 않을 수 있다. 전자 장치(1000)는 채색 마스크(40)를 제3 텍스처 지도에 합산함으로써 제1 텍스처 영역(37)에 채색할 수 있다. The electronic device 1000 may generate a coloring mask 40 representing the first texture area 37. The electronic device 1000 may not damage the third texture map 33 by coloring the coloring mask 40. The electronic device 1000 may color the first texture region 37 by adding the coloring mask 40 to the third texture map.

전자 장치(1000)는 제1 텍스처 영역(37)으로부터 소정 영역을 확장하여 채색할 수 있다. 이를 통해 자연스러운 제1 텍스처 영역(37)이 자연스럽게 채색될 수 있다. The electronic device 1000 may expand and color a predetermined area from the first texture area 37. Through this, the first natural texture area 37 may be naturally colored.

도 7은 일 실시예에 따른, 텍스처 지도에 무관하게 텍스처 정보를 생성한 결과를 나타낸 도면이다. 7 is a view showing a result of generating texture information regardless of a texture map according to an embodiment.

제1 텍스처 지도(13)는 다양한 장치 및 다양한 방법으로 획득될 수 있다. 예를 들면, 제1 텍스처 지도(13)는 3차원 스캐너를 이용하여 획득될 수 있고, 다수의 2차원 영상을 조합함으로써 획득될 수 있다. 3차원 스캐너를 통해서 제1 텍스처 지도(13)가 획득되는 경우에도, 3차원 스캐너의 제조사 마다 다른 텍스처 지도를 생성할 수 있다. 따라서, 제1 텍스처 지도(13)는 다양한 유형으로 생성될 수 있다.The first texture map 13 can be obtained by various devices and various methods. For example, the first texture map 13 may be obtained using a 3D scanner, or may be obtained by combining a plurality of 2D images. Even if the first texture map 13 is acquired through the 3D scanner, different texture maps may be generated for each manufacturer of the 3D scanner. Accordingly, the first texture map 13 can be generated in various types.

제2 모델(25)을 생성하는 프로그램의 종류에 따라서, 제2 텍스처 지도(23)는 다양한 형태로 생성될 수 있다. Depending on the type of program generating the second model 25, the second texture map 23 may be generated in various forms.

도 7을 참조하면, 본 개시는 제1 텍스처 지도(710) 및 제2 텍스처 지도(730)의 형태 및 종류에 무관하게 텍스처 데이터가 전이되어 제3 텍스처 지도(750)가 생성될 수 있음을 알 수 있다.Referring to FIG. 7, the present disclosure recognizes that texture data is transferred regardless of the shape and type of the first texture map 710 and the second texture map 730 to generate the third texture map 750. You can.

도 8은 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 전자 장치의 블록도이다.8 is a block diagram of an electronic device transferring a texture of a 3D model, according to an embodiment.

도 8을 참조하면, 3차월 모델의 텍스처를 전이하는 전자 장치(1000)는 사용자 입력부(1100), 출력부(1200), 통신부(1500), 메모리(1700) 및 제어부(1300)를 포함할 수 있다. 이는 필수적인 구성요소가 아니므로, 이보다 적은 구성요소로 본 개시가 구현되거나 이보다 많은 구성요소로 본 개시가 구현될 수 있다. Referring to FIG. 8, the electronic device 1000 that transfers the texture of the third month model may include a user input unit 1100, an output unit 1200, a communication unit 1500, a memory 1700, and a control unit 1300. have. Since this is not an essential component, the present disclosure may be implemented with fewer components or the present disclosure may be implemented with more components.

사용자 입력부(1100)는 전자 장치(1000)를 제어하기 위한 사용자의 입력을 수신할 수 있다. 예를 들면, 사용자 입력부(1100)는 사용자로부터 제1 모델 데이터(10)를 선택하는 입력을 수신할 수 있다. 사용자 입력부(1100)는 사용자로부터 제2 모델 데이터(20)를 선택하는 입력을 수신할 수 있다. 사용자 입력부(1100)는 사용자로부터 제1 모델(15)의 텍스처를 제2 모델(25)의 텍스처로 전이하라는 사용자의 입력을 수신할 수 있다. 사용자 입력부(1100)는 사용자로부터 제1 기준점과 제2 기준점을 맵핑한 결과를 조정하기 위한 사용자의 입력을 수신할 수 있다. The user input unit 1100 may receive a user input for controlling the electronic device 1000. For example, the user input unit 1100 may receive an input for selecting the first model data 10 from the user. The user input unit 1100 may receive an input for selecting the second model data 20 from the user. The user input unit 1100 may receive a user input to transfer a texture of the first model 15 to a texture of the second model 25 from the user. The user input unit 1100 may receive a user input for adjusting a result of mapping the first reference point and the second reference point from the user.

사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 터치스크린, 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.The user input unit 1100 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive film type, infrared detection type, surface ultrasonic conduction type, integral tension measurement type, Piezo effect method, etc.), a touch screen, a jog wheel, a jog switch, and the like, but are not limited thereto.

출력부(1200)는 전자 장치(1000)에서 처리되는 정보를 표시 출력한다. 출력부(1200)는 제2 모델(25)에 제1 모델(15)의 텍스처가 전이되어 생성된 제3 모델(35)을 디스플레이하는 디스플레이부(1210)를 포함할 수 있다. The output unit 1200 displays and outputs information processed by the electronic device 1000. The output unit 1200 may include a display unit 1210 that displays the third model 35 generated by transferring the texture of the first model 15 to the second model 25.

디스플레이부(1210)는 제1 모델(15)의 외형을 디스플레이할 수 있다. 예를 들면, 디스플레이부(1210)는 제1 폴리곤 메쉬(11)를 디스플레이할 수 있다. 디스플레이부(1210)는 제1 텍스처 지도(13)를 디스플레이할 수 있다. 디스플레이부(1210)는 제1 폴리곤 메쉬(11)상에 제1 폴리곤 메쉬(11)에 맵핑된 제1 텍스처 지도를 피팅한 제1 모델(15)의 외형을 디스플레이 할 수 있다.The display 1210 may display the appearance of the first model 15. For example, the display unit 1210 may display the first polygon mesh 11. The display 1210 may display the first texture map 13. The display 1210 may display the appearance of the first model 15 on the first polygon mesh 11 fitted with the first texture map mapped to the first polygon mesh 11.

디스플레이부(1210)는 제2 모델(25)의 외형을 디스플레이할 수 있다. 예를 들면, 디스플레이부(1210)는 제2 폴리곤 메쉬(21)를 디스플레이할 수 있다. 디스플레이부(1210)는 제2 텍스처 지도(23)를 디스플레이할 수 있다. 디스플레이부(1210)는 제2 폴리곤 메쉬(21)상에 제2 폴리곤 메쉬(21)에 맵핑된 제2 텍스처 지도를 피팅한 제2 모델(25)의 외형을 디스플레이 할 수 있다.The display 1210 may display the appearance of the second model 25. For example, the display unit 1210 may display the second polygon mesh 21. The display 1210 may display the second texture map 23. The display 1210 may display the appearance of the second model 25 on which the second texture map mapped to the second polygon mesh 21 is fitted on the second polygon mesh 21.

디스플레이부(1210)는 제3 모델(35)의 외형을 디스플레이할 수 있다. 예를 들면, 디스플레이부(1210)는 제3 폴리곤 메쉬(31)를 디스플레이할 수 있다. 디스플레이부(1210)는 제3 텍스처 지도(33)를 디스플레이할 수 있다. 디스플레이부(1210)는 제3 폴리곤 메쉬(31)상에 제3 폴리곤 메쉬(31)에 맵핑된 제3 텍스처 지도를 피팅한 제3 모델(35)의 외형을 디스플레이 할 수 있다.The display 1210 may display the external shape of the third model 35. For example, the display unit 1210 may display the third polygon mesh 31. The display 1210 may display the third texture map 33. The display 1210 may display an external shape of the third model 35 fitted with the third texture map mapped to the third polygon mesh 31 on the third polygon mesh 31.

디스플레이부(1210)는 사용자의 입력을 수신하기 위한 유저 인터페이스를 디스플레이할 수 있다.The display unit 1210 may display a user interface for receiving user input.

제어부(1300)는 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들면, 제어부(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 통신부(1500) 등을 전반적으로 제어할 수 있다. The control unit 1300 typically controls the overall operation of the electronic device 1000. For example, the control unit 1300 may control the user input unit 1100, the output unit 1200, and the communication unit 1500 by executing programs stored in the memory 1700.

또한, 제어부(1300)는 메모리(1700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 6을 참조하여 위에서 설명한 전자 장치(1000)의 기능을 수행할 수 있다. In addition, the control unit 1300 may perform functions of the electronic device 1000 described above with reference to FIGS. 1 to 6 by executing programs stored in the memory 1700.

예를 들면, 제어부(1300)는 제1 모델(15)의 제1 기준점과 제2 모델(25)의 제2 기준점을 설정할 수 있다. 구체적으로, 제어부(1300)는 제1 텍스처 지도(13)의 각 화소를 제1 기준점으로 설정할 수 있다. 제어부(1300)는 제1 폴리곤 메쉬(11)에 포함된 메쉬들 각각의 무게 중심 좌표를 제1 기준점으로 설정할 수 있다. 제어부(1300)는 제2 텍스처 지도(23)의 각 화소를 제2 기준점으로 설정할 수 있다. 제어부(1300)는 제2 폴리곤 메쉬(21)에 포함된 메쉬들 각각의 무게 중심 좌표를 제2 기준점으로 설정할 수 있다. For example, the control unit 1300 may set a first reference point of the first model 15 and a second reference point of the second model 25. Specifically, the control unit 1300 may set each pixel of the first texture map 13 as a first reference point. The controller 1300 may set the center of gravity of each of the meshes included in the first polygon mesh 11 as the first reference point. The control unit 1300 may set each pixel of the second texture map 23 as a second reference point. The controller 1300 may set the center of gravity coordinates of each of the meshes included in the second polygon mesh 21 as the second reference point.

다른 예를 들면, 제어부(1300)는 제1 기준점과 제2 기준점을 맵핑(Mapping)할 수 있다. 구체적으로, 제어부(1300)는 제2 기준점으로부터 제1 기준점으로 레이(ray)를 조사함으로써, 제1 기준점과 제2 기준점을 맵핑하는 레이-트레이싱(ray-tracing)을 수행할 수 잇다. 제어부(1300)는 제1 기준점으로부터 제2 기준점으로 레이(ray)를 조사함으로써, 제1 기준점과 제2 기준점을 맵핑하는 퐁-프로젝션(Phong-projection)을 수행할 수 있다. 제어부(1300)는 복수의 제1 기준점들과 복수의 제2 기준점들 각각을 연결하는 레이(ray)들이 소정의 간격으로 이격되도록, 레이들의 간격을 정규화할 수 있다.For another example, the controller 1300 may map the first reference point and the second reference point. Specifically, the controller 1300 may perform ray-tracing that maps the first reference point and the second reference point by irradiating the ray from the second reference point to the first reference point. The controller 1300 may perform a Phong-projection mapping the first reference point and the second reference point by irradiating a ray from the first reference point to the second reference point. The control unit 1300 may normalize the intervals of the rays so that the rays connecting each of the plurality of first reference points and the plurality of second reference points are spaced apart at predetermined intervals.

다른 예를 들면, 제어부(1300)는 맵핑된 결과에 기초하여 제2 모델의 외형을 제1 모델의 외형에 대응되도록 와핑(warping)할 수 있다. 구체적으로, 제어부(1300)는 레이-트레이싱을 수행함으로써 제1 기준점에 맵핑된 제2 기준점에 기초하여, 제2 폴리곤 메쉬(21)에 포함된 정점의 위치를 조정함으로써 제2 모델(25)의 외형을 와핑할 수 있다. 제어부(1300)는 퐁-프로젝션을 수행함으로써 제1 기준점에 맵핑된 제2 기준점에 기초하여, 제2 폴리곤 메쉬(21)에 포함된 정점의 위치를 조정함으로써 제2 모델(25)의 외형을 와핑할 수 있다. 제어부(1300)는 레이-트레이싱 및 퐁-프로젝션 중 적어도 하나를 수행한 후 정규화를 수행함으로써 제1 기준점에 맵핑된, 제2 기준점에 기초하여 제2 폴리곤 메쉬(21)에 포함된 정점의 위치를 조정함으로써 제2 모델(25)의 외형을 와핑할 수 있다. 제어부(1300)는 제2 폴리곤 메쉬(21)에 포함된 메쉬들 각각의 무게 중심 좌표를 제1 폴리곤 메쉬(11)에 포함된 메쉬들 각각의 무게 중심 좌표에 대응하도록, 제2 폴리곤 메쉬(21)의 정점(vertex)들을 이동할 수 있다.For another example, the controller 1300 may warp the appearance of the second model to correspond to the appearance of the first model based on the mapped result. Specifically, the control unit 1300 adjusts the position of the vertex included in the second polygon mesh 21 based on the second reference point mapped to the first reference point by performing ray-tracing. The appearance can be warped. The controller 1300 warps the appearance of the second model 25 by adjusting the position of the vertex included in the second polygon mesh 21 based on the second reference point mapped to the first reference point by performing pong-projection. can do. The control unit 1300 performs the normalization after performing at least one of ray-tracing and pong-projection to determine the position of the vertex included in the second polygon mesh 21 based on the second reference point, which is mapped to the first reference point. By adjusting, the appearance of the second model 25 can be warped. The control unit 1300 is configured to correspond to the center of gravity coordinates of each of the meshes included in the first polygon mesh 11, the second polygon mesh 21 to correspond to the center of gravity coordinates of the meshes included in the second polygon mesh 21 ) Can move vertices.

다른 예를 들면, 제어부(1300)는 맵핑된 결과에 기초하여, 제1 기준점의 인근에 위치된 텍스처를 제2 기준점의 인근에 위치된 텍스처에 전이(Transfer)할 수 있다. 구체적으로, 제어부(1300)는 제1 폴리곤 메쉬(11)에 포함된 제1 메쉬의 무게 중심 좌표의 인근에 위치된 텍스처를 제2 폴리곤 메쉬(21)에 포함된 제2 메쉬의 무게 중심 좌표의 인근에 위치된 텍스처에 전이할 수 있다. 제어부(1300)는 제1 폴리곤 메쉬(11)에 포함된 제1 정점의 인근에 위치된 텍스처를 제2 폴리곤 메쉬(21)에 포함된 제2 정점의 인근에 위치된 텍스처에 전이할 수 있다. For another example, the controller 1300 may transfer a texture located near the first reference point to a texture located near the second reference point based on the mapped result. Specifically, the control unit 1300 of the texture located in the vicinity of the center of gravity coordinates of the first mesh included in the first polygon mesh 11 of the center of gravity coordinates of the second mesh included in the second polygon mesh 21 You can transition to a texture located nearby. The control unit 1300 may transfer a texture located near the first vertex included in the first polygon mesh 11 to a texture located near the second vertex included in the second polygon mesh 21.

다른 예를 들면, 제어부(1300)는 제1 모델의 텍스처가 전이된 제2 모델(25)의 텍스처를 후처리를 수행할 수 있다. 구체적으로, 제어부(1300)는 전이된 텍스처 중 적어도 일부 영역을 보간(interpolation)하는 후처리를 수행할 수 있다. 제어부(1300)는 제3 모델(35)의 외형을 조정하는 후처리를 수행할 수 있다. 제어부(1300)는 텍스처 중 일부 영역을 채색(inpainting)하는 후처리를 수행할 수 있다. 제어부(1300)는 제2 모델로부터 제1 모델의 텍스처가 전이되지 않은 제1 텍스처 영역을 검출하고, 제1 텍스처 영역의 인근에 위치된 제2 텍스처 영역으로부터 상기 제2 텍스처 영역에 전이된 상기 제1 모델의 텍스처 데이터에 기초하여, 상기 제1 텍스처 영역을 보간할 수 있다.For another example, the controller 1300 may post-process the texture of the second model 25 in which the texture of the first model is transferred. Specifically, the controller 1300 may perform post-processing to interpolate at least some regions of the transferred texture. The control unit 1300 may perform post-processing to adjust the appearance of the third model 35. The control unit 1300 may perform post-processing to inpaint some areas of the texture. The control unit 1300 detects a first texture region in which the texture of the first model is not transferred from the second model, and transfers the second texture region to the second texture region from a second texture region located near the first texture region. Based on the texture data of one model, the first texture region may be interpolated.

제어부(1300)는 적어도 하나의 프로세서의 형태로 존재할 수 있다. 프로세서는 범용적으로 이용되는 적어도 하나의 프로세서 (예를 들면, CPU, Application processor, GPU) 및 3차원 모델의 텍스처를 전이하는 기능을 수행하기 위하여 제작된 적어도 하나의 프로세서를 포함할 수 있다.The control unit 1300 may exist in the form of at least one processor. The processor may include at least one processor (for example, a CPU, an application processor, a GPU) that is universally used, and at least one processor manufactured to perform a function of transferring a texture of a 3D model.

통신부(1500)는, 전자 장치(1000)가 다른 전자 장치(미도시) 및 서버(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 전자 장치(미도시)는 전자 장치(1000)와 같은 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. The communication unit 1500 may include one or more components that allow the electronic device 1000 to communicate with other electronic devices (not shown) and the server 2000. Other electronic devices (not shown) may be computing devices such as the electronic device 1000, but are not limited thereto.

일 실시예에 따르면, 통신부(1500)는 서버(2000)로 제1 모델 데이터(10) 및 제2 모델 데이터(20)를 전송하고, 서버(2000)로부터 제2 모델(25)에 제1 모델(15)의 텍스처가 전이된 제3 모델 데이터(30)를 수신할 수 있다.According to an embodiment, the communication unit 1500 transmits the first model data 10 and the second model data 20 to the server 2000, and the first model is transmitted from the server 2000 to the second model 25. The third model data 30 having the texture of (15) transferred may be received.

메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다. The memory 1700 may store a program for processing and controlling the processor 1300, and may store data input to or output from the electronic device 1000.

메모리(1700)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. The memory 1700 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk , It may include at least one type of storage medium of the optical disk.

메모리(1700)는 제1 모델 데이터, 제2 모델 데이터 및 제3 모델 데이터(30) 중 적어도 하나를 저장할 수 있다The memory 1700 may store at least one of first model data, second model data, and third model data 30.

도 9는 일 실시예에 따른, 3차원 모델의 텍스처를 전이하는 서버의 블록도이다.9 is a block diagram of a server for transferring texture of a 3D model, according to an embodiment.

도 9를 참조하면, 서버(2000)는 통신부(2500), DB(2700) 및 제어부(2300)를 포함할 수 있다.Referring to FIG. 9, the server 2000 may include a communication unit 2500, a DB 2700, and a control unit 2300.

서버(2000)는 도 2 내지 도 8을 참조하여 위에서 설명한, 전자 장치(1000)가 제1 모델의 텍스처를 제2 모델에 전이하는 방법을 수행할 수 있다. 중복되는 내용은 위에서 설명하였으므로, 생략한다.The server 2000 may perform a method for the electronic device 1000 to transfer the texture of the first model to the second model, described above with reference to FIGS. 2 to 8. Since the duplicated content has been described above, it will be omitted.

통신부(2500)는 전자 장치(1000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다.The communication unit 2500 may include one or more components that enable communication with the electronic device 1000.

일 실시예에 따르면, 통신부(2500)는 전자 장치(1000)로부터 제1 모델 데이터(10) 및 제2 모델 데이터(20)를 수신하고, 전자 장치(1000)로 제2 모델(25)에 제1 모델(15)의 텍스처가 전이된 제3 모델 데이터(30)를 송신할 수 있다.According to an embodiment, the communication unit 2500 receives the first model data 10 and the second model data 20 from the electronic device 1000, and provides the second model 25 with the electronic device 1000. The third model data 30 having the texture of one model 15 transferred may be transmitted.

DB(2700)는 제1 모델(15)의 텍스처를 제2 모델(25)에 전이하기 위해 필요한 데이터 및 프로그램을 저장할 수 있다.The DB 2700 may store data and programs necessary to transfer the texture of the first model 15 to the second model 25.

일 실시예에 따르면, DB(2700)는 제1 모델 데이터, 제2 모델 데이터 및 제3 모델 데이터(30) 중 적어도 하나를 저장할 수 있다According to an embodiment, the DB 2700 may store at least one of the first model data, the second model data, and the third model data 30.

제어부(2300)는 통상적으로 서버(2000)의 전반적인 동작을 제어한다. 예를 들어, 제어부(2300)는, 서버(2000)의 DB(2700)에 저장된 프로그램들을 실행함으로써, DB(2700) 및 통신부(2500) 등을 전반적으로 제어할 수 있다. 제어부(2300)는 DB(2700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 6을 참조하여 위에서 설명한 전자 장치(1000)의 동작의 일부를 수행할 수 있다.The control unit 2300 typically controls the overall operation of the server 2000. For example, the control unit 2300 may overall control the DB 2700 and the communication unit 2500 by executing programs stored in the DB 2700 of the server 2000. The controller 2300 may perform a part of the operation of the electronic device 1000 described above with reference to FIGS. 1 to 6 by executing programs stored in the DB 2700.

일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈을 포함한다. Some embodiments may also be embodied in the form of a recording medium comprising instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically include computer readable instructions, data structures, and program modules.

또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.In addition, in this specification, “part” may be a hardware component such as a processor or circuit, and / or a software component executed by a hardware component such as a processor.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustration only, and those skilled in the art to which the present invention pertains can understand that it can be easily modified to other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and it should be interpreted that all changes or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof are included in the scope of the present invention. do.

Claims (15)

대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이하는 방법에 있어서,
상기 제1 모델의 제1 기준점과 상기 제2 모델의 제2 기준점을 설정하는 단계;
상기 제1 기준점과 상기 제2 기준점을 맵핑(Mapping)하는 단계;
상기 맵핑된 결과에 기초하여, 상기 제1 기준점의 인근에 위치된 텍스처를 상기 제2 기준점의 인근에 위치된 텍스처에 전이(Transfer)하는 단계;를 포함하는, 방법.
In the method of transferring the texture (texture) of the first model generated by three-dimensional scanning the object to the second model,
Setting a first reference point of the first model and a second reference point of the second model;
Mapping the first reference point and the second reference point;
And based on the mapped result, transferring a texture located in the vicinity of the first reference point to a texture located in the vicinity of the second reference point.
제1 항에 있어서,
상기 맵핑하는 단계는,
상기 제2 기준점으로부터 상기 제1 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 레이-트레이싱(ray-tracing)을 수행하는 단계를 포함하는, 방법.
According to claim 1,
The mapping step,
And performing ray-tracing to map the first reference point and the second reference point by irradiating a ray from the second reference point to the first reference point.
제1 항에 있어서,
상기 맵핑하는 단계는,
상기 제1 기준점으로부터 상기 제2 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 퐁-프로젝션(Phong-projection)을 수행하는 단계를 포함하는, 방법.
According to claim 1,
The mapping step,
And performing a Phong-projection mapping the first reference point and the second reference point by irradiating a ray from the first reference point to the second reference point.
제1 항에 있어서,
상기 맵핑하는 단계는,
복수의 제1 기준점들과 복수의 제2 기준점들 각각을 연결하는 레이(ray)들이 소정의 간격으로 이격되도록, 상기 레이들의 간격을 정규화(Regualtion) 하는 단계를 포함하는 방법.
According to claim 1,
The mapping step,
And normalizing the intervals of the rays so that the rays connecting each of the plurality of first reference points and the plurality of second reference points are spaced apart at predetermined intervals.
제1 항에 있어서,
상기 방법은, 상기 제2 모델의 텍스처를 후처리하는 단계를 더 포함하는, 방법.
According to claim 1,
The method further comprises post-processing the texture of the second model.
제5 항에 있어서,
상기 후처리하는 단계는,
상기 제2 모델로부터 상기 제1 모델의 텍스처가 전이되지 않은 제1 텍스처 영역을 검출하는 단계; 및
상기 제1 텍스처 영역의 인근에 위치된 제2 텍스처 영역으로부터 상기 제2 텍스처 영역에 전이된 상기 제1 모델의 텍스처 데이터에 기초하여, 상기 제1 텍스처 영역을 채색(inpainting)하는 단계;를 포함하는, 방법.
The method of claim 5,
The post-processing step,
Detecting a first texture region in which the texture of the first model is not transferred from the second model; And
And painting the first texture region based on texture data of the first model transferred from the second texture region located in the vicinity of the first texture region to the second texture region. , Way.
제1 항에 있어서,
상기 제1 기준점과 상기 제2 기준점을 맵핑하는 단계는,
상기 맵핑된 결과에 기초하여 상기 제2 모델의 외형을 상기 제1 모델의 외형에 대응되도록 와핑(warping)하는 단계를 포함하는, 방법.
According to claim 1,
Mapping the first reference point and the second reference point,
And warping the appearance of the second model to correspond to the appearance of the first model based on the mapped result.
대상체를 3차원 스캐닝함으로써 생성된 제1 모델의 텍스처(texture)를 제2 모델에 전이하는 전자 장치에 있어서,
상기 제1 모델 및 상기 제2 모델을 저장하는 메모리;
상기 제1 모델의 제1 기준점과 상기 제2 모델의 제2 기준점을 설정하고, 상기 제1 기준점과 상기 제2 기준점을 맵핑(Mapping)하며, 상기 맵핑된 결과에 기초하여, 상기 제1 기준점의 인근에 위치된 텍스처를 상기 제2 기준점의 인근에 위치된 텍스처에 전이(Transfer)하는 프로세서; 및
상기 제2 모델을 디스플레이하는 디스플레이부를 포함하는, 전자 장치.
In the electronic device to transfer the texture (texture) of the first model generated by three-dimensional scanning the object to the second model,
A memory for storing the first model and the second model;
The first reference point of the first model and the second reference point of the second model are set, the first reference point and the second reference point are mapped, and based on the mapped result, the first reference point A processor that transfers a texture located nearby to a texture located nearby the second reference point; And
And a display unit displaying the second model.
제8 항에 있어서,
상기 프로세서는,
상기 제2 기준점으로부터 상기 제1 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 레이-트레이싱(ray-tracing)을 수행하는, 전자 장치.
The method of claim 8,
The processor,
An electronic device performing ray-tracing that maps the first reference point and the second reference point by irradiating a ray from the second reference point to the first reference point.
제8 항에 있어서,
상기 프로세서는,
상기 제1 기준점으로부터 상기 제2 기준점으로 레이(ray)를 조사함으로써, 상기 제1 기준점과 상기 제2 기준점을 맵핑하는 퐁-프로젝션(Phong-projection)을 수행하는, 전자 장치.
The method of claim 8,
The processor,
An electronic device performing Phong-projection mapping the first reference point and the second reference point by irradiating a ray from the first reference point to the second reference point.
제8 항에 있어서,
상기 프로세서는,
복수의 제1 기준점들과 복수의 제2 기준점들 각각을 연결하는 레이(ray)들이 소정의 간격으로 이격되도록, 상기 레이들의 간격을 정규화하는, 전자 장치.
The method of claim 8,
The processor,
An electronic device that normalizes the spacing of the rays so that the rays connecting each of the plurality of first reference points and the plurality of second reference points are spaced apart at predetermined intervals.
제8 항에 있어서,
상기 프로세서는,
상기 제2 모델의 텍스처를 후처리하는, 전자 장치.
The method of claim 8,
The processor,
An electronic device that post-processes the texture of the second model.
제12 항에 있어서,
상기 프로세서는,
상기 제2 모델로부터 상기 제1 모델의 텍스처가 전이되지 않은 제1 텍스처 영역을 검출하고, 상기 제1 텍스처 영역의 인근에 위치된 제2 텍스처 영역으로부터 상기 제2 텍스처 영역에 전이된 상기 제1 모델의 텍스처 데이터에 기초하여, 상기 제1 텍스처 영역을 보간하는, 전자 장치.
The method of claim 12,
The processor,
The first model detects a first texture region in which the texture of the first model has not transitioned from the second model, and transfers the second model to the second texture region from a second texture region located adjacent to the first texture region. And interpolating the first texture region based on the texture data of.
제8 항에 있어서,
상기 프로세서는,
상기 맵핑된 결과에 기초하여 상기 제2 모델의 외형을 상기 제1 모델의 외형에 대응되도록 와핑(warping)하는, 전자 장치.
The method of claim 8,
The processor,
An electronic device that warps the appearance of the second model to correspond to the appearance of the first model based on the mapped result.
제8 항 내지 제14 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 명령어를 기록한, 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording instructions for executing the method of any one of claims 8 to 14 in a computer.
KR1020180117874A 2018-10-02 2018-10-02 Method and apparatus for transporting textures of a 3d model KR102113745B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180117874A KR102113745B1 (en) 2018-10-02 2018-10-02 Method and apparatus for transporting textures of a 3d model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180117874A KR102113745B1 (en) 2018-10-02 2018-10-02 Method and apparatus for transporting textures of a 3d model

Publications (2)

Publication Number Publication Date
KR20200038148A true KR20200038148A (en) 2020-04-10
KR102113745B1 KR102113745B1 (en) 2020-05-28

Family

ID=70291874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180117874A KR102113745B1 (en) 2018-10-02 2018-10-02 Method and apparatus for transporting textures of a 3d model

Country Status (1)

Country Link
KR (1) KR102113745B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102506352B1 (en) * 2022-06-07 2023-03-06 주식회사 엑스바디 Digital twin avatar provision system based on 3D anthropometric data for e-commerce

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6750873B1 (en) 2000-06-27 2004-06-15 International Business Machines Corporation High quality texture reconstruction from multiple scans
KR20140033088A (en) * 2011-06-06 2014-03-17 마이크로소프트 코포레이션 Generation of avatar reflecting player appearance
KR101454780B1 (en) 2013-06-10 2014-10-27 한국과학기술연구원 Apparatus and method for generating texture for three dimensional model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6750873B1 (en) 2000-06-27 2004-06-15 International Business Machines Corporation High quality texture reconstruction from multiple scans
KR20140033088A (en) * 2011-06-06 2014-03-17 마이크로소프트 코포레이션 Generation of avatar reflecting player appearance
KR101454780B1 (en) 2013-06-10 2014-10-27 한국과학기술연구원 Apparatus and method for generating texture for three dimensional model

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
# D. Panozzo, I. Baran, O. Diamanti, O. Sorkine-Hornung, "Weighted Averages on Surfaces," ACM SIGGRAPH, 2013.
Yang, Fangkai, "Collision Detection between Dynamic Rigid Objects and Static Displacement Mapped Surfaces in Computer Games", DEGREE PROJECT, IN SCIENTIFIC COMPUTING , 2015.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102506352B1 (en) * 2022-06-07 2023-03-06 주식회사 엑스바디 Digital twin avatar provision system based on 3D anthropometric data for e-commerce

Also Published As

Publication number Publication date
KR102113745B1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
US10133171B2 (en) Augmenting physical appearance using illumination
JP7403528B2 (en) Method and system for reconstructing color and depth information of a scene
KR102069964B1 (en) Virtual reality-based apparatus and method to generate a three dimensional(3d) human face model using image and depth data
JP4276178B2 (en) Method for digital rendering of skin or similar
US20180308276A1 (en) Systems and methods for automatically creating and animating a photorealistic three-dimensional character from a two-dimensional image
US9165410B1 (en) Building a three-dimensional composite scene
US9314692B2 (en) Method of creating avatar from user submitted image
US20190362539A1 (en) Environment Synthesis for Lighting An Object
CN108335345B (en) Control method and device of facial animation model and computing equipment
US10347052B2 (en) Color-based geometric feature enhancement for 3D models
CN112102477A (en) Three-dimensional model reconstruction method and device, computer equipment and storage medium
JP6911123B2 (en) Learning device, recognition device, learning method, recognition method and program
US10176624B2 (en) Illumination-guided example-based stylization of 3D renderings
CN110458924B (en) Three-dimensional face model establishing method and device and electronic equipment
US20230394740A1 (en) Method and system providing temporary texture application to enhance 3d modeling
CN111047506A (en) Environmental map generation and hole filling
KR102113745B1 (en) Method and apparatus for transporting textures of a 3d model
CN112308955A (en) Texture filling method, device and equipment based on image and storage medium
US11893681B2 (en) Method for processing two-dimensional image and device for executing method
US9905054B2 (en) Controlling patch usage in image synthesis
KR102538685B1 (en) Method and apparatus for restoring 3d information using multi-view information
JPH06236440A (en) Image processing method
EP3872768A1 (en) Method for processing two-dimensional image and device for executing method
JP6802129B2 (en) Information processing equipment, methods and programs
Anjou et al. Football Analysis in VR-Texture Estimation with Differentiable Rendering and Diffusion Models

Legal Events

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