KR102359598B1 - 3차원 스케칭 방법 및 장치 - Google Patents

3차원 스케칭 방법 및 장치 Download PDF

Info

Publication number
KR102359598B1
KR102359598B1 KR1020200032828A KR20200032828A KR102359598B1 KR 102359598 B1 KR102359598 B1 KR 102359598B1 KR 1020200032828 A KR1020200032828 A KR 1020200032828A KR 20200032828 A KR20200032828 A KR 20200032828A KR 102359598 B1 KR102359598 B1 KR 102359598B1
Authority
KR
South Korea
Prior art keywords
user
sketching
trajectory
tap
sketch
Prior art date
Application number
KR1020200032828A
Other languages
English (en)
Other versions
KR20210116100A (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 KR1020200032828A priority Critical patent/KR102359598B1/ko
Publication of KR20210116100A publication Critical patent/KR20210116100A/ko
Application granted granted Critical
Publication of KR102359598B1 publication Critical patent/KR102359598B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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
    • G06F3/0486Drag-and-drop

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

3차원 스케칭 방법 및 장치가 개시된다. 개시된 3차원 스케칭 방법은 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성하고, 객체에서 움직이고자 하는 제1 파트의 궤적을 참조 객체에 기반하여 결정하고, 제1 파트의 움직임 범위 및 제1 파트가 궤적을 따라 움직일 때 기준이 되는 객체의 제2 파트를 결정하며, 제1 파트의 위치, 제2 파트의 위치, 제1 파트의 궤적 및 움직임 범위에 기초하여, 제1 파트와 제2 파트를 연결하는 조인트를 생성한다.

Description

3차원 스케칭 방법 및 장치{METHOD AND APPARATUS FOR 3D SKETCHING}
아래의 설명은 3차원 스케칭 방법 및 장치에 관한 것이다.
많은 제품이 움직이는 파트를 가고 있으며, 파트가 움직임으로써 제품이 여러 포즈로 변화할 수 있다. 이처럼 여러 포즈를 가진 제품은 포즈마다 다른 형상을 가진다. 움직임에 따라 형상이 변하는 특성으로 인해, 디자이너가 제품을 디자인할 때는 형상과 움직임을 함께 고려해야 한다. 하지만 디자인 초기에 스케치를 통해 아이디어를 탐색하는 과정에서 형상과 움직임을 함께 고려하기는 어렵다. 움직임에 따라 변하는 형상을 상상하기 어렵고, 제품의 여러 형상을 일일이 스케치하는 데 많이 시간이 소요된다. 스케치 과정에서 아이디어를 충분히 탐색하지 못하면, 의도한 대로 움직이지 않거나 예상하지 못한 형상으로 변하는 제품이 디자인될 수 있다.
본 발명은 3D 스케치 과정에서 스케치를 움직이기 위해 필요한 기능들이 자연스럽게 사용될 수 있도록, 각 기능의 인터랙션이 설계되었다. 디자이너는 펜을 이용해 그린 스케치를 여러 파트로 나누고, 조인트를 통해 파트를 연결시킴으로써 스케치를 움직이게 할 수 있다. 그리고, 디자이너는 손을 이용해 물건을 잡고 움직이는 것처럼 스케치를 움직일 수 잇다. 이처럼 디자이너는 펜과 손을 활용한 인터랙션을 통해 아이디어를 스케치하는 것에 집중할 수 있다.
본 발명은 스케치된 객체를 움직여 형상과 움직임을 함께 고려할 수 있는 3차원 스케칭 시스템을 제공할 수 있다.
일실시예에 따른 3차원 스케칭 방법은 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체(reference object)를 생성하는 단계; 상기 객체에서 움직이고자 하는 제1 파트(first part)의 궤적을 상기 참조 객체에 기반하여 결정하는 단계; 상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하는 단계; 및 상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하는 조인트를 생성하는 단계를 포함한다.
일실시예에 따른 3차원 스케칭 방법에서 상기 참조 객체를 생성하는 단계는 상기 사용자에 의해 선택된 포인트들 중 어느 하나를 상기 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구(sphere)를 상기 참조 객체로 결정할 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 사용자에 의해 선택된 포인트들은 상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고, 상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 제1 파트의 궤적을 결정하는 단계는 상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고, 상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치할 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 제1 파트의 궤적을 결정하는 단계는 상기 사용자로부터 입력된 탭 앱 드래그에서 결정된 복수의 참조 포인트들 중에서 두 개의 참조 포인트들을 잇는 제1 벡터를 복수개 생성하고, 상기 복수의 제1 벡터들 중 두 개의 벡터들 간의 외적을 계산해서 복수의 제2 벡터들을 결정하고, 상기 복수의 제2 벡터들에 기반하여 상기 궤적의 회전축 벡터를 결정하고, 상기 회전축 벡터와 상기 탭 앤 드래그의 드래그 방향에 기초하여 상기 궤적을 결정할 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 제1 파트의 움직임 범위 및 상기 객체의 제2 파트를 결정하는 단계는 상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정할 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공될 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 제2 파트는 상기 제1 파트의 부모 파트로 설정되고, 상기 제1 파트는 상기 제2 파트의 자식 파트로 설정될 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 조인트를 생성하는 단계는 상기 제1 파트의 움직임의 기초가 되는 상기 제2 파트의 위치를 고려할 때 상기 제1 파트가 상기 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성할 수 있다.
일실시예에 따른 3차원 스케칭 방법은 상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계; 및 상기 기준 파트와 상기 기준 파트의 자식 파트 간을 연결하는 조인트를 활성화시켜서, 상기 사용자로부터 입력된 탭 앤 드래그로 상기 자식 파트를 움직이는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케칭 방법은 상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계; 상기 기준 파트와 상기 복수의 파트들의 말단 파트 사이에서 어느 하나의 무빙 파트를 결정하는 단계; 및 상기 기준 파트와 상기 무빙 파트 사이의 하나 이상의 조인트들을 활성화시켜서, 상기 사용자로부터 입력된 공중 핀치 제스처(mid-air pinch gesture)로 상기 무빙 파트를 움직이는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케칭 방법은 상기 객체를 표현하는 상기 스케치 선들 중에서 상기 사용자로부터 선택된 일부 스케치 선들을 하나의 파트로 설정하는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케칭 방법에서 상기 일부 스케치 선들을 하나의 파트로 설정하는 단계는 상기 스케치 선들이 표시되는 디스플레이에 입력된 상기 사용자의 드래그에 겹치는 스케치 선들을 선택하고, 상기 선택된 스케치 선들 중에서 어느 하나의 스케치 선 또는 스케치 선의 일부분을 제거하고 남은 스케치 선들로 파트를 설정할 수 있다.
일실시예에 따른 3차원 스케칭 방법은 상기 3차원 가상공간에 상기 사용자로부터 입력된 하나 이상의 포인트를 포함하는 기준 평면을 생성하거나, 상기 사용자로부터 입력된 두 개의 포인트를 포함하는 기준 구를 생성하는 단계; 및 상기 사용자로부터 입력된 드래그를 상기 기준 평면 또는 상기 기준 구에 투사하여 상기 객체를 표현하기 위한 스케치 선을 생성하는 단계를 더 포함할 수 있다.
일실시예에 따른 3차원 스케칭 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성하고, 상기 객체에서 움직이고자 하는 제1 파트의 궤적을 상기 참조 객체에 기반하여 결정하고, 상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하며, 상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하는 조인트를 생성할 수 있다.
일실시예에 따른 3차원 스케칭 장치에서 상기 프로세서는 상기 사용자에 의해 선택된 포인트들 중 어느 하나를 상기 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구를 상기 참조 객체로 결정할 수 있다.
일실시예에 따른 3차원 스케칭 장치에서 상기 사용자에 의해 선택된 포인트들은 상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고, 상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.
일실시예에 따른 3차원 스케칭 장치에서 상기 프로세서는 상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고, 상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치할 수 있다.
일실시예에 따른 3차원 스케칭 장치에서 상기 프로세서는 상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정할 수 있다.
일실시예에 따른 3차원 스케칭 장치에서 상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공될 수 있다.
일실시예에 따르면, 디자인 초기에 여러 포즈를 지닌 제품의 아이디어를 탐색하는 것을 가능하게 하는 3D 스케칭 시스템을 제공할 수 있다. 디자이너는 움직임에 따라 변하는 제품의 여러 형상을 스케치하는 대신, 그린 스케치를 직접 움직이고 움직임에 따라 변하는 스케치의 형상을 확인할 수 있다. 디자이너는 그려진 스케치를 직접 움직이고, 움직임에 따라 변한 스케치를 관찰하며, 움직임에 따라 변한 스케치를 수정하는 작업 과정을 통해, 디자인 초기에 움직임과 형상에 대한 다양한 아이디어를 손쉽게 검증해 볼 수 있다. 아이디어를 수정해야 할 경우, 디자이너는 움직임에 따라 변한 스케치를 바로 수정할 수 있으며, 수정된 스케치를 다시 움직여 볼 수 있다. 본 시스템을 통해, 디자이너는 디자인 초기에서부터 아이디어를 직접 움직여 확인해보고 수정하기를 반복해 움직임과 형상에 대한 아이디어를 빠르게 탐색할 수 있다.
일실시예에 따르면, 사용자가 3차원 스케칭 방법 및 장치를 쉽게 배우고 직관적으로 사용할 수 있다. 움직이는 스케치는 새로운 아이디어를 촉진하며, 다양한 포즈에서 아이디어가 타당한지 손쉽게 확인하게 할 수 있다. 스케치 중 언제든지 각 기능을 펜 또는 손의 움직임으로 직관적이고 간단하게 제어 가능할 수 있다.
도 1은 일실시예에 따른 3차원 스케칭을 수행하는 과정을 설명하기 위한 도면이다.
도 2 및 도 3은 일실시예에 따른 스케칭 동작을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 파팅(parting) 동작을 설명하기 위한 도면이다.
도 5 내지 도 9는 일실시예에 따른 리깅(rigging) 동작을 설명하기 위한 도면이다.
도 10 내지 도 12는 일실시예에 따른 포징(posing) 동작을 설명하기 위한 도면이다.
도 13은 일실시예에 따른 3차원 스케칭 방법을 나타낸 도면이다.
도 14는 일실시예에 따른 3차원 스케칭 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1은 일실시예에 따른 3차원 스케칭을 수행하는 과정을 설명하기 위한 도면이다.
일실시예에 따르면, 3차원 스케칭 장치는 사용자 신체의 움직임(예컨대, 손 움직임 등) 및/또는 펜 드로잉에 기반하여 3차원 가상공간에 객체가 스케치 되게 할 수 있다. 예를 들어, 3차원 스케칭 장치는 태블릿 형태로 구현될 수 있으나, 이외에도 3차원 가상공간에 객체를 표시할 수 있는 AR(Augmented Reality) 장치, VR(Virtual Reality), 헤드마운트 디스플레이(Head mounted display), 스마트 안경, 스마트폰, 스마트TV 등 다양한 장치를 제한 없이 포함할 수 있다.
3차원 스케칭 장치를 통해, 사용자는 3차원 가상공간에서 스케치한 객체를 움직여 바뀐 형상을 관찰하고, 바뀐 형상 위에 다시 스케치해 객체를 수정하고, 수정된 객체를 다시 움직여 움직임에 따라 변하는 객체의 형상을 손쉽게 확인할 수 있다. 객체는 복수의 파트들로 나누어지고, 파트들이 조인트로 연결되어 한 파트가 연결된 다른 파트를 기준으로 움직일 수 있는 다양한 제품을 제한 없이 포함할 수 있다. 이를 통해, 정적인 스케치만로는 표현하기 어려웠던 제품의 움직임 아이디어가 손쉽게 표현될 수 있다.
사용자는 3차원 스케칭 장치를 통해 객체를 3차원 가상공간에 스케치하고, 스케치된 객체를 움직이기 위해 펜과 양손을 활용할 수 있다. 예를 들어, 사용자 손은 객체의 파트 및/또는 스케치 선을 선택하거나 움직이는 데 활용될 수 있으며, 펜은 스케치 선을 그리거나 정밀한 선택을 하는 데 활용될 수 있다.
도 1을 참조하면, 일실시예에 따라 객체를 움직이기 위해 객체를 여러 파트로 나누고, 파트들 간의 관계를 정의하는 과정이 도시된다.
스케칭 과정(110)에서, 3차원 스케칭 장치는 사용자 제어에 따라 3차원 가상공간에 여러 스케치 선들을 그려서 객체를 생성할 수 있다. 파팅 과정(120)에서, 3차원 스케칭 장치는 3차원 가상공간에 그려진 여러 스케치 선들 중 일부를 그룹핑하여 하나의 파트로 정의함으로써, 객체를 여러 파트들로 나눌 수 있다. 리깅 과정(130)에서, 3차원 스케칭 장치는 파트와 파트를 연결하는 조인트를 생성하여 파트들 간 상대적 위치나 상하 관계를 정의할 수 있다. 포징 과정(140)에서, 3차원 스케칭 장치는 조인트를 제어함으로써 파트들 간의 상대적인 위치나 각도를 변화시켜 객체를 다른 포즈로 변화시킬 수 있다. 이처럼 사용자는 3차원 가상공간에 스케치한 객체를 움직이게 만들어서 객체의 모습이 바뀌는 것을 확인할 수 있으며, 객체를 다른 포즈로 바꾼 상태에서 스케치 과정(110), 파트 과정(120), 리깅 과정(130)를 다시 수행할 수 있다.
3차원 스케칭 장치는 객체를 움직인 뒤에도 스케치를 수정할 수 있다. 3차원 스케칭 장치는 움직인 객체에서 기존의 스케치 선을 지우고 새로운 스케치 선을 생성할 수 있다. 새로 생성된 스케치 선을 기 생성된 파트에 포함시키면, 새로 생성된 스케치 선도 해당 파트와 함께 움직일 수 있다. 실시예에 따라, 움직임이 사용자의 마음에 들지 않는 경우에는 해당 움직임을 만드는 조인트를 수정함으로써, 다른 움직임으로 변경시킬 수 있다. 다양한 움직임을 통해 나타난 객체의 여러 포즈들은 저장될 수 있으며, 한 포즈에서 스케치 수정사항은 나머지 포즈에도 그대로 반영될 수 있다.
사용자는 여러 종류의 조인트를 사용하여 해당 조인트에 의해 만들어지는 객체의 움직임을 재현할 수 있다. 나아가, 여러 조인트를 사용하여 하나의 조인트로는 불가능한 움직임도 가능하게 할 수 있으며, 움직이는 파트 위에 다른 움직이는 파트를 이어서 다른 파트의 움직임에 영향을 받아 형상이 변하는 제품의 움직임도 만들 수 있다. 이를 통해, 사용자는 객체의 움직임을 모두 표현할 수 있으며, 움직임에 따라 변화하는 객체의 형상을 관찰할 수 있다.
본 발명은 사용자가 3차원 가상공간에서 객체를 표현하는 스케치 선의 상태를 확인하기 위한 별도의 공간을 분리하지 않고, 화면에서 보이는 스케치 선의 색, 굵기, 종류(예컨대, 실선, 점선 등)를 통해 상태를 표시할 수 있다. 이를 통해, 사용자는 작업 과정에서 자신이 작업하고 있는 대상에서 시선을 돌리지 않고 상태를 손쉽게 확인할 수 있다.
예를 들어, 본 발명에서 색은 검은색, 회색, 유채색 등으로 구분될 수 있다. 검은색으로 표현된 스케치 선은 현 상태에서 활용이 가능한 물체를 나타낼 수 있다. 검은색 스케치 선을 선택하면 어떤 기능이 작동하거나 시스템에 변화가 발생할 수 있다. 회색으로 표현된 스케치 선은 특정 기능이 작동할 때 그 기능이 적용되지 않은 물체를 나타낼 수 있다. 유채색으로 표현된 스케치 선은 특정 기능이 작동할 때, 해당 기능이 적용된 물체를 나타낼 수 있다. 여기서 설명된 색은 예시적인 것으로 이외에도 다양한 방법으로 스케치 선들이 구분될 수 있다.
도 2 및 도 3은 일실시예에 따른 스케칭 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 일실시예에 따라 기준 평면(220)에 기반한 스케치 과정이 도시된다.
사용자가 펜을 이용해 원하는 위치를 지정함으로써, 해당 위치의 포인트를 포함하는 기준 평면(220)이 생성될 수 있다. 사용자에 의해 지정되는 위치는 적게는 한 포인트, 많게는 세 포인트들을 포함할 수 있다. 예를 들어, 그리드 선(grid line) 및/또는 스케치 선 상에서 두 개의 포인트들(210)이 선택된 경우, 중심이 두 점의 중간 지점에 있고, 두 개의 포인트들(210)을 포함하는 기준 평면(220)이 생성될 수 있다. 일실시예에서, 기준 평면(220)은 사용자가 원하는 각도로 회전하고 원하는 위치로 이동할 수도 있다.
사용자는 펜을 이용하여 기준 평면(220) 상에 자유롭게 스케치 선(230)을 생성할 수 있다. 사용자가 디스플레이 상에 그린 스케치 선(230)에 속하는 점들은 시스템 상에 정의된 기준 평면(220)에 투사되어 입체 공간 상에 위치가 정의될 수 있다. 사용자는 입체 공간 상에 정의된 점들을 잇는 3차원 스케치 선(230)을 여러 시점에서 확인할 수 있다. 사용자는 그려진 스케치 선(230) 또는 그 일부분을 지울 수도 있다.
도 3을 참조하면, 일실시예에 따라 기준 구(320)에 기반한 스케치 과정이 도시된다.
사용자가 펜을 이용해 원하는 위치를 선택하고 드래그(310)함으로써, 기준 구(320)가 생성될 수 있다. 예를 들어, 기준 구(320)는 사용자에 의해 선택된 포인트를 중심점으로 하고 드래그(310)하는 과정에서 기 존재하는 스케치 선과 교차하는 포인트와 중심점 사이의 거리를 반지름으로 하게 생성될 수 있다. 또는, 기준 구(320)의 반지름은 사용자에 의해 선택된 중심점과 드래그가 끝난 지점 사이의 거리로 결정될 수도 있다. 사용자는 펜을 이용하여 기준 구(320) 상에 자유롭게 스케치 선(330)을 생성할 수 있다. 사용자가 디스플레이 상에 그린 스케치 선(330)에 속하는 점들은 시스템 상에 정의된 기준 구(320)에 투사되어 입체 공간 상에 위치가 정의될 수 있다. 마찬가지로, 사용자는 입체 공간 상에 정의된 점들을 잇는 3차원 스케치 선(330)을 여러 시점에서 확인할 수 있다. 사용자는 그려진 스케치 선(330) 또는 그 일부를 지울 수도 있다.
도 4는 일실시예에 따른 파팅(parting) 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 일실시예에 따라 객체의 스케치 선들 중 일부로 한 파트를 결정하는 예시가 도시된다.
일실시예에서, 디자인 초기의 아이디어 스케치에 집중할 수 있도록 모든 스케치 작업은 하나의 스케치 원본에서 수행될 수 있다. 파트는 스케치 원본에 존재하는 스케치 선들의 일부 집합일 수 있다. 사용자에 의해 그려진 스케치 선들은 여러 파트들로 구분될 수 있다. 스케치 선들 중에서 사용자로부터 선택된 일부 스케치 선들이 그룹핑되어 파트가 생성될 수 있다. 스케치 선들은 여러 파트에 속할 수 있으며, 이 경우에 해당 스케치 선들이 복제되어 각 파트에 속할 수도 있다.
단계(410)에서, 3차원 스케치 장치는 파팅 동작을 위해 사용자로부터 드래그를 입력 받을 수 있다. 단계(420)에서, 3차원 스케치 장치는 사용자로부터 입력된 제1 드래그에 겹치는 스케치 선을 선택하며, 선택된 스케치 선들은 녹색(도 4에서는 굵은 선)으로 표시될 수 있다. 이처럼, 사용자로부터 입력된 드래그에 일부라도 겹치는 스케치 선이라면 선택될 수 있고, 이를 통해 파트의 형상에 사용자가 의도한 스케치 선들을 빠르게 선택할 수 있다. 단계(430)에서, 3차원 스케치 장치는 사용자로부터 입력된 제2 드래그에 기반하여 기 선택된 스케치 선 중에서 하나 이상의 스케치 선 또는 스케치 선의 일부분을 제거할 수 있다. 이처럼 사용자로부터의 드래그로 인해 의도하지 않은 스케치 선이 선택되었다면, 사용자로부터 입력된 후속 드래그를 통해 의도하지 않은 스케치 선 또는 그 일부만 제거될 수 있다. 단계(440)에서, 3차원 스케치 장치는 남은 스케치 선들로 한 파트를 설정할 수 있다.
도 4에서는 예시적으로 한 파트를 설정하는 과정이 도시되었으나, 해당 설명이 객체에 포함된 다른 파트를 설정하는 과정에도 마찬가지로 적용될 수 있으므로 보다 상세한 설명은 생략한다.
일실시예에서, 디자인 초기 단계의 스케치는 세세한 부분들을 자세히 표현하기 보다는 전체 형상을 주로 표현하므로, 전체 형상을 표현하는 과정에서 디자이너가 파트를 구분하며 스케치를 수행하지 않을 수 있다. 그래서, 파트를 만들기 위해 선택된 스케치 선이 여러 파트에 속할 수 있다. 이러한 스케치 선은 해당 파트에 포함되는 일부만 분리해서 해당 파트에 포함시켜야 하며, 앞서 설명한 파팅 동작을 통해 손쉽게 구현될 수 있다.
이처럼, 본 발명에서는 스케치 작업을 방해하지 않고 사용자가 원하는 작업을 손쉽게 수행하기 위해, 펜을 사용해 빠르게 스케치 선들을 선택하고, 선택한 스케치 선들을 정교하게 수정할 수 있다.
도 5 내지 도 9는 일실시예에 따른 리깅(rigging) 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 일실시예에 따라 객체에 포함된 파트들 간 조인트를 생성하는 리깅 동작이 예시적으로 도시된다. 설명의 편의를 위해, 도 5에서 움직이고자 하는 파트를 제1 파트로 지칭하고, 제1 파트의 움직임에 기준이 되는 파트를 제2 파트로 지칭한다.
일실시예에서, 조인트는 파트들 간 관계를 정의할 수 있다. 이를 통해, 한 파트가 다른 파트를 기준으로 어떻게 움직이는지가 결정될 수 있다. 파트는 조인트에 따른 움직임을 가질 수 있다.
본 발명에서는 조인트를 만드는 작업과 조인트에 파트를 연결하는 작업이 하나의 작업으로 통합될 수 있다. 사용자는 조인트를 만들어서 자연스럽게 스케치를 움직여 봄으로써 조인트를 파트에 연결시킬 수 있으며, 이를 통해 사용자는 하나의 작업만으로 의도한 움직임을 손쉽게 구현할 수 있다. 본 발명에서는 조인트의 위치와 각도를 고려해 움직임을 만드는 것이 아닌, 사용자가 원하는 궤적에 따른 움직임을 고려해 조인트의 위치와 각도가 결정될 수 있다. 사용자가 궤적을 그리면 3차원 스케칭 장치가 해당 궤적을 만족하는 조인트를 자동으로 생성하기 때문에, 사용자가 조인트와 관련된 복잡한 고민을 하지 않아도 된다.
일실시예에 따라 조인트를 자동으로 생성하기 위해, 3차원 스케칭 장치는 사용자로부터 파트의 움직임을 표현하는 제어를 입력 받는 동안 조인트를 생성하기 위한 정보들을 수집할 수 있다. 예를 들어, 조인트 생성을 위해 요구되는 정보에는 움직일 파트, 움직임의 기준이 될 파트, 조인트의 종류, 조인트의 위치와 방향, 조인트의 움직임 반경(또는, 범위) 중 적어도 하나에 대한 정보가 포함될 수 있으며, 조인트의 종류에 따라 필요한 정보가 달라질 수 있다. 슬라이드 조인트의 경우에는 슬라이드의 경로에 대한 정보가 더 필요하고, 볼 조인트의 경우에는 조인트의 방향과 움직임 반경에 대한 정보가 필요하지 않다. 이하에서는 회전 조인트를 기준으로 3차원 스케칭 장치의 동작을 설명한다.
먼저, 3차원 스케칭 장치는 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성할 수 있다. 참조 객체는 조인트 생성을 위한 궤적을 결정하는 데 참조가 되는 객체로서, 예를 들어, 구 형태일 수 있다. 예를 들어, 사용자는 참조 객체 생성을 위해 탭 앤 드래그를 입력할 수 있으며, 3차원 스케칭 장치는 해당 탭 앤 드래그에서 처음 탭된 제1 포인트와 드래그 후 마지막에 리프트된 제2 포인트에 기초하여 참조 구를 생성할 수 있다. 이 때, 제1 포인트는 참조 구의 중심점이 되고, 제2 포인트는 참조 구의 표면에 위치하는 한 점이 될 수 있다. 다시 말해, 제1 포인트를 중심점으로 하고, 제1 포인트와 제2 포인트 간 거리를 반지름으로 하는 참조 구가 생성될 수 있다. 제2 포인트는 움직이고자 하는 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.
단계(510)에서, 3차원 스케칭 장치는 제1 파트의 궤적을 참조 객체에 기반하여 결정할 수 있다. 예를 들어, 사용자는 궤적 결정을 위해 탭 앤 드래그를 입력할 수 있으며, 3차원 스케칭 장치는 해당 탭 앤 드래그에서 처음 탭된 제3 포인트와 드래그 방향에 기초하여 참조 객체 상에서 궤적을 결정할 수 있다. 궤적 결정에 대해서는 도 6 내지 도 9를 참조하여 상세히 설명한다.
단계(520)에서, 3차원 스케칭 장치는 앞서 결정된 궤적에 따라 제1 파트가 움직이는 잔상을 나타낼 수 있으며, 이를 통해 사용자가 궤적에 따른 제1 파트의 예상 움직임을 손쉽게 확인할 수 있다. 잔상은 다른 선과 구별되기 쉽도록 다른 색상으로 표현될 수 있다.
단계(530)에서, 3차원 스케칭 장치는 제1 파트의 움직임 범위 및 제1 파트가 궤적을 따라 움직일 때 기준이 되는 객체의 제2 파트를 결정할 수 있다. 예를 들어, 사용자는 한 손으로 고정시킬 제2 파트를 탭 앤 홀드로 지정할 수 있으며, 해당 탭 앤 홀드가 유지되는 동안 다른 손으로 제1 파트의 움직임 범위 결정을 위해 탭 앤 드래그를 입력할 수 있다. 3차원 스케칭 장치는 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 탭 앤 홀드가 유지되는 동안 다른 손에서 입력된 탭 앤 드래그로 제1 파트의 움직임 범위를 결정할 수 있다. 이 때, 제1 파트의 움직임 범위를 결정하기 위한 제1 파트의 움직임은 기 결정된 궤적에 귀속될 수 있다. 이 때, 탭 앤 홀드로 고정된 제2 파트, 탭 앤 드래그로 움직임 범위가 결정되는 제1 파트는 각기 다른 색상으로 표시될 수 있다.
앞서 설명한 과정들을 통해 조인트를 생성하기 위한 정보가 수집될 수 있으며, 해당 정보에 기반하여 조인트가 제1 파트와 제2 파트 사이에 생성될 수 있다.
일실시예에 따른 리깅 동작을 통해 부모 파트와 자식 파트 간 관계가 설정될 수 있다. 3차원 스케칭 장치는 결정된 궤적을 통해 조인트를 생성할 수 있으며, 이를 통해 3차원 스케칭 장치는 어떤 파트가 어떻게 움직이는지 알 수 있다. 하지만, 3차원 스케칭 장치는 아직 움직이는 파트의 부모 파트가 어느 파트인지, 조인트의 움직임 반경이 어떻게 되는지는 알 수 없다. 부모 파트 정보가 없는 조인트는 파트들 사이를 연결하는 것이 아닌 그저 공간 상에 떠 있는 물체일 뿐이기 때문이다. 객체의 여러 파트가 조인트의 움직임에 따라 여러 형상으로 변하기 위해서, 움직일 파트의 부모 파트가 설정됨으로써 각 파트가 연결되어야 한다. 움직임 반경 정보가 없는 조인트가 달린 제품은 실제 제품처럼 움직이지 않기 때문에, 현실적인 제품의 포즈에서 형상을 관찰하기 위해서는 움직임 반경을 제한해야 한다.
3차원 스케칭 장치를 통해 사용자는 파트를 직접 움직여 시연함으로써, 움직이고자 하는 파트의 부모 파트와 조인트의 움직임 반경을 설정할 수 있다. 사용자는 양손 인터랙션을 이용해 해당 파트를 움직일 수 있다. 먼저, 사용자는 한 손으로 조인트 근처에 고정될 파트를 선택한 상태에서 다른 손으로 움직일 파트를 선택하고 움직일 수 있다. 선택된 움직일 파트는 손이 움직이는 방향을 따라 움직일 수 있다. 이러한 인터랙션 방식은 3차원 스케칭 장치에서 객체를 움직이는 인터랙션과 같은 방식일 수 있다.
사용자가 파트를 움직이는 과정에서 3차원 스케칭 장치는 해당 객체의 부모 파트를 결정할 수 있다. 파트를 움직이는 과정에서 사용자에 의해 선택된 고정 파트가 부모 파트이고, 움직이는 파트가 자식 파트로 설정될 수 있다. 사용자는 파트를 움직여 조인트의 움직임 반경을 설정할 수 있으며, 예를 들어, 움직임에 따른 잔상이 녹색으로 표시되어 사용자가 손쉽게 움직임 반경을 확인할 수 있다.
도 6을 참조하면, 일실시예에 따른 참조 구(610) 상에 결정된 궤적에 기반하여 회전 조인트가 결정되는 과정이 설명된다. 회전 조인트는 회전축(620)을 기준으로 연결된 파트를 회전시키는 힌지 조인트(hinge joint)일 수 있다. 사용자는 참조 객체에서 탭 앤 드래그를 통해 참조 구(610) 상에 궤적을 그릴 수 있다. 회전 조인트는 파트를 궤적에 따라 움직이게 함으로써 연결된 파트를 회전시킬 수 있다.
도 7을 참조하면, 일실시예에 따른 궤적에 기반하여 회전 조인트의 회전축을 결정하는 과정이 도시된다. 회전 조인트의 회전축 벡터는 그려진 궤적을 토대로 계산될 수 있다. 3차원 스케칭 장치는 궤적 상에 위치하는 복수의 포인트들(P1, P2, P3, P4, P5, ..., PN)을 생성하고, 생성된 포인트들 중 두 포인트들을 잇는 여러 벡터(V1, V2, ...)를 생성하고, 생성된 벡터들 중에서 두 벡터들 간의 외적을 구하면 두 벡터의 회전축 벡터(m)를 구할 수 있다. 이 과정을 궤적 위의 포인트들을 잇는 복수의 벡터들에 적용하여 획득한 여러 외적 벡터들의 평균을 구하면 궤적에 따르는 회전축 벡터가 결정될 수 있다. 여기서, 회전축 벡터가 외적 벡터들의 평균에 기초하여 결정되는 것은 일실시예에 해당되고, 이외에도 외적 벡터들에 다른 통계 기법이나 최적화 기법이 적용됨으로써 회전축 벡터가 결정되는 다양한 실시예가 제한 없이 포함될 수 있다.
도 8을 참조하면, 일실시예에 따라 사용자는 3차원 스케칭 장치가 생성한 조인트의 궤적과 이에 따른 움직임 잔상을 보면서 원하는 움직임을 찾을 때까지 궤적을 반복해서 그릴 수 있다. 궤적을 반복해서 그리면, 이전에 그렸던 궤적은 사라지고 최근에 그린 궤적을 기반으로 조인트가 결정되고, 이에 따른 잔상이 새로 나타날 수 있다.
도 9를 참조하면, 일실시예에 따른 움직일 파트(910), 궤적, 궤적에 따라 움직일 파트(910)가 움직인 잔상, 회전축이 예시적으로 도시된다.
도 10 내지 도 12는 일실시예에 따른 포징(posing) 동작을 설명하기 위한 도면이다.
도 10을 참조하면, 일실시예에 따라 객체의 파트를 움직이는 포징 동작이 예시적으로 도시된다.
3차원 스케칭 장치는 3차원 가상공간에 스케칭된 객체를 파트별로 움직이며 다양한 포즈에서 객체를 확인하고 스케치하는 과정이 자연스럽게 수행되도록 할 수 있다. 이 때, 3차원 스케칭 장치는 실제 제품을 잡고 움직이는 방식을 반영하여 양손을 이용해 객체의 파트를 움직이는 인터랙션 방식을 사용할 수 있다. 사용자는 스케치 과정 중에 언제든지 손가락으로 특정 파트를 탭 앤 홀드함으로써, 객체의 파트들 중에서 고정시킬 파트를 손쉽게 지정할 수 있다. 그리고, 사용자는 다른 한 손으로 화면 상에서 또는 공중에서 움직임으로써, 움직이고자 하는 파트의 움직임을 제어할 수 있다.
단계(1010)에서, 사용자는 고정시킬 파트를 한 손을 통해 탭 앤 홀드할 수 있고, 3차원 스케칭 장치는 탭 앤 홀드로 선택된 파트를 고정 파트로 결정할 수 있다. 단계(1020)에서, 사용자는 한 손으로 탭 앤 홀드를 유지하는 동안 다른 손으로 움직일 파트를 탭 앤 드래그할 수 있고, 3차원 스케치 장치는 다른 손으로 입력된 탭 앤 드래그에서 처음 탭된 파트를 움직일 파트로 결정하고, 드래그에 대응되게 해당 파트를 움직일 수 있다. 이 때, 고정된 파트와 해당 파트의 자식 파트를 연결하는 하나 이상의 조인트들 중 일부 또는 전체가 활성화되어 파트가 움직일 수 있다.
3차원 스케칭 장치는 스케치 선의 색을 통해 파트 상태를 표현할 수 있다. 예를 들어, 움직일 파트에 속한 스케치 선들은 녹색으로 나타내고, 고정시킬 파트에 속한 스케치 선들은 청색으로 나타낼 수 있다. 설명의 편의를 위해 도 10에서 녹색은 굵은 선으로, 청색은 얇은 선으로 각각 표현될 수 있다.
도 11을 참조하면, 일실시예에 따라 공중 핀치 제스처를 통해 파트의 움직임을 제어하는 예시가 도시된다.
평면 상에서 움직임은 표면 상 위치(x, y)를 표현할 수는 있어도 깊이(z)를 표현할 수는 없기 때문에, 사용자는 터치디스플레이의 평면에 대한 터치 입력을 통해 자유도가 2를 초과하는 움직임을 의도대로 정확히 표현하지 못할 수 있다. 움직임을 제어하고자 하는 객체는 3차원 공간에 존재하기 때문에, 이를 제어하고자 하는 손 제스처도 3차원 공간 상에서 이루어진다면 더 정확하고 빠르게 의도대로 움직임을 제어할 수 있다.
3차원 스케칭 장치는 공간 상에서 손 움직임과 인버스 키네마틱(inverse kinematics)을 결합하여 제품의 복잡한 움직임을 더 정확하고 빠르게 제어할 수 있다. 사용자는 한 손으로 탭 앤 홀드를 입력하여 객체의 일부 파트를 고정시키고, 다른 한 손으로 공중 핀치 제스처 등을 통해 다른 파트를 움직일 수 있다. 예를 들어, 공중 핀치 제스처는 공중에서 엄지와 검지를 접촉시키는 제스처로서, 모션 센서 등을 통해 감지될 수 있으며, 이외에도 공중에서 주먹을 쥐는 제스처 등 다양한 공중 제스처가 제한 없이 적용될 수 있다.
공중에서 손의 움직임을 이용하는 경우, 3차원 스케칭 장치는 인버스 키네마틱을 이용하여 공간 상에 위치한 타겟에 가까워지도록 각 조인트의 값을 조정할 수 있다. 이로 인해, 사용자는 여러 조인트가 회전하는 복잡한 움직임도 손 움직임 한 번으로 만들어 낼 수 있다.
모션 센서를 통해 공중에서의 손 움직임이 감지될 수 있다. 3차원 스케칭 장치는 모션 센서를 통해 공중의 손을 타겟으로 감지하고, 해당 타겟을 객체의 특정 파트에 대응시킬 수 있다. 이를 통해, 공중에서 사용자 손의 위치가 바뀜에 따라 대응하는 객체의 특정 파트도 대응하는 움직임을 나타낼 수 있다. 이러한 동작은 인버스 키네마틱에 기반하며, 객체의 특정 파트가 대응하는 움직임을 나타내도록 객체에 포함된 여러 조인트들이 동시 또는 연속적으로 회전할 수 있다.
사용자는 먼저 고정시킬 파트(1120)를 탭 앤 홀드하고, 사용자는 타겟을 따라 움직일 객체의 특정 파트(1110)를 탭 등으로 선택할 수 있다. 그리고, 사용자가 공중 핀치 제스처를 취하면, 3차원 스케칭 장치는 모션 센서를 통해 공중 핀치 제스처를 취한 손을 타겟으로 인식하고, 해당 타겟의 위치를 특정 파트(1110)에 매핑시킬 수 있다. 사용자가 공중 핀치 제스처를 취한 손을 이동시키면, 인버스 키네마틱에 기반하여 해당 손의 움직임과 대응되도록 특정 파트(1110)를 움직일 수 있으며, 이 때 특정 파트(1110)와 고정된 파트(1120) 사이의 하나 이상의 조인트가 활성화되는 반면, 특정 파트(1110)에서 말단 파트 사이의 하나 이상의 조인트는 움직이지 않고 고정된다. 따라서, 객체의 파트들 중에서 어느 파트가 타겟에 대응되는지 여부에 따라 객체의 움직임이 달라질 수 있다.
도 12를 참조하면, 일실시예에 따른 공중 핀치 제스처를 이용한 클러칭(clutching) 동작을 설명하기 위한 예시가 도시된다.
3차원 스케칭 장치는 손의 상대적인 움직임을 이용해 타겟을 이동하기 때문에 클러칭을 이용해 큰 움직임도 재현 가능하다. 사용자는 공중에서 엄지와 검지를 붙여 핀치 제스처를 취해 타겟을 움직일 수 있으며, 핀치 제스처를 하고 손을 움직이면 그에 따라 객체의 미리 선택된 파트가 대응되게 움직일 수 있다. 두 손가락을 떼면 타겟이 해제되어 손 움직임에 파트가 움직이지 않으므로, 사용자는 움직이기 편한 위치로 손을 다시 위치시킨 후 다시 핀치 제스처를 취해 미리 선택된 파트의 움직임을 제어할 수 있다. 이를 반복하면, 손을 크게 움직이지 않더라도 타겟을 크게 움직이게 할 수 있다.
도 13은 일실시예에 따른 3차원 스케칭 방법을 나타낸 도면이다.
도 13을 참조하면, 일실시예에 따른 3차원 스케칭 장치에 구비된 프로세서에서 수행되는 3차원 스케칭 방법이 도시된다.
단계(1310)에서, 3차원 스케칭 장치는 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성한다. 3차원 스케칭 장치는 사용자에 의해 선택된 포인트들 중 어느 하나를 구의 중심점으로 하고, 다른 하나를 표면에 포함하는 구(sphere)를 참조 객체로 결정할 수 있다. 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고, 제2 포인트는 제1 파트를 나타내는 스케치 선 상에 위치할 수 있다.
단계(1320)에서, 3차원 스케칭 장치는 객체에서 움직이고자 하는 제1 파트의 궤적을 참조 객체에 기반하여 결정한다. 3차원 스케칭 장치는 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 참조 객체 상에서 궤적을 결정하고, 제3 포인트는 제1 파트를 표현하는 스케치 선 상에 위치할 수 있다. 3차원 스케칭 장치는 사용자로부터 입력된 탭 앱 드래그에서 결정된 복수의 참조 포인트들 중에서 두 개의 참조 포인트들을 잇는 제1 벡터를 복수개 생성하고, 복수의 제1 벡터들 중 두 개의 벡터들 간의 외적을 계산해서 복수의 제2 벡터들을 결정하고, 복수의 제2 벡터들의 평균에 기반하여 궤적의 회전축 벡터를 결정하고, 회전축 벡터와 탭 앤 드래그의 드래그 방향에 기초하여 궤적을 결정할 수 있다. 복수의 제2 벡터들의 평균을 이용하는 것은 일실시예에 해당하고, 이외에도 복수의 제2 벡터들에 다른 통계 기법에 의한 최적화 방식도 제한 없이 적용될 수 있다.
단계(1330)에서, 3차원 스케칭 장치는 제1 파트의 움직임 범위 및 제1 파트가 궤적을 따라 움직일 때 기준이 되는 객체의 제2 파트를 결정한다. 3차원 스케칭 장치는 객체에 포함된 파트들 중에서 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 탭 앤 홀드가 유지되는 동안 사용자로부터 입력된 탭 앤 드래그로 제1 파트의 움직임 범위를 결정할 수 있다. 사용자로부터 입력된 탭 앤 드래그에 의해 제1 파트의 예상 움직임이 시각화되어 사용자로 제공될 수 있다. 제2 파트는 제1 파트의 부모 파트로 설정되고, 제1 파트는 제2 파트의 자식 파트로 설정될 수 있다.
단계(1340)에서, 3차원 스케칭 장치는 제1 파트의 위치, 제2 파트의 위치, 제1 파트의 궤적 및 움직임 범위에 기초하여, 제1 파트와 제2 파트를 연결하는 조인트를 생성한다. 3차원 스케칭 장치는 제1 파트의 움직임의 기초가 되는 제2 파트의 위치를 고려할 때 제1 파트가 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성할 수 있다.
일실시예에서, 3차원 스케칭 장치는 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하고, 기준 파트와 기준 파트의 자식 파트 간을 연결하는 조인트를 활성화시켜서, 사용자로부터 입력된 탭 앤 드래그로 자식 파트를 움직일 수 있다.
일실시예에서, 3차원 스케칭 장치는 객체를 표현하는 스케치 선들 중에서 사용자로부터 선택된 일부 스케치 선들을 하나의 파트로 설정할 수 있다.
일실시예에서, 3차원 스케칭 장치는 3차원 가상공간에 사용자로부터 입력된 하나 이상의 포인트를 포함하는 기준 평면을 생성하거나, 사용자로부터 입력된 두 개의 포인트를 포함하는 기준 구를 생성하고, 사용자로부터 입력된 드래그를 기준 평면 또는 기준 구에 투사하여 객체를 표현하기 위한 스케치 선을 생성할 수 있다.
또한, 사용자는 객체를 움직여 만든 포즈를 저장해 언제든지 해당 포즈로 돌아갈 수 있다. 저장된 포즈들은 카메라 시점에서 모습이 보일 수 있다. 또한, 객체의 스케치 선들을 수정함에 따라 포즈에서 보이는 모습도 실시간으로 동기화될 수 있다. 다시 말해, 한 포즈에 적용된 수정사항이 저장된 다른 포즈에도 동일하게 적용될 수 있다. 이를 통해, 사용자는 한 포즈에 대한 수정사항을 다른 여러 포즈에서 확인해 봄으로써 작업 효율성을 상당히 향상시킬 수 있다.
도 14는 일실시예에 따른 3차원 스케칭 장치를 나타낸 도면이다.
도 14를 참조하면, 일실시예에 따른 3차원 스케칭 장치(1400)는 메모리(1410) 및 프로세서(1420)를 포함한다. 메모리(1410) 및 프로세서(1420)는 버스(bus)(1330)를 통하여 서로 통신할 수 있다.
메모리(1410)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1420)는 메모리(1410)에 저장된 명령어가 프로세서(1420)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1410)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(1420)는 명령어들, 혹은 프로그램들을 실행하거나, 3차원 스케칭 장치(1400)를 제어하는 장치로서, 예를 들어, CPU(Central Processing Unit), GPU(Graphic Processing Unit) 등을 포함할 수 있다. 3차원 스케칭 장치(1400)는 앞서 설명한 스케칭 동작, 파팅 동작, 리깅 동작, 포징 동작 중 적어도 하나를 수행할 수 있다.
센서(1430)는 사용자 신체의 움직임을 감지할 수 있는 장치로서, 예를 들어, 적외선 센서, 깊이 센서, 이미지 센서, 트래킹 센서, 신체 추적 센서 등을 포함할 수 있다. 이를테면, 센서(1430)는 손의 위치 및 형태를 감지할 수 있다.
디스플레이(1440)는 프로세서(1420)에서 수행되는 과정을 표시할 수 있다. 예를 들어, 디스플레이(1440)는 태블릿 형태의 디스플레이, 헤드마운트 디스플레이, 스마트 안경에 적용된 디스플레이, 스마트폰의 디스플레이 등을 포함할 수 있다.
그 밖에, 3차원 스케칭 장치(1400)에 관해서는 상술된 동작을 처리할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 (20)

  1. 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체(reference object)를 생성하는 단계;
    상기 사용자의 그리는 행위를 입력 받아, 상기 객체에서 움직이고자 하는 제1 파트(first part)의 궤적을 상기 참조 객체에 기반하여 결정하는 단계;
    상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하는 단계; 및
    상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하고, 상기 제1 파트의 움직임의 기초가 되는 상기 제2 파트의 위치를 고려할 때 상기 제1 파트가 상기 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성하는 단계
    를 포함하는,
    3차원 스케칭 방법.
  2. 제1항에 있어서,
    상기 참조 객체를 생성하는 단계는
    상기 사용자에 의해 선택된 포인트들 중 어느 하나를 중심점으로 하고, 다른 하나를 표면에 포함하는 구(sphere)를 상기 참조 객체로 결정하는,
    3차원 스케칭 방법.
  3. 제1항에 있어서,
    상기 사용자에 의해 선택된 포인트들은
    상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고,
    상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치하는,
    3차원 스케칭 방법.
  4. 제1항에 있어서,
    상기 제1 파트의 궤적을 결정하는 단계는
    상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고,
    상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치하는,
    3차원 스케칭 방법.
  5. 제1항에 있어서,
    상기 제1 파트의 궤적을 결정하는 단계는
    상기 사용자로부터 입력된 탭 앤 드래그에서 결정된 복수의 참조 포인트들 중에서 두 개의 참조 포인트들을 잇는 제1 벡터를 복수개 생성하고, 상기 복수의 제1 벡터들 중 두 개의 벡터들 간의 외적을 계산해서 복수의 제2 벡터들을 결정하고, 상기 복수의 제2 벡터들에 기반하여 상기 궤적의 회전축 벡터를 결정하고, 상기 회전축 벡터와 상기 탭 앤 드래그의 드래그 방향에 기초하여 상기 궤적을 결정하는,
    3차원 스케칭 방법.
  6. 제1항에 있어서,
    상기 제1 파트의 움직임 범위 및 상기 객체의 제2 파트를 결정하는 단계는
    상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정하는,
    3차원 스케칭 방법.
  7. 제6항에 있어서,
    상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공되는,
    3차원 스케칭 방법.
  8. 제1항에 있어서,
    상기 제2 파트는 상기 제1 파트의 부모 파트로 설정되고,
    상기 제1 파트는 상기 제2 파트의 자식 파트로 설정되는,
    3차원 스케칭 방법.
  9. 삭제
  10. 제1항에 있어서,
    상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계; 및
    상기 기준 파트와 상기 기준 파트의 자식 파트 간을 연결하는 조인트를 활성화시켜서, 상기 사용자로부터 입력된 탭 앤 드래그로 상기 자식 파트를 움직이는 단계
    를 더 포함하는,
    3차원 스케칭 방법.
  11. 제1항에 있어서,
    상기 객체의 복수의 파트들 중에서 움직임의 기준이 되는 기준 파트를 결정하는 단계;
    상기 기준 파트와 상기 복수의 파트들의 말단 파트 사이에서 어느 하나의 무빙 파트를 결정하는 단계; 및
    상기 기준 파트와 상기 무빙 파트 사이의 하나 이상의 조인트들을 활성화시켜서, 상기 사용자로부터 입력된 공중 핀치 제스처(mid-air pinch gesture)로 상기 무빙 파트를 움직이는 단계
    를 더 포함하는,
    3차원 스케칭 방법.
  12. 제1항에 있어서,
    상기 객체를 표현하는 상기 스케치 선들 중에서 상기 사용자로부터 선택된 일부 스케치 선들을 하나의 파트로 설정하는 단계
    를 더 포함하는
    3차원 스케칭 방법.
  13. 제12항에 있어서,
    상기 일부 스케치 선들을 하나의 파트로 설정하는 단계는
    상기 스케치 선들이 표시되는 디스플레이에 입력된 상기 사용자의 드래그에 겹치는 스케치 선들을 선택하고, 상기 선택된 스케치 선들 중에서 어느 하나의 스케치 선 또는 스케치 선의 일부분을 제거하고 남은 스케치 선들로 파트를 설정하는,
    3차원 스케칭 방법.
  14. 제1항에 있어서,
    상기 3차원 가상공간에 상기 사용자로부터 입력된 하나 이상의 포인트를 포함하는 기준 평면을 생성하거나, 상기 사용자로부터 입력된 두 개의 포인트를 포함하는 기준 구를 생성하는 단계; 및
    상기 사용자로부터 입력된 드래그를 상기 기준 평면 또는 상기 기준 구에 투사하여 상기 객체를 표현하기 위한 스케치 선을 생성하는 단계
    를 더 포함하는
    3차원 스케칭 방법.
  15. 프로세서; 및
    상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
    를 포함하고,
    상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 스케치 선들로 표현된 객체를 포함한 3차원 가상공간에서 사용자에 의해 선택된 포인트들에 기초하여 참조 객체를 생성하고, 상기 사용자의 그리는 행위를 입력 받아 상기 객체에서 움직이고자 하는 제1 파트의 궤적을 상기 참조 객체에 기반하여 결정하고, 상기 제1 파트의 움직임 범위 및 상기 제1 파트가 상기 궤적을 따라 움직일 때 기준이 되는 상기 객체의 제2 파트를 결정하며, 상기 제1 파트의 위치, 상기 제2 파트의 위치, 상기 제1 파트의 궤적 및 움직임 범위에 기초하여, 상기 제1 파트와 상기 제2 파트를 연결하고, 상기 제1 파트의 움직임의 기초가 되는 상기 제2 파트의 위치를 고려할 때 상기 제1 파트가 상기 궤적 및 움직임 범위로 움직일 수 있게 하는 조인트를 생성하는,
    3차원 스케칭 장치.
  16. 제15항에 있어서,
    상기 프로세서는
    상기 사용자에 의해 선택된 포인트들 중 어느 하나를 중심점으로 하고, 다른 하나를 표면에 포함하는 구를 상기 참조 객체로 결정하는,
    3차원 스케칭 장치.
  17. 제15항에 있어서,
    상기 사용자에 의해 선택된 포인트들은
    상기 사용자로부터의 탭 앤 드래그 입력에서 처음 탭된 제1 포인트 및 마지막으로 리프트된 제2 포인트를 포함하고,
    상기 제2 포인트는 상기 제1 파트를 나타내는 스케치 선 상에 위치하는,
    3차원 스케칭 장치.
  18. 제15항에 있어서,
    상기 프로세서는
    상기 사용자로부터 입력된 탭 앤 드래그에서 처음 탭된 제3 포인트 및 드래그 방향에 기초하여 상기 참조 객체 상에서 상기 궤적을 결정하고,
    상기 제3 포인트는 상기 제1 파트를 표현하는 스케치 선 상에 위치하는,
    3차원 스케칭 장치.
  19. 제15항에 있어서,
    상기 프로세서는
    상기 객체에 포함된 파트들 중에서 상기 사용자로부터 입력된 탭 앤 홀드로 선택된 파트를 제2 파트로 결정하고, 상기 탭 앤 홀드가 유지되는 동안 상기 사용자로부터 입력된 탭 앤 드래그로 상기 제1 파트의 상기 움직임 범위를 결정하는,
    3차원 스케칭 장치.
  20. 제19항에 있어서,
    상기 사용자로부터 입력된 탭 앤 드래그에 의해 상기 제1 파트의 예상 움직임이 시각화되어 상기 사용자로 제공되는,
    3차원 스케칭 장치.
