KR102185454B1 - 3차원 스케치 방법 및 장치 - Google Patents
3차원 스케치 방법 및 장치 Download PDFInfo
- Publication number
- KR102185454B1 KR102185454B1 KR1020190044997A KR20190044997A KR102185454B1 KR 102185454 B1 KR102185454 B1 KR 102185454B1 KR 1020190044997 A KR1020190044997 A KR 1020190044997A KR 20190044997 A KR20190044997 A KR 20190044997A KR 102185454 B1 KR102185454 B1 KR 102185454B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- profiles
- movement
- candidate
- generating
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
3차원 스케치 방법 및 장치가 개시된다. 개시된 3차원 스케치 방법은 사용자 신체의 움직임을 감지하여, 3차원 가상공간에 후보 프로파일들을 생성하고, 생성된 후보 프로파일들 중에서 사용자 신체의 반복되는 움직임에 대응하는 적어도 하나에 기초하여, 프로파일들을 결정하며, 결정된 프로파일들에 기초하여 3차원 스케치를 위한 가상 객체를 생성한다.
Description
아래의 설명은 3차원 스케치 방법 및 장치에 관한 것이다.
손 움직임 또는 펜 드로잉은 전문적인 디지털 3D 저작(authoring)을 위한 직관적이고 풍부한 입력이 될 수 있으나, 내재된 고유한 한계로 그동안 잘 활용되지 못하였다. 구체적으로, 손 움직임을 이용하는 3D 스케칭은 빠르고 직관적이나, 신체의 타고난 특성상 결과물이 부정확하고 지저분하여 구체적인 형상을 저작하는데 부적법하고, 펜 드로잉을 사용하는 3D 스케치는 정교하지만 3차원 크기 및 비율을 계획하고 확인하기가 어렵다.
일실시예에 따른 3차원 스케치 방법은 사용자 신체의 움직임을 감지하여, 3차원 가상공간에 후보 프로파일들(candidate profiles)을 생성하는 단계; 상기 생성된 후보 프로파일들 중에서 상기 사용자 신체의 반복되는 움직임에 대응하는 적어도 하나에 기초하여, 프로파일들을 결정하는 단계; 및 상기 결정된 프로파일들에 기초하여 3차원 스케치를 위한 가상 객체를 생성하는 단계를 포함한다.
일실시예에 따른 3차원 스케치 방법에서 상기 생성된 후보 프로파일들은 시간이 지남에 따라 감쇠되거나 또는 미리 결정된 임계 시간이 경과되면 소멸될 수 있다. 예를 들어, 후보 프로파일들은 생성되면 시간이 흐름에 따라 점차 감쇠되거나, 또는 생성되면 일정 시간동안 일정하게 유지되다가 특정 임계 시간이 경과하면 소멸될 수도 있다. 이하에서는 설명의 편의를 위해 후보 프로파일들이 시간이 지남에 따라 감쇠되는 예시를 중심으로 설명하나, 이러한 설명이 미리 결정된 임계 시간이 경과되면 후보 프로파일들이 소멸되는 예시에도 제한 없이 적용될 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 프로파일들을 결정하는 단계는 상기 생성된 후보 프로파일들 중에서 동일한 공간에서 상기 사용자 신체의 반복되는 움직임에 의해 생성된 양이 임계치를 초과하는 적어도 하나에 기초하여 프로파일들을 결정할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 결정된 프로파일들은 시간이 지남에 따라 감쇠되지 않고, 일정하게 유지될 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 결정된 프로파일들에 대응하는 위치에 상기 사용자 신체가 다시 접근하면, 상기 결정된 프로파일들은 시간이 지남에 따라 다시 감쇠될 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 프로파일들을 결정하는 단계는 상기 사용자 신체가 기 결정된 프로파일에 대응하는 위치에 다시 접근하면 상기 기 결정된 프로파일에 대한 결정을 해제하고, 상기 사용자 신체의 마지막 반복 움직임에 대응되는 프로파일들을 결정할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 후보 프로파일들을 생성하는 단계는 상기 사용자 신체의 움직임 중에서 가상의 표면을 묘사하는 움직임에 기초하여 상기 후보 프로파일들을 생성할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 후보 프로파일들을 생성하는 단계는 상기 사용자 신체의 움직임 방향에 수직하게 결정된 평면과 상기 사용자 신체에 매핑된 곡선 네트워크 간 교차점에 기초하여, 상기 후보 프로파일들을 생성할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 후보 프로파일들을 생성하는 단계는 상기 사용자 신체에 매핑된 곡선 네트워크를 결정하는 단계; 상기 곡선 네트워크의 중심점에 대한 수직 벡터 및 상기 사용자 신체의 움직임의 방향 벡터를 포함하는 제1 평면을 결정하는 단계; 상기 제1 평면과 상기 곡선 네트워크 간 교차점들을 이용하여, 상기 중심점에서의 접선 벡터를 결정하는 단계; 및 상기 방향 벡터와 상기 접선 벡터 간 각도 차이가 소정의 임계치 이하인 경우, 상기 방향 벡터에 수직하고 상기 중심점을 포함하는 제2 평면과 상기 곡선 네트워크 간 교차점들에 기초하여 상기 후보 프로파일들을 생성하는 단계를 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 후보 프로파일들을 생성하는 단계는 상기 방향 벡터와 상기 접선 벡터 간 각도 차이가 소정의 임계치를 초과하면, 상기 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하지 않는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 가상 객체를 생성하는 단계는 상기 결정된 프로파일들 중 인접한 프로파일들을 결합하여 상기 가상 객체를 생성할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 가상 객체를 생성하는 단계는 상기 결정된 프로파일들을 종단 선분으로 연결함으로써 그물망 형태의 상기 가상 객체를 생성할 수 있다.
일실시예에 따른 3차원 스케치 방법은 상기 가상 객체를 이용하여, 상기 3차원 가상공간에 참조면을 생성하는 단계; 및 사용자로부터 입력된 명령에 기초하여, 상기 참조면에 스케치를 수행하는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 참조면을 생성하는 단계는 상기 사용자에 의해 상기 가상 객체 상 하나 이상의 포인트가 선택되면, 상기 선택된 포인트를 지나는 상기 참조면을 생성할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 참조면을 생성하는 단계는 상기 가상 객체를 포함하는 면을 상기 참조면으로 생성할 수 있다.
일실시예에 따른 3차원 스케치 방법은 상기 참조면을 회전, 이동, 변형 중 적어도 하나를 수행하는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법은 상기 참조면과 상기 가상 객체 간 교차점들을 표시하는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법은 상기 사용자 신체가 상기 가상 객체에 대응하는 위치를 통과하면, 상기 사용자 신체가 통과하는 위치에 대응하는 상기 가상 객체의 부분을 표시하는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 사용자 신체는 상기 사용자의 손, 발, 팔, 다리, 머리, 상반신, 하반신 및 전신 중 적어도 하나일 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 후보 프로파일들을 생성하는 단계는 상기 사용자 신체에 대응하는 복수의 참조점들을 설정하는 단계; 상기 복수의 참조점들을 연결하는 골조를 결정하는 단계; 상기 사용자 신체가 움직이면 상기 복수의 참조점들 각각에서의 이동 방향의 평균 방향에 수직하고 상기 복수의 참조점들의 평균점을 포함하는 평면을 결정하는 단계; 및 상기 평면과 상기 골조 간 교차점들 또는 상기 골조를 상기 평면에 투사한 투사점들을 연결하여, 후보 프로파일을 생성하는 단계를 포함할 수 있다.
일실시예에 따른 3차원 스케치 방법에서 상기 후보 프로파일들을 생성하는 단계는 상기 사용자 신체의 움직임의 방향 벡터와 손의 바닥 방향 벡터 간 각도 차이가 소정의 임계치 범위 내인 경우, 상기 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하고, 상기 사용자 신체의 움직임의 방향 벡터와 손의 바닥 방향 벡터 간 각도 차이가 소정의 임계치 범위 밖인 경우, 상기 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하지 않을 수 있다. 여기서, 손의 바닥 방향 벡터는 손바닥에 수직인 벡터를 나타낼 수 있다.
일실시예에 따른 3차원 스케치 장치는 사용자 신체의 움직임을 감지하는 센서; 및 상기 사용자 신체의 움직임에 기초하여 3차원 가상공간에 후보 프로파일들을 생성하고, 상기 생성된 후보 프로파일들 중에서 상기 사용자 신체의 반복되는 움직임에 대응하는 적어도 하나에 기초하여 프로파일들을 결정하며, 상기 결정된 프로파일들에 기초하여 가상 객체를 생성하는 프로세서를 포함한다.
일실시예에 따르면, 보완적인 방식으로 손 움직임과 펜 드로잉의 강점을 결합한 통합 3D 스케치 워크플로우를 제공할 수 있다.
일실시예에 따르면, 신체 움직임으로는 빠르게 밑그림을 그리고, 이를 바탕으로 정교한 3D 스케칭 기법을 상보적으로 활용함으로써, 고성능, 고품질의 디자인 콘셉트 형상 저작을 빠르고 손쉽게 가능하게 할 수 있다.
일실시예에 따르면, 신체의 모든 움직임 정보를 분별없이 사용하게 될 경우 무의미한 정보까지 함께 남게 되거나 반복적인 움직임으로 형상이 과포화되는 문제를 해결하기 위해, 별도의 사용자 입력 없이 연속적인 신체 움직임 정보로부터 의미 있는 움직임만을 추출하고 이후 정교한 3D 스케칭에 적합한 형태(예컨대, 그물망 등)으로 가공하는 알고리즘을 제공할 수 있다.
일실시예에 따르면, 3차원 곡선을 원하는 곳에 정확히 위치시키기 위한 참조점을 생성하는 것은 밑그림 단계가 없는 기존 3D 스케칭 기술의 병목 구간에 해당하는데, 본 기술의 3차원 밑그림은 이를 해소할 수 있는 새로운 개념이며, 이를 통해 본 기술은 다양한 하드웨어/소프트웨어를 이용한 기존 3D 스케칭 기술에 범용적으로 적용 가능할 수 있다.
일실시예에 따르면, 별도의 모드 변경 없이 연속적인 손 움직임으로부터 디자이너가 표현하고자 하는 의미 있는 형상 정보만을 추출하고 가공할 수 있으며, 손의 모양과 이동 방향, 반복적인 움직임 여부 등을 판별하여 단순히 이동중이거나 형상과 무관한 손의 움직임은 자연스럽게 제거하고 의도한 형상만을 남길 수 있다. 이렇게 생성된 입체 밑그림을 활용하여 디자이너는 밑그림을 지나는 평면을 설정하고 그 위에 단면 곡선을 그려 나감으로써 정확한 크기와 비율을 가지는 제품의 입체적인 형상 디자인을 효율적으로 빠르게 완성할 수 있다.
도 1 내지 도 2는 일실시예에 따라 3차원 스케치를 수행하는 과정을 설명하기 위한 도면이다.
도 3 내지 도 5는 일실시예에 따라 후보 프로파일을 생성하는 과정을 설명하기 위한 도면이다.
도 6 내지 도 9는 일실시예에 따라 프로파일을 결정하는 과정을 설명하기 위한 도면이다.
도 10은 일실시예에 따라 결정된 프로파일에 기초하여 가상 객체를 생성하는 과정을 설명하기 위한 도면이다.
도 11 내지 도 13은 일실시예에 따라 가상 객체를 이용하여 참조면에 스케치를 수행하는 과정을 설명하기 위한 도면이다.
도 14 내지 도 16은 일실시예에 따라 참조면에 스케치를 수행하는 과정을 설명하기 위한 도면이다.
도 17 내지 도 19는 일실시예에 따라 가상 객체를 삭제하는 과정을 설명하기 위한 도면이다.
도 20 내지 도 22는 일실시예에 따라 사용자 신체가 통과하는 가상 객체의 부분을 표시하는 과정을 설명하기 위한 도면이다.
도 23 및 도 24는 일실시예에 따라 사용자 신체가 발인 예시를 설명하기 위한 도면이다.
도 25 내지 도 31은 일실시예에 따른 다양한 사용자 신체를 활용하는 예시를 설명하기 위한 도면이다.
도 32 및 도 33은 일실시예에 따라 스캐폴드를 이용하여 가상공간에 참조면을 생성하는 다양한 예시들을 설명하기 위한 도면이다.
도 34는 일실시예에 따른 3차원 스케치가 수행되는 일련 과정을 설명하기 위한 도면이다.
도 35는 일실시예에 따른 3차원 스케치 방법을 나타낸 도면이다.
도 36은 일실시예에 따른 3차원 스케치 장치를 나타낸 도면이다.
도 3 내지 도 5는 일실시예에 따라 후보 프로파일을 생성하는 과정을 설명하기 위한 도면이다.
도 6 내지 도 9는 일실시예에 따라 프로파일을 결정하는 과정을 설명하기 위한 도면이다.
도 10은 일실시예에 따라 결정된 프로파일에 기초하여 가상 객체를 생성하는 과정을 설명하기 위한 도면이다.
도 11 내지 도 13은 일실시예에 따라 가상 객체를 이용하여 참조면에 스케치를 수행하는 과정을 설명하기 위한 도면이다.
도 14 내지 도 16은 일실시예에 따라 참조면에 스케치를 수행하는 과정을 설명하기 위한 도면이다.
도 17 내지 도 19는 일실시예에 따라 가상 객체를 삭제하는 과정을 설명하기 위한 도면이다.
도 20 내지 도 22는 일실시예에 따라 사용자 신체가 통과하는 가상 객체의 부분을 표시하는 과정을 설명하기 위한 도면이다.
도 23 및 도 24는 일실시예에 따라 사용자 신체가 발인 예시를 설명하기 위한 도면이다.
도 25 내지 도 31은 일실시예에 따른 다양한 사용자 신체를 활용하는 예시를 설명하기 위한 도면이다.
도 32 및 도 33은 일실시예에 따라 스캐폴드를 이용하여 가상공간에 참조면을 생성하는 다양한 예시들을 설명하기 위한 도면이다.
도 34는 일실시예에 따른 3차원 스케치가 수행되는 일련 과정을 설명하기 위한 도면이다.
도 35는 일실시예에 따른 3차원 스케치 방법을 나타낸 도면이다.
도 36은 일실시예에 따른 3차원 스케치 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1 내지 도 2는 일실시예에 따라 3차원 스케치를 수행하는 과정을 설명하기 위한 도면이다.
일실시예에 따른 3차원 스케치는 사용자 신체의 움직임(예컨대, 손 움직임)과 펜 드로잉을 보완적인 방식으로 결합함으로써 수행될 수 있다. 사용자는 공중에서 자유로운 손 움직임으로 대략적인 3차원 모양을 빠르게 생성하고, 생성된 3차원 모양을 스캐폴드(scaffold)로 이용하여 세부사항을 펜을 이용하여 스케치할 수 있다. 본 명세서에서 설명한 3차원 스케치 기법은 자유로운 손 움직임에서 의도된 모양만 스캐폴드로 추출하고, 스캐폴드에 스케치 면(sketch plane)을 정의하여 3차원 가상공간에 3차원 스케치를 수행할 수 있다. 본 명세서에서는 설명의 편의를 위하여 스케치 면을 참조면이라 지칭할 수 있고, 스캐폴드를 에어 스캐폴드, 가상 객체, 밑그림이라고도 지칭할 수 있다.
도 1을 참조하면, 일실시예에 따라 손 움직임으로부터 3차원 스케치를 위한 가상 객체(140)를 생성하는 과정을 설명하기 위한 예시가 도시된다. 도 1에서는 설명의 편의를 위해 손을 이용하는 예시가 도시되어 있으나, 이외에도 사용자의 발, 팔, 다리, 상반신, 전신 등을 다양한 신체를 이용하는 예시에도 제한 없이 적용될 수 있다. 또한, 도 1에서는 설명의 편의를 위해 태블릿 형태의 3차원 스케치 장치(100)가 도시되어 있으나, 이외에도 가상 객체(140)를 표시할 수 있는 장치(예컨대, AR(Augmented Reality) 장치, VR(Virtual Reality), 헤드마운트 디스플레이(Head mounted display), 스마트 안경, 스마트폰, 스마트TV 등)라면 제한 없이 포함될 수 있다.
일실시예에 따른 3차원 스케치 장치(100)는 센서(110), 프로세서(도면 미도시) 및 디스플레이(120)를 포함할 수 있다.
일실시예에 따른 센서(110)는 사용자 신체(130)의 움직임을 감지하는 장치로서, 예를 들어, 적외선 센서, 깊이 센서, 이미지 센서, 트래킹 센서 등을 포함할 수 있다. 이를테면, 센서(110)는 손의 위치 및 형태를 감지할 수 있다.
일실시예에 따른 프로세서는 센서(110)에서 감지된 사용자 신체(130)의 움직임에 기초하여 3차원 스케치를 위한 가상 객체(140)를 생성할 수 있다. 프로세서는 센서(110)에서 감지된 사용자 신체(130)의 위치를 가상공간에 매핑시켜 특정 지표(150)로 나타낼 수 있다. 프로세서는 사용자 신체(130)의 반복되는 움직임을 이용하여 3차원 스케치를 위한 가상 객체(140)를 생성할 수 있다.
일실시예에 따른 가상 객체(140)는 사용자가 스케치하고자 하는 모양의 크기와 비율을 사용자 신체(130)의 반복되는 움직임으로 표현한 것으로 3차원 가상공간에 생성된 객체를 의미할 수 있다. 생성된 가상 객체(140)는 디스플레이(120)에 표시될 수 있다.
도 2를 참조하면, 일실시예에 따라 가상 객체에 기반한 참조면에 3차원 스케치를 수행하는 예시가 도시된다.
일실시예에 따라 참조면(230)이 가상 객체에 대해 설정될 수 있고, 사용자 입력에 따른 스케치(220)가 참조면(230)에 수행될 수 있다. 이 때, 사용자 입력은 펜(210)을 통해 3차원 스케치 장치로 전달될 수 있다.
이하 도면을 참조하여 3차원 스케치를 위한 가상 객체를 생성하고, 가상 객체를 이용하여 3차원 스케치를 수행하는 과정을 설명한다. 사용자 신체는 사용자의 손, 발, 팔, 다리, 머리, 상반신, 하반신 및 전신 중 적어도 하나일 수 있으나, 설명의 편의를 위해 도 3 내지 도 22에서 사용자 신체가 손인 경우를 우선 설명하고, 도 23 내지 28에서 사용자 신체가 다른 부분인 경우를 설명한다.
도 3 내지 도 5는 일실시예에 따라 후보 프로파일을 생성하는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 일실시예에 따른 커브 네트워크(curve network)(310)로부터 평면 Pnv를 결정하는 예시가 도시된다.
손 프로파일 정의
일실시예에 따라 실시간으로 모든 손 움직임을 트래킹하지만, 이중에서 일시적인(transitory) 손 움직임을 제외한 의도적이고 설명적인(intended, descriptive) 손 움직임을 추출해서 후보 프로파일을 생성할 수 있다.
손 스켈레톤의 커브 네트워크
일실시예에 따른 센서에 의해 캡처된 로우 데이터(raw data)로부터 베이직 지오메트리(basic geometry)가 정의될 수 있다. 손을 나타내는 커브 네트워크(310)는 4개의 손가락 길이들 각각을 따라 움직이는 4개의 곡선들로 구성될 수 있다. 이 때, 엄지 손가락은 제외될 수 있다. 왜냐하면, 엄지 손가락은 튜브와 같이 작은 특징들을 묘사할 때를 제외하고, 손 움직임으로 전체 모양과 곡률을 표현할 때 일반적으로 이용되지 않기 때문이다.
예를 들어, 4x5 커브 네트워크(310)는 4개의 손가락들을 따라 움직이는 4개의 커브들을 기초로 생성될 수 있다. 사용자 손의 중심점 o은 중지 손가락의 기저골(proximal phalanx) 중심이고, 수직 벡터 n은 중심점 o에서의 수직 벡터이며, 속도 벡터 v는 손의 속도 벡터일 수 있다. Pnv는 중심점 o에서 수직 벡터 n과 속도 벡터 v를 포함하는 평면일 수 있다.
도 4를 참조하면, 일실시예에 따라 사용자 신체의 움직임을 일시적이고 의미 없는 움직임과 가상 표면을 묘사하는 유의미한 움직임을 구별하는 예시가 도시된다.
유의미한 움직임 결정
일실시예에 따르면, 방해받지 않으면서 직관적인 상호 작용을 위해, 사용자가 명시적으로 특정 입력 모드를 활성화 및 비활성화하지 않으면서도, 일시적인 손 움직임과 의도되고 설명적인 손 움직임을 식별하고 분리할 필요가 있다.
일반적으로 손 움직임으로 3D 모양을 설명할 때, 사람들은 가상 모양의 곡률에 맞도록 손바닥으로 포즈를 취하게 되고, 손바닥을 가상 모양의 표면을 따라 손을 휩쓰는 경향이 있다. 이러한 점을 이용하여, 손바닥 움직임이 손바닥의 포즈로 묘사된 가상 표면에 대해 접선 방향인 경우에만 소정의 허용오차 내에서 유의미한 동작을 수행하고 있다고 판단될 수 있다. 그렇지 않으면, 사용자의 손이 특정 관심 영역에서 다른 관심 영역으로 단순 이동하고 있다고 해석될 수 있다. 예를 들어, 중지 손가락의 기저골 중심에 위치한 속도 벡터와 접선 벡터 간 최대 허용오차는 27.5°로 설정될 수 있다.
일실시예에 따른 평면 Pnv 및 곡선 네트워크(310) 간 교차점(410)에 기초하여 원(420)이 결정될 수 있고, 원(420) 내 중심점 o에서 접선 벡터 t가 결정될 수 있다. 손 움직임은 속도 벡터 v와 접선 벡터 t 사이의 각도 가 소정의 임계치보다 작으면 가상의 표면을 묘사하는 유의미한 것으로 결정되고, 큰 경우에는 일시적인 것으로 결정될 수 있다.
도 5를 참조하면, 일실시예에 따른 후보 프로파일 생성기를 결정하는 예시가 도시된다.
모양을 묘사하는 손 프로파일
일실시예에 따라 손 움직임이 유의미인 것으로 판단되면, 추가 단계가 수행되어 클러터(clutter)과 오버헤드를 회피하기 위해 최소 필수 데이터만 처리되어 시각화될 수 있다.
손 움직임이 유의미한 것으로 판단되면, 중심점 o를 지나고 속도 벡터 v에 수직인 평면 Pp가 정의될 수 있다. 소정의 자세가 취해진 손바닥을 나타내는 곡선 네트워크와 평면 Pp 사이의 교차점(510)으로 후보 프로파일을 생성하는 후보 프로파일 생성기가 정의될 수 있다. 예를 들어, 후보 프로파일 생성기는 코드 길이(cord length)를 따라 10 개의 등거리 포인트들을 포함하도록 재샘플링(resampling)될 수 있다. 이러한 재샘플링 동작은 동일한 개수의 포인트들이 어떤 방향의 손 움직임에도 적절히 이용되는 것을 보장할 수 있다
도 6 내지 도 9는 일실시예에 따라 프로파일을 결정하는 과정을 설명하기 위한 도면이다.
손 제스처로부터 에어 스캐폴딩
일실시예에 따른 후보 프로파일 생성기를 이용하여 에어 스캐폴드가 생성될 수 있다. 동적으로 변하는 후보 프로파일 생성기가 이동한 경로를 보간(interpolate)하는 것은 두 가지 주요 이슈들에 직면할 수 있다. 첫 번째로, 유의미한 움직임을 식별하기 위한 노력에도 불구하고, 의도하지 않은 경로가 남을 수 있다. 두 번째로, 사용자 손이 이전에 방문하였던 위치를 재방문(revisit)하여, 해당 위치에 생성된 후보 프로파일들이 과밀(overpopulate)될 수 있다.
아래에서 설명하는 방식에 따르면 앞서 언급한 두 가지 이슈들을 동시에 해결할 수 있다. 먼저, 손으로 이동한 모든 유의미한 흔적들(trail)을 후보(candidate)로 표시할 수 있다. 일반적으로 사람들이 모양을 묘사하기 위해 반복적으로 비슷한 제스처를 취하는 경향을 이용하여, 묘사를 위한 사용자 움직임을 판별할 수 있고, 또한 사용자가 명시적인 의도를 나타낼 필요없이 기 생성된 에어 스캐폴드를 수정하고 조정할 수 있게 할 수 있다.
이러한 접근법에 대한 기술적인 세부사항을 보다 잘 설명하기 위해, 사용자가 생산된 모양에 만족할 때까지 반복적으로 가열된 노즐로 확산성 폴리머(diffusive polymer)를 스프레이, 응고(solidify) 및 녹이는 가상의 3D 프린터에 사용자의 손을 비유하는 은유를 소개한다.
도 6 및 도 7을 참조하면, 일실시예에 따라 3차원 가상공간에 시간이 지남에 따라 감쇠(decay)하는 후보 프로파일들이 생성되는 예시가 도시된다.
사용 가능한 재료 스프레잉
앞서 설명한 후보 프로파일 생성기는 3D 프린터의 노즐 역할을 수행할 수 있다. 사용자가 손을 움직이면, 노즐은 공중에 노즐 모양의 폴리머 입자(polymer particle)의 흔적을 스프레이하여 남겨둘 수 있다. 노즐 a i 의 i 번째 인스턴스에 의해 스프레이되는 입자의 양은 초기 스프레잉 후 경과된 시간 함수로 감쇠할 수 있으며, 아래의 수학식 1로 표현될 수 있다.
위의 수학식 1에서, A는 스프레이된 초기 양이고, 는 감쇠 상수(예컨대, = 0.35 s-1)일 수 있다. 여기서, 반감기는 ln 2/ (~ 2.0 초)일 수 있다. 여기서, 폴리머 입자는 앞서 설명한 프로파일에 해당할 수 있다.
도 8을 참조하면, 일실시예에 따라 생성된 후보 프로파일들 중에서 사용자의 신체의 반복되는 움직임에 대응하는 적어도 하나에 기초하여 프로파일을 결정하는 예시가 도시된다.
사용 가능한 재료를 응집(aggregate)시켜 응고
노즐의 현재 j 번째 인스턴스가 주어지면, 현재 인스턴스 의 위치에서 응고될 수 있는 공중의 폴리머 입자의 양은 이전 노즐 인스턴스에 의해 스프레이된 모든 이용 가능한 입자들의 집합일 수 있으며, 아래의 수학식 2로 표현될 수 있다.
위의 수학식 2에서, d ij 는 노즐의 i 번째와 j 번째 인스턴스들 사이의 거리이고, B는 일종의 확산 상수(예컨대, B = 0.3 cm-1)일 수 있다. 여기서, 이용 가능한 양 이 응고에 필요한 최소 양에 해당하는 소정의 임계치 A* (예컨대, A* = 1.25A)를 초과하면, 현재 위치에서 노즐의 j 번째 인스턴스가 해당 형상의 폴리머 입자를 응고시킬 수 있다. 응고되면, 고체로 변형된 폴리머 입자의 양은 해당 폴리머 입자 주변에서 제거될 수 있다. 응고된 폴리머 입자는 시간의 함수로 더 이상 감쇠되지 않으므로, 시간이 지나더라도 일정한 양을 유지할 수 있다. 또한, 이용 가능한 양 이 A*를 초과하지 않으면, 노즐은 수학식 1에 따라 양이 감쇠하는 추가 입자를 스프레이할 수 있다.
이처럼, 손이 반복적으로 특정 영역 위로 지나갈 때, 해당 영역 내 폴리머 입자의 양은 특정 임계치를 초과하게 되어 응고될 수 있다.
도 9를 참조하면, 일실시예에 따라 사용자 손이 응고된 폴리머 입자의 위치에 재방문할 때 최신 움직임에 대응하는 모양으로 폴러머 입자가 응고되는 예시가 도시된다.
재응고(re-solidifying)를 위한 고체 녹임
노즐이 이미 응고된 폴리머 입자에 근접하면, 해당 고체는 부분적으로 녹고, 감쇠하는 폴리머 입자들로 다시 변환되어, 접근하는 노즐의 인스턴스가 응집될 수 있다. 노즐이 응고된 폴리머 입자에 가까울수록, 더 많은 고체가 녹아 감쇠 특성을 갖는 폴리머 입자로 다시 변환될 수 있다. 이전에 응고된 양 A k 가 주어지면, 현재의 j 번째 노즐 에 의해 고체로부터 녹은 폴리머 입자의 양은 녹은 이후 시간의 함수로 표현될 수 있으며, 수학식 3과 같을 수 있다.
위의 수학식 3에서, t = 에서의 응고된 폴리머 입자의 잔량은 이다. 이 양이 전술한 임계치 A*를 초과하지 못하면, 전체 고체는 즉시 이용 가능한 폴리머 입자들로 다시 변환될 것이고, 그 양 a j+1 이 아래의 수학식 4로 표현될 수 있다.
다시 말해, 응고된 고체 부분은 시간이 지남에 따라 일정하게 유지되는 반면, 응고되지 않은 나머지 입자는 그 양이 계속 감쇠될 수 있다. 손이 이전에 응고된 폴리머 입자 근처를 지나가면, 응고된 폴리머 입자의 일부는 재응고를 위해 감쇠 특성을 갖는 폴리머 입자로 다시 녹여질 수 있다.
이로써, 반복적인 형상 표현에 따른 폴리머 입자의 포화를 효과적으로 방지하면서도, 사용자가 의도한 형상이 나타날 때까지 수정이 용이한 인터페이스가 제공될 수 있다.
예시적으로 도시된 도 9에서, 사용자 손이 재방문한 왼쪽 부분의 응고된 폴리머 입자는 도 8에서 앞서 응고되었던 모양과 다를 수 있다.
도 10은 일실시예에 따라 결정된 프로파일에 기초하여 가상 객체를 생성하는 과정을 설명하기 위한 도면이다.
도 10을 참조하면, 일실시예에 따라 오랜 시간 후 응고되지 않은 폴리머 입자가 모두 감쇠하고, 응고된 폴리머 입자만이 남겨진 예시가 도시된다.
스캐폴드 위빙(weaving)
유의미한 손 움직임이 끝나면, 공간적으로 가까운 프로파일들이 식별되어 함께 결합됨으로써, 스캐폴드가 생성될 수 있다. 이 과정에서, 앞서 결정된 프로파일들에 종단(longitudinal) 3D 곡선이 추가되어, 3D 곡선의 상호교차된 네트(intercrossed net)가 형성될 수 있다. 이 네트는 디자이너가 정교한 셰이딩(shading)을 이용하지 않고, 표면(surface)와 곡률을 빠르게 전달하는 데 이용하는 전통적인 스케치 기법의 해칭(hatching)과 유사할 수 있다. 상호교차된 곡선의 밀도는 스캐폴드가 너무 조밀하거나 너무 희박하지 않도록 적절하게 조정될 수 있다.
생성된 스캐폴드는 일반 3D 곡선 프리머티브들(primitive)의 집합으로 구현되므로, 사용자는 펜으로 그린 3D 곡선들에서처럼 생성된 스캐폴드를 조작할 수 있다. 스캐폴드를 별도의 모델 클래스로 해석하지 않기 때문에, 프리머티브-특정 상호작용들(primitive-specific interaction)로 상호작용 어휘(interaction vocabulary)를 확장하는 것을 피할 수 있다. 또한, 스캐폴드는 본래 스케일을 유지하므로, 사용자는 스캐폴드와 함께 작업할 때 사용자의 운동감각 기억(kinesthetic memory)을 함께 활용할 수 있다. 스캐폴드는 사용자의 설정에 따라 3차원 스케치 장치의 디스플레이 표시되거나 표시되지 않을 수 있다.
도 11 내지 도 13은 일실시예에 따라 가상 객체를 이용하여 참조면에 스케치를 수행하는 과정을 설명하기 위한 도면이다.
스캐폴드를 활용한 펜 스케치
스캐폴드가 생성되면, 사용자는 스캐폴드를 참조로 이용하여 스케치 면을 정의하고, 스케치 면에 펜-기반 3D 스케치를 수행할 수 있다(그림 4c). 3차원 가상 공간에서 전반적인 모양과 미세한 특징(finer feature)를 점진적으로 표현하기 위해, 사용자는 필요에 따라 스캐폴드와 스케치 면을 반복적으로 추가하고 제거할 수 있다.
도 11을 참조하면, 일실시예에 따라 센서에 의해 캡처된 로우 데이터에서 의도되고 설명적인 유의미한 형상 정보만 추출되는 예시가 도시된다. 도 12를 참조하면, 일실시예에 따라 유의미한 형상 정보로 스캐폴드가 결정되는 예시가 도시된다. 도 13을 참조하면, 일실시예에 따라 스캐폴드를 이용하여 재봉틀을 나타내는 3차원 스케치가 수행된 예시가 도시된다.
도 14 내지 도 16은 일실시예에 따라 참조면에 스케치를 수행하는 과정을 설명하기 위한 도면이다.
스캐폴드 상에 스케치 면 생성
일실시예에 따라 스케치 면을 정의하기 위해, 펜-틱 제스처(pen-tick gesture)가 한 번 이상 수행될 수 있다. 펜-틱 제스처는 펜으로 디스플레이 화면을 툭 치는 제스처로서, 예를 들어, 기 생성된 스캐폴드의 3차원 커브들이 교차하는 지점에 수행될 수 있다. 틱 제스처들와 3차원 커브들 사이의 교차점들은 스케치 면이 만족해야 하는 포인트 제한조건(constraint)으로 작용할 수 있다. 펜-틱 제스처는 펜으로 그려진 3차원 커브와 스캐폴드의 개별 3차원 커브에서 모두 수행될 수 있다. 그러나, 펜으로 그려진 3차원 커브에 우선 순위가 지정되어, 펜-틱 제스처가 펜으로 그려진 3차원 커브와 스캐폴드 상의 3차원 커브에 동시에 대응하는 경우에는 펜으로 그려진 3차원 커브에 포인트 제한조건이 우선적으로 정의될 수 있다. 스케치 면과 이를 관통하는 3차원 커브 사이의 교차점은 황색으로 강조 표시되어, 사용자가 3차원 가상공간을 바라보는 뷰(view)를 변경하고, 3차원 커브를 그리고, 스케치 면을 제어할 때 사용자의 공간 인식을 향상시킬 수 있다.
도 14를 참조하면, 일실시예에 따라 다리미를 스케치하기 위한 스캐폴드가 생성될 수 있다. 도 15를 참조하면, 일실시예에 따라 틱 제스처(1510)가 스캐폴드의 곡선들 중 어느 하나에 수행되어 스케치 면(1520)이 정의되는 예시가 도시된다. 도 16을 참조하면, 일실시예에 따라 스케치 면과 스캐폴드 간 교차점들이 시각적으로 표시된 것을 고려하여, 스케치 면에 3차원 스케치가 수행되는 예시가 도시된다.
도 17 내지 도 19는 일실시예에 따라 가상 객체를 삭제하는 과정을 설명하기 위한 도면이다.
스캐폴드 삭제
일실시예에 따라 사용자에 의해 점진적으로 반복적으로 3차원 커브가 추가됨에 따라, 일부 스캐폴드는 3차원 스케치와 관련성을 잃고, 단순히 스케치에 방해가 될 수 있다. 따라서, 3차원 스케치 작업 중 어느 단계에서나, 사용자는 스캐폴드의 일부 또는 전체를 편리하고 빠르게 제거할 수 있다. 스캐폴드 지우개 구현에 증폭기 개념(intensifier concept)을 이용될 수 있다. 증폭된 지우개(intensified eraser)는 지우개가 직접 닿는 스캐폴드 부분만 제거하는 반면, 디폴트 지우개는 지우개가 스캐폴드의 일부 세크먼트에 접촉되더라도 해당 스캐폴드의 전체를 제거할 수 있다.
도 17을 참조하면, 일실시예에 따라 점진적이고 반복적인 3차원 스케치 수행으로 스캐폴드 일부가 스케치 관련성이 없어진 예시가 도시된다. 도 18을 참조하면, 일실시예에 따라 디폴드 지우개 동작(1810)으로 지우개에 접촉된 스캐폴드 전체가 삭제된 예시가 도시된다. 도 19를 참조하면, 일실시예에 따라 증폭된 지우개 동작(1910)으로 지우개가 직접 닿는 스캐폴드 부분만 삭제된 예시가 도시된다.
도 20 내지 도 22는 일실시예에 따라 사용자 신체가 통과하는 가상 객체의 부분을 표시하는 과정을 설명하기 위한 도면이다.
작업공간(workspace) 재방문
일실시예에 따르면 사용자의 필요에 따라 언제든지 추가 스캐폴드가 생성될 수 있다. 그러나, 가상공간 상의 3차원 스케치와 실제 손 사이의 상대적인 위치는 사용자의 제한된 공간 기억으로 인해 사용자가 쉽게 인지하기 어려울 수 있다. 사용자가 상대적인 위치를 찾는 것을 돕기 위해, 응답 스팽글들(responsive spangle)을 이용하여 유용한 피드포워드(feedforward)와 피드백 큐들(feedback cue)이 제공될 수 있다.
다양한 색상의 원형 스팽글들은 공중의 손과 가상공간의 3차원 커브들 사이의 거리를 시각화할 수 있다. 손이 3차원 스케치에 접근하여 통과하면, 스팽글이 먼저 표시된 후 해당 스팽글의 색상이 바뀌어 손의 다양한 근접 정도가 표시될 수 있다. 이러한 스팽글들을 이용하여 사용자는 3차원 스케치와 현재 손 위치 사이의 공간 관계를 빠르게 확인 가능하고, 기 생성된 스캐폴드에 추가 스캐폴드를 적절한 위치에 생성할 수 있다.
여기서, 설명의 편의를 위해 스팽글이 3차원 스케치와 손 사이의 거리를 시각화한다고 설명하였으나, 이외에도 스캐폴드와 손 사이의 거리가 스팽글에 의해 시각화될 수도 있다.
도 20을 참조하면, 일실시예에 따라 손(2010)의 중심을 나타내는 동심원의 회색 디스크(concentric grey disk)(2020)가 표시되는 예시가 도시된다. 도 21을 참조하면, 일실시예에 따라 손이 3차원 스케치 및/또는 스캐폴드에 접근하여 접촉하면 녹색 응답 스팽클들이 접촉된 지점에 표시되는 예시가 도시된다. 도 22를 참조하면, 일실시예에 따라 손이 더 깊숙하게 3차원 스케치 및/또는 스캐폴드를 관통하면 깊숙한 정도를 황색에서 적색으로의 색 변화를 통해 시각적으로 표시하는 예시가 도시된다. 이 때, 도 20 내지 도 22에서 점선으로 표시된 사용자 손은 설명의 편의를 위한 것으로 3차원 스케치 장치에 표시되지 않을 수 있다.
도 23 및 도 24는 일실시예에 따라 사용자 신체가 발인 예시를 설명하기 위한 도면이다.
도 23을 참조하면, 일실시예에 따라 사용자 신체가 발인 경우에 후보 프로파일 생성기(2330)을 결정하는 예시가 도시된다.
일실시예에 따른 사용자 신체가 발인 경우, 발을 나타내는 커브 네트워크(2310)는 5개의 발가락 길이들 각각을 따라 움직이는 5개의 곡선들로 구성될 수 있다. 그리고, 발의 중심점 o을 기준으로 수직 벡터 n과 속도 벡터 v가 결정되고, 중심점 o에서 수직 벡터 n과 속도 벡터 v를 포함하는 평면 Pnv가 결정될 수 있다. 그리고, 평면 Pnv 및 곡선 네트워크(2310) 간 교차점들에 기초하여 원(2320)이 결정되고, 원(2320) 내 중심점 o에서 접선 벡터 t가 결정될 수 있다. 발 움직임은 속도 벡터 v와 접선 벡터 t 사이의 각도 가 소정의 임계치보다 작으면 가상의 표면을 묘사하는 유의미한 것으로 결정되고, 큰 경우에는 일시적인 것으로 결정될 수 있다. 그리고, 발 움직임이 유의미한 것으로 판단되면, 중심점 o를 지나고 속도 벡터 v에 수직인 평면 Pp가 정의될 수 있다. 곡선 네트워크(2310) 및 평면 Pp 간 교차점들(2330)에 기초하여, 후보 프로파일을 생성하는 후보 프로파일 생성기가 결정될 수 있다.
도 24를 참조하면, 일실시예에 따른 발 움직임으로 시간이 지남에 따라 감쇠하는 후보 프로파일이 생성되는 예시가 도시된다.
도 25 내지 도 31은 일실시예에 따른 다양한 사용자 신체를 활용하는 예시를 설명하기 위한 도면이다.
일실시예에 따르면, 사용자 신체는 i) 손, 손목, 팔꿈치를 포함하는 팔, ii) 발, 발목, 무릎을 포함하는 다리, iii) 머리, 목, 가슴을 포함하는 상반신, iv) 팔목, 머리, 가슴, 골반, 무릎을 포함하는 전신 중 어느 하나에 해당될 수도 있다.
3차원 스케치 장치는 사용자 신체를 선택할 수 있다. 예를 들어, 사용자 신체가 팔인 경우를 설명의 편의를 위해 가정한다. 그리고, 3차원 스케치 장치는 각 신체 부위의 중심점을 지정할 수 있다. 이를테면, 3차원 스케치 장치는 팔을 구성하는 손, 손목, 팔꿈치 각각의 중심점을 지정할 수 있다. 그리고, 3차원 스케치 장치는 서로 인접한 중심점들을 연결하여 골조를 결정할 수 있다. 사용자가 해당 신체를 움직일 경우, 3차원 스케치 장치는 각 중심점들의 평균점을 지나고, 각 중심점들의 이동 방향의 평균 이동 방향에 수직한 평면을 결정할 수 있다. 그리고, 3차원 스케치 장치는 평면과 골조의 교차점들 또는 평면에 투사된 골조의 점들을 연결하여, 후보 프로파일 생성기를 결정할 수 있다. 3차원 스케치 장치는 후보 프로파일 생성기를 통해 사용자 신체의 움직임에 대응하고 시간이 지남에 따라 감쇄하는 후보 프로파일을 3차원 가상공간에 생성할 수 있다. 앞서 설명한 것처럼, 3차원 스케치 장치는 반복되는 신체 움직임에 따라 응고된 프로파일들을 서로 연결하여 그물망 형태의 스캐폴드를 생성할 수 있다.
도 25는 일실시예에 따라 팔 움직임을 활용하는 예시를 도시하고, 도 26은 일실시예에 따라 다리 움직임을 활용하는 예시를 도시하고, 도 27은 일실시예에 따라 상반신 움직임을 활용하는 예시를 도시하고, 도 28은 일실시예에 따라 전신 움직임을 활용하는 예시를 도시한다. 또한, 도 29는 일실시예에 따라 다른 신체가 움직이더라도 특정 신체(예컨대, 팔)만을 트랙킹하여 해당 신체의 움직임을 활용하는 예시를 도시한다. 도 30 및 도 31은 일실시예에 따라 두 개 이상의 신체 부위를 각각 트랙킹하여 활용하는 예시(예컨대, "양 팔", "팔 및 다리" 등)를 도시한다.
실시예에 따라서는 움직임을 트래킹할 사용자 신체가 기본적으로 지정될 수도 있으나(예컨대, 손 등), 움직임을 트래킹하기 앞서 사용자로부터 어떤 신체를 스케치에 이용할 것인지 하나 이상 선택 받는 과정이 더 수행될 수도 있다.
도 32 및 도 33은 일실시예에 따라 스캐폴드를 이용하여 가상공간에 참조면을 생성하는 다양한 예시들을 설명하기 위한 도면이다.
도 32를 참조하면, 일실시예에 따라 공중에서 스캐폴드 상의 두 점을 선택하면, 선택된 두 점을 지나는 참조면이 생성되고, 사용자가 공중에 선을 그리면, 해당 선이 참조면에 투사되어 3차원 스케치가 수행되는 예시가 도시된다.
도 33을 참조하면, 일실시예에 따라 생성된 스캐폴드에 따른 참조면이 생성되고, 사용자가 공중에 선을 그리면, 해당 선이 참조면에 투사되어 3차원 스케치가 수행되는 예시가 도시된다. 예를 들어, 사용자 눈과 곡선을 그리기 위해 제어되는 펜 또는 손의 연장선이 참조면과 교차하는 점을 생성하고 이를 이음으로써, 스케치가 수행될 수 있다.
도 32 및 도 33에서는 태블릿 형태의 디스플레이가 아닌 헤드마운트 형태의 AR 장치, VR 장치, 스마트 안경 등이 이용될 수 있다.
도 34는 일실시예에 따른 3차원 스케치가 수행되는 일련 과정을 설명하기 위한 도면이다.
도 34를 참조하면, 오른쪽에서부터 순차적으로, 에어 스캐폴딩을 이용하여 러프한 전체 모양을 생성하는 과정, 전체 모양을 캡처하는 적절한 시점을 찾고, 스캐폴드에 걸쳐 스케치 면을 정의하는 과정, 펜 스케칭으로 도미넌트 프로파일(dominant profile)을 드로잉하는 과정, 스케치 면을 정의하여 곡선들을 드로잉함으로써, 도미넌트 프로파일에 따라 반복적으로 단면(cross section)을 추가하는 과정, 응답 스팽글들의 피드포워드 및 피드백 표시를 기반으로 이전 작업공간을 소정 시간 동안 재 방문하는 과정, 제품의 그립을 스케치하는 데 필요한 추가 스캐폴드를 생성하는 과정, 그립의 도미넌트 프로파일 및 단면 곡선을 드로잉하는 과정 및 최종 3D 스케치에서 돌출된 스캐폴드의 일부분을 트리밍하는 과정이 예시적으로 도시된다. 이를테면, 핸드헬드 진공 청소기가 3차원 스케치되는 과정일 수 있다.
도 35는 일실시예에 따른 3차원 스케치 방법을 나타낸 도면이다.
도 35를 참조하면, 일실시예에 따른 3차원 스케치 장치에 구비된 프로세서에서 수행되는 3차원 스케치 방법이 도시된다.
단계(3510)에서, 3차원 스케치 장치는 사용자 신체의 움직임을 감지하여, 3차원 가상공간에 시간이 지남에 따라 감쇠하는 후보 프로파일들을 생성한다. 3차원 스케치 장치는 사용자 신체의 움직임 중에서 가상의 표면을 묘사하는 움직임에 기초하여 후보 프로파일들을 생성할 수 있다. 이 때, 일시적인 이동에 해당하는 움직임은 제외될 수 있다.
또한, 3차원 스케치 장치는 사용자 신체의 움직임 방향에 수직하게 결정된 평면과 사용자 신체에 매핑된 곡선 네트워크 간 교차점에 기초하여, 후보 프로파일들을 생성할 수 있다. 예를 들어, 3차원 스케치 장치는 사용자 신체에 매핑된 곡선 네트워크를 결정하고, 사용자 곡선 네트워크(예컨대, 신체)의 중심점에 대한 수직 벡터 및 사용자 신체의 움직임의 방향 벡터를 포함하는 제1 평면을 결정하고, 제1 평면과 곡선 네트워크 간 교차점들을 이용하여 중심점에서의 접선 벡터를 결정하고, 방향 벡터와 접선 벡터 간 각도 차이가 소정의 임계치 이하인 경우 방향 벡터에 수직하고 중심점을 포함하는 제2 평면과 곡선 네트워크 간 교차점들에 기초하여 후보 프로파일들을 생성할 수 있다. 만약 방향 벡터와 접선 벡터 간 각도 차이가 소정의 임계치를 초과하면, 3차원 스케치 장치는 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하지 않을 수 있다.
또는, 3차원 스케치 장치는 사용자 신체에 대응하는 복수의 참조점들(예컨대, 중심점들)을 설정하고, 복수의 참조점들을 연결하는 골조를 결정하고, 사용자 신체가 움직이면 복수의 참조점들 각각에서의 이동 방향의 평균 방향에 수직하고 복수의 참조점들의 평균점을 포함하는 평면을 결정하며, 평면과 골조 간 교차점들 또는 골조를 평면에 투사한 투사점들을 연결하여, 후보 프로파일을 생성할 수도 있다.
단계(3520)에서, 3차원 스케치 장치는 생성된 후보 프로파일들 중에서 사용자 신체의 반복되는 움직임에 대응하는 적어도 하나에 기초하여, 프로파일들을 결정한다.
예를 들어, 3차원 스케치 장치는 생성된 후보 프로파일들 중에서 동일한 공간에서 사용자 신체의 반복되는 움직임에 의해 생성된 양이 임계치를 초과하는 적어도 하나를 프로파일들로 결정할 수 있다. 이 때, 결정된 프로파일들은 시간이 지남에 따라 감쇠되지 않고 일정하게 유지될 수 있다. 만약 결정된 프로파일들에 대응하는 위치에 사용자 신체가 다시 접근하면, 결정된 프로파일들은 시간이 지남에 따라 다시 감쇠될 수 있다. 이를테면, 결정된 프로파일들에 대응하는 위치에 사용자 신체가 가까이 다시 접근할수록, 결정된 프로파일들 중에서 많은 양이 시간이 지남에 따라 다시 감쇠되는 특성을 가질 수 있다.
3차원 스케치 장치는 사용자 신체가 기 결정된 프로파일에 대응하는 위치에 다시 접근하면 기 결정된 프로파일에 대한 결정을 해제하고, 사용자 신체의 마지막 반복 움직임에 대응되는 프로파일들을 결정할 수 있다.
단계(3530)에서, 3차원 스케치 장치는 결정된 프로파일들에 기초하여 3차원 스케치를 위한 가상 객체를 생성한다. 3차원 스케치 장치는 결정된 프로파일들 중 인접한 프로파일들을 결합하여 가상 객체를 생성할 수 있다. 이를테면, 3차원 스케치 장치는 결정된 프로파일들을 종단 선분으로 연결함으로써 그물망 형태의 가상 객체를 생성할 수 있다.
단계(3540)에서, 3차원 스케치 장치는 가상 객체를 이용하여, 3차원 가상공간에 참조면을 생성할 수 있다. 3차원 스케치 장치는 사용자에 의해 가상 객체 상 하나 이상의 포인트가 선택되면 선택된 포인트를 지나는 참조면을 생성할 수 있다. 또는, 3차원 스케치 장치는 가상 객체를 포함하는 면을 참조면으로 생성할 수도 있다.
단계(3550)에서, 3차원 스케치 장치는 사용자로부터 입력된 명령에 기초하여, 참조면에 스케치를 수행할 수 있다. 이 때, 사용자 명령은 펜에 기반하여 입력될 수 있으나, 이외에도 참조면에 스케치를 수행하는 명령을 입력할 수 있다면 제한 없이 적용될 수 있다.
또한, 3차원 스케치 장치는 참조면과 가상 객체 간 교차점들을 표시할 수 있다. 또한, 3차원 스케치 장치는 사용자 신체가 가상 객체에 대응하는 위치를 통과하면, 사용자 신체가 통과하는 위치에 대응하는 가상 객체의 부분을 표시할 수 있다. 여기서, 사용자 신체는 사용자의 손, 발, 팔, 다리, 머리, 상반신, 하반신 및 전신 중 적어도 하나를 포함할 수 있다.
참조면은 실시예에 따라 평면 또는 곡면일 수 있다. 또한, 참조면은 사용자 제어에 의해 이동, 회전, 또는 변형(예컨대, 사용자가 양 손을 서로 다른 방향으로 비틀음)될 수 있다.
도 35에 도시된 각 단계들에는 도 1 내지 도 34를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 36은 일실시예에 따른 3차원 스케치 장치를 나타낸 도면이다.
도 36을 참조하면, 일실시예에 따른 3차원 스케치 장치(3600)는 센서(3610), 프로세서(3620), 디스플레이(3630) 및 메모리(3640)를 포함할 수 있다. 센서(3610), 프로세서(3620), 디스플레이(3630) 및 메모리(3640)는 버스(bus)(3650)를 통하여 서로 통신할 수 있다.
센서(3610)는 사용자 신체의 움직임을 감지할 수 있는 장치로서, 예를 들어, 적외선 센서, 깊이 센서, 이미지 센서, 트래킹 센서, 신체 추적 센서 등을 포함할 수 있다. 이를테면, 센서(3610)는 손의 위치 및 형태를 감지할 수 있다.
프로세서(3620)는 사용자 신체의 움직임에 기초하여 3차원 가상공간에 시간이 지남에 따라 감쇠하는 후보 프로파일들을 생성하고, 생성된 후보 프로파일들 중에서 사용자 신체의 반복되는 움직임에 대응하는 적어도 하나에 기초하여 프로파일들을 결정하며, 결정된 프로파일들에 기초하여 가상 객체를 생성할 수 있다. 또한, 프로세서(3620)는 가상 객체를 이용하여 3차원 가상공간에 참조면을 생성하고, 사용자로부터 입력된 명령에 기초하여 참조면에 스케치를 수행할 수 있다.
디스플레이(3630)는 프로세서(3620)에서 수행되는 처리과정을 표시할 수 있다. 디스플레이(3630)는 프로세서(3620)에서 생성된 후보 프로파일들, 결정된 프로파일들, 가상 객체, 참조면, 스케치를 표시할 수 있다. 예를 들어, 디스플레이(3630)는 태블릿 형태의 디스플레이, 헤드마운트 디스플레이, 스마트 안경에 적용된 디스플레이, 스마트폰의 디스플레이 등을 포함할 수 있다.
메모리(3640)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(3620)는 메모리(3640)에 저장된 명령어가 프로세서(3620)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(3640)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
그 밖에, 3차원 스케치 장치(3600)에 관해서는 상술된 동작을 처리할 수 있다.
앞서 설명한 3차원 스케치 장치(3600)를 통해, 빠른 신체 움직임과 정교한 스케칭 기법을 상보적으로 결합하여 기존 기술의 단점은 상쇄하고 장점은 극대화 하는 기술이 제공될 수 있다. 이를 위해, 별도의 모드 변경없이 추적된 신체 움직임 정보로부터 의미 있는 움직임만이 추출되고, 이를 정교한 3D 스케칭에 적합한 형태로 가공할 수 있다.
디자이너가 상상 속의 제품을 쓰다듬듯이 공중에서 신체를 움직여 대략적인 크기와 비율을 나타내면, 적외선 신체 추적 센서가 측정한 신체 관절의 3D 이동 경로로부터 입체 그물망 형태의 밑그림(즉, 스캐폴드)이 실시간으로 추출될 수 있다. 디자이너는 생성된 입체 밑그림을 지나는 어떠한 평면이라도 자유롭게 설정하고, 그 위에 단면 곡선을 그려 나감으로써, 정확한 크기와 비율을 가지는 제품의 입체적인 형상 디자인을 완성할 수 있다.
이러한 기법은 최근 가상현실 기술의 보급에 힘입어 주목받고 있는 공중에서 손과 몸을 움직여 그림을 그리는 기존의 공중 3D 스케칭 기법들이 정교한 결과물을 생성하지 못하고 장시간 사용 시 피로를 유발하는 점과는 다르게, 빠르고 직관적인 형상 정보 생성을 위한 공중 신체 움직임과 정교한 형상 저작을 위한 태블릿상 펜 드로잉 기법을 결합함으로써, 각각의 장점만을 살리고 단점은 상쇄시킨 창의적이고 차별화된 접근법을 제공할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
실시예들에서 설명된 구성요소들은 하나 이상의 DSP (Digital Signal Processor), 프로세서 (Processor), 컨트롤러 (Controller), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array)와 같은 프로그래머블 논리 소자 (Programmable Logic Element), 다른 전자 기기들 및 이것들의 조합 중 하나 이상을 포함하는 하드웨어 구성 요소들(hardware components)에 의해 구현될 수 있다. 실시예들에서 설명된 기능들(functions) 또는 프로세스들(processes) 중 적어도 일부는 소프트웨어(software)에 의해 구현될 수 있고, 해당 소프트웨어는 기록 매체(recording medium)에 기록될 수 있다. 실시예들에서 설명된 구성요소들, 기능들 및 프로세스들은 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
Claims (22)
- 사용자 신체의 움직임을 감지하여, 3차원 가상공간에서 상기 사용자 신체의 움직임에 대응하는 위치들에 후보 프로파일들(candidate profiles)을 생성하는 단계;
상기 생성된 후보 프로파일들 중에서 상기 사용자 신체의 움직임으로 상기 사용자 신체가 다시 통과한 위치들에 대응하는 하나 이상의 후보 프로파일들을 프로파일들로 결정하는 단계; 및
상기 결정된 프로파일들에 기초하여 3차원 스케치를 위한 가상 객체를 생성하는 단계
를 포함하는 3차원 스케치 방법.
- 제1항에 있어서,
상기 생성된 후보 프로파일들은 시간이 지남에 따라 감쇠되거나 또는 미리 결정된 임계 시간이 경과되면 소멸되는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 프로파일들을 결정하는 단계는
상기 생성된 후보 프로파일들 중에서 동일한 공간에서 상기 사용자 신체의 반복되는 움직임에 의해 생성된 양이 임계치를 초과하는 적어도 하나에 기초하여 프로파일들을 결정하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 결정된 프로파일들은 시간이 지남에 따라 감쇠되지 않고, 일정하게 유지되는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 결정된 프로파일들에 대응하는 위치에 상기 사용자 신체가 다시 접근하면, 상기 결정된 프로파일들은 시간이 지남에 따라 다시 감쇠되는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 프로파일들을 결정하는 단계는
상기 사용자 신체가 기 결정된 프로파일에 대응하는 위치에 다시 접근하면 상기 기 결정된 프로파일에 대한 결정을 해제하고, 상기 사용자 신체의 마지막 반복 움직임에 대응되는 프로파일들을 결정하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 후보 프로파일들을 생성하는 단계는
상기 사용자 신체의 움직임 중에서 가상의 표면을 묘사하는 움직임에 기초하여 상기 후보 프로파일들을 생성하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 후보 프로파일들을 생성하는 단계는
상기 사용자 신체의 움직임 방향에 수직하게 결정된 평면과 상기 사용자 신체에 매핑된 곡선 네트워크 간 교차점에 기초하여, 상기 후보 프로파일들을 생성하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 후보 프로파일들을 생성하는 단계는
상기 사용자 신체에 매핑된 곡선 네트워크를 결정하는 단계;
상기 곡선 네트워크의 중심점에 대한 수직 벡터 및 상기 사용자 신체의 움직임의 방향 벡터를 포함하는 제1 평면을 결정하는 단계;
상기 제1 평면과 상기 곡선 네트워크 간 교차점들을 이용하여, 상기 중심점에서의 접선 벡터를 결정하는 단계; 및
상기 방향 벡터와 상기 접선 벡터 간 각도 차이가 소정의 임계치 이하인 경우, 상기 방향 벡터에 수직하고 상기 중심점을 포함하는 제2 평면과 상기 곡선 네트워크 간 교차점들에 기초하여 상기 후보 프로파일들을 생성하는 단계
를 포함하는, 3차원 스케치 방법.
- 제9항에 있어서,
상기 후보 프로파일들을 생성하는 단계는
상기 방향 벡터와 상기 접선 벡터 간 각도 차이가 소정의 임계치를 초과하면, 상기 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하지 않는 단계
를 더 포함하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 가상 객체를 생성하는 단계는
상기 결정된 프로파일들 중 인접한 프로파일들을 결합하여 상기 가상 객체를 생성하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 가상 객체를 생성하는 단계는
상기 결정된 프로파일들을 종단 선분으로 연결함으로써 그물망 형태의 상기 가상 객체를 생성하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 가상 객체를 이용하여, 상기 3차원 가상공간에 참조면을 생성하는 단계; 및
사용자로부터 입력된 명령에 기초하여, 상기 참조면에 스케치를 수행하는 단계
를 더 포함하는, 3차원 스케치 방법.
- 제13항에 있어서,
상기 참조면을 생성하는 단계는
상기 사용자에 의해 상기 가상 객체 상 하나 이상의 포인트가 선택되면, 상기 선택된 포인트를 지나는 상기 참조면을 생성하는, 3차원 스케치 방법.
- 제13항에 있어서,
상기 참조면을 생성하는 단계는
상기 가상 객체를 포함하는 면을 상기 참조면으로 생성하는, 3차원 스케치 방법.
- 제13항에 있어서,
상기 참조면을 회전, 이동, 변형 중 적어도 하나를 수행하는 단계
를 더 포함하는 3차원 스케치 방법.
- 제13항에 있어서,
상기 참조면과 상기 가상 객체 간 교차점들을 표시하는 단계
를 더 포함하는 3차원 스케치 방법.
- 제1항에 있어서,
상기 사용자 신체가 상기 가상 객체에 대응하는 위치를 통과하면, 상기 사용자 신체가 통과하는 위치에 대응하는 상기 가상 객체의 부분을 표시하는 단계
를 더 포함하는 3차원 스케치 방법.
- 제1항에 있어서,
상기 사용자 신체는
상기 사용자의 손, 발, 팔, 다리, 머리, 상반신, 하반신 및 전신 중 적어도 하나인, 3차원 스케치 방법.
- 제1항에 있어서,
상기 후보 프로파일들을 생성하는 단계는
상기 사용자 신체에 대응하는 복수의 참조점들을 설정하는 단계;
상기 복수의 참조점들을 연결하는 골조를 결정하는 단계;
상기 사용자 신체가 움직이면 상기 복수의 참조점들 각각에서의 이동 방향의 평균 방향에 수직하고 상기 복수의 참조점들의 평균점을 포함하는 평면을 결정하는 단계; 및
상기 평면과 상기 골조 간 교차점들 또는 상기 골조를 상기 평면에 투사한 투사점들을 연결하여, 후보 프로파일을 생성하는 단계
를 포함하는, 3차원 스케치 방법.
- 제1항에 있어서,
상기 후보 프로파일들을 생성하는 단계는
상기 사용자 신체의 움직임의 방향 벡터와 손의 바닥 방향 벡터 간 각도 차이가 소정의 임계치 범위 내인 경우, 상기 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하고,
상기 사용자 신체의 움직임의 방향 벡터와 손의 바닥 방향 벡터 간 각도 차이가 소정의 임계치 범위 밖인 경우, 상기 사용자 신체의 움직임에 대응하는 후보 프로파일을 생성하지 않는, 3차원 스케치 방법.
- 사용자 신체의 움직임을 감지하는 센서; 및
상기 사용자 신체의 움직임에 기초하여 3차원 가상공간에서 상기 사용자 신체의 움직임에 대응하는 위치들에 후보 프로파일들을 생성하고, 상기 생성된 후보 프로파일들 중에서 상기 사용자 신체의 움직임으로 상기 사용자 신체가 다시 통과한 위치들에 대응하는 하나 이상의 후보 프로파일들을 프로파일들로 결정하며, 상기 결정된 프로파일들에 기초하여 가상 객체를 생성하는 프로세서
를 포함하는 3차원 스케치 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190044997A KR102185454B1 (ko) | 2019-04-17 | 2019-04-17 | 3차원 스케치 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190044997A KR102185454B1 (ko) | 2019-04-17 | 2019-04-17 | 3차원 스케치 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200122126A KR20200122126A (ko) | 2020-10-27 |
KR102185454B1 true KR102185454B1 (ko) | 2020-12-02 |
Family
ID=73136091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190044997A KR102185454B1 (ko) | 2019-04-17 | 2019-04-17 | 3차원 스케치 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102185454B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023219436A1 (ko) * | 2022-05-12 | 2023-11-16 | 주식회사 스케치소프트 | 3차원 모델링 방법 및 장치 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102392675B1 (ko) * | 2021-04-16 | 2022-05-12 | 주식회사 스케치소프트 | 3차원 스케치를 위한 인터페이싱 방법 및 장치 |
WO2023043168A1 (ko) * | 2021-09-14 | 2023-03-23 | 한국과학기술원 | 3차원 스케칭을 수행하는 전자 장치 및 그 동작 방법 |
WO2023191484A1 (ko) * | 2022-03-29 | 2023-10-05 | 한국과학기술원 | 드로잉 방법 및 상기 방법을 수행하는 전자 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060250393A1 (en) | 2005-04-18 | 2006-11-09 | Steve Tsang | Method, system and computer program for using a suggestive modeling interface |
US20140240231A1 (en) | 2009-04-02 | 2014-08-28 | Oblong Industries, Inc. | Processing tracking and recognition data in gestural recognition systems |
KR101661991B1 (ko) | 2015-06-05 | 2016-10-04 | 재단법인 실감교류인체감응솔루션연구단 | 모바일 확장 공간에서의 3d 드로잉을 지원하기 위한 hmd 장치 및 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101155045B1 (ko) * | 2010-05-25 | 2012-06-11 | 주식회사 씩스클릭 | 애니메이션 저작 시스템 및 애니메이션 저작 방법 |
KR20120068253A (ko) * | 2010-12-17 | 2012-06-27 | 삼성전자주식회사 | 사용자 인터페이스의 반응 제공 방법 및 장치 |
KR101531169B1 (ko) * | 2013-09-23 | 2015-06-24 | 삼성전자주식회사 | 사용자 단말에서 3차원 객체를 그리는 방법 및 이를 수행하는 사용자 단말 |
KR20150095330A (ko) * | 2014-02-13 | 2015-08-21 | 원창섭 | 스마트 프로젝터 시스템 |
WO2017099500A1 (ko) * | 2015-12-08 | 2017-06-15 | 스타십벤딩머신 주식회사 | 애니메이션 생성 방법 및 애니메이션 생성 장치 |
-
2019
- 2019-04-17 KR KR1020190044997A patent/KR102185454B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060250393A1 (en) | 2005-04-18 | 2006-11-09 | Steve Tsang | Method, system and computer program for using a suggestive modeling interface |
US20140340388A1 (en) | 2005-04-18 | 2014-11-20 | Steve Tsang | System, method and computer program for using a suggestive modeling interface |
US20140240231A1 (en) | 2009-04-02 | 2014-08-28 | Oblong Industries, Inc. | Processing tracking and recognition data in gestural recognition systems |
KR101661991B1 (ko) | 2015-06-05 | 2016-10-04 | 재단법인 실감교류인체감응솔루션연구단 | 모바일 확장 공간에서의 3d 드로잉을 지원하기 위한 hmd 장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023219436A1 (ko) * | 2022-05-12 | 2023-11-16 | 주식회사 스케치소프트 | 3차원 모델링 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20200122126A (ko) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102185454B1 (ko) | 3차원 스케치 방법 및 장치 | |
US11163158B2 (en) | Skin-based approach to virtual modeling | |
De Araùjo et al. | Mockup Builder: 3D modeling on and above the surface | |
Kim et al. | Agile 3D sketching with air scaffolding | |
KR100960577B1 (ko) | 제스처 기반의 제어 시스템을 위한 시스템 및 방법 | |
Gannon et al. | Tactum: a skin-centric approach to digital design and fabrication | |
Kang et al. | Instant 3D design concept generation and visualization by real-time hand gesture recognition | |
Shiratuddin et al. | Non-contact multi-hand gestures interaction techniques for architectural design in a virtual environment | |
IL224026A (en) | System and method for human interface - known as hand gestures | |
Lee et al. | Beyond: collapsible tools and gestures for computational design | |
Kim et al. | Controlling your contents with the breath: Interactive breath interface for VR, games, and animations | |
Cohen et al. | A 3d virtual sketching system using NURBS surfaces and leap motion controller | |
Machuca et al. | Interaction Devices and Techniques for 3D Sketching | |
Leal et al. | 3d sketching using interactive fabric for tangible and bimanual input | |
Matulic et al. | Terrain modelling with a pen & touch tablet and mid-air gestures in virtual reality | |
Jeon et al. | A sketch interface to empower novices to create 3D animations | |
Zhong et al. | Rapid 3D conceptual design based on hand gesture | |
Oshita | Multi-touch interface for character motion control using example-based posture synthesis | |
CN106155303A (zh) | 一种基于手部动作捕捉的交互式建筑设计平台 | |
Han et al. | 3DSketch: modeling by digitizing with a smart 3D pen | |
KR102359598B1 (ko) | 3차원 스케칭 방법 및 장치 | |
KR101699930B1 (ko) | 아바타 동작 생성 방법 및 장치 | |
De Araujo et al. | Modeling on and above a stereoscopic multitouch display | |
Kolaric et al. | Direct 3D manipulation using vision-based recognition of uninstrumented hands | |
Moscovich et al. | A multi-finger interface for performance animation of deformable drawings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |