KR20240073762A - 롤-업을 시뮬레이션하는 방법 및 장치 - Google Patents

롤-업을 시뮬레이션하는 방법 및 장치 Download PDF

Info

Publication number
KR20240073762A
KR20240073762A KR1020230150894A KR20230150894A KR20240073762A KR 20240073762 A KR20240073762 A KR 20240073762A KR 1020230150894 A KR1020230150894 A KR 1020230150894A KR 20230150894 A KR20230150894 A KR 20230150894A KR 20240073762 A KR20240073762 A KR 20240073762A
Authority
KR
South Korea
Prior art keywords
roll
vertices
dimensional
target
simulating
Prior art date
Application number
KR1020230150894A
Other languages
English (en)
Inventor
마재환
윤기성
Original Assignee
(주)클로버추얼패션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)클로버추얼패션 filed Critical (주)클로버추얼패션
Priority to PCT/KR2023/017879 priority Critical patent/WO2024106844A1/ko
Publication of KR20240073762A publication Critical patent/KR20240073762A/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • 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/2024Style variation

Abstract

일 실시예에 따른 롤-업을 시뮬레이션하는 방법 및 장치는 3차원 의상에 대응하는 2차원 패턴들 중에서 사용자에 의해 롤-업의 대상으로 선택된 대상 부분에 대응하는 3차원 의상의 베이스 라인을 결정하고, 베이스 라인에 기초하여 대상 부분에 해당하는 적어도 하나의 2차원 패턴의 정점들 중 롤-업의 영향을 받는 대상 정점들을 결정하며, 대상 정점들을 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환함으로써 롤-업이 표현된 3차원 의상을 시뮬레이션한다.

Description