KR1020200032828A 2020-03-17 2020-03-17 3차원 스케칭 방법 및 장치 KR102359598B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200032828A KR102359598B1 (ko) 2020-03-17 2020-03-17 3차원 스케칭 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200032828A KR102359598B1 (ko) 2020-03-17 2020-03-17 3차원 스케칭 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210116100A KR20210116100A (ko) 2021-09-27
KR102359598B1 true KR102359598B1 (ko) 2022-02-08

Family

ID=77925954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200032828A KR102359598B1 (ko) 2020-03-17 2020-03-17 3차원 스케칭 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102359598B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023191484A1 (ko) * 2022-03-29 2023-10-05 한국과학기술원 드로잉 방법 및 상기 방법을 수행하는 전자 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101794679B1 (ko) 2016-09-23 2017-11-07 오스템임플란트 주식회사 3차원 객체 제어방법, 이를 위한 장치, 및 이를 기록한 기록매체

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066340A (ko) * 2004-12-13 2006-06-16 삼성전자주식회사 3차원 구조 스케치 제작장치와 방법 및 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록매체
KR100900824B1 (ko) * 2007-09-18 2009-06-04 한국전자통신연구원 스케치 기반 3차원 모델 생성 장치 및 방법
KR101994683B1 (ko) * 2017-09-27 2019-07-02 삼성중공업 주식회사 3d 객체의 터치 방식 회전 제어 장치 및 방법
KR102083504B1 (ko) * 2018-06-22 2020-03-02 주식회사 지이모션 환경 요소를 고려한 의류의 3차원 모델링 방법 및 컴퓨터 프로그램

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101794679B1 (ko) 2016-09-23 2017-11-07 오스템임플란트 주식회사 3차원 객체 제어방법, 이를 위한 장치, 및 이를 기록한 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김용관. 공중 3D 인터랙션을 통해 확장한 디자인 실무용 태블릿상 3D 스케칭. 한국과학기술원 산업디자인과 박사학위논문. 2018.08. 1부.*

Also Published As

Publication number Publication date
KR20210116100A (ko) 2021-09-27

Similar Documents

Publication Publication Date Title
US7701457B2 (en) Pen-based 3D drawing system with geometric-constraint based 3D cross curve drawing
WO2018018857A1 (zh) 一种应用于vr设备的手势操控方法与装置
Schmidt et al. Sketching and composing widgets for 3d manipulation
Chaconas et al. An evaluation of bimanual gestures on the microsoft hololens
US8963834B2 (en) System and method for implementing 3-dimensional user interface
Telkenaroglu et al. Dual-finger 3d interaction techniques for mobile devices
US20140229873A1 (en) Dynamic tool control in a digital graphics system using a vision system
Medeiros et al. Proposal and evaluation of a tablet-based tool for 3D virtual environments
US10895950B2 (en) Method and system for generating a holographic image having simulated physical properties
WO2017172180A1 (en) Path navigation in virtual environment
KR102359598B1 (ko) 3차원 스케칭 방법 및 장치
US10769824B2 (en) Method for defining drawing planes for the design of a 3D object
US11474660B2 (en) Techniques for transitioning from a first navigation scheme to a second navigation scheme
Jang et al. Airsculpt: A wearable augmented reality 3d sculpting system
US11204679B1 (en) Snapping objects into alignment in three-dimensional space
Tran et al. Easy-to-use virtual brick manipulation techniques using hand gestures
US11398082B2 (en) Affine transformations of 3D elements in a virtual environment using a 6DOF input device
US20190050134A1 (en) Techniques for transitioning from a first navigation scheme to a second navigation scheme
Fujiwara et al. Interactions with a line-follower: An interactive tabletop system with a markerless gesture interface for robot control
KR101751237B1 (ko) 회전식 다이얼을 이용한 사용자 인터페이스 제공 장치 및 그 방법
US20140225886A1 (en) Mapping a vision system output to a digital graphics system input
KR102392675B1 (ko) 3차원 스케치를 위한 인터페이싱 방법 및 장치
JP6021460B2 (ja) 描画方法、プログラム、及び装置
KR102664782B1 (ko) 가상 현실 공간에 대한 제어를 수행하는 전자 시스템, 전자 장치 및 그 동작 방법
JPH08249500A (ja) 3次元図形の表示方法

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant