KR102233258B1 - 3차원 프린팅 데이터 생성 방법 및 장치 - Google Patents

3차원 프린팅 데이터 생성 방법 및 장치 Download PDF

Info

Publication number
KR102233258B1
KR102233258B1 KR1020170032940A KR20170032940A KR102233258B1 KR 102233258 B1 KR102233258 B1 KR 102233258B1 KR 1020170032940 A KR1020170032940 A KR 1020170032940A KR 20170032940 A KR20170032940 A KR 20170032940A KR 102233258 B1 KR102233258 B1 KR 102233258B1
Authority
KR
South Korea
Prior art keywords
surface height
height map
cross
vertices
model
Prior art date
Application number
KR1020170032940A
Other languages
English (en)
Other versions
KR20180105797A (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 KR1020170032940A priority Critical patent/KR102233258B1/ko
Priority to US15/919,613 priority patent/US20180268616A1/en
Publication of KR20180105797A publication Critical patent/KR20180105797A/ko
Application granted granted Critical
Publication of KR102233258B1 publication Critical patent/KR102233258B1/ko

Links

Images

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/20Apparatus for additive manufacturing; Details thereof or accessories therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y30/00Apparatus for additive manufacturing; Details thereof or accessories therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • 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
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • 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/20092Interactive image processing based on input by user
    • G06T2207/20108Interactive selection of 2D slice in a 3D data set
    • 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/2021Shape modification

Abstract

3차원 프린팅 데이터 생성 방법 및 장치가 개시된다. 개시된 3차원 프린팅 데이터 생성 방법은, 물체의 3차원 모델을 생성하는 단계, 상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하는 단계, 상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하는 단계, 상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하는 단계 및 상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계를 포함한다.

Description

3차원 프린팅 데이터 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING 3D PRINTING DATA}
본 발명은, 3차원 프린터팅 데이터를 생성하는 방법 및 장치에 관한 것으로, 상세하게는 객체의 표면 질감을 반영할 수 있는 3차원 프린팅 데이터를 생성하는 방법 및 장치에 관한 것이다.
3차원 프린터는 3차원으로 설계된 데이터를 기반으로 입체적인 형태의 물체를 만들어내는 장치를 의미한다. 1987년 3차원 프린터가 처음 소개된 이후로 많은 발전을 이루어왔다. FDM, SLS, 광경화 방식 등의 다양한 방식의 프린터 방식이 소개되었다. 3차원 프린터는 항공, 자동차, 의료, 건축, 조각 등에서 많이 사용되어 왔고, 일반인들도 쉽게 자신이 직접 제작한 3차원 모델을 출력하여 실물로 제작할 수 있게 되었다. 또한, 3차원 프린터의 출력 품질이 향상되면서, 고품질의 정교한 표면 질감을 가진 물체의 출력도 가능하게 되었다.
3차원 프린터는 3차원으로 설계된 데이터를 입력 받아, 물체를 출력할 수 있다. 3차원으로 설계된 데이터는 출력하고자 하는 객체의 3차원적 형상에 대한 정보를 포함할 수 있다. 상술한 3차원적으로 설계된 데이터를 3차원 모델이라고 한다.
3차원 프린터의 출력 품질을 높이기 위해서는 3차원 모델을 정교하게 구성하는 것이 요구된다. 예를 들어, 출력되는 물체의 표면을 정밀하게 표현하기 위해서는 3차원 모델이 물체 표면의 질감을 나타낼 수 있어야 한다. 물체 표면의 질감을 나타내기 위해서는 3차원 모델을 구성하는 다각형과 정점의 수를 늘려야 하기 때문에 3차원 모델의 용량이 늘어나게 된다. 따라서, 3차원 프린터가 3차원 모델을 화면에 표시하거나, 3차원 모델을 처리하여 물체를 출력하는데 많은 시간이 소요될 수 있다.
본 발명은, 3차원 프린팅 데이터를 생성하는 방법 및 장치를 제공한다. 본 발명에 따르면, 작은 용량으로 객체의 질감을 표현할 수 있는 3차원 프린팅 데이터를 생성할 수 있다.
일 측면에 있어서,
물체의 3차원 모델을 생성하는 단계; 상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하는 단계; 상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하는 단계; 상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하는 단계; 및
상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계;를 포함하는 3차원 프린팅 데이터 생성 방법이 제공된다.
상기 3차원 프린팅 데이터 생성 방법은, 상기 텍스쳐 이미지의 픽셀들 각각의 색상 및 밝기 중 적어도 하나에 기초하여, 상기 표면 높이 맵의 픽셀들 각각의 표면 높이를 결정할 수 있다.
상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
상기 단면 세그먼트들 각각이 표면 높이 맵이 투영되는 영역을 포함하는지 여부를 판단하고, 상기 표면 높이 맵이 투영되는 영역을 포함하는 단면 세그먼트의 모양을 보정할 수 있다.
상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
상기 단면 세그먼트들 중 적어도 일부의 옆면의 모양을 보정할 수 있다.
상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
상기 단면 세그먼트의 옆면에 포함된 정점들 가운데, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들의 위치를 보정할 수 있다.
상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
상기 표면 높이 맵을 이용하여, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들 각각의 표면 높이를 결정하고, 상기 정점들 각각의 표면 높이에 기초하여, 상기 정점들 각각의 위치를 보정할 수 있다.
상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이로 결정될 수 있다.
상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이 및 상기 표면 높이 맵에서 상기 정점들 각각이 맵핑되는 위치에 인접한 픽셀들의 표면 높이들의 선형 합으로 결정될 수 있다.
상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하는 단계는,
상기 3차원 모델에서 상기 표면 높이 맵의 투영 위치를 설정하기 위한 기준점 정보를 입력 받고, 상기 기준점 및 상기 텍스쳐 이미지의 테두리 모양에 기초하여 상기 표면 높이 맵이 투영되는 영역을 결정할 수 있다.
다른 측면에 있어서,
프로세서(processor); 및
학습용 데이터 베이스 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);를 포함하며,
상기 적어도 하나의 명령은,
물체의 3차원 모델을 생성하고, 상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하고, 상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하고, 상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하고, 상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하도록 수행되는 3차원 프린팅 데이터 생성 장치가 제공된다.
상기 적어도 하나의 명령은,
상기 텍스쳐 이미지의 픽셀들 각각의 색상 및 밝기 중 적어도 하나에 기초하여, 상기 표면 높이 맵의 픽셀들 각각의 표면 높이를 결정하도록 수행될 수 있다.
상기 적어도 하나의 명령은,
상기 단면 세그먼트들 각각이 표면 높이 맵이 투영되는 영역을 포함하는지 여부를 판단하고, 상기 표면 높이 맵이 투영되는 영역을 포함하는 단면 세그먼트의 모양을 보정하도록 수행될 수 있다.
상기 적어도 하나의 명령은,
상기 단면 세그먼트들 중 적어도 일부의 옆면의 모양을 보정하도록 수행될 수 있다.
상기 적어도 하나의 명령은,
상기 단면 세그먼트의 옆면에 포함된 정점들 가운데, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들의 위치를 보정하도록 수행될 수 있다.
상기 적어도 하나의 명령은,
상기 표면 높이 맵을 이용하여, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들 각각의 표면 높이를 결정하고, 상기 정점들 각각의 표면 높이에 기초하여, 상기 정점들 각각의 위치를 보정하도록 수행될 수 있다.
상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이로 결정될 수 있다.
상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이 및 상기 표면 높이 맵에서 상기 정점들 각각이 맵핑되는 위치에 인접한 픽셀들의 표면 높이들의 선형 합으로 결정될 수 있다.
상기 3차원 프린팅 데이터 생성 장치는, 상기 3차원 모델에서 상기 표면 높이 맵의 투영 위치를 설정하기 위한 기준점 정보를 입력 받는 입력 인터페이스 장치; 및 상기 3차원 모델과 상기 기준점 및 상기 표면 높이 맵의 투영 위치를 표시하는 출력 인터페이스 장치;를 더 포함하며,
상기 적어도 하나의 명령은,
상기 기준점 및 상기 텍스쳐 이미지의 테두리 모양에 기초하여 상기 표면 높이 맵이 투영되는 영역을 결정하도록 수행될 수 있다.
다른 측면에 있어서,
프로세서(processor);
학습용 데이터 베이스 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory); 및
상기 프로세서의 명령에 의해 결정된 형상으로 물체를 제조하는 제조 장치;를 포함하며,
상기 적어도 하나의 명령은,
상기 물체의 3차원 모델을 생성하고, 상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하고, 상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하고, 상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하고, 상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하도록 실행되는 3차원 프린터가 제공된다.
상기 제조 장치는, 보정이 완료된 단면 세그먼트들 중 최하단에 위치한 단면 세그먼트부터 각각의 단면 세그먼트에 대응되는 모양으로 재료를 적층함으로써 상기 물체를 제조할 수 있다.
개시된 실시예들에 따르면, 3차원 모델을 직접적으로 수정하지 않고 물체의 표면 질감을 나타낼 수 있는 3차원 프린팅 데이터를 생성할 수 있다. 또한, 사용자가 텍스쳐 이미지를 선택하고, 3차원 모델에서 텍스쳐 이미지의 질감이 반영되는 영역을 용이하게 설정할 수 있는 환경을 제공할 수 있다. 또한, 물체의 표면 질감을 나타낼 수 있는 3차원 프린팅 데이터에 대한 계산량 및 3차원 프린팅 데이터의 용량을 줄일 수 있다.
도 1은 예시적인 실시예에 따른 3차원 프린팅 데이터 생성 장치를 나타낸 블록도이다.
도 2A 및 도 2B는 3차원 모델 및 3차원 모델에 의해 출력되는 물체의 이미지이다.
도 3은 본 발명의 실시예에 따른 3차원 프린팅 데이터 생성 장치가 3차원 프린팅 데이터를 생성하는 방법을 나타낸 흐름도이다.
도 4A 내지 도 4E는 텍스쳐 이미지들을 예시적으로 나타낸 이미지들이다.
도 5는 텍스쳐 이미지로부터 표면 높이 맵을 생성하는 과정을 나타낸 개념도이다.
도 6은 표면 높이 맵의 투영영역을 설정하는 과정에서, 출력 인터페이스 장치에 디스플레이 되는 이미지이다.
도 7은 표면 높이 맵이 3차원 모델의 표면에 투영되는 영역을 나타낸 개념도이다.
도 8 및 도 9는 프로세서가 표면 높이 맵(HM)이 투영되는 영역을 결정하는 과정을 나타낸 개념도이다.
도 10은 3차원 모델을 단면 세그먼트들로 슬라이싱 하는 과정을 나타낸 개념도이다.
도 11는 도 10에서 나타낸 슬라이싱에 의해 3차원 모델이 단면 세그먼트들로 분할된 것을 나타낸 개념도이다.
도 12는 도 3의 S150 단계가 수행되는 과정을 예시적으로 나타낸 흐름도이다.
도 13은 단면 세그먼트의 보정에 의한 정점들의 위치 변화를 나타낸 개념도이다.
도 14는 프로세서가 정점의 표면 높이를 결정하는 과정을 예시적으로 나타낸 개념도이다.
도 15는 프로세서가 정점의 표면 높이를 결정하는 과정의 다른예를 나타낸 개념도이다.
도 16은 본 발명의 실시예에 따른 3차원 프린터를 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에서 3차원 모델은 3차원적으로 설계된 데이터로, 물체의 입체적인 형상에 대한 정보를 포함하는 데이터를 의미한다. 슬라이싱은 3차원 모델을 복수의 단면 세그먼트들로 분할하는 과정을 의미한다. 단면 세그먼트는 3차원 모델이 나타내는 물체의 형상을 복수의 레이어로 분할하였을 때, 하나의 레이어를 나타내는 데이터를 의미한다. 텍스쳐 이미지는 물체 표면의 질감을 나타내는 이미지를 의미한다. 텍스쳐 이미지는 2차원 이미지일 수 있다. 표면 높이 맵은 텍스쳐 이미지로부터 생성된 것으로, 질감을 표현하기 위해, 3차원 모델의 표면 높이를 어떻게 변화시켜야 하는지에 대한 정보를 포함할 수 있다. 3차원 프린팅 데이터는, 3차원 프린터가 물체를 출력하기 위해 사용하는 데이터를 의미한다. 3차원 프린팅 데이터는 표면 높이 맵을 이용하여 단면 세그먼트들 중 적어도 일부의 모양을 보정함으로써 획득될 수 있다.
도 1은 예시적인 실시예에 따른 3차원 프린팅 데이터 생성 장치(100)를 나타낸 블록도이다.
도 1을 참조하면, 예시적인 실시예에 따른 3차원 프린팅 데이터 생성 장치(100)는 적어도 하나의 프로세서(110), 메모리(120) 및 저장 장치(160) 등을 포함할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(160)에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit; CPU), 그래픽 처리 장치(graphics processing unit; GPU) 또는 본 발명에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)와 저장 장치(160)는 휘발성 저장 매체 및/또는 비휘발성 저장 매체로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory; ROM) 및/또는 랜덤 액세스 메모리(random access memory; RAM)로 구성될 수 있다.
메모리(120) 및/또는 저장 장치(160)는 프로세서(110)를 통해 실행되는 적어도 하나의 명령을 저장하고 있을 수 있다. 적어도 하나의 명령은 물체의 표면 질감이 반영되지 않은 3차원 모델을 생성하고, 텍스쳐 이미지로부터 표면 높이 맵을 생성하고, 표면 높이 맵이 3차원 모델의 표면에 투영되는 영역을 설정하고, 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱하고, 표면 높이 맵이 3차원 모델에 투영되는 영역을 고려하여, 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 명령을 포함할 수 있다.
프로세서(110)는 메모리(120) 및/또는 저장 장치(160)에 저장된 명령에 따라 3차원 모델을 생성할 수 있다. 프로세서(110)는 3차원 모델을 단면 세그먼트들로 슬라이싱할 수 있다. 프로세서(110)는 텍스쳐 이미지로부터 표면 높이 맵을 생성하고, 표면 높이 맵에 기초하여 단면 세그먼트들 중 적어도 일부의 모양을 보정할 수 있다. 보정 후, 단면 세그먼트들은 3차원 프린팅 데이터로 활용될 수 있다.
3차원 프린팅 데이터 생성 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 스테이션(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
입력 인터페이스 장치(140)는 버튼, 터치 스크린, 일반적인 PC의 입력 장치 등으로 구성될 수 있다. 입력 인터페이스 장치(140)는 텍스쳐 이미지의 선택, 텍스쳐 이미지로부터 생성되니 표면 높이 맵을 3차원 모델에 투영시키는 위치 등에 대한 정보를 사용자로부터 입력 받을 수 있다. 출력 인터페이스 장치(150)는 사용자의 입력과 관련된 정보, 3차원 모델이 나타내는 물체, 3차원 프린팅 데이터 생성 과정 등을 시각적으로 디스플레이 할 수 있다.
도 2A 및 도 2B는 3차원 모델 및 3차원 모델에 의해 출력되는 물체의 이미지이다.
도 2A 및 도 2B에서 왼쪽 이미지는 3차원 모델에 의해 출력되는 물체의 형상을 나타내고, 오른쪽 이미지는 물체의 3차원 모델을 나타낸다. 또한, 도 2A는 물체 표면의 질감이 반영되지 않은 경우를 나타내며, 도 2B는 물체 표면의 질감이 반영된 경우를 나타낸다.
도 2A 및 도 2B를 참조하면, 3차원 모델은 폴리곤(Polygon)들의 집합으로 물체의 표면을 나타낼 수 있다. 3차원 모델은 표현하고자 하는 물체의 형상에 따라 정점들의 위치를 설정하고, 정점들에 의해 정의되는 폴리곤들의 집합으로 물체의 표면을 나타낼 수 있다.
도 2A를 참조하면, 3차원 모델의 정점과 폴리곤 수가 작으면, 물체의 표면 질감이 비교적 단순하게 표현될 수 있다. 반면, 도 2B를 참조하면, 3차원 모델의 정점과 폴리곤 수가 작으면, 물체의 표면 질감이 정밀하게 표현될 수 있다. 표면 질감이란 표면의 성질을 나타내는 것으로, 표면의 요철, 주름, 거칠기 등을 포함할 수 있다.
3차원 프린팅의 요구 품질이 높아지면서, 3차원 모델의 요구 해상도도 높아지게 되었다. 물체의 표면 질감을 정밀하게 표현하기 위해서는 3차원 모델이 많은 수의 폴리곤들과 정점들을 포함해야 한다. 3차원 모델이 포함하는 폴리곤들과 정점들의 수가 많아지게 되면, 3차원 모델의 용량 및 3차원 모델에 대한 계산량이 증가될 수 있다. 이 경우, 3차원 프린터가 3차원 모델을 디스플레이하고 처리하는 데 많은 시간과 계산 자원이 요구될 수 있다.
도 3은 본 발명의 실시예에 따른 3차원 프린팅 데이터 생성 장치(100)가 3차원 프린팅 데이터를 생성하는 방법을 나타낸 흐름도이다.
도 3을 참조하면, S110 단계에서, 프로세서(110)는 3차원 모델을 생성할 수 있다. 3차원 모델은 정점들과 폴리곤들로 물체의 표면을 나타낼 수 있다. 프로세서(110)는 표면의 질감을 반영하지 않거나, 상대적으로 낮은 정밀도로 표면의 질감을 반영하여 3차원 모델을 생성할 수 있다.
S120 단계에서, 프로세서(110)는 텍스쳐 이미지로부터 표면 높이 맵을 생성할 수 있다. 텍스쳐 이미지는 표면의 질감을 나타내는 이미지일 수 있다. 텍스쳐 이미지는 2차원 이미지일 수 있다. 텍스쳐 이미지는 3차원 프린팅 데이터 생성장치(100)의 메모리(120)에 미리 저장된 이미지일 수 있다. 다른 예로, 프로세서(110)는 사용자의 입력에 따라 텍스쳐 이미지를 생성하여 메모리(120)에 저장할 수도 있다.
도 4A 내지 도 4E는 텍스쳐 이미지들을 예시적으로 나타낸 이미지들이다.
도 4A 내지 도 4E를 참조하면, 텍스쳐 이미지가 나타내는 표면 질감에 따라, 텍스쳐 이미지의 픽셀들 각각의 색상 또는 밝기가 달라질 수 있다. 예를 들어, 텍스쳐 이미지에서 어두운 픽셀은 표면 높이가 낮은 영역을 나타내고, 밝은 픽셀은 표면 높이가 높은 픽셀을 나타낼 수 있다. 텍스쳐 이미지의 테두리 모양에 따라 텍스쳐 이미지가 투영되는 영역의 모양이 달라질 수 있다. 사용자는 텍스쳐 이미지의 테두리 모양을 선택함으로써, 후술하는 표면 높이 맵이 투영되는 영역의 모양을 설정할 수 있다.
예를 들어, 도 4A에서 나타낸 텍스쳐 이미지의 테두리는 사각형 모양을 가질 수 있다. 사용자의 입력에 의해 도 5A에서 나타낸 텍스쳐 이미지가 선택된 경우, 표면 높이 맵이 투영되는 영역은 사각형 에 가깝게 설정될 수 있다. 예를 들어, 3차원 모델의 표면이 평면인 경우, 도 5A의 텍스쳐 이미지로부터 생성된 표면 높이 맵이 투영되는 영역은 사각형 모양일 수 있다. 다른 예로 3차원 모델의 표면이 곡면인 경우, 도 5A의 텍스쳐 이미지로부터 생성된 표면 높이 맵이 투영되는 영역은 사각형 모양이 곡면에 투영된 영역으로 결정될 수 있다.
또한, 도 4B에서 나타낸 텍스쳐 이미지가 선택된 경우, 표면 높이 맵이 투영되는 영역은 타원 모양에 가깝게 설정될 수 있다. 도 4C에서 나타낸 텍스쳐 이미지가 선택된 경우, 표면 높이 맵이 투영되는 영역은 원 모양에 가깝게 설정될 수 있다. 도 4D에서 나타낸 텍스쳐 이미지가 선택된 경우, 표면 높이 맵이 투영되는 영역은 별 모양에 가깝게 설정될 수 있다.
도 5는 텍스쳐 이미지(TI)로부터 표면 높이 맵(HM)을 생성하는 과정을 나타낸 개념도이다.
도 5를 참조하면, 프로세서(110)는 텍스쳐 이미지(TI)의 픽셀들 각각의 색상 및 밝기 중 적어도 하나에 기초하여, 표면 높이 맵(HM)의 픽셀들 각각의 표면 높이를 결정할 수 있다. 표면 높이 맵(HM)은 복수의 픽셀(Px)들을 포함할 수 있다. 표면 높이 맵(HM)의 픽셀(Px) 각각은 텍스쳐 이미지(TI)의 픽셀들 각각에 대응될 수 있다. 예를 들어, 표면 높이 맵(HM)의 픽셀(Px)과 텍스쳐 이미지(TI)의 픽셀이 1:1로 대응될 수 있다. 다른 예로, 표면 높이 맵(HM)의 해상도를 텍스쳐 이미지(TI)보다 낮게 설정된 경우, 표면 높이 맵(HM)에 포함된 픽셀(Px)들의 개수가 텍스쳐 이미지(TI)에 포함된 픽셀들의 개수보다 작을 수도 있다. 이 경우, 텍스쳐 이미지(TI)의 픽셀들의 데이터를 메쉬(mesh)하여 픽셀(Px)의 표면 높이를 결정할 수도 있다. 표면 높이 맵은 매트릭스(matrix) 형태로 메모리(120)에 저장될 수 있다. 메모리(120)는 표면 높이 맵의 픽셀들 각각의 표면 높이를 매트릭스의 엘리먼트(element)로 저장할 수 있다.
프로세서(110)는 텍스쳐 이미지(TI)의 픽셀들 각각의 색상을 고려하여, 표면 높이 맵(HM)의 픽셀(Px)의 표면 높이를 결정할 수 있다. 프로세서(110)는 텍스쳐 이미지(TI)의 픽셀들 각각의 색상의 RGB 값을 고려하여, 표면 높이 맵(HM)의 픽셀(Px)의 표면 높이를 결정할 수 있다. 다른 예로, 프로세서(110)는 텍스쳐 이미지(TI)의 픽셀들 각각의 밝기 값을 고려하여, 표면 높이 맵(HM)의 픽셀(Px)의 표면 높이를 결정할 수 있다. 예를 들어, 프로세서(110)는 표면 높이 맵(HM)의 픽셀(Px)에 대응되는 텍스쳐 이미지(TI)의 픽셀이 밝으면, 픽셀(Px)의 표면 높이를 크게 설정할 수 있다. 프로세서(110)는 표면 높이 맵(HM)의 픽셀(Px)에 대응되는 텍스쳐 이미지(TI)의 픽셀이 어두우면, 픽셀(Px)의 표면 높이를 작게 설정할 수 있다.
다시 도 3을 참조하면, S130 단계에서 프로세서(110)는 표면 높이 맵이 3차원 모델의 표면에 투영되는 영역을 설정할 수 있다.
도 6은 표면 높이 맵의 투영영역을 설정하는 과정에서, 출력 인터페이스 장치(150)에 디스플레이 되는 이미지이다.
도 6을 참조하면, 출력 인터페이스 장치(150)는 3차원 모델(OB)의 형상 및 텍스쳐 이미지(TI)를 디스플레이 할 수 있다. 선택된 텍스쳐 이미지(TI)의 테두리 모양 및 내부 모양에 따라서 3차원 모델(OB)의 표면이 변경되는 영역(PR) 및 표면의 질감 변경 모양이 결정될 수 있다.
입력 인터페이스 장치(140)는 사용자로부터 기준점(P1)의 위치에 대한 정보를 입력 받을 수 있다. 입력 인터페이스 장치(140)가 기준점(P1)의 위치 정보를 입력 받으면, 프로세서(110)는 3차원 모델의 정점들 가운데 어느 하나를 기준점(P1)에 대응시킬 수 있다. 프로세서(110)는 기준점(P1)에 대응되는 정점 및 텍스쳐 이미지(TI)의 테두리 모양에 기초하여, 3차원 모델의 표면에서 표면 높이 맵이 투영되는 영역(PR)을 설정할 수 있다. 출력 인터페이스 장치(150)는 표면 높이 맵이 투영되는 영역(PR)을 디스플레이 할 수 있다.
도 6에서는 3차원 모델(OB)의 표면 중 일부에만 표면 높이 맵이 투영되는 경우를 나타냈지만, 실시예가 이에 제한되는 것은 아니다.
프로세서(110)는 텍스쳐 이미지(TI1)가 나타내는 질감이 3차원 모델(OB1)의 표면 전체에 반영되도록 할 수 있다. 예를 들어, 프로세서(110)는 텍스쳐 이미지(TI1)로부터 생성된 표면 높이 맵을 3차원 모델이 나타내는 3차원 모델(OB1)의 표면 전체에 투영시킬 수도 있다. 이 경우, 도 6에서 나타낸 기준점(P1)에 대한 정보를 입력 받는 과정은 생략될 수 있다.
도 7은 표면 높이 맵(HM)이 3차원 모델의 표면에 투영되는 영역(PR1)을 나타낸 개념도이다.
도 6에서 나타낸 설정절차에 따라서 프로세서(110)는 텍스쳐 이미지(TI)로부터 생성된 표면 높이 맵(HM)을 3차원 모델(OB)에 투영시킬 영역(PR1)을 설정할 수 있다. 프로세서(110)는 표면 높이 맵(HM)을 투영 시킬 영역(PR1)만 결정하고, 실제 3차원 모델(OB)을 수정하지는 않을 수 있다. 프로세서(110)는 3차원 모델(OB)에서 표면 높이 맵(HM)이 투영되는 영역(PR1)에 대한 정보를 메모리(120)에 저장할 수 있다. 프로세서(110)는 표면 높이 맵(HM1)의 픽셀(Px)이 3차원 모델(OB)의 표면 중 어느 위치에 투영되는 지를 결정할 수 있다.
도 8 및 도 9는 프로세서(110)가 표면 높이 맵(HM)이 투영되는 영역(PR1)을 결정하는 과정을 나타낸 개념도이다.
도 8 및 도 9는 도 7에서 3차원 모델(OB) 및 표면 높이 맵(HM)을 z축 방향으로 바라본 것을 나타낸다.
도 8을 참조하면, 프로세서(110)는 입력 인터페이스 장치(140)가 입력 받은 기준점에 대응하는 정점(Pn)을 3차원 모델(OB)에서 선택할 수 있다. 프로세서(110)는 표면 높이 맵(HM)의 기준 픽셀(Px1)이 기준점에 대응하는 정점(Pn)과 만나도록 표면 높이 맵(HM)을 이동시킬 수 있다. 기준 픽셀(Px1)은 표면 높이 맵(HM)의 중심에 있는 픽셀일 수 있다. 다른 예로, 프로세서(110)는 입력 인터페이스 장치(140)가 입력 받은 사용자 설정에 기초하여 기준 픽셀(Px1)을 결정할 수도 있다.
도 9를 참조하면, 프로세서(110)는 기준 픽셀(Px1)과 정점(Pn)이 만난 상태에서, 3차원 모델(OB) 표면의 정점들 각각에 대해서 히트 테스트(hit test)를 실시할 수 있다. 프로세서(110)는 정점들 각각에 대한 노멀 벡터(normal vector)가 표면 높이 맵(HM)과 만나는지 여부를 판단할 수 있다. 예를 들어, 정점 Pn +k 과 정점 Pn-k 사이에 있는 정점들 각각에 대한 노멀 벡터들은 표면 높이 맵(HM)과 만날 수 있다. 반면, 정점 Pn +k+1에 대한 노멀 벡터는 표면 높이 맵(HM)과 만나지 않을 수 있다. 따라서, 프로세서(110)는 정점 Pn +k 과 정점 Pn -k 사이를 표면 높이 맵(HM)이 투영되는 영역으로 설정할 수 있다.
상술한 설명은 예시적인 것에 불과할 뿐 실시예가 이에 제한되는 것은 아니다. 예를 들어, 프로세서(110)는 표면 높이 맵을 3차원 모델의 표면과 유사하거나 같은 형태의 곡면으로 변형시킨 후, 표면 높이 맵을 3차원 모델에 투영시킴으로써, 투영 영역을 설정할 수도 있다. 다른 예로, 프로세서(110)는 3차원 곡면 상에 평면을 프로젝션하는 수학 모델을 이용하여 투영 영역을 설정할 수도 있다.
다시 도 3을 참조하면, S140 단계에서, 프로세서(110)는 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 할 수 있다.
도 10은 3차원 모델(OB)을 단면 세그먼트들로 슬라이싱 하는 과정을 나타낸 개념도이다.
도 10을 참조하면, 프로세서(110)는 3차원 모델(OB)을 z축 방향에 수직한 방향으로 3차원 모델(OB)을 슬라이싱 할 수 있다. 도 10에서 점선들은 단면 세그먼트들의 경계를 나타낸다. 또한, 영역(PR1)은 표면 높이 맵이 투영되는 영역을 나타낸다. 영역(PR1)은 슬라이싱 축(z축) 상에서 높이 z1부터 z2 사이에 위치할 수 있다.
프로세서(110)는 텍스쳐 이미지가 나타내는 표면 질감이 반영되지 않거나 반영 정도가 상대적으로 작은 3차원 모델(OB)을 복수의 단면 세그먼트들로 슬라이싱할 수 있다. 단면 세그먼트들의 두께(z축 방향)에 따라 3차원 프린팅 데이터의 해상도가 결정될 수 있다. 예를 들어, 프로세서(110)가 단면 세그먼트들의 두께를 작게 설정하면, 단면 세그먼트들의 개수가 많아질 수 있다. 그리고, 3차원 프린팅 데이터의 해상도가 높아질 수 있다. 반면, 프로세서(110)가 단면 세그먼트들의 두께를 크게 설정하면, 단면 세그먼트들의 개수가 작아질 수 있다. 그리고, 3차원 프린팅 데이터의 해상도가 낮아질 수 있다.
도 11는 도 10에서 나타낸 슬라이싱에 의해 3차원 모델이 단면 세그먼트들(SG)로 분할된 것을 나타낸 개념도이다.
도 11은 단면 세그먼트들(SG)을 z-y 평면에서 바라본 것을 나타낸다. 도 11을 참조하면, 단면 세그먼트들(SG)은 z축 방향에 수직한 단면을 포함할 수 있다. 단면 세그먼트들의 옆면(z축 방향에 평행한 면)의 모양은 3차원 모델의 형상에 따라 달라질 수 있다. 슬라이싱 축인 z축 방향으로 높이 z1 내지 z2 사이에 있는 단면 세그먼트들(SG)은 표면 높이 맵이 투영되는 영역(PR1)을 포함할 수 있다. 높이 z1 내지 z2 사이에 있는 단면 세그먼트들(SG)의 옆면 중 일부분에 표면 높이 맵이 투영될 수 있다.
다시 도 3을 참조하면, S150 단계에서, 프로세서(110)는 표면 높이 맵이 3차원 모델(OB)에 투영되는 영역(PR1)을 고려하여 단면 세그먼트들 중 적어도 일부의 모양을 보정할 수 있다.
도 12는 도 3의 S150 단계가 수행되는 과정을 예시적으로 나타낸 흐름도이다.
도 12를 참조하면, S152 단계에서, 프로세서(110)는 단면 세그먼트의 인덱스를 나타내는 K 값을 1로 설정할 수 있다. z 축 방향으로 최하위의 단면 세그먼트의 인덱스가 가장 작은 값(예를 들어, 1)을 가지고, 최상위 단면 세그먼트의 인덱스가 가장 큰 값(예를 들어, Kmax)을 가지도록 설정될 수 있다.
S154 단계에서, 프로세서(110)는 K번째 단면 세그먼트가 표면 높이 맵의 투영 영역(PR1)을 포함하는지 여부를 판단할 수 있다. 즉, 프로세서(110)는 K번째 단면 세그먼트의 옆면에 표면 높이 맵이 투영되는 영역(PR1)이 있는지 여부를 판단할 수 있다. 예를 들어, 프로세서(110)는 z축 방향으로 z1 내지 z2 사이의 높이에 있는 단면 세그먼트들이 표면 높이 맵의 투영 영역(PR1)을 포함한다고 판단할 수 있다. 또한, 프로세서(110)는 z축 방향으로 z1보다 작거나 z2보다 큰 높이에 위치한 단면 세그먼트들은 표면 높이 맵의 투영 영역(PR1)을 포함하지 않는다고 판단할 수 있다.
K번째 단면 세그먼트가 표면 높이 맵의 투영 영역(PR1)을 포함하지 않는 경우, S158 단계에서 프로세서(110)는 인덱스 K의 값을 갱신할 수 있다.
K번째 단면 세그먼트가 표면 높이 맵의 투영 영역(PR1)을 포함하는 경우, 프로세서(110)는 S156 단계에서 K번째 단면 세그먼트의 모양을 보정할 수 있다. 프로세서(110)는 K번째 단면 세그먼트의 옆면의 모양을 보정할 수 있다. 예를 들어, 프로세서(110)는 K번째 단면 세그먼트의 옆면에 포함된 정점들 가운데, 표면 높이 맵이 투영되는 영역(PR1)에 포함된 정점들의 위치를 보정할 수 있다. 프로세서(110)는 정점들에 대응되는 표면 높이 맵의 픽셀의 표면 높이에 따라 정점들이 3차원 모델의 표면에서 돌출되는 높이를 결정할 수 있다. 프로세서(110)는 정점들이 돌출되는 높이에 따라 정점들의 위치를 보정할 수 있다. 프로세서(110)는 정점이 위치한 표면에 수직한 방향으로 정점의 위치를 보정할 수 있다.
S156 단계가 완료되면, 프로세서(110)는 S158 단계에서 인덱스 K의 값을 갱신할 수 있다.
S159 단계에서, 프로세서(110)는 인덱스 K를 최대 값 Kmax와 비교할 수 있다. 인덱스 K가 최대 값 Kmax보다 작으면 상술한 S154 단계 내지 S158 단계를 반복할 수 있다. 인덱스 K가 최대 값 Kmax보다 작지 않으면, 프로세서(110)는 단면 세그먼트의 보정 과정을 종료할 수 있다.
도 13은 단면 세그먼트의 보정에 의한 정점들의 위치 변화를 나타낸 개념도이다.
도 13에서 L1 라인은 단면 세그먼트의 보정 전, 정점들이 나타내는 단면 세그먼트의 옆면의 모양을 나타낸다. 또한, L2 라인은 단면 세그먼트의 보정 후, 정점들이 나타내는 단면 세그먼트의 옆면 모양을 나타낸다.
도 13을 참조하면, 프로세서(110)는 표면 높이 맵의 픽셀들의 표면 높이들에 기초하여, 정점들의 표면 높이를 결정할 수 있다. 프로세서(110)는 정점들의 표면 높이들에 기초하여, 정점들의 위치를 보정할 수 있다. 예를 들어, 정점 P1의 표면 높이가 h1인 경우, 프로세서(110)는 정점 P1으로부터 표면에 수직한 방향으로 h1 만큼 이격된 지점을 새로운 정점 P1'의 위치로 결정할 수 있다. 또한, 정점 P2의 표면 높이가 h2인 경우, 프로세서(110)는 정점 P2으로부터 표면에 수직한 방향으로 h2 만큼 이격된 지점을 새로운 정점 P2'의 위치로 결정할 수 있다.
도 13에서 나타낸 바와 같이, 프로세서(110)가 표면 높이 맵을 이용하여 단면 세그먼트들의 옆면에 포함된 정점들의 위치를 보정하면, 3차원 모델이 직접적으로 수정되지 않더라도, 3차원 프린팅 데이터가 물체의 질감을 반영할 수 있다. 따라서, 본 발명의 실시예에 따르면, 3차원 모델을 직접적으로 수정하여 다루는 경우에 비해 적은 연산량으로 표면 질감을 반영할 수 있다.
프로세서(110)는 단면 세그먼트의 옆면 모양이 슬라이싱 축 방향(z축 방향)으로는 일정하도록 단면 세그먼트의 옆면 모양을 변경할 수 있다. 3차원 프린터는 단면 세그먼트 하나를 출력함에 있어서 z축 방향으로 모양을 일정한 모양의 레이어를 형성할 수 있다. 따라서, 프로세서(110)가 슬라이싱 축 방향(z축 방향)에 수직한 xy 평면 상에서만 단면 세그먼트의 옆면 모양을 변경하면 실제 출력 과정에서 반영되는 데이터만 변경하여, 연산 량을 줄일 수 있다.
도 14는 프로세서(110)가 정점의 표면 높이를 결정하는 과정을 예시적으로 나타낸 개념도이다.
도 14를 참조하면, 프로세서(110)는 표면 높이 맵(HM)을 3차원 모델에 투영시켰을 때, 보정 대상 정점이 표면 높이 맵(HM)에 맵핑되는 위치를 결정할 수 있다. 보정 대상 정점이란, 단면 세그먼트의 옆면에 포함된 정점들 가운데, 표면 높이 맵(HM)이 투영되는 영역에 포함된 정점을 의미한다. 예를 들어, 보정 대상 정점 P1은 표면 높이 맵(HM)에서 위치 MP1에 맵핑될 수 있다. 프로세서(110)는 위치 MP1을 포함하는 픽셀 Px1을 정점 P1에 대응시킬 수 있다. 프로세서(110)는 픽셀 Px1의 표면 높이를 정점 P1의 표면 높이로 결정하고, 정점 P1의 위치를 보정할 수 있다.
도 14에서는 프로세서(110)가 하나의 픽셀 Px1의 표면 높이를 정점 P1의 표면 높이로 결정했다. 하지만, 실시예가 이에 제한되는 것은 아니다. 예를 들어, 프로세서(110)는 정점의 표면 높이를 결정하기 위해 복수의 픽셀들의 표면 높이들을 고려할 수도 있다.
도 15는 프로세서(110)가 정점의 표면 높이를 결정하는 과정의 다른예를 나타낸 개념도이다.
도 15를 참조하면, 정점 P2는 표면 높이 맵(HM)의 위치 MP2에 맵핑 될 수 있다. 위치 MP2와 픽셀 Px1의 중심 C1 사이의 거리가 상대적으로 큰 경우, 픽셀 Px1의 표면 높이만 고려하면, 정확도가 낮아질 수 있다. 프로세서(110)는 정점 P2에 대응되는 픽셀 Px1의 표면 높이 및 정점 P2가 맵핑되는 위치 MP2에 인접한 픽셀들(Px2, Px3, Px4)의 표면 높이를 고려하여 정점 P2의 표면 높이 h를 계산할 수 있다.
예를 들어, 정점 P2의 표면 높이 h는 수학식 1에 의해 계산될 수 있다.
Figure 112017025917376-pat00001
수학식 1에서 h=정점 P2의 표면 높이, h1=픽셀 Px1의 표면 높이, h2=픽셀 Px2의 표면 높이, h3=픽셀 Px3의 표면 높이, h4=픽셀 Px4의 표면 높이를 의미한다. 또한, α1= 픽셀 Px1의 가중치, α2= 픽셀 Px2의 가중치, α3= 픽셀 Px3의 가중치, α4= 픽셀 Px4의 가중치를 의미한다.
α1은 픽셀 Px1의 중심 C1과 맵핑 위치(MP2) 사이의 거리 l1에 의존할 수 있다. α2은 픽셀 Px2의 중심 C2과 맵핑 위치(MP2) 사이의 거리 l2에 의존할 수 있다. α3는 픽셀 Px3의 중심 C3과 맵핑 위치(MP2) 사이의 거리 l3에 의존할 수 있다. α4 는 픽셀 Px4의 중심 C4과 맵핑 위치(MP2) 사이의 거리 l4에 의존할 수 있다.
수학식 1을 참조하면, 정점 P2의 표면 높이는, 표면 높이 맵(HM)에서 정점 P2에 대응되는 픽셀 Px1의 표면 높이 및 표면 높이 맵(HM)에서 정점 P2가 맵핑되는 위치 MP2에 인접한 픽셀들(Px2, Px3, Px4)의 표면 높이(h2, h3, h4)들의 선형 합으로 결정될 수 있다. 프로세서(110)는 도 14을 참조하여 설명한 바와 같이, 정점 P2의 표면 높이를 결정함으로써, 단면 세그먼트 보정의 정확도를 높일 수 있다.
이상에서 도 1 내지 도 14을 참조하여 본 발명의 실시예들에 따른 3차원 프린팅 데이터 생성 장치 및 방법에 관하여 설명하였다. 본 발명의 실시예들에 따르면, 3차원 모델을 수정하지 않고 물체의 표면 질감을 나타낼 수 있는 3차원 프린팅 데이터를 생성할 수 있다. 3차원 프린팅 데이터는 단면 세그먼트들을 포함할 수 있다. 또한, 사용자가 텍스쳐 이미지를 선택하고, 3차원 모델에서 텍스쳐 이미지의 질감이 반영되는 영역을 용이하게 설정할 수 있는 환경을 제공할 수 있다. 또한, 물체의 표면 질감을 나타낼 수 있는 3차원 프린팅 데이터에 대한 계산량 및 3차원 프린팅 데이터의 용량을 줄일 수 있다.
이하에서는 3차원 프린터 및 3차원 프린터의 프린팅 방법에 관하여 설명한다.
도 16은 본 발명의 실시예에 따른 3차원 프린터(1000)를 나타낸 블록도이다. 도 16의 실시예를 설명함에 있어서 도 1과 중복되는 내용은 생략한다.
도 16을 참조하면, 3차원 프린터(1000)는 3차원 프린팅 데이터 생성 장치(100) 및 제조 장치(200)를 포함할 수 있다.
프로세서(110)는 도 3 내지 도 15을 참조하여 설명한 실시예들에 의해 프린팅 데이터를 생성할 수 있다. 프린팅 데이터는 복수의 단면 세그먼트들을 포함할 수 있다. 복수의 단면 세그먼트들 중 적어도 일부는 모양이 보정될 수 있다. 프로세서(110)는 3차원 프린팅 데이터를 제조 장치(200)에 전달할 수 있다. 제조 장치(200)는 복수의 단면 세그먼트들을 확인할 수 있다. 제조 장치(200)는 복수의 단면 세그먼트들 중 최하단에 위치한 단면 세그먼트부터 각각의 단면 세그먼트의 모양에 대응하는 레이어를 형성할 수 있다.
제조 장치(200)는 액체나 분말 형태의 재료를 이용하여 단면 세그먼트의 모양에 대응하는 레이어를 형성할 수 있다. 예를 들어, 제조 장치(200)는 압출 가공 실 가공, 레이저 용해, 열 소결, 전자빔 용해, 석고 기반 방식, 광경화수지 조형방식 등을 이용하여 레이어를 형성할 수 있다.
제조 장치(200)는 단면 세그먼트들에 대응하는 레이어들을 형성하고, 레이어들을 최하단부터 순차적으로 적층할 수 있다. 제조 장치(200)는 레이어들을 적층함으로써, 물체를 제조할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬, 램, 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 1의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 3차원 프린팅 데이터 생성 장치에 의해 수행되는 3차원 프린팅 데이터 생성 방법에 있어서,
    물체의 3차원 모델을 생성하는 단계;
    상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하는 단계;
    상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하는 단계;
    상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하는 단계;
    상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계;를 포함하되,
    상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계에서는,
    상기 표면 높이 맵을 이용하여, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들 각각의 표면 높이를 결정하고, 상기 정점들 각각의 표면 높이에 기초하여, 상기 정점들 각각의 위치를 보정하고,
    상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이 및 상기 표면 높이 맵에서 상기 정점들 각각이 맵핑되는 위치에 인접한 픽셀들의 표면 높이들의 선형 합으로 결정되는 3차원 프린팅 데이터 생성 방법.
  2. 청구항 1에 있어서,
    상기 텍스쳐 이미지의 픽셀들 각각의 색상 및 밝기 중 적어도 하나에 기초하여, 상기 표면 높이 맵의 픽셀들 각각의 표면 높이를 결정하는 3차원 프린팅 데이터 생성 방법.
  3. 청구항 1에 있어서,
    상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
    상기 단면 세그먼트들 각각이 표면 높이 맵이 투영되는 영역을 포함하는지 여부를 판단하고, 상기 표면 높이 맵이 투영되는 영역을 포함하는 단면 세그먼트의 모양을 보정하는 3차원 프린팅 데이터 생성 방법.
  4. 청구항 1에 있어서,
    상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
    상기 단면 세그먼트들 중 적어도 일부의 옆면의 모양을 보정하는 3차원 프린팅 데이터 생성 방법.
  5. 청구항 4에 있어서,
    상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하는 단계는,
    상기 단면 세그먼트의 옆면에 포함된 정점들 가운데, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들의 위치를 보정하는 3차원 프린팅 데이터 생성 방법.
  6. 삭제
  7. 청구항 1에 있어서,
    상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이로 결정되는 3차원 프린팅 데이터 생성 방법.
  8. 삭제
  9. 청구항 1에 있어서,
    상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하는 단계는,
    상기 3차원 모델에서 상기 표면 높이 맵의 투영 위치를 설정하기 위한 기준점 정보를 입력 받고, 상기 기준점 및 상기 텍스쳐 이미지의 테두리 모양에 기초하여 상기 표면 높이 맵이 투영되는 영역을 결정하는 3차원 프린팅 데이터 생성 방법.
  10. 프로세서(processor); 및
    학습용 데이터 베이스 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);를 포함하며,
    상기 적어도 하나의 명령은,
    물체의 3차원 모델을 생성하고, 상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하고, 상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하고, 상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하고, 상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하도록 수행되되,
    상기 단면 세그먼트들 중 적어도 일부의 모양을 보정할 경우,
    상기 표면 높이 맵을 이용하여, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들 각각의 표면 높이를 결정하며, 상기 정점들 각각의 표면 높이에 기초하여 상기 정점들 각각의 위치를 보정하고,
    상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이 및 상기 표면 높이 맵에서 상기 정점들 각각이 맵핑되는 위치에 인접한 픽셀들의 표면 높이들의 선형 합으로 결정되는, 3차원 프린팅 데이터 생성 장치.
  11. 청구항 10에 있어서,
    상기 적어도 하나의 명령은,
    상기 텍스쳐 이미지의 픽셀들 각각의 색상 및 밝기 중 적어도 하나에 기초하여, 상기 표면 높이 맵의 픽셀들 각각의 표면 높이를 결정하도록 수행되는 3차원 프린팅 데이터 생성 장치.
  12. 청구항 10에 있어서,
    상기 적어도 하나의 명령은,
    상기 단면 세그먼트들 각각이 표면 높이 맵이 투영되는 영역을 포함하는지 여부를 판단하고, 상기 표면 높이 맵이 투영되는 영역을 포함하는 단면 세그먼트의 모양을 보정하도록 수행되는 3차원 프린팅 데이터 생성 장치.
  13. 청구항 10에 있어서,
    상기 적어도 하나의 명령은,
    상기 단면 세그먼트들 중 적어도 일부의 옆면의 모양을 보정하도록 수행되는 3차원 프린팅 데이터 생성 장치.
  14. 청구항 13에 있어서,
    상기 적어도 하나의 명령은,
    상기 단면 세그먼트의 옆면에 포함된 정점들 가운데, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들의 위치를 보정하도록 수행되는 3차원 프린팅 데이터 생성 장치.
  15. 삭제
  16. 청구항 10에 있어서,
    상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이로 결정되는 3차원 프린팅 데이터 생성 장치.
  17. 삭제
  18. 청구항 10에 있어서,
    상기 3차원 모델에서 상기 표면 높이 맵의 투영 위치를 설정하기 위한 기준점 정보를 입력 받는 입력 인터페이스 장치; 및
    상기 3차원 모델과 상기 기준점 및 상기 표면 높이 맵의 투영 위치를 표시하는 출력 인터페이스 장치;를 더 포함하며,
    상기 적어도 하나의 명령은,
    상기 기준점 및 상기 텍스쳐 이미지의 테두리 모양에 기초하여 상기 표면 높이 맵이 투영되는 영역을 결정하도록 수행되는 3차원 프린팅 데이터 생성 장치.
  19. 프로세서(processor);
    학습용 데이터 베이스 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory); 및
    상기 프로세서의 명령에 의해 결정된 형상으로 물체를 제조하는 제조 장치;를 포함하며,
    상기 적어도 하나의 명령은,
    상기 물체의 3차원 모델을 생성하고, 상기 물체의 표면 질감을 나타내는 텍스쳐 이미지로부터 표면 높이 맵을 생성하고, 상기 표면 높이 맵이 상기 3차원 모델의 표면에 투영되는 영역을 설정하고, 상기 3차원 모델을 복수의 단면 세그먼트들로 슬라이싱 하고, 상기 표면 높이 맵이 상기 3차원 모델에 투영되는 영역을 고려하여, 상기 단면 세그먼트들 중 적어도 일부의 모양을 보정하도록 실행되되,
    상기 단면 세그먼트들 중 적어도 일부의 모양을 보정할 경우,
    상기 표면 높이 맵을 이용하여, 상기 표면 높이 맵이 투영되는 영역에 포함된 정점들 각각의 표면 높이를 결정하며, 상기 정점들 각각의 표면 높이에 기초하여 상기 정점들 각각의 위치를 보정하고,
    상기 정점들 각각의 표면 높이는, 상기 표면 높이 맵에서 상기 정점들 각각에 대응되는 픽셀의 표면 높이 및 상기 표면 높이 맵에서 상기 정점들 각각이 맵핑되는 위치에 인접한 픽셀들의 표면 높이들의 선형 합으로 결정되는, 3차원 프린터.
  20. 청구항 19에 있어서,
    상기 제조 장치는, 보정이 완료된 단면 세그먼트들 중 최하단에 위치한 단면 세그먼트부터 각각의 단면 세그먼트에 대응되는 모양으로 재료를 적층함으로써 상기 물체를 제조하는 3차원 프린터.
KR1020170032940A 2017-03-16 2017-03-16 3차원 프린팅 데이터 생성 방법 및 장치 KR102233258B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170032940A KR102233258B1 (ko) 2017-03-16 2017-03-16 3차원 프린팅 데이터 생성 방법 및 장치
US15/919,613 US20180268616A1 (en) 2017-03-16 2018-03-13 Method and apparatus for generating 3d printing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170032940A KR102233258B1 (ko) 2017-03-16 2017-03-16 3차원 프린팅 데이터 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180105797A KR20180105797A (ko) 2018-10-01
KR102233258B1 true KR102233258B1 (ko) 2021-03-29

Family

ID=63520707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170032940A KR102233258B1 (ko) 2017-03-16 2017-03-16 3차원 프린팅 데이터 생성 방법 및 장치

Country Status (2)

Country Link
US (1) US20180268616A1 (ko)
KR (1) KR102233258B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080875B2 (en) * 2018-03-22 2021-08-03 Jvckenwood Corporation Shape measuring apparatus, shape measuring method, non-transitory computer readable medium storing program
JP7040236B2 (ja) * 2018-04-05 2022-03-23 富士フイルムビジネスイノベーション株式会社 三次元形状データの編集装置、三次元造形装置、三次元造形システム、及び三次元形状データの編集プログラム
CN113784831B (zh) * 2018-12-29 2023-08-15 北京工业大学 基于自适应内部支撑结构的3d打印方法
CN110826445B (zh) * 2019-10-28 2021-04-23 衢州学院 一种无色彩场景视频中对特定目标区域的侦测方法和装置
CN112102460B (zh) * 2020-09-17 2021-06-11 上海复志信息技术有限公司 3d打印切片方法、装置、设备和存储介质
CN113232300B (zh) * 2021-05-11 2022-01-11 广东省珠海市质量计量监督检测所 3d阵列喷绘打印缺陷检测与矫正系统及方法
WO2023059618A1 (en) * 2021-10-07 2023-04-13 Additive Monitoring Systems, Llc Structured light part quality monitoring for additive manufacturing and methods of use

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100543219B1 (ko) * 2004-05-24 2006-01-20 한국과학기술연구원 2차원 이미지에서의 햅틱 벡터 필드 생성방법 및 3차원높이 정보 추출방법
ES2744404T3 (es) * 2013-03-14 2020-02-25 Stratasys Ltd Laminado y/o texturizado para impresión tridimensional