롤-업을 시뮬레이션하는 방법 및 장치{METHOD AND APPARATUS OF SIMULATING ROLL-UP}
실시예들은 롤-업을 시뮬레이션하는 방법 및 장치에 관한 것이다.
의상(clothes)은 사람이 착용한 경우에 3차원으로 보이지만, 실제로는 2차원의 패턴(pattern)에 따라 재단된 천 조각의 조합에 해당하므로 2차원에 가깝다. 의상의 재료가 되는 천은 유연(flexible)하기 때문에 의상을 착용한 사람의 신체 모양이나 움직임에 따라 그 형태가 다양하게 변화될 수 있다. 또한, 천은 예를 들어, 강도, 신축성, 및 수축률 등과 같은 다양한 물성을 가질 수 있으며, 천이 가지는 각 물성의 차이에 의해 동일한 디자인의 의상이라 하더라도 그 표현 형태 및 느낌이 상이할 수 있다.
패션 산업에서 컴퓨터 기반의 의상 시뮬레이션 기술이 실제 의상 디자인을 개발하는 데 널리 사용되고 있으나, 예를 들어, 의상의 소맷부리를 감아올려 입거나 바짓단을 접어올려 입는 것과 같은 롤-업(roll-up)의 표현이 용이하지 않은 실정이다.
일 실시예에 따르면, 롤-업을 시뮬레이션하는 방법은 3차원 의상에 대응하는 2차원 패턴들 중에서 사용자에 의해 롤-업(roll-up)의 대상으로 선택된 대상 부분에 대응하는 상기 3차원 의상의 베이스 라인(Base line)을 결정하는 단계; 상기 베이스 라인에 기초하여, 상기 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 정점들 중 상기 롤-업의 영향을 받는 대상 정점들을 결정하는 단계; 및 상기 대상 정점들을 상기 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환(transform)함으로써 상기 롤-업이 표현된 상기 3차원 의상을 시뮬레이션하는 단계를 포함한다.
상기 베이스 라인을 결정하는 단계는 상기 2차원 패턴들 중 상기 사용자에 의해 선택된 상기 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 끝단에서 중간점을 결정하는 단계; 상기 중간점으로부터 상기 적어도 하나의 2차원 패턴의 내부로의 수직 방향에 위치하는 인접점을 결정하는 단계; 및 상기 중간점에서 상기 인접점 방향으로의 업 벡터(up-vector)를 설정하는 단계를 포함할 수 있다.
상기 대상 정점들을 결정하는 단계는 상기 베이스 라인으로부터의 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 기초하여, 상기 적어도 하나의 2차원 패턴에서 롤-업의 접힘 영역의 구간들 각각으로 분류하는 단계; 및 상기 접힘 영역의 구간들 각각에 포함된 정점들을 상기 대상 정점들로 추출하는 단계를 포함할 수 있다.
상기 접힘 영역의 구간들을 분류하는 단계는 상기 베이스 라인으로부터의 상기 접힘 간격 및 상기 접힘 횟수에 따라, 상기 롤-업의 접힘 영역의 구간들 중 상기 접힘 횟수에 대응하는 기준 구간을 결정하는 단계를 포함하고, 상기 대상 정점들로 추출하는 단계는 상기 기준 구간의 아래에 위치하는 정점들을 상기 접힘 영역의 구간들 각각에 대응하는 상기 대상 정점들로 추출하는 단계를 포함할 수 있다.
상기 접힘 영역의 구간들을 분류하는 단계는 상기 베이스 라인으로부터의 상기 접힘 간격 및 상기 접힘 횟수에 따라, 상기 대상 정점들에게 상기 접힘 영역의 구간들에 대응하는 인덱스를 부여하는 단계를 포함할 수 있다.
상기 접힘 영역의 구간들을 분류하는 단계는 상기 접힘 영역의 구간들을 기설정된 식에 따라 분류하는 단계를 포함할 수 있다.
상기 접힘 영역의 구간들을 분류하는 단계는 상기 적어도 하나의 2차원 패턴에 상기 접힘 횟수에 대응하는 적어도 하나의 접는 선(fold line) 및 버퍼 영역을 설정하는 단계; 및 상기 접힘 간격에 상기 버퍼 영역을 반영하여 상기 접힘 영역의 구간들로 결정하는 단계를 포함할 수 있다.
상기 적어도 하나의 접는 선을 설정하는 단계는 상기 적어도 하나의 2차원 패턴의 메쉬에 상기 대상 정점들의 위치 및 입자 간격 중 적어도 하나를 이동시켜 리메슁(re-meshing)하는 단계를 포함할 수 있다.
상기 버퍼 영역은 상기 접힘 영역의 구간들의 개수가 증가함에 따라 증가하는 것을 특징으로 할 수 있다.
상기 3차원 의상을 시뮬레이션하는 단계는 상기 접힘 영역의 구간들 각각에 포함된 상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계를 포함할 수 있다.
상기 3차원 의상을 시뮬레이션하는 단계는 상기 가상 평면을 정의하는 단계; 상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계; 및 상기 변환된 2차원 정점들을 상기 3차원 의상에 대응하는 3차원의 월드 좌표로 복원함으로써 상기 3차원 의상을 시뮬레이션하는 단계를 포함할 수 있다.
상기 가상 평면을 정의하는 단계는 상기 대상 부분의 끝단 상의 임의의 제1 정점과 상기 적어도 하나의 2차원 패턴에 대응하는 업 벡터를 기초로, 가상 실린더의 베이스 평면을 정의하는 단계; 및 상기 3차원 의상에서 상기 임의의 제1 정점에 대응하는 제2 정점과 상기 베이스 평면 간의 거리를 기초로 상기 베이스 평면을 이동시킴으로써 상기 가상 평면을 정의하는 단계를 포함할 수 있다.
상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계는 상기 대상 정점들을 베이스 평면들 각각에 투영하는 단계; 및 상기 베이스 평면들 각각에 투영된 상기 대상 정점들을 포함하는 바운딩 박스의 중심점을 기초로, 상기 대상 정점들을 이동시킴으로써 상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계를 포함할 수 있다.
상기 3차원 의상을 시뮬레이션하는 단계는 상기 변환된 2차원 정점들의 위치 및 간격 중 적어도 하나를 조절하여 리메슁 함으로써 상기 변환된 2차원 정점들을 상기 3차원 의상에 대응하는 3차원의 월드 좌표로 복원하는 단계를 포함할 수 있다.
일 실시예에 따르면, 롤-업을 시뮬레이션하는 장치는 3차원 의상에 대응하는 2차원 패턴들을 표시하는 디스플레이; 상기 2차원 패턴들 중에서 사용자에 의해 롤-업의 대상이 되는 대상 부분이 선택됨에 따라, 사용자 인터페이스를 통해 입력된 롤-업의 접힘 횟수 및 롤-업의 접힘 간격을 수신하는 통신 인터페이스; 및 상기 대상 부분에 대응하는 상기 3차원 의상의 베이스 라인을 결정하고, 상기 베이스 라인에 기초하여, 상기 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 정점들 중 상기 롤-업의 영향을 받는 대상 정점들을 결정하며, 상기 대상 정점들을, 상기 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환함으로써 상기 롤-업이 표현된 상기 3차원 의상을 시뮬레이션하는 프로세서를 포함한다.
일 측에 따르면, 사용자가 입력한 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 따른 복수 회의 롤-업이 표현된 3차원 의상을 시뮬레이션할 수 있다.
일 측에 따르면, 복수 회의 롤-업이 표현된 3차원 의상을 꼬임 및 관통없이 빠르게 표현할 수 있다.
일 측에 따르면, 롤-업의 접힘 횟수에 대응하는 적어도 하나의 접는 선이 2차원 패턴의 메쉬에 반영되도록 함으로써 메쉬 해상도가 충분하지 않아 롤-업의 접히는 부분이 울퉁불퉁 해지는 문제를 해결할 수 있다.
일 측에 따르면, 2차원 패턴에서 롤-업이 수행되지 않는 부분, 다시 말해 접혀지지 않는 기준 구간에 대하여는 조밀한 메쉬 대신에 리메슁 전의 성긴 메쉬를 이용하여 시뮬레이션을 수행함으로써 연산 복잡도를 감소시킬 수 있다.
도 1은 일 실시예에 따른 롤-업을 시뮬레이션하는 기본 개념을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 롤-업을 시뮬레이션하는 방법을 나타낸 흐름도이다.
도 3은 일 실시예에 따른 베이스 라인을 결정하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 대상 정점들을 결정하는 방법을 나타낸 흐름도이다.
도 5는 일 실시예에 따른 접힘 영역의 구간들을 분류하는 방법을 나타낸 흐름도이다.
도 6a 및 도 6b는 일 실시예에 따른 버퍼 영역을 설정하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 접힘 영역의 구간들을 분류하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 3차원 의상을 시뮬레이션하는 방법을 나타낸 흐름도이다.
도 9는 일 실시예에 따른 가상 평면을 정의하는 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 대상 정점들을 가상 평면 내의 2차원 정점들로 변환하는 방법을 나타낸 흐름도이다.
도 11은 일 실시예에 따른 가상 평면 내로 변환된 2차원 정점들을 리메슁한 결과를 나타낸 도면이다.
도 12는 일 실시예에 따른 사용자 인터페이스를 통해 롤-업의 시뮬레이션이 수행되는 과정을 나타낸 도면이다.
도 13은 일 실시예에 따른 롤-업을 시뮬레이션하는 방법을 나타낸 흐름도이다.
도 14는 일 실시예에 따른 롤-업을 시뮬레이션하는 장치의 블록도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 롤-업을 시뮬레이션하는 기본 개념을 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 3차원 의상에서 사용자에 의해 롤-업의 대상이 되는 대상 부분(예: 소매 부분)이 선택되는 화면(110) 및 사용자에 의해 선택된 대상 부분에서 0회부터 3회까지의 롤-업이 시뮬레이션 된 결과를 나타낸 도면들(120, 130, 140, 150)이 도시된다.
'롤-업(roll-up)'은 의상의 일부를 걷어 올리거나, 또는 여러 번 접는 것을 의미할 수 있다. 의상에서 롤-업의 대상이 되는 대상 부분은 예를 들어, 소맷부리 및/또는 바짓단에 해당할 수 있다.
화면(110)과 같이 3차원 의상에서 롤-업을 수행하고자 하는 대상 부분(예: '소매' 부분)이 마우스 클릭 등에 의해 선택될 수 있다. 이 경우, 일 실시예에 따른 시뮬레이션 장치는 롤-업을 표현하기 위해 사용자가 선택한 대상 부분에 대응하는 롤-업의 접힘 간격 및/또는 롤-업의 접힘 횟수를 입력받기 위한 사용자 인터페이스를 제공할 수 있다. '롤-업의 접힘 간격'은 롤-업을 얼마의 간격(길이 또는 높이)으로 수행할지를 나타내는 값으로써, 예를 들어, 5 mm 단위 또는 1Cm 단위로 설정될 수 있으나, 반드시 이에 한정되지는 않는다. '롤-업의 접힘 횟수'는 롤-업을 몇 번 수행할지, 다시 말해 몇 번 접을 지를 나타내는 값으로써, 예를 들어, 1회부터 3회까지의 값 중 어느 하나로 설정될 수 있으나, 반드시 이에 한정되지는 않는다.
롤-업의 접힘 횟수 및/또는 롤-업의 접힘 간격은 사용자 인터페이스를 통해 사용자로부터 입력될 수도 있고, 또는 별도의 입력없이 디폴트(default) 값이 미리 주어질 수도 있다.
실시예에 따라서, 시뮬레이션 장치는 3차원 의상이 아니라, 3차원 의상을 구성하는 2차원 패턴들에서 사용자가 롤-업하고자 선택한 패턴을 입력받을 수도 있다. 시뮬레이션 장치는 예를 들어, 사용자가 3차원 의상의 외곽선(또는 2차원 패턴의 외곽선)을 클릭한 후 마우스를 우클릭(또는 좌클릭)하여 롤-업 기능을 선택함으로써 롤-업을 제공할 수 있다. 롤-업 기능이 선택됨에 따라, 시뮬레이션 장치는 롤-업의 접힘 간격 및/또는 롤-업의 접힘 횟수를 설정하는 사용자 인터페이스 또는 팝업 메뉴를 화면에 표시할 수 있다. 시뮬레이션 장치는 팝업 메뉴를 통해 입력 또는 설정된 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 따라 도면들(120, 130, 140, 150)과 같이 소매에 롤-업을 시뮬레이션한 결과를 표시할 수 있다.
도면(120)은 롤-업 기능이 선택되지 않은 상태의 소매를 나타낼 수 있다. 도면(130)은 예를 들어, 롤-업의 접힘 간격이 대략 30mm이고, 롤-업의 접힘 횟수가 1회로 설정된 경우의 시뮬레이션 결과를 나타낼 수 있다. 도면(140)은 예를 들어, 롤-업의 접힘 간격이 대략 50mm이고, 롤-업의 접힘 횟수가 2회로 설정된 경우의 시뮬레이션 결과를 나타낼 수 있다. 도면(150)은 예를 들어, 롤-업의 접힘 간격이 대략 70mm이고, 롤-업의 접힘 횟수가 3회로 설정된 경우의 시뮬레이션 결과를 나타낼 수 있다.
실시예에 따라서, 시뮬레이션 장치는 3차원 의상의 대상 부분 또는 2차원 패턴의 대상 부분에서 롤-업 기능이 선택됨에 따라 사용자의 별도의 입력이 없이도 미리 설정된 롤-업의 접힘 간격 및/또는 롤-업의 접힘 횟수에 따라 3차원 의상에서 선택된 부분에 자동적으로 롤-업을 표현할 수도 있다.
도 2는 일 실시예에 따른 롤-업을 시뮬레이션하는 방법을 나타낸 흐름도이다. 도 2 이하의 흐름도와 관련한 실시예에서 각 단계들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 단계들의 순서가 변경될 수도 있으며, 적어도 두 단계들이 병렬적으로 수행될 수도 있다.
도 2를 참조하면, 일 실시예에 따른 롤-업을 시뮬레이션하는 장치(이하, '시뮬레이션 장치')는 단계(110) 내지 단계(130)을 통해 롤-업이 표현된 3차원 의상을 시뮬레이션할 수 있다.
단계(210)에서, 시뮬레이션 장치는 3차원 의상에서, 사용자에 의해 2차원 패턴에서 롤-업(roll-up)의 대상으로 선택된 대상 부분에 대응하는 베이스 라인(Base line)을 결정한다. 베이스 라인'은 롤-업의 대상이 되는 2차원 패턴들 중 사용자에 의해 선택된 대상 부분의 바닥면에 대응하는 3차원 의상 부분의 외곽선에 해당할 수 있다.
시뮬레이션 장치는 예를 들어, 3차원 의상에 대응하는 2차원 패턴들 중 사용자에 의해 선택된 대상 부분(예: 소매, 바지)의 끝단(예: 소매단, 바지단)의 양 끝점으로부터의 거리가 동일한 위치에 중간점을 결정할 수 있다. 시뮬레이션 장치는 중간점으로부터 해당 2차원 패턴(예: 소매 패턴, 바지 패턴)의 내부로의 수직 방향에 위치하는 인접점을 결정할 수 있다. 시뮬레이션 장치는 중간점에서 위쪽에 위치하는 인접점 방향으로의 업 벡터(up-vector)를 설정함으로써 3차원 의상에서의 베이스 라인을 결정할 수 있다. 시뮬레이션 장치가 베이스 라인을 결정하는 방법은 아래의 도 3을 참조하여 보다 구체적으로 설명한다.
단계(220)에서, 시뮬레이션 장치는 단계(210)에서 결정한 베이스 라인에 기초하여, 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 정점들 중 롤-업의 영향을 받는 대상 정점들을 결정한다. 본 명세서에서 2차원 패턴의 '정점들'은 2차원 패턴의 메쉬를 구성하는 다각형(예: 삼각형)의 정점들에 의미할 수 있다. 또한, '대상 정점들'은 2차원 패턴의 메쉬를 구성하는 다각형(예: 삼각형)의 정점들 중 롤-업의 향을 받는 영역의 정점들을 의미할 수 있다. 시뮬레이션 장치가 대상 정점들을 결정하는 방법은 아래의 도 4 내지 도 7을 참조하여 보다 구체적으로 설명한다.
단계(230)에서, 시뮬레이션 장치는 단계(220)에서 결정한 대상 정점들을, 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환(transform)함으로써 롤-업이 표현된 3차원 의상을 시뮬레이션한다. 아래에서 보다 구체적으로 설명하겠지만, 접힘 간격에 버퍼 영역을 반영하여 높이 및 너비가 확장된 영역이 접힘 영역의 구간들로 결정된 경우, 시뮬레이션 장치는 높이 및 너비가 확장된 영역에 의해 결정된 접힘 영역의 구간들 각각에 포함된 대상 정점들을 가상 평면 내의 2차원 정점들로 변환할 수 있다. 시뮬레이션 장치는 대상 정점들을 베이스 평면들 각각에 투영하고, 베이스 평면들 각각에 투영된 대상 정점들을 포함하는 바운딩 박스의 중심점을 기초로, 대상 정점들을 이동시킴으로써 대상 정점들을 가상 평면 내의 2차원 정점들로 변환할 수 있다. 시뮬레이션 장치는 변환된 2차원 정점들을 3차원 의상에 대응하는 3차원의 월드 좌표로 복원함으로써 3차원 의상을 시뮬레이션할 수 있다. 시뮬레이션 장치가 3차원 의상을 시뮬레이션하는 방법은 아래의 도 8 내지 도 11을 참조하여 보다 구체적으로 설명한다.
도 3은 일 실시예에 따른 베이스 라인을 결정하는 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 3차원 의상에 대응하는 2차원 패턴들 중 사용자에 의해 선택된 소매 부분의 2차원 패턴(310) 및 3차원 의상의 소매 부분(330)을 나타낸 도면(300)이 도시된다.
본 명세서에서 '2차원 패턴(들)'은 컴퓨터 프로그램에 의해 가상으로 제작되는 2차원의 평면 패턴(들)에 해당할 수 있다. 2차원 패턴(들)은 예를 들어, 사용자가 제작하고자 하는 3차원 의상의 패턴들일 수 있다. 2차원 패턴(들)은 3차원 가상 의상(virtual clothes)의 시뮬레이션을 위하여 수많은 다각형(예: 삼각형) 메쉬(mesh)들의 합으로 모델링되는 가상의 2차원 의상 패턴들일 수 있다. 예를 들어, 다각형이 삼각형인 경우, 메쉬의 세 꼭지점은 질량을 가지고 있는 점(point mass)이며, 메쉬의 각 변은 그 질량을 연결하는 탄성을 가지고 있는 스프링들로 표현될 수 있다. 2차원 패턴(들)은 예를 들어, 질량-스프링 모델(Mass-Spring Model)에 의해 모델링될 수 있다. 여기서, 스프링들은 사용되는 천(fabric)의 물성에 따라 예를 들어, 신축(stretch), 비틀림(shear), 및 굽힘(bending)에 대한 각 저항값(resist)을 가질 수 있다. 각 꼭지점들은 중력 등과 같은 외부적인 힘(external force)과 신축, 비틀림, 및 굽힘의 내부적인 힘(internal force)의 작용에 따라 움직일 수 있다. 외부적인 힘과 내부적인 힘을 계산하여 각 꼭지점에 가해지는 힘을 구하면, 각 꼭지점의 변위 및 움직임의 속도를 구할 수 있다. 그리고 각 시점(time step)의 메쉬의 꼭지점들의 움직임을 통하여 가상 의상의 움직임을 시뮬레이션할 수 있다. 삼각형 메쉬로 이루어진 2차원의 패턴들을 3차원의 아바타에 착장(draping)시키면 물리 법칙에 기반한 자연스러운 모습의3차원 가상 의상을 구현할 수 있다.
시뮬레이션 장치는 3차원 의상에 대응하는 2차원 패턴들 중 사용자에 의해 선택된 대상 부분의 입력을 수신할 수 있다. 이때, 대상 부분은 예를 들어, 소매 부분의 2차원 패턴(310)의 끝단에 해당할 수 있다.
시뮬레이션 장치는 사용자의 입력을 통해 롤-업이 수행될 2차원 패턴의 대상 부분이 선택되면, 선택된 대상 부분에 기초하여 결정된 베이스 라인에 의해 가상 실린더의 바닥면이 될 베이스 평면(base plane)을 정의하고 베이스 평면을 기초로 정의되는 가상 평면에 의해 롤-업 시뮬레이션을 수행할 수 있다.
보다 구체적으로, 시뮬레이션 장치는 소매 부분의 2차원 패턴(310)의 끝단에서 중간점 p(311)을 결정할 수 있다. 시뮬레이션 장치는 중간점 p(311)으로부터 소매 부분의 2차원 패턴(310)의 내부로의 수직 방향에 위치하는 인접점 p'(313)을 결정할 수 있다. 시뮬레이션 장치는 예를 들어, 소매 부분의 2차원 패턴(310)의 끝단(소매단)에서 시작점과 끝점을 연결하는 직선을 90도 회전시킨 방향으로 중간점 p(311)를 살짝 밀어올린 인접점 p'(313)을 구할 수 있다. 시뮬레이션 장치는 중간점 p(311)에서 인접점 p'(313) 방향으로의 업 벡터를 설정함으로써 3D 윈도우에서 베이스 평면을 생성하기 위해 활용하는 베이스 라인(315)을 결정할 수 있다. 이때, 3차원 의상의 소매 부분(330)에서 중간점 p(311)와 인접점 p'(313)에 대응되는 3D 좌표를 각각 q(331), q’(333)이라고 하면, q’- q 가 업 벡터 방향이 될 수 있다.
전술한 바와 같이, 2차원 패턴들이 표시되는 2D 윈도우를 통한 대상 부분에 대한 사용자의 입력이 수신되면, 시뮬레이션 장치는 3차원 의상이 표시되는 3D 윈도우에 사용자의 입력에 대응하는 베이스 라인(315)을 표시하고, 롤-업이 구현되는 가상 평면을 생성하는 과정을 수행할 수 있다.
도 4는 일 실시예에 따른 대상 정점들을 결정하는 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 시뮬레이션 장치는 단계(410) 내지 단계(420)을 통해 대상 정점들을 추출할 수 있다.
단계(410)에서, 시뮬레이션 장치는 베이스 라인으로부터의 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 기초하여, 적어도 하나의 2차원 패턴에서 롤-업의 접힘 영역의 구간들 각각을 분류할 수 있다. 시뮬레이션 장치는 예를 들어, 접힘 횟수(n=2)에 대응하여, 접힘 영역의 구간들을 기설정된 식(예: (롤-업의 접힘 횟수(n) x 2) +1 = 접힘 영역의 구간 개수)에 따라 분류할 수 있다. 예를 들어, 접힘 영역의 구간들은 (롤-업의 접힘 횟수(n) x 2) +1개 = 5개의 영역들로 분류할 수 있다. 시뮬레이션 장치는 베이스 라인으로부터의 접힘 간격 및 접힘 횟수에 따라, 대상 정점들에게 접힘 영역의 구간들을 대응하는 인덱스를 부여할 수 있다.
또한, 시뮬레이션 장치는 예를 들어, 베이스 라인으로부터의 접힘 간격 및 접힘 횟수에 따라, 롤-업의 접힘 영역의 구간들 중 접힘 횟수에 대응하는 기준 구간을 결정할 수 있다. '기준 구간'은 실제 정점들의 위치 변화는 없으나, 2차원 패턴의 밑에서부터 말려 올라온 부분들의 지지대 역할을 수행하는 최상단의 구간 또는 영역에 해당할 수 있다. 기준 구간의 위치는 접힘 횟수에 따라 변경될 수 있다. 예를 들어, 롤-업의 접힘 횟수가 커질수록 기준 구간의 위치 또한 점차 높아질 수 있다. 예를 들어, 접힘 횟수가 1회인 경우, 기준 구간은 접힘 간격에 따라 바깥쪽으로 1회 접힌 롤-업 부분에 마주보는 구간(예: 도 7의 구간 2(730))에 해당할 수 있다. 또한, 접힘 횟수가 2회인 경우, 기준 구간은 접힘 간격에 따라 바깥쪽으로 2회 접힌 롤-업 부분에 마주보는 구간(예: 도 7의 구간 4(750))에 해당할 수 있다. 시뮬레이션 장치가 접힘 영역의 구간들 각각을 분류하는 방법은 아래의 도 5를 참조하여 보다 구체적으로 설명한다.
단계(420)에서, 시뮬레이션 장치는 접힘 영역의 구간들 각각에 포함된 정점들을 대상 정점들로 추출할 수 있다. 예를 들어, 롤-업의 접힘 횟수에 대응하는 기준 구간이 결정된 경우, 시뮬레이션 장치는 기준 구간의 아래에 위치하는 정점들을 접힘 영역의 구간들 각각에 대응하는 대상 정점들로 추출할 수 있다.
도 5는 일 실시예에 따른 접힘 영역의 구간들을 분류하는 방법을 나타낸 흐름도이다.
도 5를 참조하면, 일 실시예에 따른 시뮬레이션 장치는 단계(510) 내지 단계(530)을 통해 접힘 영역의 구간들을 분류할 수 있다.
단계(510)에서, 시뮬레이션 장치는 적어도 하나의 2차원 패턴에 접힘 횟수에 대응하는 적어도 하나의 접는 선(fold line)을 설정할 수 있다. 시뮬레이션 장치는 예를 들어, 적어도 하나의 2차원 패턴의 메쉬에 적어도 하나의 접는 선이 반영되도록 대상 정점들의 위치 및 입자 간격 중 적어도 하나를 이동시켜 리메슁(re-meshing)할 수 있다. 여기서, '리메슁(re-meshing)'은 아래의 도 6a에 도시된 것과 같이 ㄷ 자 형태로 접히는 2개의 접는 선을 설정할 때, 메쉬의 다각형(예: 삼각형)이 접는 선에 의해 분리되지 않도록 다각형의 위치 및 간격을 접는 선에 맞춰 이동시키는 과정으로 이해될 수 있다.
단계(520)에서, 시뮬레이션 장치는 단계(510)에서 설정한 적어도 하나의 접는 선에 인접한 적어도 일측에 버퍼 영역을 설정할 수 있다. 버퍼 영역은 접힘 영역의 구간들의 개수가 증가함에 비례하여 누적적으로 증가될 수 있다. 시뮬레이션 장치가 버퍼 영역을 설정하는 방법은 아래의 도 6a 및 도 6b를 참조하여 보다 구체적으로 설명한다.
단계(530)에서, 시뮬레이션 장치는 접힘 간격에 단계(520)에서 설정한 버퍼 영역을 반영하여 높이 및 너비가 확장된 영역을 접힘 영역의 구간들로 결정할 수 있다. 시뮬레이션 장치가 접힘 영역의 구간들을 결정하는 방법을 아래의 도 7을 참조하여 보다 구체적으로 설명한다.
도 6a 및 도 6b는 일 실시예에 따른 버퍼 영역을 설정하는 방법을 설명하기 위한 도면이다.
도 6a를 참조하면, 일 실시예에 따른 롤-업에 의해 접힌 소매 부분이 표현된 3차원 의상을 나타낸 도면(603) 및 롤-업에 의해 접힌 소매 부분을 확대한 도면(607)을 포함하는 도면(600)이 도시된다.
예를 들어, 하나의 접는 선을 이용하여 의상의 소매를 롤-업 하는 경우, 롤-업의 접힌 면이 칼 같은 V자 형태로 접히게 되므로 접는 선 근처에 있는 정점이 서로 꼬이거나, 또는 중첩되는 현상이 발생할 수 있다. 특히, 롤-업의 접힘 횟수가 2회 이상인 경우, 롤-업되는 부분은 의상 위로 겹겹이 쌓이는 형태가 될 수 있다. 이와 같이 하나의 접는 선만을 사용하여 소매의 롤-업을 시뮬레이션 하면, 롤-업 되는 부분의 두께감이 충실히 반영되지 않을 뿐만 아니라, 접힌 부분의 정점들의 위치가 서로 중첩되거나, 또는 의상을 관통하는 현상이 발생하여 롤-업의 시뮬레이션이 제대로 수행되지 않을 수 있다.
일 실시예에서는 접힘 횟수에 대응하는 적어도 하나의 접는 선을 기준으로 접는 선의 양쪽 또는 적어도 일측으로 약간씩의 버퍼 영역(buffer region)을 설정함으로써 접히는 부분이 도면(609)와 같이 ㄷ 자 형태가 되도록 할 수 있다. 예를 들어, 접힘 횟수가 1회인 경우, 시뮬레이션 장치는 버퍼 영역을 포함하는 접힘 영역이 ㄷ 자 형태가 되도록 1번의 접힘 횟수에 대응하여 3개의 접는 선을 설정할 수 있다.
도 6b를 참조하면, 일 실시예에 따른 롤-업의 접힘 횟수가 증가된 3차원 의상의 소매 부분들(611, 613, 615)을 나타낸 도면(610) 및 롤-업의 접힘 횟수가 증가함에 따라서 점진적으로 증가하는 접는 선들의 개수 및 버퍼 영역을 나타낸 도면(630)이 도시된다. 도면(630)의 하단에 기재된 숫자(예: 0 내지 3)은 롤-업의 접힘 횟수를 나타낼 수 있다.
예를 들어, 도면(610)에서 소매 부분(611)은 롤-업의 접힘 횟수가 1회인 경우를 나타낼 수 있다. 소매 부분(613)은 롤-업의 접힘 횟수가 2회인 경우를 나타낼 수 있다. 소매 부분(615)은 롤-업의 접힘 횟수가 3회인 경우를 나타낼 수 있다.
시뮬레이션 장치는 롤-업의 접힘 횟수가 증가함에 따라 도면(630)에서 접히는 두께와 접혀 올라가는 길이 양쪽이 점진적으로 늘어나도록 버퍼 영역을 설정할 수 있다. 시뮬레이션 장치는 롤-업의 접힘 횟수가 증가함에 따라 버퍼 영역을 누적적으로 늘려감으로써 시뮬레이션 시에도 롤-업이 표현되는 부분의 모양이 유지되어 자연스러운 드레이핑이 가능하게 할 수 있다.
도 7은 일 실시예에 따른 접힘 영역의 구간들을 분류하는 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 일 실시예에 따른 롤-업의 접힘 횟수가 3회인 경우에 롤-업의 접힘 영역이 7개의 구간들(710, 720, 730, 740, 750, 760, 770)로 각각 분류된 2차원 소매 패턴(700)이 도시된다.
시뮬레이션 장치는 2차원 소매 패턴(700)의 바닥면에 해당하는 베이스 라인으로부터의 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 기초하여, 2차원 소매 패턴(700)에서 롤-업의 접힘 영역의 구간들을 분류할 수 있다. 이 때, 시뮬레이션 장치는 예를 들어, 롤-업의 접힘 횟수에 대응하는 베이스 평면으로부터의 높이를 기준으로 롤-업의 영향을 받는 정점들의 집합 V를 추출하여 정점들을 구간 별로 분류할 수 있다. 여기서, 베이스 평면은 예를 들어, 구간 0(710), 구간 2(730), 구간 4(750)에 대응할 수 있다.
실시예에 따른 시뮬레이션 장치는 롤-업의 접힘 간격이 50mm이고, 롤-업의 접힘 횟수가 3회, 및 버퍼 영역을 5mm로 롤-업 상태를 설정할 수 있다. 이 경우, 시뮬레이션 장치는 접힘 횟수(n= 3)에 대응하여, 접힘 영역의 구간들을 7개((롤-업의 접힘 횟수(n= 3) x 2) +1개 = 7개)로 확인할 수 있다. 2차원 소매 패턴(700)은 구간 0(710)부터 구간 6(770)까지 총 7개의 영역들로 분류될 수 있다. 이 때, 각 구간들의 길이 및 폭(너비)은 버퍼 영역이 반영된 길이 및 폭으로 결정될 수 있다. 버퍼 영역의 길이 및 폭은 롤-업을 수행할 때마다 누적적으로 증가할 수 있다. 롤-업의 접힘 횟수가 증가할수록 버퍼 영역에서 접히는 두께와 접혀 올라가는 길이 양쪽이 점진적으로 증가할 수 있다.
시뮬레이션 장치는 베이스 라인으로부터의 접힘 간격 및 접힘 횟수에 따라, 롤-업의 접힘 영역의 구간들 중 접힘 횟수에 대응하는 기준 구간을 결정하고, 접힘 영역의 구간들 각각에 포함된 정점들을 각 베이스 평면에 대응하는 대상 정점들로 추출할 수 있다.
예를 들어, 시뮬레이션 장치는 구간 0(710)의 길이를 버퍼 영역을 고려하여 결정할 수 있다. 이 경우, 시뮬레이션 장치는 구간 0(710)의 길이를 롤-업의 접힘 간격(예: 50mm)과 버퍼 영역(예: 5mm)의 차(예: 45mm)로 연산할 수 있다.
구간 1(720)은 버퍼 영역에 해당할 수 있다. 구간 1(720)의 길이는 5mm일 수 있다. 따라서, 구간 0(710)에서 구간 1(720)까지의 총 길이는 50mm가 될 수 있다.
일 실시예에 따르면, 구간 2(730)의 길이는 구간 0(710) 보다 5mm가 긴 50mm일 수 있다. 따라서, 구간 0(710)에서 구간 2(730)까지의 전체 길이는 구간 0(710)의 바닥면에서 구간 1(720)까지의 총 길이(예: 50mm)와 구간 2(730)의 길이(예: 50mm)의 합(예: 100mm)에 대응할 수 있다.
구간 3(740)은 버퍼 영역에 해당할 수 있다. 구간 3(740)의 길이는 구간 1(720)의 길이보다 5mm가 긴 10 mm 일 수 있다. 구간 0(710)에서 구간 3(740)까지의 전체 길이는 구간 0(710)의 바닥면에서 구간 2(730)까지의 총 길이(예: 100mm)와 구간 3(740)의 길이(예: 10mm)의 합(예: 110mm)이 될 수 있다. 여기서, 구간 3(740)은 롤-업이 1회 진행된 상태이므로 버퍼 영역의 높이/너비가 5mm씩 추가로 증가할 수 있다.
구간 4(750)의 길이는 구간 2(730) 보다 5mm가 긴 55mm 일 수 있다. 구간 0(710)에서 구간 4(750)까지의 전체 길이는 구간 0(710)의 바닥면에서 구간 3(740)까지의 총 길이(예: 110mm)와 구간 4(750)의 길이(예: 55mm)의 합(예: 165mm)이 될 수 있다.
구간 5(760)는 버퍼 영역에 해당할 수 있다. 구간 5(760)의 길이는 구간 3(740) 보다 5mm가 긴 15mm 일 수 있다. 구간 0(710)에서 구간 5(760)까지의 전체 길이는 구간 0(710)의 바닥면에서 구간 4(750)까지의 총 길이(예; 165mm)와 구간 5(760)의 길이(예: 15mm)의 합(예: 180mm)일 수 있다.
구간 0(710)에서 구간 6(770)까지의 전체 길이는 구간 0(710)에서 구간 5(760)까지의 전체 길이(예: 180mm)와 구간 6(770)의 길이(예: 75 mm)의 합(예: 255mm)일 수 있다. 이때, 구간 6(770)의 길이(예: 75 mm)는 실제 접히는 영역들이 쌓일 수 있을 정도의 상한선으로서, 예를 들어, 사용자가 입력한 높이, 다시 말해 롤-업의 접힘 간격(예: 50mm)의 1.5배일 수 있으나, 반드시 이에 한정되지는 않는다.
구간 6(770)은 예를 들어, 롤-업의 접힘 횟수가 3회인 경우에 기준 구간이 될 수 있다. 구간 6(770)은 롤-업 시에 실제 접히는 구간이 아니라 접힌 구간들을 지지하는 구간, 다시 말해 구간 0(710)부터 구간 5(760)까지의 6개의 구간들이 쌓이는 기준 구간에 해당할 수 있다. 기준 구간은 실제 정점들의 위치 변화는 없으나 접힘 영역의 하부 구간들의 지지대 역할을 한다는 점에서 '서포트(support) 구간'이라고 부를 수도 있다.
시뮬레이션 장치는 구간 0(710)의 바닥면으로부터의 높이(예를 들어, 사용자가 입력한 롤-업의 접힘 간격)을 기준으로 각 구간에 포함된 대상 정점들에게 접힘 영역의 구간들에 대응하는 인덱스를 부여할 수 있다. 예를 들어, 구간 1(720)에 대응하는 인덱스 1, 구간 3(740)에 대응하는 인덱스 3, 구간 5(760)에 대응하는 인덱스 5와 같은 홀수 번의 인덱스는 버퍼 영역을 나타낼 수 있다.
도 8은 일 실시예에 따른 3차원 의상을 시뮬레이션하는 방법을 나타낸 흐름도이다. 도 8을 참조하면, 일 실시예에 따른 시뮬레이션 장치는 단계(810) 내지 단계(830)을 통해 3차원 의상을 시뮬레이션할 수 있다.
단계(810)에서, 시뮬레이션 장치는 가상 평면을 정의할 수 있다. 시뮬레이션 장치는 예를 들어, 대상 부분의 끝단 상의 임의의 제1 정점과 적어도 하나의 2차원 패턴에 대응하는 업 벡터를 기초로, 가상 실린더의 베이스 평면을 정의할 수 있다. 시뮬레이션 장치는 3차원 의상에서 임의의 제1 정점에 대응하는 제2 정점과 베이스 평면 간의 거리를 기초로 베이스 평면을 이동시킴으로써 가상 평면을 정의할 수 있다. 롤-업 과정에서는 원통 형태의 가상 평면의 좌표 성분, 다시 말해, 원통 좌표(cylindrical coordinate)의 성분 중 각도에 해당하는 세타(theta)가 상수에 해당하므로 모든 정점들은 가상 평면의 RZ 플레인 내에서만 이동할 수 있다. 시뮬레이션 장치가 가상 평면을 정의하는 방법은 아래의 도 9를 참조하며 보다 구체적으로 설명한다.
단계(820)에서, 시뮬레이션 장치는 단계(220)에서 결정한 대상 정점들을 단계(810)에서 정의한 가상 평면 내의 2차원 정점들로 변환할 수 있다. 시뮬레이션 장치는 롤-업의 영향을 받는 정점들의 집합 V 내의 모든 정점들을 각각의 베이스 평면에 대응하는 로컬 RZ 평면 내의 2차원 정점들로 변환할 수 있다. 시뮬레이션 장치가 대상 정점들을 가상 평면 내의 2차원 정점들로 변환하는 방법은 아래의 도 10을 참조하여 보다 구체적으로 설명한다.
단계(830)에서, 시뮬레이션 장치는 단계(820)에서 변환된 2차원 정점들을 3차원 의상에 대응하는 3차원의 월드 좌표로 복원함으로써 3차원 의상을 시뮬레이션할 수 있다. 시뮬레이션 장치는 예를 들어, 접힘 영역의 구간들 각각에 포함된 변환된 2차원 정점들의 위치 및 간격 중 적어도 하나를 조절하여 리메슁함으로써 변환된 2차원 정점들을 3차원 의상에 대응하는 3차원의 월드 좌표로 복원할 수 있다.
도 9는 일 실시예에 따른 가상 평면을 정의하는 방법을 설명하기 위한 도면이다. 도 9를 참조하면, 일 실시예에 따른 3차원 의상에서 사용자에 의해 선택된 롤-업의 대상이 되는 소매 부분(910), 소매 부분(910)에 대응하는 원통의 윗면(또는 아래면)으로 정의되는 가상 평면(930), 및 가상 평면(930)을 반영하는 원통 좌표계(950)를 설명하기 위한 도면(900)이 도시된다. 시뮬레이션 장치는 예를 들어, 사용자가 선택한 대상 부분인 소매 부분(910)의 끝단 상의 임의의 정점 P와 전술한 업 벡터 V를 기초로 가상 실린더의 베이스 평면을 정의할 수 있다. 예를 들어, 소매가 쭈글쭈글한 경우, 쭈글쭈글한 소매단에 대응하여 생성된 베이스 평면이 실린더의 바닥면이 아닐 수도 있다. 이때 정점 P는 2차원 패턴 상의 임의의 점이기 때문에, 3차원 의상에서 정점 PD에 대응하는 정점 P’의 위치가 평면보다 밑에 존재할 수도 있다. 따라서, 시뮬레이션 장치는 3차원 의상에서 임의의 제1 정점(예: 정점 P)에 대응하는 제2 정점(예: 정점 P’)과 베이스 평면 간의 거리를 기초로 베이스 평면을 이동시킴으로써 가상 평면(930)을 정의할 수 있다.
보다 구체적으로, 시뮬레이션 장치는 베이스 평면이 실제 3차원 의상에서 바닥면이 되도록 하기 위해 제2 정점(예: 정점 P’)과 베이스 평면 사이의 거리(예: 지향 거리(signed distance))를 구할 수 있다. 이때, 각 정점들의 위치가 베이스 평면보다 위에 있으면 지향 거리는 ‘+’가 되고, 정점들의 위치가 베이스 평면보다 아래에 있으면 지향 거리는 ‘-‘가 될 수 있다. 시뮬레이션 장치는 지향 거리 값이 최소인 점을 포함하도록 평면을 업 벡터 방향으로 위로 이동시킴, 다시 말해 지향 거리가 최소가 되는 지점까지 평면을 위로 쉬프트(shift) 시킴으로써 3차원 의상에서 원하는 바닥면에 대응하는 가상 평면을 구할 수 있다. 예를 들어, 지향 거리 값이 ‘+1’과 ‘-2’가 있는 경우, 이들 중 작은 숫자인 -2가 지향 거리가 최소인 값이 될 수 있다.
이와 같이, 시뮬레이션 장치는 대상 부분의 끝단 상의 임의의 정점 P와 법선 벡터로 생성한 임의의 베이스 평면으로부터 가장 아래에 있는 정점들로부터 지향 거리가 최소가 되는 지점을 포함하는 정점의 위치로 베이스 평면을 쉬프트시켜 가상 평면(930)을 정의할 수 있다.
시뮬레이션 장치는 3차원 의상 위의 모든 정점들을 가상 평면(930)을 기준으로 하는 원통 좌표(cylindrical coordinate)로 변환할 수 있다. 원통 좌표는 예를 들어, 가상 평면(930)에서의 위치 또는 좌표를 반영하는 원통 좌표계(950)와 같은 RZ 평면으로 표현될 수 있다.
이때, 롤-업은 비틀림을 수반하지 않으므로 원통 좌표계(950)에서 각도 성분()은 상수(constant)가 될 수 있다. 이에 따라, 대상 정점들을 가상 평면(930) 내의 2차원 정점들로 변환하는 것은 원통 좌표계(950)와 같은 RZ 평면 내에서의 2D 변환 문제로 간략화될 수 있다.
다시 말해, 롤-업 과정에서는 가상 평면(930)의 좌표 성분, 다시 말해, 원통 좌표(cylindrical coordinate)의 성분 중 각도에 해당하는 세타()가 상수에 해당하므로 롤-업의 영향을 받는 2차원 패턴 내의 모든 정점들은 가상 평면(930)의 RZ 플레인 내에서만 이동할 수 있다. 이때, RZ 플레인의 r은 원통 좌표의 중심으로부터 임의의 정점 v까지의 폭(width; w)에 해당할 수 있다. 또한, RZ 플레인의 z는 베이스 평면들의 법선 방향으로의 높이(height; h)에 해당할 수 있다.
시뮬레이션 장치는 전술한 과정을 통해 정의된 가상 평면(930)을 통해 보다 용이하게 롤-업이 표현된 3차원 의상을 시뮬레이션할 수 있다.
도 10은 일 실시예에 따른 대상 정점들을 가상 평면 내의 2차원 정점들로 변환하는 방법을 나타낸 흐름도이다. 도 10을 참조하면, 일 실시예에 따른 시뮬레이션 장치는 단계(1010) 내지 단계(1040)을 통해 대상 정점들을 가상 평면 내의 2차원 정점들로 변환할 수 있다.
단계(1010)에서, 시뮬레이션 장치는 단계(530)에서 결정된 접힘 영역의 구간들 각각에 대응하는 대상 정점들을 롤-업의 접힘 횟수에 대응하는 베이스 평면들 각각에 투영할 수 있다. 예를 들어, 롤-업의 접힘 횟수가 3인 경우, 시뮬레이션 장치는 접힘 영역의 구간들 각각에 대응하는 대상 정점들을 3개의 베이스 평면들 각각에 투영할 수 있다. 다시 말해, 시뮬레이션 장치는 구간 2(730)에 대응하는 대상 정점들은 제1 베이스 평면에 투영하고, 구간 4(750)에 대응하는 대상 정점들은 제2 베이스 평면에 투영하고, 구간 6(770)에 대응하는 대상 정점들은 제3 베이스 평면에 투영할 수 있다. 이 때, 3개의 베이스 평면들 각각은 원통 형태이며, 베이스 평면들 각각에 대응하는 로컬 RZ 평면이 존재할 수 있다. 시뮬레이션 장치는 롤-업의 영향을 받는 정점들의 집합 V 내의 모든 정점들을 각각의 베이스 평면에 대응하는 로컬 RZ 평면 내의 2차원 정점들로 변환할 수 있다.
단계(1020)에서, 시뮬레이션 장치는 단계(1010)에서 베이스 평면들 각각에 투영된 대상 정점들을 포함하는 바운딩 박스의 중심점을 베이스 평면들 각각의 중심점으로 결정할 수 있다. 대상 정점들을 포함하는 바운딩 박스의 중심점은 원통의 중심점에 해당할 수 있다.
단계(1030)에서, 시뮬레이션 장치는 단계(1020)에서 결정된 베이스 평면들 각각의 중심점에서 안쪽의 수평 방향으로 발사한 광선(ray)과 롤-업의 접힘 영역의 접힘 횟수에 대응하는 기준 구간과의 충돌점을 산출할 수 있다. 이 때, 베이스 평면들 각각의 중심점에서 수평 방향으로 발사한 광선(ray)은 3차원 의상에서 롤-업된 부분의 메쉬의 다각형에서 마주보는 의상의 안쪽 부분, 다시 말해 접혀지지 않은 부분에 해당하는 메쉬의 다각형을 향해 쏜 광선일 수 있다.
단계(1040)에서, 시뮬레이션 장치는 단계(1030)에서 산출한 충돌점에서 접힘 영역의 구간들 각각에 대응하는 버퍼 영역의 폭 만큼 이격된 위치로 대상 정점들을 이동시킴으로써 대상 정점들을 가상 평면 내의 2차원 정점들로 변환할 수 있다. 이 때, 충돌점에서 접힘 영역의 구간들 각각에 대응하는 버퍼 영역의 폭 만큼 이격된 위치로 대상 정점들을 이동시키는 것은 롤-업에 의해 접히는 부분이 접혀지지 않는 부분에 비해 바깥쪽에 위치하도록 함으로써 롤-업에 의해 접히는 부분의 패턴과 접혀지지 않는 부분의 패턴이 겹쳐지지 않도록 하기 위함이다.
도 11은 일 실시예에 따른 가상 평면 내로 변환된 2차원 정점들을 리메슁한 결과를 나타낸 도면이다. 도 11을 참조하면, 일 실시예에 따른 리메슁을 통해 메쉬의 해상도(resolution)가 변경된 2차원 패턴을 나타낸 도면(1100)이 도시된다.
시뮬레이션 장치는 롤-업의 대상이 되는 대상 부분(예: 소매)에 대응하는 2차원 패턴에 적어도 하나의 접는 선(1110, 1130)이 반영되도록 2차원 패턴의 정점들 중 롤-업의 영향을 받는 대상 정점들의 위치 및 입자 간격 중 적어도 하나를 이동시켜 리메슁(re-meshing)할 수 있다.
적어도 하나의 접는 선(1110, 1130)을 2차원 패턴의 메쉬에 추가하기 위해, 시뮬레이션 장치는 대상 정점들, 다시 말해 메쉬의 다각형들의 일 면이 적어도 하나의 접는 선(1110, 1130)에 맞춰 배치되도록 대상 정점들의 위치를 이동시킬 수 있다. 또한, 시뮬레이션 장치는 대상 정점들에 대응하는 메쉬의 해상도, 다시 말해, 대상 정점들의 입자 간격을 작게 변경할 수 있다. 시뮬레이션 장치는 적어도 하나의 접는 선(1110, 1130)에 인접한 버퍼 영역 및/또는 버퍼 영역에 인접한 위치의 대상 정점들의 입자 간격을 조밀하게 변경할 수 있다. 이와 같이, 대상 정점들의 입자 간격이 조밀하게 변경된 메쉬를 '조밀한 메쉬(fine mesh)'라고 부를 수 있다.
시뮬레이션 장치는 접힘 영역의 구간들 각각에 포함된 2차원 정점들의 위치 및 간격 중 적어도 하나를 조절하여 리메슁 함으로써 변환된 2차원 정점들을 3차원 의상에 대응하는 3차원의 월드 좌표로 복원할 수 있다. 여기서, 접힘 영역의 구간들 각각에 포함된 2차원 정점들은 가상 평면 내의 2차원 정점들로 변환된 정점들에 해당할 수 있다.
시뮬레이션 장치는 적어도 하나의 접는 선(1110, 1130)이 실제로 2차원 패턴의 메쉬에 반영되도록 함으로써 메쉬 해상도(mesh resolution)가 충분하지 않아 접히는 부분이 울퉁불퉁 해지는 문제를 해결할 수 있다. 또한, 시뮬레이션 장치는 2차원 패턴에서 롤-업이 수행되지 않는 부분, 다시 말해 접혀지지 않는 기준 구간에 대하여는 조밀한 메쉬 대신에 리메슁 전에 성긴 메쉬(coarse mesh)를 이용하여 시뮬레이션을 수행함으로써 연산 복잡도를 낮출 수 있다.
도 12는 일 실시예에 따른 사용자 인터페이스를 통해 롤-업의 시뮬레이션이 수행되는 과정을 나타낸 도면이다. 도 12를 참조하면, 일 실시예에 따른 3차원 의상을 구성하는 2차원 패턴들 중에서 사용자가 롤-업의 대상이 되는 대상 부분(예: 바지단)의 외곽선을 선택한 화면(1210) 및 사용자가 바지단의 외곽선을 선택한 후 수행한 우클릭을 통해 롤-업 기능을 활성화한 경우에 팝-업 메뉴가 표시되는 화면들(1230, 1250), 및 팝-업 메뉴에 의해 설정된 값에 의해 롤-업이 시뮬레이션 된 결과를 나타낸 화면(1270)을 포함하는 도면(1200)이 도시된다.
사용자가 화면(1210)과 같이 롤-업을 수행하고자 하는 의상의 부분(예: '바지단' 부분)(1215)을 선택한 후, 우클릭을 수행한 경우, 화면(1230)과 같이 롤-업 기능을 포함하는 팝-업 메뉴(1235)가 화면에 표시될 수 있다.
사용자가 팝-업 메뉴(1235)에 포함된 롤-업 기능을 선택하는 경우, 화면(1250)과 같이 롤-업의 접힘 간격 및 롤-업의 접힘 횟수를 입력받을 사용자 인터페이스 화면(1255)이 표시될 수 있다.
시뮬레이션 장치는 사용자 인터페이스 화면(1255)에서 입력된 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 따라 화면(1270)과 같이 자동으로 바지단에 롤-업(1275)을 시뮬레이션한 결과를 표시할 수 있다.
실시예에 따라서, 시뮬레이션 장치는 화면(1235)에서 롤-업 기능이 선택됨에 따라 화면(1255)와 같은 사용자의 별도의 입력이 없이도, 미리 설정된 롤-업의 접힘 간격 및/또는 롤-업의 접힘 횟수에 따라 3차원 의상에서 선택된 부분에 자동적으로 롤-업을 표현할 수도 있다.
도 13은 일 실시예에 따른 롤-업을 시뮬레이션하는 방법을 나타낸 흐름도이다. 도 13을 참조하면, 일 실시예에 따른 시뮬레이션 장치는 단계(1310) 내지 단계(1360)을 통해 롤-업이 표현된 3차원 의상을 시뮬레이션할 수 있다.
단계(1310)에서, 시뮬레이션 장치는 2차원 패턴에서 롤-업의 대상이 되는 대상 부분이 선택됨에 따라, 사용자 인터페이스를 통해 입력된 롤-업의 접힘 횟수 및 롤-업의 접힘 간격을 수신한다.
단계(1320)에서, 시뮬레이션 장치는 단계(1310)에서 사용자에 의해 선택된 대상 부분에 대응하는 3차원 의상의 베이스 라인을 결정한다.
단계(1330)에서, 시뮬레이션 장치는 단계(1320)에서 결정한 베이스 라인으로부터의 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 기초하여, 적어도 하나의 2차원 패턴에서 롤-업의 접힘 영역의 구간들을 분류한다. 시뮬레이션 장치는 예를 들어, 접힘 횟수(n)에 대응하여, 접힘 영역의 구간들을 (롤-업의 접힘 횟수(n) x 2) +1개의 영역들로 분류할 수 있다. 시뮬레이션 장치는 대상 정점들에게 분류된 영역들에 대응하는 인덱스를 부여할 수 있다.
시뮬레이션 장치는 적어도 하나의 2차원 패턴에 접힘 횟수에 대응하는 적어도 하나의 접는 선을 설정할 수 있다. 시뮬레이션 장치는 적어도 하나의 접는 선에 인접한 적어도 일측에 버퍼 영역을 설정할 수 있다. 시뮬레이션 장치는 접힘 간격에 버퍼 영역을 반영하여 높이 및 너비가 확장된 영역을 접힘 영역의 구간들로 결정할 수 있다.
단계(1340)에서, 시뮬레이션 장치는 단계(1330)에서 분류한 접힘 영역의 구간들 각각에 포함된 정점들을 대상 정점들로 추출한다.
단계(1350)에서, 시뮬레이션 장치는 롤-업이 구현되는 가상 평면을 정의한다.
단계(1360)에서, 시뮬레이션 장치는 단계(1340)에서 추출한 대상 정점들을 단계(1350)에서 정의한 가상 평면 내의 2차원 정점들로 변환함으로써 롤-업이 표현된 3차원 의상을 시뮬레이션한다.
도 14는 일 실시예에 따른 롤-업을 시뮬레이션하는 장치의 블록도이다. 도 14를 참조하면, 일 실시예에 따른 시뮬레이션 장치(1400)는 통신 인터페이스(1410), 프로세서(1430), 디스플레이(1450), 및 메모리(1470)를 포함할 수 있다. 통신 인터페이스(1410), 프로세서(1430), 디스플레이(1450), 및 메모리(1470)는 통신 버스(1405)를 통해 서로 통신할 수 있다.
통신 인터페이스(1410)는 디스플레이(1450)에 표시된 2차원 패턴들 중에서 사용자에 의해 롤-업의 대상이 되는 대상 부분이 선택됨에 따라, 사용자 인터페이스를 통해 입력된 롤-업의 접힘 횟수 및 롤-업의 접힘 간격을 수신한다.
프로세서(1430)는 대상 부분의 대응하는 3차원 의상의 베이스 라인을 결정한다. 프로세서(1430)는 베이스 라인에 기초하여, 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 정점들 중 롤-업의 영향을 받는 대상 정점들을 결정한다. 프로세서(1430)는 대상 정점들을, 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환함으로써 롤-업이 표현된 3차원 의상을 시뮬레이션한다.
디스플레이(1450)는 3차원 의상에 대응하는 2차원 패턴들을 표시할 수 있다. 또한, 디스플레이(1450)는 3차원 의상을 표시할 수 있다.
메모리(1470)는 통신 인터페이스(1410)를 통해 수신한 롤-업의 접힘 횟수 및 롤-업의 접힘 간격을 저장할 수 있다. 또한, 메모리(1470)는 프로세서(1430)가 결정한 대상 정점들 및/또는 프로세서(1430)가 시뮬레이션한 롤-업이 표현된 3차원 의상을 저장할 수 있다. 메모리(1470)는 상술한 프로세서(1430)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(1470)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(1470)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(1470)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
또한, 프로세서(1430)는 도 1 내지 도 13을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1430)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 프로세서(1430)는 예를 들어, CPU(Central Processing Unit), GPU(Graphics Processing Unit), 또는 NPU(Neural network Processing Unit)으로 구성될 수 있다. 예를 들어, 하드웨어로 구현된 시뮬레이션 장치(1400)는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(1430)는 프로그램을 실행하고, 시뮬레이션 장치(1400)를 제어할 수 있다. 프로세서(1430)에 의하여 실행되는 프로그램 코드는 메모리(1470)에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
1400: 시뮬레이션 장치
1405: 통신 버스
1410: 통신 인터페이스
1430: 프로세서
1450: 디스플레이
1470: 메모리

Claims (15)

  1. 3차원 의상에 대응하는 2차원 패턴들 중에서 사용자에 의해 롤-업(roll-up)의 대상으로 선택된 대상 부분에 대응하는 상기 3차원 의상의 베이스 라인(Base line)을 결정하는 단계;
    상기 베이스 라인에 기초하여, 상기 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 정점들 중 상기 롤-업의 영향을 받는 대상 정점들을 결정하는 단계; 및
    상기 대상 정점들을 상기 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환(transform)함으로써 상기 롤-업이 표현된 상기 3차원 의상을 시뮬레이션하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  2. 제1항에 있어서,
    상기 베이스 라인을 결정하는 단계는
    상기 2차원 패턴들 중 상기 사용자에 의해 선택된 상기 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 끝단에서 중간점을 결정하는 단계;
    상기 중간점으로부터 상기 적어도 하나의 2차원 패턴의 내부로의 수직 방향에 위치하는 인접점을 결정하는 단계; 및
    상기 중간점에서 상기 인접점 방향으로의 업 벡터(up-vector)를 설정하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  3. 제1항에 있어서,
    상기 대상 정점들을 결정하는 단계는
    상기 베이스 라인으로부터의 롤-업의 접힘 간격 및 롤-업의 접힘 횟수에 기초하여, 상기 적어도 하나의 2차원 패턴에서 롤-업의 접힘 영역의 구간들 각각으로 분류하는 단계; 및
    상기 접힘 영역의 구간들 각각에 포함된 정점들을 상기 대상 정점들로 추출하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  4. 제3항에 있어서,
    상기 접힘 영역의 구간들을 분류하는 단계는
    상기 베이스 라인으로부터의 상기 접힘 간격 및 상기 접힘 횟수에 따라, 상기 롤-업의 접힘 영역의 구간들 중 상기 접힘 횟수에 대응하는 기준 구간을 결정하는 단계
    를 포함하고,
    상기 대상 정점들로 추출하는 단계는
    상기 기준 구간의 아래에 위치하는 정점들을 상기 접힘 영역의 구간들 각각에 대응하는 상기 대상 정점들로 추출하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  5. 제3항에 있어서,
    상기 접힘 영역의 구간들을 분류하는 단계는
    상기 베이스 라인으로부터의 상기 접힘 간격 및 상기 접힘 횟수에 따라, 상기 대상 정점들에게 상기 접힘 영역의 구간들에 대응하는 인덱스를 부여하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  6. 제3항에 있어서,
    상기 접힘 영역의 구간들을 분류하는 단계는
    상기 접힘 영역의 구간들을 기설정된 식에 따라 분류하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  7. 제4항에 있어서,
    상기 접힘 영역의 구간들을 분류하는 단계는
    상기 적어도 하나의 2차원 패턴에 상기 접힘 횟수에 대응하는 적어도 하나의 접는 선(fold line) 및 버퍼 영역을 설정하는 단계; 및
    상기 접힘 간격에 상기 버퍼 영역을 반영하여 상기 접힘 영역의 구간들로 결정하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  8. 제7항에 있어서,
    상기 적어도 하나의 접는 선을 설정하는 단계는
    상기 적어도 하나의 2차원 패턴의 메쉬에 상기 대상 정점들의 위치 및 입자 간격 중 적어도 하나를 이동시켜 리메슁(re-meshing)하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  9. 제7항에 있어서,
    상기 버퍼 영역은
    상기 접힘 영역의 구간들의 개수가 증가함에 따라 증가하는 것을 특징으로 하는, 롤-업을 시뮬레이션하는 방법.
  10. 제7항에 있어서,
    상기 3차원 의상을 시뮬레이션하는 단계는
    상기 접힘 영역의 구간들 각각에 포함된 상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  11. 제7항에 있어서,
    상기 3차원 의상을 시뮬레이션하는 단계는
    상기 가상 평면을 정의하는 단계;
    상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계; 및
    상기 변환된 2차원 정점들을 상기 3차원 의상에 대응하는 3차원의 월드 좌표로 복원함으로써 상기 3차원 의상을 시뮬레이션하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  12. 제11항에 있어서,
    상기 가상 평면을 정의하는 단계는
    상기 대상 부분의 끝단 상의 임의의 제1 정점과 상기 적어도 하나의 2차원 패턴에 대응하는 업 벡터를 기초로, 가상 실린더의 베이스 평면을 정의하는 단계; 및
    상기 3차원 의상에서 상기 임의의 제1 정점에 대응하는 제2 정점과 상기 베이스 평면 간의 거리를 기초로 상기 베이스 평면을 이동시킴으로써 상기 가상 평면을 정의하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  13. 제11항에 있어서,
    상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계는
    상기 대상 정점들을 베이스 평면들 각각에 투영하는 단계; 및
    상기 베이스 평면들 각각에 투영된 상기 대상 정점들을 포함하는 바운딩 박스의 중심점을 기초로, 상기 대상 정점들을 이동시킴으로써 상기 대상 정점들을 상기 가상 평면 내의 2차원 정점들로 변환하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  14. 제11항에 있어서,
    상기 3차원 의상을 시뮬레이션하는 단계는
    상기 변환된 2차원 정점들의 위치 및 간격 중 적어도 하나를 조절하여 리메슁함으로써 상기 변환된 2차원 정점들을 상기 3차원 의상에 대응하는 3차원의 월드 좌표로 복원하는 단계
    를 포함하는, 롤-업을 시뮬레이션하는 방법.
  15. 3차원 의상에 대응하는 2차원 패턴들을 표시하는 디스플레이;
    상기 2차원 패턴들 중에서 사용자에 의해 롤-업의 대상이 되는 대상 부분이 선택됨에 따라, 사용자 인터페이스를 통해 입력된 롤-업의 접힘 횟수 및 롤-업의 접힘 간격을 수신하는 통신 인터페이스; 및
    상기 대상 부분에 대응하는 상기 3차원 의상의 베이스 라인을 결정하고, 상기 베이스 라인에 기초하여, 상기 대상 부분에 대응하는 적어도 하나의 2차원 패턴의 정점들 중 상기 롤-업의 영향을 받는 대상 정점들을 결정하며, 상기 대상 정점들을, 상기 롤-업이 구현되는 가상 평면 내의 2차원 정점들로 변환함으로써 상기 롤-업이 표현된 상기 3차원 의상을 시뮬레이션하는 프로세서
    를 포함하는, 롤-업을 시뮬레이션하는 장치.
KR1020230150894A 2022-11-18 2023-11-03 롤-업을 시뮬레이션하는 방법 및 장치 KR20240073762A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/017879 WO2024106844A1 (ko) 2022-11-18 2023-11-08 롤-업을 시뮬레이션하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220155197 2022-11-18

Publications (1)

Publication Number Publication Date
KR20240073762A true KR20240073762A (ko) 2024-05-27

Family

ID=

Similar Documents

Publication Publication Date Title
US11734887B2 (en) Generating clothing patterns of garment using bounding volumes of body parts
KR102239404B1 (ko) 의상 시뮬레이션 방법 및 장치
US10410400B1 (en) Digital image editing for images of folded objects
KR20210021898A (ko) 부자재 요소를 포함하는 의상의 그레이딩 방법 및 장치
KR102228098B1 (ko) 3차원 가상 의상에 대응하는 2차원 패턴의 치수를 측정하는 방법 및 장치
KR101702069B1 (ko) 3d 의상 착장 시뮬레이션 방법 및 장치
KR102633553B1 (ko) 의상 시뮬레이션 방법 및 장치
KR20240073762A (ko) 롤-업을 시뮬레이션하는 방법 및 장치
KR102274508B1 (ko) 의상의 패턴 조각에 다트를 표시하는 방법 및 장치
KR102228099B1 (ko) 의상의 패턴 조각들의 결합을 위한 가이드를 제공하는 방법 및 장치
KR102568058B1 (ko) 부분 시뮬레이션 방법 및 장치
KR20220145203A (ko) 시뮬레이션 방법 및 장치
WO2024106844A1 (ko) 롤-업을 시뮬레이션하는 방법 및 장치
KR102257182B1 (ko) 의상의 풀니스를 위해 패턴 조각을 가공하는 방법 및 장치
EP4339876A1 (en) Garment simulation method and apparatus
KR20220154022A (ko) 의상 시뮬레이션 방법 및 장치
US20240135615A1 (en) Simulating garment using vertices fixed with different intensities
US20230102069A1 (en) Simulating and editing of garment of hierarchical structure
KR20220137527A (ko) 의상 시뮬레이션 방법 및 장치
KR20230148554A (ko) 3d 아바타의 의상 착장 시뮬레이션 방법
Wang et al. Pattern design on 3D triangular garment surfaces
KR20240073752A (ko) 자동 배치 방법 및 자동 배치 장치
KR20230092536A (ko) 입력 모델을 변형하는 방법 및 장치
KR101134534B1 (ko) 질점을 사용하는 3d 시뮬레이션 방법
Zongur et al. High-resolution animation of next-generation dynamics