KR101318244B1 - 3차원 사용자 인터페이스 구현 시스템 및 구현 방법 - Google Patents

3차원 사용자 인터페이스 구현 시스템 및 구현 방법 Download PDF

Info

Publication number
KR101318244B1
KR101318244B1 KR1020120021173A KR20120021173A KR101318244B1 KR 101318244 B1 KR101318244 B1 KR 101318244B1 KR 1020120021173 A KR1020120021173 A KR 1020120021173A KR 20120021173 A KR20120021173 A KR 20120021173A KR 101318244 B1 KR101318244 B1 KR 101318244B1
Authority
KR
South Korea
Prior art keywords
points
graphic
selection area
dimensional
hand
Prior art date
Application number
KR1020120021173A
Other languages
English (en)
Other versions
KR20130099570A (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 KR1020120021173A priority Critical patent/KR101318244B1/ko
Priority to US13/709,494 priority patent/US8963834B2/en
Publication of KR20130099570A publication Critical patent/KR20130099570A/ko
Application granted granted Critical
Publication of KR101318244B1 publication Critical patent/KR101318244B1/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/048Interaction techniques based on graphical user interfaces [GUI]
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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
    • 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/0304Detection arrangements using opto-electronic means

Abstract

본 발명의 일 측면에 따르면 3차원 물체 상에 위치한 복수 지점의 위치 및 법선방향정보를 수집하는 입력장치와, 상기 입력장치로부터 수집되는 위치 및 법선방향정보를 처리하는 계산장치 및 상기 계산장치에 의해 설정된 3차원의 가상공간을 출력하는 출력장치를 포함하고, 상기 계산장치는 상기 복수 지점의 위치 및 법선방향정보를 처리해 상기 복수 지점에 대응되는 복수의 가상점을 상기 가상공간에 설정하고, 상기 복수의 가상점을 포함하는 3차원의 선택영역을 상기 가상공간에 형성하며, 상기 선택영역은 상기 3차원 물체의 형상 변화에 따른 상기 복수의 가상점의 위치 및 법선방향 변화에 대응하여 형상이 변화하는 3차원 사용자 인터페이스 구현 시스템이 제공된다.

Description

3차원 사용자 인터페이스 구현 시스템 및 구현 방법{System and Method for Implemeting 3-Dimensional User Interface}
본 발명은 3차원 사용자 인터페이스 구현 시스템 및 구현 방법에 관한 것으로, 더욱 상세하게는 사용자가 가상의 3차원 공간에서 작업을 수행할 수 있도록 하기 위한 3차원 사용자 인터페이스 구현 시스템 및 그 구현 방법에 관한 것이다.
그래픽 관련 기술 및 방법이 발전함에 따라서, 컴퓨터 시스템은 사용자에게 2차원 환경을 제공하는 것을 넘어 가상의 3차원 환경을 제공하고 있다.
간단한 예로, 널리 이용되고 있는 캐드(CAD)와 같은 프로그램의 경우 2차원 도면뿐만 아니라, 사용자에게 3차원 환경을 제공하여 3차원 도면을 제작할 수 있는 기능을 제공하고 있다.
이때, 사용자가 3차원 환경에서 제공된 3차원의 그래픽에 대하여 예를 들어 복사/이동/삭제 등과 같은 여러 작업을 수행할 수 있도록 할 필요가 있으며, 이를 위해서는 적절한 사용자 인터페이스가 제공되어 한다.
도 1은 종래 기술에 따른 3차원 그래픽 선택 방법을 도시한 것이다.
도 1에 도시된 바와 같이, 종래의 3차원 환경 시스템은 2차원 스크린(1)을 통해 가상의 3차원 공간(2)을 출력하며, 3차원 공간(2)에는 3차원 그래픽(3)이 표시된다. 도 1에서는 3차원 그래픽(3)을 선택하기 위한 사용자 인터페이스로서 터치스크린이 이용된다.
3차원 그래픽을 선택하기 위한 방식으로는, 사용자가 스크린(1)에 양 손(4)을 멀티 터치한 뒤 두 손을 이격시키는 동작을 취하는 방식이 이용된다. 이때, 양 손(4) 끝점을 두 꼭지점으로 하는 2차원의 사각형 선택 영역(5)이 형성되고, 선택 영역(5) 안에 3차원 그래픽(3)이 온전히 위치하는 경우 3차원 그래픽(3)이 선택된다.
하지만, 위와 같은 선택 방식은 2차원 그래픽을 선택하기 위한 제스처에 기반한 것으로, 부피를 가지는 3차원 그래픽을 선택하기 위한 방법으로는 적절하지 않아 시스템의 사용성이 저하된다는 문제점이 있다.
위와 같은 방식에 기초하여 Z축 방향으로 깊이를 반영하여 3차원 그래픽(3)을 선택하기 위해서는 xy 평면상으로 넓이를 가지는 2차원의 사각형 선택 영역(5)을 형성한 뒤 선택 영역(5)을 z축 방향으로 이동시키는 별도의 과정이 필요하다. 이와 같은 방법에 따르면, 숙련되지 않은 사용자가 3차원 그래픽을 선택하여 작업을 수행하기가 쉽지 않다는 문제점을 초래한다.
미국특허공개 US2011/0164029호 미국특허등록 US7705830호
본 발명은 3차원 그래픽 환경에 적합한 3차원 사용자 인터페이스를 구현하기 위한 것으로서, 사람의 손 등과 같은 3차원 물체의 형상변화에 대응하여 모양과 크기가 변화하는 3차원의 선택 영역을 제공함으로써 복잡한 단계를 거치지 않고도 3차원 그래픽을 선택하여 작업을 수행할 수 있는 손쉬운 3차원 사용자 인터페이스를 구현하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명의 일 측면에 따르면 3차원 물체 상에 위치한 복수 지점의 위치 및 법선방향정보를 수집하는 입력장치와, 상기 입력장치로부터 수집되는 위치 및 법선방향정보를 처리하는 계산장치 및 상기 계산장치에 의해 설정된 3차원의 가상공간을 출력하는 출력장치를 포함하고, 상기 계산장치는 상기 복수 지점의 위치 및 법선방향정보를 처리해 상기 복수 지점에 대응되는 복수의 가상점을 상기 가상공간에 설정하고, 상기 복수의 가상점을 포함하는 3차원의 선택영역을 상기 가상공간에 형성하며, 상기 선택영역은 상기 3차원 물체의 형상 변화에 따른 상기 복수의 가상점의 위치 및 법선방향 변화에 대응하여 형상이 변화하는 3차원 사용자 인터페이스 구현 시스템이 제공된다.
일 실시예에 따르면, 상기 선택영역은 상기 복수의 가상점과 접하는 타원체일 수도 있다.
또한, 상기 3차원 물체는 사용자의 손이고, 상기 복수 지점은 상기 손의 안쪽 면에 위치하는 지점들일 수 있으며, 이때 상기 복수 지점의 일부는 상기 손의 일부 손가락에 위치하고, 나머지 일부는 상기 손의 손바닥 상에 위치하여, 상기 선택영역은 상기 손의 안쪽 면의 곡면 형상을 반영하도록 형성될 수도 있다.
또한, 상기 입력장치는 상기 손의 움직임을 감지하는 모션 글러브 또는 상기 3차원 물체 상의 복수 지점의 변위를 수집하는 카메라일 수도 있다.
또한, 상기 선택영역은 상기 사용자가 육안으로 확인 가능하도록 상기 출력장치에 표시되도록 할 수도 있다.
또한, 상기 가상공간에는 3차원의 그래픽이 표시되고, 상기 그래픽이 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택할 수도 있다.
또한, 상기 가상공간에는 3차원의 그래픽이 표시되고, 상기 사용자가 상기 손을 오므리거나 펼쳐 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택할 수 있다.
다른 실시예에 따르면, 상기 입력장치는 상기 복수 지점이 위치하지 않은 손가락의 위치 및 법선방향정보를 더 수집하고, 상기 그래픽이 선택된 상태에서 상기 복수 지점이 위치하지 않은 손가락이 기설정된 제스처를 만족하도록 동작하는 경우 선택된 상기 그래픽을 선택 확정하고, 상기 선택 확정된 그래픽에 대한 처리 명령을 입력할 수 있도록 할 수도 있다.
또 다른 실시예에 따르면, 상기 복수 지점은 상기 사용자의 양손에 위치하도록 할 수도 있다.
본 발명의 다른 측면에 따르면, 3차원의 가상공간을 출력하는 단계; 3차원 물체 상에 위치한 복수 지점의 위치 및 법선방향정보를 수집하는 단계; 수집된 상기 복수 지점의 위치 및 법선방향정보를 처리하여 상기 복수 지점에 대응되는 복수의 가상점을 상기 가상공간에 설정하는 단계; 상기 복수의 가상점을 포함하는 3차원의 선택영역을 상기 가상공간에 형성하는 단계; 및 상기 3차원 물체의 형상 변화에 따른 상기 복수의 가상점의 위치 및 법선방향 변화에 대응하여 상기 선택영역의 형상을 변화시키는 단계를 포함하는 3차원 사용자 인터페이스 구현 방법이 제공된다.
일 실시예에 따르면, 상기 가상공간에 3차원의 그래픽을 표시하는 단계; 상기 그래픽이 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택하는 단계를 더 포함할 수도 있다.
다른 실시예에 따르면, 상기 복수 지점이 위치하지 않은 손가락의 위치 및 법선방향정보를 수집하는 단계; 상기 그래픽이 선택된 상태에서 상기 복수 지점이 위치하지 않은 손가락이 기설정된 제스처를 만족하도록 동작하였는지 여부를 판단하는 단계; 상기 다른 손가락이 기설정된 제스처를 만족하도록 동작한 경우 상기 그래픽을 선택 확정하는 단계; 및 상기 선택 확정된 상기 그래픽에 대한 처리 명령을 입력하는 단계를 더 포함할 수도 있다.
도 1은 종래 기술에 따른 3차원 그래픽을 선택하는 방법을 도시한 개념도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 3차원 사용자 인터페이스를 이용해 선택영역을 형성하고 조절하는 개념을 도시한 것이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 3차원 사용자 인터페이스를 이용해 그래픽은 선택 확정하고 작업을 수행하는 개념을 도시한 것이다.
도 6은 본 발명의 다른 실시예에 따른 3차원 사용자 인터페이스를 이용해 선택영역을 형성하는 개념을 도시한 것이다.
도 7은 본 발명의 또 다른 실시예에 따른 3차원 사용자 인터페이스를 이용해 선택영역을 형성하는 개념을 도시한 것이다.
이하, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 하나의 실시예로서 설명되는 것이며, 이것에 의해 본 발명의 기술적 사상과 그 핵심 구성 및 작용은 제한되지 않는다.
본 발명의 일 실시예에 따른 3차원 사용자 인터페이스 구현 시스템은, 3차원 물체의 형상 정보 및 동작정보를 수집하는 입력장치; 상기 입력장치로부터 수집되는 정보를 처리하는 계산장치; 3차원의 가상공간 및 상기 가상공간 안에 디스플레이되는 3차원 그래픽을 출력하는 출력장치를 포함한다.
상기 입력장치로는 예를 들어 카메라와 물체의 거리 정보를 통해 물체의 동작 상태를 입력받는 깊이 카메라(depth camera), 사람 손 등에 직접 착용하여 손의 움직임을 입력받는 모션 글러브(motion glove) 등과 같이 물체의 형상 및 동작 정보를 수집할 수 있는 어떠한 장치라도 이용될 수 있다.
상기 계산장치는, 시스템의 중앙처리장치로서 입력장치로부터 수집되는 정보 및 명령신호를 계산 처리하고, 출력장치를 통해 3차원의 가상공간과 다양한 3차원의 그래픽이 출력되도록 한다. 일 실시예에 따르면 상기 계산장치는 시스템 운용에 필요한 프로그램, 각종 데이터 및 어플리케이션을 저장 처리할 수 있는 메모리를 포함할 수도 있다.
상기 출력장치는 3차원의 가상공간을 출력하여 사용자에게 시각적 인터페이스를 제공한다. 후술하는 실시예에서 상기 출력장치로서 2차원 스크린을 가지는 모니터가 설명되고 있으나, 홀로그램 기술 등을 통해 3차원 그래픽을 영사하는 3차원 디스플레이 장치가 본 발명에 적용될 수 있다는 것이 이해되어야 할 것이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 3차원 사용자 인터페이스 구현 시스템을 이용해 3차원 사용자 인터페이스를 구현하는 방법을 도시한 개념도이다.
본 실시예에 따르면, 시스템을 동작시키기 위한 3차원 물체로 사용자의 손(100)이 이용된다. 작업의 편의성을 위해 사용자의 손(100)을 이용하고 있지만, 사용자에 의해 형상이 변형 가능한 물체라면 본 발명에 적용 가능하다.
손(100)의 형상 변화를 수집하기 위한 입력장치로는 깊이 카메라(미도시)가 이용된다. 앞서 예시한 모션 글로브 등도 사용자의 손의 관절의 회전각 등을 계산하여 사용자의 손(100)에 위치한 지점들의 위치 및 법선방향을 측정할 수 있으므로, 본 발명에 따른 입력장치로 이용되기에 적절하다.
본 실시예에 따르면, 출력장치로는 2차원 스크린을 가지는 모니터(200)가 사용된다. 모니터(200)를 통해 x축, y축, z축으로 표현되는 3차원의 가상공간(210)을 출력하고, 사용자가 입체감을 느낄 수 있는 3차원 그래픽을 가상공간(210)에 출력해낼 수 있음은 이미 공지된 사실이므로 여기서는 자세한 설명을 생략한다.
이하, 도 2 및 도 3을 참조하여 3차원 사용자 인터페이스 구현 시스템의 동작을 구체적으로 설명한다.
도 2에 도시된 바와 같이, 사용자가 모니터(200)의 소정거리 앞에 손(100)을 위치시키면, 깊이 카메라는 손(100)의 안쪽 면에 위치한 복수의 지점(111, 121, 131, 141, 161)과 카메라의 거리를 파악하여 각 지점의 위치에 대한 정보 및 상기 지점 각각이 위치한 표면에 대해 수직한 방향으로 나타내는 법선방향에 대한 정보("위치 및 법선방향정보")를 수집한다. 깊이 카메라를 이용하여 물체 표면에 위치한 지점의 위치 및 법선방향정보를 수집하는 기술은 공지된 것으로 여기서는 구체적인 설명을 생략한다.
사용자가 손을 움직여 복수의 지점(111, 121, 131, 141, 161)의 위치 및 법선방향이 변화하더라도 깊이 카메라는 지점들의 위치 및 법선방향을 추적하여 그 정보를 계산장치로 보낸다.
본 실시예에서는 깊이 카메라를 이용해 검지(110), 중지(120), 약지(130), 새끼손가락(140)의 끝 지점(111, 121, 131, 141)과, 손바닥의 중앙지점(160) 각각의 5개 지점의 위치 및 법선방향정보를 수집한다. 깊이 카메라의 성능에 따라 또는 원하는 시스템의 사양에 따라 깊이 카메라가 위치 및 법선방향정보를 수집하는 지점의 개수는 5개보다 많거나 적을 수도 있다.
후술하는 바와 같이, 본 실시예에 따른 시스템은 상기 복수의 지점들 모두에 접하는 최대부피 타원체를 3차원의 선택영역로 형성하므로, 이론상 2개의 지점의 위치 및 법선방향정보만으로도 본 발명에 따른 3차원 사용자 인터페이스를 구현할 수 있다. 다만, 입력장치에 의해 위치 및 법선방향정보가 수집되는 지점의 수가 많을수록 시스템의 정밀도는 더 상승하게 될 것이다.
깊이 카메라에 의해 수집된 5개 지점(111, 121, 131, 141, 161)의 위치 및 법선방향정보는 계산장치(미도시)로 전달된다. 도 2에 도시된 바와 같이, 상기 계산장치는 5개 지점(111, 121, 131, 141, 161)의 위치 및 법선방향정보를 처리하여 가상공간(210) 상의 좌표를 지정하고, 해당 좌표에 5개의 지점들에 대응되는 가상점(111', 121', 131', 141', 161')을 설정한다.
계산장치는 5개의 가상점(111', 121', 131', 141', 161')에 접하는 3차원의 최대부피 타원체를 형성하게 되며, 상기 타원체의 안쪽 공간이 본 실시예에 따른 3차원의 선택영역(220)이다. 본 실시예에 따르면 사용자에게 시각적 피드백(feedback)을 제공하기 위해 선택영역(220)은 색상이 적용되는 등 육안으로 확인할 수 있는 형태로 모니터(200)에 표시된다.
본 실시예에 따르면, 계산장치는 복수의 지점의 위치 및 법선방향으로부터 다음과 같은 수학적 알고리즘을 통해 해당 지점들에 접하는 최대부피 타원체를 계산하여 선택영역(220)으로 이용하게 된다.
우선 목적하는 3차원 타원체 표면은 아래와 같은 6개의 상수를 포함한 하기 [수학식 1]에 의해 기술될 수 있다.
[수학식 1]
Figure 112012016938295-pat00001
그러므로 6개의 상수 c1, c2,..., c6를 1개 이상 포함하는 6개의 독립적인 수식으로 구성된 연립방정식을 복수의 지점의 위치 및 법선방향으로부터 결정할 수 있으면 이로부터 6개의 상수를 결정하고 다시 타원체 표면, 그리고 다시 그 내부의 타원체를 결정할 수 있다.
한 점에 대하여, 좌표와 방향벡터가 각각 (x1, y1, z1)와 (ω1, ω2, ω3) 로 주어졌다고 가정하자. 이 경우 손 위의 한 점이 타원체의 표면에 있다고 하면, 타원체 표면의 점이 만족하여야 하는 상기 [수학식 1]에 좌표를 대입하여 하기 [수학식 2]와 같은 식 1개를 구할 수 있다.
[수학식 2]
Figure 112012016938295-pat00002
다음으로, 타원체 표면의 점이 만족하여야 하는 상기 [수학식 1]을 각각의 좌표변수 x, y, z에 대해 편미분한 후 좌표 (x1, y1, z1)를 대입하면 (x1, y1, z1)에서 타원체 표면에 수직인, 하기 [수학식 3]과 같은 벡터를 구할 수 있다.
[수학식 3]
Figure 112012016938295-pat00003
여기서
Figure 112012016938295-pat00004
이다. 이 때, d1, d2, d3 가운데 최소한 하나의 성분은 0이 아니다. 이 성문을 d3라고 가정하자. (d1, d2 성분이라고 해도 이후의 전개 결과는 아래 첨자를 바꾸면 동일하다) 이제 상기 [수학식 3]의 벡터 전체에
Figure 112012016938295-pat00005
를 곱하면 아래 [수학식 4]와 같은 새로운 벡터를 얻을 수 있다.
[수학식 4]
Figure 112012016938295-pat00006
손 위의 한 점의 방향벡터 (ω1, ω2, ω3) 와 상기 벡터의 성분을 비교하면, 하기 [수학식 5] 및 [수학식 6]의 2개의 식을 새로이 얻을 수 있다.
[수학식 5]
Figure 112012016938295-pat00007
[수학식 6]
Figure 112012016938295-pat00008
이와 같은 과정을 반복함으로써, 사용자의 손 위의 서로 다른 점 각각의 좌표와 방향벡터로부터 [수학식 1], [수학식 5], [수학식 6]을 얻을 수 있다.
그러므로 이상적인 경우에는, 즉 두 점의 좌표와 방향벡터들로부터 얻어지는 식이 모두 독립적인 경우는, 두 점만을 가지고도 여섯 개의 독립적인 식을 얻을 수 있고 6개의 상수 c1, c2,..., c6를 구할 수 있다. 이로부터 한 개의 타원체가 결정된다. 그러나 손 위의 점들이 가질 수 있는 좌표와 방향벡터로부터 얻어지는 식들이 언제나 독립적인 것은 아니므로, 6개의 독립적인 식을 얻어 6개의 상수를 결정하고 단일한 타원체를 결정하기 위하여 3개 이상의 점의 좌표와 방향벡터가 필요한 경우가 발생한다.
손 위의 세 점 이상의 좌표와 방향벡터가 주어지는 경우에는 식이 9개 이상 구해지게 된다. 구해야 하는 상수에 비해 식이 많은 이러한 경우 모든 식을 만족하는 상수가 항상 존재하지는 않는다. 이러한 경우가 발생할 때, 6개의 식을 서로 다른 방식으로 선택하여 이들을 만족하는 상수와 타원체를 결정하고, 결정되는 타원체들 가운데 부피가 최대가 되는 것을 구하여 1개의 타원체를 결정할 수 있다. 또는 타원체를 결정하는데 이용한 6개의 식을 도출한 점 이외의 점과 타원체의 거리가 최소화되는 타원체로 결정함으로써 정밀도를 높일 수도 있다.
본 실시예에서 선택영역(220)은 타원체의 형태를 가지지만, 반드시 이에 한정되는 것은 아니다. 선택영역(220)은 예를 들어 위치 및 법선방향정보가 파악된 복수의 지점에 접하는 구체 또는 반구체 형상을 가질 수도 있으며, 상기 최대부피 타원체에 외접하는 다면체 형상을 가질 수도 있다. 어느 경우라도 선택영역은 복수의 지점 모두를 포함하여 형성된다.
선택영역(220)은 사용자가 손(100)의 일부 손가락 상의 지점과 손바닥 상의 지점의 위치 및 법선방향에 기반하여 형성되므로, 사람의 손 안쪽 면의 곡면 형상을 반영한 타원체 형상을 가진다.
또한, 도 3에 도시된 바와 같이, 사용자가 손(100)을 오므리는 동작을 취하면, 손가락과 손바닥 상의 지점들(111, 121, 131, 141, 161)의 위치가 서로 가까워지게 되므로, 이에 따라 상기 5 지점들의 위치에 대응되는 가상점들(111', 121', 131', 141', 161')의 위치가 가까워진다. 따라서, 5개의 가상점(111', 121', 131', 141', 161')에 접하는 최대부피 타원체인 선택영역(220)의 형상은 도 2에 도시된 선택영역에 비해 납작하고 긴 형태로 변화하게 된다.
위와 같이 본 실시예에 따른 선택영역(220)은 사람의 손 안쪽 면의 형상을 반영한 형태를 가지고, 사용자가 손을 오므렸다 펴는 동작만으로 그 형태를 변화시킬 수 있어 숙련되지 않은 사용자라도 선택영역(220)을 어떻게 이용하면 될지를 직관적으로 알 수 있게 된다.
본 실시예에 따르면, 선택영역(220)의 형태를 조절하여 가상공간(210)에 위치하는 3차원 그래픽을 선택하고 작업을 수행할 수 있다.
도 4 및 도 5는 본 실시예에 따른 3차원 사용자 인터페이스를 이용해 3차원 그래픽(300)을 선택하고 필요한 작업을 수행하는 모습을 도시한 것이다.
도 4를 참조하면, 사용자는 먼저 선택영역(220)을 형성하고 선택영역(220)의 형태를 조절하여 3차원 그래픽(300)을 선택한다.
이를 위해 먼저 3차원 가상공간(210)에 3차원 그래픽(300)이 출력된다. 3차원 그래픽(300)은 3차원 도면 등과 같은 작업물일 수도 있으며, 특정 어플리케이션을 실행하기 위한 아이콘 등일 수도 있다. 즉, 3차원 그래픽(300)은 출력장치를 통해 사용자가 육안으로 확인하게 되는 모든 그래픽을 의미할 수 있다.
사용자는 선택하고자 하는 그래픽(300)을 목표로 손(100)을 이동시키고 손(100)을 오므렸다 펴는 동작을 수행하여 선택영역(220) 안에 그래픽(300)이 온전히 위치하도록 선택영역(220)의 크기를 조절한다. 그래픽(300)이 선택영역(220) 안에 위치하게 되면 그래픽(300)은 선택된다.
본 실시예에서는 그래픽(300)이 선택영역(220) 안에 위치하면 선택되도록 하고 있지만 이에 한정되지는 않는다. 예를 들어 선택하려는 그래픽(300)이 내부 공간을 가지면서 모니터 스크린에 꽉 차도록 표시되는 그래픽(즉, 본 실시에에서의 가상공간(210) 그 자체)이라면 선택영역(220)의 외면이 그래픽(300)의 내부에 공간에 내접하도록 조절하여 그래픽(300)이 선택되도록 할 수도 있다.
다시 도 4를 참조하면, 사용자는 그래픽(300)을 선택한 후 그래픽(300)에 대한 작업을 수행할 수 있다.
이를 위해서 깊이 카메라(미도시)를 이용해 선택영역(220)을 형성하는데 사용하지 않은 엄지 손가락(150) 위에 위치한 지점(151)의 위치 및 법선방향정보도 함께 수집한다.
이때, 사용자가 엄지 손가락(150)을 이용해 특정 제스쳐(gesture)를 취하면 선택된 그래픽(300)이 선택 확정되도록 할 수 있다. 도 4에 도시된 바와 같이, 본 실시예에서는 사용자가 엄지 손가락(150)을 클릭하는 동작을 취하면 선택된 그래픽(300)을 선택 확정하는 동작으로 인식된다.
다만, 상기 특정 제스쳐는 반드시 클릭 동작에 한정되지 않으며, 엄지 손가락(150)의 동작 형태, 궤적 및 속도 등을 고려한 다양한 형태의 제스쳐가 선택 확정을 위한 기준 제스쳐로 설정될 수 있다. 계산 장치는 사용자가 취한 동작이 기설정된 특정 제스쳐를 만족하는지 여부를 판단하고, 만족시에는 그래픽(300)이 선택 확정되도록 한다.
그래픽(300)이 선택 확정되면 사용자는 그래픽(300)에 대해 필요한 작업을 수행할 수 있다. 도 5에서는 사용자가 손(100)을 회전시켜 선택된 그래픽(300)을 회전시키는 작업을 수행하는 모습을 도시하였다.
이 밖에도, 예를 들어 사용자가 엄지 손가락을 클릭하는 동작을 취해 그래픽(300)을 선택 확정하면 이와 동시에 그래픽(300)에 적용 가능한 기능 리스트가 그래픽(300) 주위에 팝업 형태로 출력되도록 한 뒤 사용자가 다시 엄지 손가락을 이용해 기능 리스트의 기능들(예를 들어, 복사/삭제 등) 중 하나를 클릭하여 기능을 실행하도록 할 수도 있을 것이다.
또한, 그래픽(300)이 특정 어플리케이션을 실행시킬 수 있는 아이콘이라면 사용자가 엄지손가락을 클릭하는 동작으로 수행하여 해당 어플리케이션이 실행되도록 할 수도 있을 것이다.
본 실시예에 따르면 한 손을 이용해 선택영역(220)을 형성하고 그래픽(300)을 선택 확정하도록 하고 있지만, 반드시 이에 한정되는 것은 아니다. 예를 들어, 왼손으로는 선택영역(220)을 형성하고, 깊이 카메라가 인식할 수 있는 위치에 오른손을 위치시키고 특정 제스쳐를 취하면 선택이 확정되도록 할 수도 있을 것이다.
또한, 두 손을 이용해 선택영역(220)을 형성하도록 할 수도 있다. 도 6 및 도 7은 두 손을 이용해 선택영역(220)을 형성하는 실시예를 도시하고 있다.
도 6을 참조하면, 사용자는 왼손(410)의 엄지, 검지 및 중지의 세 지점(411, 412, 413)과, 오른손(420)의 엄지, 검지 및 중지의 세 지점(421, 422, 423)을 이용해 선택영역(220)을 형성할 수 있다. 선택영역(220)은 사용자의 양손의 상기 지점들에 대응되는 가상점들(411', 412', 413', 421', 422', 423')에 접하는 최대부피 타원체 형상을 가진다.
본 실시예와 같이 양손을 이용해 선택영역(220)을 형성하는 경우, 한 손을 이용해 손가락을 최대로 벌리는 경우보다도 xy평면 방향으로 길이가 훨씬 긴 선택영역(220)을 형성할 수 있어 그래픽(300)을 선택하기가 용이하다는 장점이 있다.
도 7의 실시예에 따르면, 사용자는 엄지를 제외한 양손의 손가락 끝 지점과 양손의 손바닥의 중앙 지점을 이용해 선택영역(220)을 형성한다.
본 실시예에 따르면 왼손 엄지 손가락을 클릭하는 동작을 취하면 그래픽(300)을 선택 확정하고, 오른손 엄지 손가락을 클릭하면 또다른 기능을 수행하도록 하여 더 다양한 작업을 손쉽게 수행할 수 있다는 장점이 있다.

Claims (16)

  1. 3차원 물체 상에 위치한 복수 지점의 위치 및 법선방향정보를 수집하는 입력장치;
    상기 입력장치로부터 수집되는 위치 및 법선방향정보를 처리하는 계산장치;
    상기 계산장치에 의해 설정된 3차원의 가상공간을 출력하는 출력장치를 포함하고,
    상기 계산장치는 상기 복수 지점의 위치 및 법선방향정보를 처리해 상기 복수 지점에 대응되는 복수의 가상점을 상기 가상공간에 설정하고, 상기 복수의 가상점을 포함하는 3차원의 선택영역을 상기 가상공간에 형성하며,
    상기 선택영역은 상기 3차원 물체의 형상 변화에 따른 상기 복수의 가상점의 위치 및 법선방향 변화에 대응하여 형상이 변화하고,
    상기 가상공간에는 그래픽이 표시되고,
    상기 그래픽이 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택할 수 있는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  2. 제1항에 있어서,
    상기 선택영역은 상기 복수의 가상점과 접하는 타원체인 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  3. 제2항에 있어서,
    상기 3차원 물체는 사용자의 손이고,
    상기 복수 지점은 상기 손의 안쪽 면에 위치하는 지점들인 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  4. 제3항에 있어서,
    상기 복수 지점의 일부는 상기 손의 일부 손가락에 위치하고, 나머지 일부는 상기 손의 손바닥 상에 위치하여,
    상기 선택영역은 상기 손의 안쪽 면의 곡면 형상을 반영하도록 형성되는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  5. 제3항에 있어서,
    상기 입력장치는 상기 손의 움직임을 감지하는 모션 글러브인 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  6. 제1항에 있어서,
    상기 입력장치는 상기 3차원 물체 상의 복수 지점의 변위를 수집하는 카메라인 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  7. 제1항에 있어서,
    상기 선택영역은 상기 사용자가 육안으로 확인 가능하도록 상기 출력장치에 표시되는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  8. 제2항에 있어서,
    상기 그래픽은 3차원의 그래픽인 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  9. 제4항에 있어서,
    상기 그래픽은 3차원의 그래픽이고,
    상기 사용자가 상기 손을 오므리거나 펼쳐 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택할 수 있는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  10. 제9항에 있어서,
    상기 입력장치는 상기 복수 지점이 위치하지 않은 손가락의 위치 및 법선방향정보를 더 수집하고,
    상기 그래픽이 선택된 상태에서 상기 복수 지점이 위치하지 않은 손가락이 기설정된 제스처를 만족하도록 동작하는 경우 선택된 상기 그래픽을 선택 확정하고,
    상기 선택 확정된 그래픽에 대한 처리 명령을 입력할 수 있도록 하는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  11. 제3항에 있어서,
    상기 복수 지점은 상기 사용자의 양손에 위치하는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 시스템.
  12. 3차원의 가상공간을 출력하는 단계;
    3차원 물체 상에 위치한 복수 지점의 위치 및 법선방향정보를 수집하는 단계;
    수집된 상기 복수 지점의 위치 및 법선방향정보를 처리하여 상기 복수 지점에 대응되는 복수의 가상점을 상기 가상공간에 설정하는 단계;
    상기 복수의 가상점을 포함하는 3차원의 선택영역을 상기 가상공간에 형성하는 단계;
    상기 3차원 물체의 형상 변화에 따른 상기 복수의 가상점의 위치 및 법선방향 변화에 대응하여 상기 선택영역의 형상을 변화시키는 단계;
    상기 가상공간에 그래픽을 표시하는 단계; 및
    상기 그래픽이 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택하는 단계를 포함하는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 방법.
  13. 제12항에 있어서,
    상기 선택영역은 상기 복수의 가상점과 접하는 타원체인 것을 특징으로 하는 3차원 사용자 인터페이스 구현 방법.
  14. 제13항에 있어서,
    상기 3차원 물체는 사용자의 손이고,
    상기 복수 지점의 일부는 상기 손의 일부 손가락에 위치하고, 나머지 일부는 상기 손의 손바닥 상에 위치하여,
    상기 선택영역은 상기 손의 안쪽 면의 곡면 형상을 반영하도록 형성되는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 방법.
  15. 제14항에 있어서,
    상기 그래픽은 3차원의 그래픽이고,
    상기 사용자가 상기 손을 오므리거나 펼쳐 상기 선택영역 안에 위치하거나 상기 선택영역과 접하도록 상기 선택영역의 크기를 조절하여 상기 그래픽을 선택할 수 있는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 방법.
  16. 제15항에 있어서,
    상기 복수 지점이 위치하지 않은 손가락의 위치 및 법선방향정보를 수집하는 단계;
    상기 그래픽이 선택된 상태에서 상기 복수 지점이 위치하지 않은 손가락이 기설정된 제스처를 만족하도록 동작하였는지 여부를 판단하는 단계;
    상기 복수 지점이 위치하지 않은 손가락이 기설정된 제스처를 만족하도록 동작한 경우 상기 그래픽을 선택 확정하는 단계;
    상기 선택 확정된 상기 그래픽에 대한 처리 명령을 입력하는 단계를 더 포함하는 것을 특징으로 하는 3차원 사용자 인터페이스 구현 방법.
KR1020120021173A 2012-02-29 2012-02-29 3차원 사용자 인터페이스 구현 시스템 및 구현 방법 KR101318244B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120021173A KR101318244B1 (ko) 2012-02-29 2012-02-29 3차원 사용자 인터페이스 구현 시스템 및 구현 방법
US13/709,494 US8963834B2 (en) 2012-02-29 2012-12-10 System and method for implementing 3-dimensional user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120021173A KR101318244B1 (ko) 2012-02-29 2012-02-29 3차원 사용자 인터페이스 구현 시스템 및 구현 방법

Publications (2)

Publication Number Publication Date
KR20130099570A KR20130099570A (ko) 2013-09-06
KR101318244B1 true KR101318244B1 (ko) 2013-10-15

Family

ID=49002273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120021173A KR101318244B1 (ko) 2012-02-29 2012-02-29 3차원 사용자 인터페이스 구현 시스템 및 구현 방법

Country Status (2)

Country Link
US (1) US8963834B2 (ko)
KR (1) KR101318244B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501152B2 (en) 2013-01-15 2016-11-22 Leap Motion, Inc. Free-space user interface and control using virtual constructs
US11493998B2 (en) 2012-01-17 2022-11-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US10241638B2 (en) * 2012-11-02 2019-03-26 Atheer, Inc. Method and apparatus for a three dimensional interface
US10241639B2 (en) 2013-01-15 2019-03-26 Leap Motion, Inc. Dynamic user interactions for display control and manipulation of display objects
US9459697B2 (en) 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
US10007351B2 (en) * 2013-03-11 2018-06-26 Nec Solution Innovators, Ltd. Three-dimensional user interface device and three-dimensional operation processing method
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US9747696B2 (en) 2013-05-17 2017-08-29 Leap Motion, Inc. Systems and methods for providing normalized parameters of motions of objects in three-dimensional space
KR101436050B1 (ko) * 2013-06-07 2014-09-02 한국과학기술연구원 손모양 깊이영상 데이터베이스 구축방법, 손모양 인식방법 및 손모양 인식 장치
US10281987B1 (en) 2013-08-09 2019-05-07 Leap Motion, Inc. Systems and methods of free-space gestural interaction
US10255658B2 (en) 2016-08-09 2019-04-09 Colopl, Inc. Information processing method and program for executing the information processing method on computer
US11474690B2 (en) * 2020-08-14 2022-10-18 VTouch Co., Ltd. Method, system and non-transitory computer-readable recording medium for non-contact control

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100047990A (ko) * 2008-10-30 2010-05-11 한양대학교 산학협력단 3차원 가상물체와 인터랙션이 가능한 모바일 증강현실 시스템 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175954B1 (en) 1997-10-30 2001-01-16 Fuji Xerox Co., Ltd. Computer programming using tangible user interface where physical icons (phicons) indicate: beginning and end of statements and program constructs; statements generated with re-programmable phicons and stored
US7050955B1 (en) * 1999-10-01 2006-05-23 Immersion Corporation System, method and data structure for simulated interaction with graphical objects
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
JP2004334590A (ja) 2003-05-08 2004-11-25 Denso Corp 操作入力装置
WO2005010623A2 (en) 2003-07-24 2005-02-03 Zebra Imaging, Inc. Enhanced environment visualization using holographic stereograms
US8154524B2 (en) * 2008-06-24 2012-04-10 Microsoft Corporation Physics simulation-based interaction for surface computing
US8232990B2 (en) 2010-01-05 2012-07-31 Apple Inc. Working with 3D objects
US20110169832A1 (en) * 2010-01-11 2011-07-14 Roy-G-Biv Corporation 3D Motion Interface Systems and Methods
KR101114750B1 (ko) 2010-01-29 2012-03-05 주식회사 팬택 다차원 영상을 이용한 사용자 인터페이스 장치
EP2372512A1 (en) 2010-03-30 2011-10-05 Harman Becker Automotive Systems GmbH Vehicle user interface unit for a vehicle electronic device
US8537157B2 (en) 2010-06-21 2013-09-17 Verizon Patent And Licensing Inc. Three-dimensional shape user interface for media content delivery systems and methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100047990A (ko) * 2008-10-30 2010-05-11 한양대학교 산학협력단 3차원 가상물체와 인터랙션이 가능한 모바일 증강현실 시스템 및 방법

Also Published As

Publication number Publication date
US20130222233A1 (en) 2013-08-29
KR20130099570A (ko) 2013-09-06
US8963834B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
KR101318244B1 (ko) 3차원 사용자 인터페이스 구현 시스템 및 구현 방법
US10817128B2 (en) Input device for VR/AR applications
Ni et al. Design and evaluation of freehand menu selection interfaces using tilt and pinch gestures
US6597347B1 (en) Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
US20200310561A1 (en) Input device for use in 2d and 3d environments
USRE40891E1 (en) Methods and apparatus for providing touch-sensitive input in multiple degrees of freedom
Whitlock et al. Interacting with distant objects in augmented reality
Song et al. GaFinC: Gaze and Finger Control interface for 3D model manipulation in CAD application
KR20190009846A (ko) 원격 호버 터치 시스템 및 방법
CN111665933A (zh) 虚拟或者增强现实中的对象操作方法及装置
Smith et al. Digital foam interaction techniques for 3D modeling
CN104331154A (zh) 实现非接触式鼠标控制的人机交互方法和系统
Wolf et al. Performance envelopes of in-air direct and smartwatch indirect control for head-mounted augmented reality
US20190087020A1 (en) Three-dimensional input device
Cui et al. Mid-air interaction with optical tracking for 3D modeling
Fiorentino et al. Improving bi-manual 3D input in CAD modelling by part rotation optimisation
Bai et al. Asymmetric Bimanual Interaction for Mobile Virtual Reality.
Brouet et al. Understanding hand degrees of freedom and natural gestures for 3D interaction on tabletop
Chun et al. A combination of static and stroke gesture with speech for multimodal interaction in a virtual environment
Kim et al. ViewfinderVR: configurable viewfinder for selection of distant objects in VR
Machuca et al. Interaction Devices and Techniques for 3D Sketching
Chen et al. An integrated framework for universal motion control
Halim et al. Raycasting method using hand gesture for target selection on the occluded object in handheld augmented reality
Karam et al. Two-handed interactive menu: An application of asymmetric bimanual gestures and depth based selection techniques
KR101962464B1 (ko) 손동작 매크로 기능을 이용하여 다중 메뉴 및 기능 제어를 위한 제스처 인식 장치

Legal Events

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

Payment date: 20161004

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 6