Also Published As

Publication number Publication date
US20180268616A1 (en) 2018-09-20
KR20180105797A (ko) 2018-10-01

Similar Documents

Publication Publication Date Title
KR102233258B1 (ko) 3차원 프린팅 데이터 생성 방법 및 장치
US20230101921A1 (en) Sub-pixel grayscale three-dimensional printing
JP6306616B2 (ja) 3次元プリンティングのためのスライシングおよび/またはテクスチャリング
US20220270402A1 (en) Face Reconstruction from a Learned Embedding
US9633470B2 (en) Generating slice data representing a cross section cut from a three-dimensional modeled object
US9916684B2 (en) Generating portable three-dimensional print-preview renderings of three-dimensional models
US20230081400A1 (en) Enhanced three dimensional printing of vertical edges
US9430873B2 (en) Slice data generation device, slice data generation method, and non-transitory computer-readable storage medium storing computer program that causes computer to act as slice data generation device or to execute slice data generation method
US8600538B2 (en) System and method for producing three-dimensional multi-layer objects from digital models
US20140085295A1 (en) Direct environmental mapping method and system
US20110157157A1 (en) System and method for displaying a three-dimensional object
US20170161876A1 (en) Smoothing Images Using Machine Learning
CN110889426A (zh) 三维表达体生成系统
US7586494B2 (en) Surface detail rendering using leap textures
US10403028B2 (en) System and method for geometric warping correction in projection mapping
US10475230B2 (en) Surface material pattern finish simulation device and surface material pattern finish simulation method
JP4809480B2 (ja) 丸みのある角を備えた画像を生成するためのコンピュータグラフィックスの方法およびシステム
US20210308936A1 (en) Three-dimensional printing of texture images
JP6822086B2 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
US11262729B2 (en) Adapting a 3D printing file
US20220270312A1 (en) Perspective correct vector graphics rendering techniques
WO2021188101A1 (en) Mesh model generation
JP2017107310A (ja) タイリング図形生成システム、タイリング図形生成方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant