KR20130008578A - 윈도우 오브젝트 관성 이동 방법 및 실현 장치 - Google Patents

윈도우 오브젝트 관성 이동 방법 및 실현 장치 Download PDF

Info

Publication number
KR20130008578A
KR20130008578A KR1020127026249A KR20127026249A KR20130008578A KR 20130008578 A KR20130008578 A KR 20130008578A KR 1020127026249 A KR1020127026249 A KR 1020127026249A KR 20127026249 A KR20127026249 A KR 20127026249A KR 20130008578 A KR20130008578 A KR 20130008578A
Authority
KR
South Korea
Prior art keywords
timer
period
window object
velocity
amount
Prior art date
Application number
KR1020127026249A
Other languages
English (en)
Other versions
KR101458289B1 (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 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20130008578A publication Critical patent/KR20130008578A/ko
Application granted granted Critical
Publication of KR101458289B1 publication Critical patent/KR101458289B1/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]
    • G06F3/0481Interaction 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
    • 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/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
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Abstract

윈도우 오브젝트의 선속도와 각속도를 기반으로 하는 관성 이동 효과를 실현하기 위한 윈도우 오브젝트 관성 이동 방법 및 실현 장치를 제공한다. 입력 설비가 드래그된 윈도우 오브젝트를 해제할 때, 선속도의 초속도와 각속도의 초속도를 획득하고 선속도의 감속도와 각속도의 감속도를 통해 각 처리 주기에 대응하는 변이량과 회전량을 획득하며 윈도우 오브젝트가 마우스 버튼을 릴리스 또는 터치스크린에서 손가락을 릴리스 후의 관성 이동 효과를 시뮬레이션한다. 상기 방법과 장치를 통해 윈도우 오브젝트의 관성 이동 효과를 실현하고 터치 조작을 편리하게 하고 단말기 소프트웨어의 사용성을 제공하며 사용자의 조작 체험을 향상시킨다.

Description

윈도우 오브젝트 관성 이동 방법 및 실현 장치{METHOD AND DEVICE FOR WINDOW OBJECT INERTIAL MOVEMENT}
본 발명은 터치 스크린 설비의 소프트웨어 조작 인터페이스의 설계기술에 관한 것으로서, 특히 윈도우 오브젝트 관성 이동 방법 및 실현 장치에 관한 것이다.
네트워크 인스턴트 메시징 수단은 오늘날까지 발전하여 이미 대부분의 네티즌에 의해 접수되었고 네티즌에게 없어서는 안되는 소프트웨어 수단으로 되었으며, 평소의 여가 오락뿐만아니라 사용자의 작업에서도 마찬가지로 광범위하게 사용되고 있다. 따라서, 사용자는 인스턴트 메시징(IM) 소프트웨어의 사용성, 안정성, 안전성 등 측면에 비교적 높은 요구를 제출하였다.
기술의 발전에 따라, iPhone 등 터치 제품은 점차 보편화되었다. 관성을 이용하여 구체화를 실현하는 설계는 점차 주류로 되었다.
종래의 관성을 이용하여 구체화를 실현하는 설계에서, 사용자는 직선 터치 조작을 통해 선속도를 기반으로 하는 리스트와 웹 페이지의 관성 효과의 콘텐츠 스크롤을 실현할 수 있으나 아직 회전 정황하의 ‘각속도’를 기반으로 하는 관성 효과를 처리할 수 없다.
이를 감안하여 본 발명은 윈도우 오브젝트의 선속도와 각속도를 기반으로 하는 관성 이동 효과를 실현하기 위한 윈도우 오브젝트 관성 이동 방법 및 실현 장치를 제공하는 것을 주요 목적으로 한다.
상술한 목적을 달성하기 위하여 본 발명의 기술방안은 이렇게 실현된다.
윈도우 오브젝트 관성 이동 방법에 있어서,
입력 설비의 초기 터치 조작을 모니터링하여 초기 터치 좌표와 터치 시간을 기록하고 제1 타이머를 시작하는 A단계와,
윈도우 오브젝트를 드래그하는 과정에서, 제1 타이머는 지정된 시간에 지난번 시간점에 대한 사용자가 입력 설비를 통해 스크린 상에 생성한 변이량과 회전량의 이벤트를 트리거하여 획득하고, 획득한 변이량과 회전량을 윈도우 오브젝트에 전송하는 B단계와,
사용자가 윈도우 오브젝트를 해제할 때, 윈도우 오브젝트 선속도의 초속도와 각속도의 초속도를 획득하고 제2 타이머를 시작하는 C단계와,
상기 선속도의 초속도와 각속도의 초속도를 기초로, 선속도의 감속도와 각속도의 감속도에 의해 제2 타이머가 지정된 시간에 윈도우 오브젝트 현재의 변이량과 회전량의 이벤트를 트리거하여 획득하고, 획득한 변이량과 회전량을 윈도우 오브젝트에 전송하는 D단계와,
제2 타이머 현재 주기에 대응하는 선속도의 초속도와 각속도의 초속도가 0보다 작거나 같을 때, 윈도우 오브젝트 관성 이동 처리를 종료하는 E단계를 포함하여 구성된다.
또한, 상기 방법에서 사용자는 하나의 터치 포인트 또는 다수개 터치 포인트로 입력 설비를 통해 상기 윈도우 오브젝트를 드래그하고, 다수개 터치 포인트의 경우, 설비 번호가 제일 작은 두 터치 포인트로 상기 변이량과 회전량을 획득한다.
상기 방법을 기반으로, 본 발명은
입력 설비가 스크린에서 윈도우 오브젝트를 드래그하는 조작을 포획하여 상응하는 제어 정보를 생성하는데 사용되는 터치 포인트 포획 유닛과,
터치 포인트 포획 유닛이 송신한 제어 정보에 따라 윈도우 오브젝트의 드래그 효과를 실현하고, 입력 설비가 윈도우 오브젝트를 해제할 때 선속도의 초속도, 각속도의 초속도를 획득하고 획득한 선속도의 초속도, 각속도의 초속도를 관성 처리 유닛에 송신하는데 사용되는 드래그 처리 유닛과,
드래그 처리 유닛이 전송한 선속도의 초속도, 각속도의 초속도를 기반으로 선속도의 감속도와 각속도의 감속도에 의해 관성 이동 효과를 실현하는데 사용되는 관성 처리 유닛을 포함하여 구성되는 윈도우 오브젝트 관성 이동 장치를 더 제안한다.
또한, 상기 터치 포인트 포획 유닛이 생성한 상기 제어 정보는,
위치, 시간, 설비 번호, 윈도우 오브젝트를 초기 터치하는 식별자를 포함하는 입력 설비가 윈도우 오브젝트를 초기 터치할 때의 초기 제어 정보와,
위치, 시간, 설비 번호, 윈도우 오브젝트를 드래그하는 식별자를 포함하는 입력 설비가 윈도우 오브젝트를 이동할 때의 현재 제어 정보와,
위치, 시간, 설비 번호, 윈도우 오브젝트를 해제하는 식별자를 포함하는 입력 설비가 윈도우 오브젝트를 해제할 때의 해제 제어 정보를 포함한다.
또한, 상기 드래그 처리 유닛은,
터치 포인트 포획 유닛이 송신한 초기 제어 정보를 수신하였을 때, 제1 타이머를 시작하고 상기 제1 타이머의 트리거 하에 터치 포인트 포획 유닛이 송신한 현재 제어 정보에 의해 제1 타이머 현재 주기에 대응하는 윈도우 오브젝트의 변이량과 회전량을 획득하고 획득한 변이량과 회전량을 윈도우 오브젝트에 송신하는데 사용되는 제1 이동 처리 유닛과,
터치 포인트 포획 유닛이 송신한 해제 제어 정보를 수신한 후 선속도의 초속도와 각속도의 초속도를 획득하고 획득한 선속도의 초속도와 각속도의 초속도를 관성 처리 유닛에 송신하는데 사용되는 초속도 처리 유닛을 포함한다.
본 발명에서 제안한 기술방안을 운용하여 윈도우 오브젝트의 선속도와 각속도를 기반으로 하는 관성 이동 효과를 실현하고 조작이 편리하며 구체화된 인터페이스와 조작을 통해 단말기 소프트웨어의 사용성을 향상시키고 사용자의 조작 체험을 향상시킨다.
도1은 본 발명에 따른 윈도우 오브젝트 관성 이동 효과를 실현하는 장치 구조 설명도.
도2는 단일 터치 포인트의 경우 변이량과 회전량을 획득하는 벡터 설명도.
도3은 멀티 터치 포인트의 경우 변이량과 회전량을 획득하는 벡터 설명도.
도4는 본 발명에 따른 윈도우 오브젝트 이동 방법의 처리 흐름도.
본 발명의 기본 사상은, 사용자가 마우스 또는 손가락을 통해 윈도우 오브젝트를 이동하는 과정에 대해 구체화 처리를 수행하여 사용자가 드래그 조작을 종료한 후 관성 처리 유닛을 통해 마우스가 드래그 버튼을 해제하거나 손가락을 들 때의 선속도와 각속도에 의해 이동 오브젝트의 관성 이동 효과를 실현하는 것이다.
본 발명에서의 이동 오브젝트는 마우스 또는 터치스크린 기반의 손가락 드래그 조작에 응답할 수 있는 윈도우 오브젝트 실예를 가리키며, 상기 윈도우 오브젝트는 자체의 인터페이스 속성, 방법 속성 및 데이터 속성을 구비하고 윈도우 인터페이스의 트리거 이벤트에 응답할 수 있다. 예를 들면, Window 운영체제를 예로, 윈도우 오브젝트는 하나의 컨택트 정보를 표시하는 윈도우일 수 있으며, 상기 윈도우 오브젝트는 사용자의 클릭, 이동 조작에 응답하는 이벤트 함수를 구비하고 폭(Width), 높이(Height), 윈도우의 중심점을 원심으로 하는 회전각도(Angle), 윈도우 중심점의 횡방향 좌표(CenterX), 윈도우 중심점의 종방향 좌표(CenterY) 등을 구비하는 인터페이스 속성 등을 포함한다.
설명의 편리를 위하여, 아래의 설명에서, 조작 시나리오는 사용자가 손가락 또는 마우스를 통해 인스턴트 메시징 콘택트를 대표하는 윈도우 오브젝트를 이동하는 실예(설명의 편리를 위하여, 아래에 모두 윈도우 오브젝트로 약칭함)이고, 일정한 속도로 윈도우 오브젝트를 이동할 때 갑자기 손가락을 들거나 마우스 버튼을 해제하면 윈도우 오브젝트는 관성의 작용하에 원래의 운동 궤적을 따라서 계속하여 이동 및 회전하며 마찰력(감속도)의 작용하에 천천히 정지 상태로 변한다.
본 발명의 목적, 기술방안 및 장점을 더욱 명확하게 하기 위하여 이하 실시예를 예로 들고 첨부 도면을 참조하여 본 발명을 더욱 상세히 설명한다.
도1은 본 발명에 따른 윈도우 오브젝트 관성 이동 효과를 실현하는 장치 구조 설명도이며, 상기 장치는 터치 포인트 포획 유닛(101), 드래그 처리 유닛(102) 및 관성 처리 유닛(103)을 포함한다.
터치 포인트 포획 유닛(101)은 입력 설비가 스크린에서 윈도우 오브젝트를 드래그하는 조작을 포획하여 상응하는 제어 정보를 생성하는데 사용된다.
상기 입력 설비는 터치스크린, 마우스, 워드패드 등 윈도우 이동을 실현할 수 있는 설비를 포함한다.
상기 제어 정보는 (1) 위치, 시간, 설비 번호, 윈도우 오브젝트를 초기 터치하는 식별자 등을 포함하는 입력 설비가 윈도우 오브젝트를 초기 터치할 때의 초기 제어 정보, (2) 위치, 시간, 설비 번호, 윈도우 오브젝트를 드래그하는 식별자 등을 포함하는 입력 설비가 윈도우 오브젝트를 이동할 때의 현재 제어 정보, (3) 위치, 시간, 설비 번호, 윈도우 오브젝트를 해제하는 것을 식별하는 식별자 등을 포함하는 입력 설비가 윈도우 오브젝트를 해제하고 윈도우 오브젝트 드래그를 종료할 때의 해제 제어 정보를 포함한다.
터치 포인트 포획 유닛(101)은 본 발명의 상기 장치와 운영체제 간의 인터페이스 유닛으로서 운영체제가 윈도우 오브젝트에 대한 조작을 실시로 모니터링하여 입력 설비가 생성한 제어 정보를 획득하고 제어 정보를 드래그 처리 유닛에 전송하여 드래그 처리 유닛이 윈도우 오브젝트에 대한 드래그 효과를 실현한다.
예를 들면, 마우스 또는 손가락을 누르면서 이동할 때, 터치 포인트 포획 유닛(101)은 마우스 눌림 또는 손가락 터치 이벤트를 포획하고 드래그 처리 유닛(102)에 초기 제어 정보를 송신하는 데, 초기 제어 정보는 터치 포인트 위치 좌표, 현재 시간, 설비 번호, 마우스 좌측 버튼을 누르거나 손가락을 눌러 윈도우 오브젝트에 대한 드래그를 준비하는 것을 식별하는 식별자 등을 포함한다. 상기 설비 번호는 부동한 입력 설비를 구분하는데 사용되고, 멀티 포인트 터치인 경우, 예를 들면 사용자가 동시에 두개의 손가락을 사용하여 윈도우 오브젝트를 터치할 경우, 부동한 시간에 터치스크린을 터치한 손가락에 대응하는 설비 번호는 부동하다.
드래그 처리 유닛(102)은 터치 포인트 포획 유닛(101)이 송신한 제어 정보에 따라 윈도우 오브젝트의 드래그 효과를 실현하는데 사용된다.
상기 드래그 처리 유닛(102)은 제1 이동 처리 유닛과 초속도 처리 유닛을 포함한다.
제1 이동 처리 유닛은, 터치 포인트 포획 유닛(101)이 송신한 초기 제어 정보를 수신하였을 때, 제1 타이머 Timer1을 시작하고, Timer1의 트리거하에, 터치 포인트 포획 유닛(101)이 송신한 현재 제어 정보에 의해, Timer1의 현재 주기에 대응하는 윈도우 오브젝트의 변이량과 회전량을 획득하고, 획득한 변이량과 회전량을 윈도우 오브젝트에 송신하는데 사용된다.
초속도 처리 유닛은, 터치 포인트 포획 유닛(101)이 송신한 해제 제어 정보를 수신한 후, 선속도의 초속도와 각속도의 초속도를 획득하고, 획득한 선속도의 초속도와 각속도의 초속도를 관성 처리 유닛에 송신하는데 사용된다.
윈도우 오브젝트의 드래그 효과를 실현하는 방법은 구체적으로 아래와 같다.
(1) 드래그 처리 유닛(102)은 터치 포인트 포획 유닛(101)이 송신한 초기 제어 정보를 수신한 후, 초기 터치 포인트의 위치 좌표 정보(X0, Y0), 초기 터치 시간 T0 및 설비 번호를 기록한다.
(2) 마우스 또는 손가락을 누른 후 이동할 때, 드래그 처리 유닛(102)은 주기 Δt를 간격으로 마우스 또는 손가락의 위치(Xi, Yi), 당시의 시간 Ti와 설비 번호를 기록하고, 지난번 기록 시간점에 대한 상대적인 변이량과 회전량을 획득하며, 상대적인 변이량과 회전량을 윈도우 오브젝트에 송신하고, 윈도우 오브젝트는 자체 속성 값을 설정함으로써 드래그 효과를 실현한다.
예를 들면, 윈도우 오브젝트의 중심 좌표 속성이 (CenterX, CenterY)이고, 회전 각도 속성이 Angle이며, 윈도우 오브젝트가 Ti주기에 획득한 현재의 변이량이 (ΔX, ΔY)이고 회전량이 α일 때, 윈도우 오브젝트는 자체의 중심 좌표 속성 값과 회전각도 속성 값을
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α로 설정하고,
윈도우 오브젝트는 상술한 중심 좌표 속성 값과 회전각도 속성 값을 설정하는 것을 통해 윈도우 오브젝트의 인터페이스 리드로 함수를 트리거하며, 신규 좌표위치와 신규 회전각도로 윈도우 오브젝트를 표시한다.
(3) 입력 설비가 윈도우 오브젝트를 해제할 때, 즉 마우스 또는 손가락을 릴리스할 때, 터치 포인트 포획 유닛(101)은 해제 제어 정보를 드래그 처리 유닛(102)에 송신하고, 드래그 처리 유닛(102)은 해제하기 전의 Timer1의 마지막 한 주기에 획득한 변이량과 회전량에 의해 선속도의 초속도와 각속도의 초속도를 얻는다.
상술한 변이량, 회전량, 선속도의 초속도, 각속도의 초속도를 획득할 때 단일 포인트 터치와 멀티 포인트 터치 두가지 경우로 구분된다.
(1) 도2에 도시된 바와 같이, 단일 포인트 터치인 경우, 변이량, 회전량, 선속도의 초속도, 각속도의 초속도의 획득방법은 아래와 같다.
Ti -1에서 Ti의 변이량은 (ΔX, ΔY)=(Xi-Xi -1, Yi-Yi -1) 이다.
여기서, (Xi,Yi)는 Timer1 제Ti주기에 대응하는 터치 포인트의 좌표 벡터이고, (Xi -1,Yi -1)는 Timer1 제Ti-1주기에 대응하는 터치 포인트의 좌표 벡터이다.
Ti -1에서 Ti의 회전량은 α=arcos[ui. vi/(│ui││vi│)] 이다.
여기서, 회전 중심 좌표는 윈도우 오브젝트의 중심좌표 (Cx,Cy)이고, ui는 Timer1 제Ti주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 ui=(Xi-Cx,Yi-Cy)이며, vi는 Timer1 제Ti -1주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 vi=(Xi -1-Cx, Yi -1-Cy)이다.
입력 설비가 윈도우 오브젝트를 해제할 때의 선속도의 초속도 V는
V=(Xn-Xn -1,Yn-Yn -1)/(Tn-Tn -1)=(Xn-Xn -1,Yn-Yn -1)/Δt 이다.
여기서, (Xn,Yn)는 입력 설비가 윈도우 오브젝트를 해제할 때 Timer1의 마지막 한 주기 Tn주기에 대응하는 터치 포인트의 좌표 벡터이고, (Xn -1,Yn -1)은 Tn -1주기에 대응하는 터치 포인트의 좌표 벡터이다.
Δt를 표준 단위시간으로 설정하면, 상술한 수식을
V=(Xn-Xn -1,Yn-Yn -1)로 간소화할 수 있고,
입력 설비가 윈도우 오브젝트를 해제할 때의 각속도의 초속도 Va의 획득방법은
Va=arcos[un. vn/(|un||vn|)]/(Tn-Tn -1)=arcos[un. vn/(|un||vn|)]/Δt 이다.
여기서, un는 Timer1 제Tn주기에 대응하는 터치 포인트 좌표 (Xn,Yn)과 회전 중심 좌표 (Cx,Cy) 사이의 벡터, 즉 un=(Xn-Cx,Yn-Cy)이고, vn는 Timer1 제Tn -1주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 vn=(Xn -1-Cx,Yn -1-Cy)이다.
Δt를 표준 단위시간으로 설정하면, 상술한 수식을
Va=arcos[un. vn/(|un||vn|)]으로 간소화할 수 있다.
(2) 도3에 도시된 바와 같이, 멀티 포인트 터치인 경우, 설비 번호가 제일 작은 두 포인트만 고려하며, 변이량, 회전량, 선속도의 초속도, 각속도의 초속도의 획득방법은 아래와 같다.
설비 번호가 제일 작은 두 터치 포인트가 Timer1 제Ti -1주기에 대응하는 좌표가 (Xi -1, d0,Yi -1, d0)과 (Xi -1,d1,Yi-1,d1)이고, 제Ti주기에 대응하는 좌표가 (Xi , d0,Yi , d0)과 (Xi , d1,Yi , d1)이며, 여기서 d0, d1이 설비 번호라면, 상기 두 포인트가 Ti -1주기와 Ti주기에서의 중심의 좌표 벡터는 각각
(CXi,CYi)=((Xi , d0+Xi , d1)/2,(Yi , d0+Yi , d1)/2)
(CXi -1,CYi -1)=((Xi -1, d0+Xi -1, d1)/2,(Yi -1, d0+Yi -1, d1)/2)이고,
Ti -1에서 Ti의 변이량은
(ΔX, ΔY)=(CXi-CXi -1, CYi-CYi -1)이다.
입력 설비가 윈도우 오브젝트를 해제할 때 Timer1의 Tn주기에 대응하는 선속도의 초속도는,
V=(CXn-CXn -1,CYn-CYn -1)/(Tn-Tn -1)=(CXn-CXn -1,CYn-CYn -1)/Δt 이고,
여기서, (Xn,CYn), (CXn -1,CYn -1)는 각각 입력 설비가 윈도우 오브젝트를 해제할 때 설비 번호가 제일 작은 두 터치 포인트가 Timer1의 마지막 한 주기 Tn주기와 Tn -1주기에 벡터를 형성한 중심점 좌표이고, Δt는 Timer1의 타이밍 주기이다.
Δt를 표준 단위시간으로 설정하면, 상술한 공식은
V=(CXn-CXn -1,CYn-CYn -1)로 간소화할 수 있고,
멀티 포인트 터치인 경우, 회전량을 획득할 때 설비 번호가 제일 작은 두 포인트만 고려하고, 두 포인트가 Ti-1주기에서의 연결선과 Ti주기에서의 연결선의 교점이 회전량을 획득하는 중심점이며, Ti주기에 대응하는 두 포인트의 좌표가 (Xi , d0,Yi , d0)과 (Xi , d1,Yi , d1)이고, Ti -1주기에 대응하는 두 포인트의 좌표가 (Xi -1, d0,Yi -1,d0)과 (Xi -1, d1,Yi -1, d1)이며,
회전량을 획득하는 회전 중심점 좌표는
(Cx,Cy)=((Xi , d0+Xi , d1)/2,(Yi , d0+Yi , d1)/2)이고,
Ti -1에서 Ti의 회전량은 αi=arcos[ui. vi/(│ui││vi│)]이며,
여기서, ui는 Timer1 제Ti주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터 (Xi , d0-Xi , d1, Yi,d0-Yi,d1)이며, vi는 Timer1 제Ti -1주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터 (Xi-1,d0-Xi-1,d1, Yi -1, d0-Yi -1, d1)이다.
입력 설비가 윈도우 오브젝트를 해제할 때, Timer1의 Tn주기에 대응하는 회전량 각속도의 초속도 Va는
Va=arcos[un. vn/(|un||vn|)]/(Tn-Tn -1)=arcos[un. vn/(|un||vn|)]/Δt 이며,
여기서, un는 입력 설비가 윈도우 오브젝트를 해제할 때 Timer1의 마지막 한 주기 Tn주기에 대응하는 설비 번호가 제일 작은 두 포인터가 형성한 벡터 (Xn , d0-Xn , d1, Yn , d0-Yn , d1)이고, vn은 Tn -1주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터 (Xn -1, d0-Xn -1, d1,Yn -1, d0-Yn -1, d1)이다.
Δt를 표준 단위시간으로 설정하면, 상술한 공식은
Va=arcos[un. vn/(|un||vn|)]으로 간소화할 수 있다.
관성 처리 유닛(103)은 입력 설비가 윈도우 오브젝트를 해제한 후, 즉 사용자가 드래그 조작을 종료한 후의 관성 이동 효과를 실현하는데 사용된다. 관성 처리 유닛(103)은 드래그 처리 유닛(102)이 송신한 해제 제어 정보를 수신한 후, 제2 타이머 Timer2를 시작하고, Tg시간 주기를 간격으로 타이머 처리 함수를 한번 트리거하며, 타이머 처리 함수에서 Timer2의 현재 주기에 대응하는 선속도의 초속도와 각속도의 초속도로 현재 주기 내의 변이량과 회전량을 획득한 후, 획득한 현재 주기 내의 변이량과 회전량을 윈도우 오브젝트에 송신하며, 윈도우 오브젝트는 자체의 속성을 설정함으로써 관성 이동 효과를 실현한다.
Timer2 제Ti주기에 대응하는 선속도의 초속도의 획득방법은
Vi=Vi -1-Vdec*Tg 이며,
여기서, Vdec는 선속도의 감속도이고, 이 값은 실제 정황에 따라 사용자 또는 시스템에 의해 사전 설정될 수 있으며, 선속도의 마찰계수를 조절하는 것에 해당된다. 입력 설비가 윈도우 오브젝트를 해제한 후 Timer2의 제1주기에서, V1는 드래그 처리 유닛(102)이 송신한 선속도의 초속도 V이고, Tg는 Timer2의 주기이며, 이 값은 사용자 또는 시스템에 의해 사전 설정될수 있다.
Timer2 제Ti주기에 대응하는 각속도의 초속도의 획득방법은
Vai=Vai -1-Vadec*Tg 이며,
여기서, Vadec는 각속도의 감속도이고, 이 값은 실제 정황에 따라 사용자 또는 시스템에 의해 사전 설정될 수 있으며, 각속도의 마찰계수를 조절하는 것에 해당된다. 입력 설비가 윈도우 오브젝트를 해제한 후 Timer2의 제1주기에서, Va1는 드래그 처리 유닛(102)이 송신한 각속도의 초속도 Va이다.
Timer2 제Ti주기에 대응하는 변이량은
(ΔX,ΔY)=(Vi-Vdec*Tg)*Tg=(Vi.X-Vdec*Tg,Vi.Y-Vdec*Tg)*Tg 이며,
여기서, Vi는 Timer2 제Ti주기에 대응하는 선속도의 초속도 벡터이고, Tg는 Timer2의 타이밍 주기이다.
Timer2 제Ti주기에 대응하는 회전량은
αi=(Vai-Vadec*Tg)*Tg 이며,
여기서, Vai는 Timer2 제Ti주기에 대응하는 각속도의 초속도이고,
Tg와 Δt가 같고 Δt를 표준 단위 시간으로 설정하면, 상술한 수식은
(ΔX,ΔY)=(Vi.X-Vdec,Vi.Y-Vdec)
αi=(Vai-Vadec)로 간소화할 수 있는 데,
즉 Tg=Δt를 속도 샘플링, 관성처리 및 윈도우 오브젝트 위치 리플레시의 단위시간으로 하면 계산량을 대대적으로 간소화할 수 있다.
상술한 수식을 통해 획득한 현재 시간 주기 윈도우 오브젝트의 관성이동의 변이량과 회전량이 0보다 작거나 같을 때 관성처리는 종료된다.
윈도우 오브젝트는 매번 관성 처리 유닛(103)이 송신한 변이량과 회전량을 수신한 후, 자체의 중심 좌표 속성 값과 회전 각도 속성 값을
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α로 설정한다.
상술한 중심 좌표 속성 값과 회전각도 속성 값을 설정하는 것을 통해 인터페이스 리드로 함수를 트리거하고, 신규 좌표위치에서 신규 회전각도로 윈도우 오브젝트를 표시하여 관성 이동 효과를 실현한다.
도4는 본 발명에 따른 윈도우 오브젝트의 이동방법의 처리 흐름도이며 구체적인 단계는 아래와 같다.
401단계: 입력 설비의 초기 터치 조작을 모니터링하여 초기 제어 정보를 획득한다.
상기 단계에서, 터치 포인트 포획 유닛이 입력 설비의 초기 터치 조작을 모니터링하고, 초기 터치 조작을 모니터링한 후 드래그 처리 유닛에 초기 제어 정보를 송신한다.
상기 입력 설비는 마우스, 터치스크린, 워드패드 등 윈도우 오브젝트 이동 기능을 구비한 입력 설비를 포함하며, 입력 설비가 부동함에 따라 생성한 시스템 메시지의 유형도 부동하다. 예를 들면, 마우스가 윈도우 오브젝트 이동을 트리거하는 시스템 메시지는 마우스 좌측 버튼 눌림 및 이동일 수 있으며, 터치스크린이 윈도우 오브젝트 이동을 트리거하는 시스템 메시지는 손가락 눌림 및 이동 등 일수 있다.
상기 초기 터치 조작은 사용자가 초기 마우스 좌측 버튼을 누르거나 터치스크린 상에서 초기 손가락을 눌러 윈도우 오브젝트 이동을 준비하는 클릭 조작을 가리킨다.
상기 초기 제어 정보는 초기 터치 포인트의 위치, 시간, 설비 번호, 버튼 번호 등을 포함한다.
402단계: 초기 제어 정보를 기록하고, 제1 타이머 Timer1을 시작하며, 타이밍 주기는 Δt로 설정하고, Δt는 실제정황에 따라 사용자 또는 시스템에 의해 사전 설정된다.
드래그 처리 유닛은 터치 포인트 포획 유닛이 송신한 초기 제어 정보를 수신한 후, 상기 초기 제어 정보를 기록하고 Timer1을 시작하며, Timer1은 주기적으로 윈도우 오브젝트의 변이량 (ΔX,ΔY)와 회전량 α를 트리거하여 계산하는 이벤트 함수에 사용되어 현재 주기에 입력 설비가 스크린 상에서 생성한 변이량과 회전량을 획득한다.
403단계: Timer1 타이밍 주기에 도달하여 현재 제어 정보를 획득하고, 현재 주기에 사용자가 입력 설비를 통해 스크린 상에 생성한 변이량과 회전량을 획득한다.
상기 단계를 수행하는 전제조건은, 사용자가 입력 설비의 눌림 조작을 유지하면서 윈도우 오브젝트를 정지하거나 드래그하고, 터치 포인트 포획 유닛은 모니터링된 입력 설비가 생성한 시스템 메시지를 현재 제어 정보(위치, 시간, 설비 번호 등을 포함)로 전환하여 지속적으로 드래그 처리 유닛에 송신하며, 드래그 처리 유닛은 실시로 로컬 캐시의 현재 제어 정보를 업데이트하고 매번 Timer1 타이밍 주기에 도달할 때마다 현재의 제어 정보를 기록하여 제어 정보의 역사 기록을 형성하며, 상기 역사 기록을 통해 입력 설비가 스크린 상에서 이동하는 궤적(손짓이라 할수도 있음)을 반영할 수 있고, 따라서 Timer1 현재 주기에 대응하는 윈도우 오브젝트의 변이량과 회전량을 얻는다.
404단계: 윈도우 오브젝트는 획득한 변이량과 회전량에 의해 윈도우 오브젝트가 스크린 상에서의 위치와 회전각도를 조절한다.
드래그 처리 유닛은 현재 시간점의 변이량과 회전량을 획득한 후, 이를 윈도우 오브젝트에 전송한다. 윈도우 오브젝트는 자체의 중심점 좌표, 자체의 중심점 좌표에 대한 회전각도의 속성 값을 설정하는 것을 통해 윈도우 리드로 방법를 트리거하여 드래그 효과를 실현한다.
405단계: 입력 설비가 윈도우 오브젝트를 해제하였는지, 즉 사용자가 마우스 버튼 또는 손가락을 릴리스하여 드래그 조작을 종료하였는지를 판단하는 데, 예이면 406단계를 수행하고 아니오이면 403단계를 수행한다.
상기 단계에서, 터치 포인트 포획 유닛이 입력 설비가 윈도우 오브젝트를 해제하였는지를 모니터링하며, 해제 정보를 모니터링하였을 경우 즉시 드래그 처리 유닛에 해제 제어 정보를 송신하며, 상기 해제 제어 정보는 해제 시각의 위치, 시간, 설비 번호 등 정보를 포함한다.
406단계: 드래그 조작을 종료할 때, Timer1의 마지막 한 주기 Tn주기에 대응하는 선속도의 초속도 V와 각속도의 초속도 Va를 획득하고 Timer1을 종료한다.
드래그 처리 유닛은 제어 정보의 역사 기록에 의해 입력 설비가 윈도우를 해제할 때의 Timer1의 마지막 한 주기 Tn주기에 대응하는 선속도의 초속도 V와 각속도의 초속도 Va를 획득하며, 획득방법은 전술한 바와 같으며 여기서 다시 상세히 설명하지 않는다. 드래그 처리 유닛은 획득한 초속도 V와 각속도의 초속도 Va를 관성 처리 유닛에 송신한다.
407단계: 제2 타이머 Timer2를 시작하고 타이밍 주기를 Tg로 설정한다.
이 단계에서, 관성 처리 유닛은 V와 Va를 수신한 후 제2 타이머 Timer2를 시작하며, Timer2는 입력 설비가 윈도우 오브젝트를 해제한 후의 관성 이동 효과를 실현하는데 사용된다.
408단계: 매번 Timer2 타이밍 주기에 도달할 때마다 선속도의 감속도 Vdec와 각속도의 감속도 Vadec에 의해 윈도우 오브젝트 현재의 변이량과 회전량을 획득하고 현재 시각의 위치를 기록하며, 아울러 다음 타이밍 주기를 위해 선속도의 초속도 V와 각속도의 초속도 Va를 계산한다.
이 단계는 관성 처리 유닛이 사전 설정한 Vdec와Vadec에 의해 입력 설비가 윈도우 오브젝트를 해제한 후 Timer2 현재 타이밍 주기 내에 계속하여 앞으로 이동하는 변이량과 회전량을 획득하며, 획득방법은 전술한 바와 같으므로 여기서 다시 상세히 설명하지 않는다.
Timer2의 다음 타이밍 주기의 선속도의 초속도 V와 각속도의 초속도 Va의 획득방법은
Vi=Vi -1-Vdec*Tg, Vai=Vai -1-Vadec*Tg이다.
409 단계: 관성 이동이 종료되었는지를 판단하는 데, 예이면 흐름을 종료하고, 아니오이면 410 단계를 수행한다.
관성 이동이 종료되었는지를 판단하는 단계는 구체적으로, 408 단계에서 획득한 Vi과 Vai이 0보다 작거나 같은지를 판단하는 데, 예이면 Timer2를 정지하고 관성 이동 처리는 종료되며, 한 값이 0보다 작거나 같고 다른 한 값이 여전히 0보다 크면, 다른 한 값에 대해 또 관성 처리를 진행하여야 하며, 예들 들면, Vi이 0보다 작거나 같고 Vai이 0보다 크면, 현재 주기와 후속 Timer2주기에서 변이량은 모두 0이고 회전량이 0이 아니며, 양자가 현재 주기에서 모두 0보다 작거나 같을 때에야 관성 이동 처리는 종료된다.
410단계: 윈도우 오브젝트는 획득한 변이량과 회전량에 의해 윈도우 오브젝트가 스크린 상에서의 위치와 회전각도를 조절하여 관성 이동 효과를 실현하고 그후 408단계를 재차 수행한다.
상술한 것은 본 발명의 바람직한 실시예일 뿐 본 발명의 보호범위를 한정하는 것이 아니다.

Claims (10)

  1. 윈도우 오브젝트 관성 이동 방법에 있어서,
    입력 설비의 초기 터치 조작을 모니터링하여 초기 터치 좌표와 터치 시간을 기록하고 제1 타이머를 시작하는 A단계와,
    윈도우 오브젝트를 드래그하는 과정에서, 제1 타이머는 지정된 시간에 지난번 시간점에 대한 사용자가 입력 설비를 통해 스크린 상에 생성한 변이량과 회전량의 이벤트를 트리거하여 획득하고, 획득한 변이량과 회전량을 윈도우 오브젝트에 전송하는 B단계와,
    사용자가 윈도우 오브젝트를 해제할 때, 윈도우 오브젝트 선속도의 초속도와 각속도의 초속도를 획득하고 제2 타이머를 시작하는 C단계와,
    상기 선속도의 초속도와 각속도의 초속도를 기초로, 선속도의 감속도와 각속도의 감속도에 의해 제2 타이머가 지정된 시간에 윈도우 오브젝트 현재의 변이량과 회전량의 이벤트를 트리거하여 획득하고, 획득한 변이량과 회전량을 윈도우 오브젝트에 전송하는 D단계와,
    제2 타이머 현재 주기에 대응하는 선속도의 초속도와 각속도의 초속도가 0보다 작거나 같을 때, 윈도우 오브젝트 관성 이동 처리를 종료하는 E단계를 포함하여 구성되는 것을 특징으로 하는 윈도우 오브젝트 관성 이동 방법.
  2. 청구항 1에 있어서,
    상기 방법에서, 사용자는 하나의 터치 포인트 또는 다수개 터치 포인트로 입력 설비를 통해 상기 윈도우 오브젝트를 드래그하고, 다수개 터치 포인트의 경우, 설비 번호가 제일 작은 두 터치 포인트로 상기 변이량과 회전량을 획득하는 것을 특징으로 하는 윈도우 오브젝트 관성 이동 방법.
  3. 청구항 2에 있어서,
    단일 터치 포인트의 경우,
    B단계에서 상기 변이량과 회전량을 획득하는 것은 구체적으로,
    Ti-1에서 Ti의 변이량은 (ΔX, ΔY)=(Xi-Xi-1,Yi-Yi-1)이고,
    여기서, (Xi, Yi)는 제1 타이머 제Ti주기에 대응하는 터치 포인트의 좌표 벡터이고, (Xi-1, Yi-1)는 제1 타이머 제Ti-1주기에 대응하는 터치 포인트의 좌표 벡터이며,
    Ti-1에서 Ti의 회전량은 αi=arcos[ui. vi/(│ui││vi│)]이고,
    여기서, 회전 중심 좌표는 윈도우 오브젝트의 중심좌표 (Cx, Cy)이고, ui는 제1 타이머 제Ti주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 ui=(Xi-Cx,Yi-Cy)이며, vi는 제1 타이머 제Ti-1주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 vi=(Xi-1-Cx,Yi-1-Cy)이고,
    C단계에서 상기 선속도의 초속도 V와 각속도의 초속도 Va를 획득하는 것은 구체적으로,
    V=(Xn-Xn-1,Yn-Yn-1)/(Tn-Tn-1)=(Xn-Xn-1,Yn-Yn-1)/Δt 이고,
    여기서, (Xn,Yn)는 입력 설비가 윈도우 오브젝트를 해제할 때, 제1 타이머의 마지막 한 주기 Tn주기에 대응하는 터치 포인트의 좌표 벡터이고, (Xn-1,Yn-1)은 Tn-1주기에 대응하는 터치 포인트의 좌표 벡터이며, Δt는 제1 타이머의 타이밍 주기이고,
    Va=arcos[un. vn/(|un||vn|)]/(Tn-Tn-1)=arcos[un. vn/(|un||vn|)]/Δt 이며,
    여기서, un는 입력 설비가 윈도우 오브젝트를 해제할 때 제1 타이머 제Tn주기에 대응하는 터치 포인트 좌표 (Xn,Yn)과 회전 중심 좌표 (Cx,Cy) 사이의 벡터, 즉 un=(Xn-Cx,Yn-Cy)이고, vn는 제1 타이머 제Tn-1주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 vn=(Xn-1-Cx,Yn-1-Cy)인 것을 특징으로 하는 윈도우 오브젝트 관성 이동 방법.
  4. 청구항 2에 있어서,
    멀티 터치 포인트의 경우,
    B단계에서 상기 변이량과 회전량을 획득하는 것은 구체적으로,
    Ti-1에서 Ti의 변이량은 (ΔX, ΔY)=(CXi-CXi-1, CYi-CYi-1)이고,
    여기서, (CXi,CYi), (CXi-1, CYi-1)는 각각 설비 번호가 제일 작은 두 터치 포인트가 제1 타이머 제Ti주기와 Ti -1주기에서 대응하는 중심점 좌표이며,
    Ti-1에서 Ti의 회전량은 αi=arcos[ui. vi/(│ui││vi│)]이고,
    여기서, ui는 제1 타이머의 제Ti주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터이고, vi는 제1 타이머 제Ti-1주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터이며,
    C단계에서 상기 V와 Va를 획득하는 것은 구체적으로,
    V=(CXn-CXn-1,CYn-CYn-1)/(Tn-Tn-1)=(CXn-CXn-1,CYn-CYn-1)/Δt 이고,
    여기서, (CXn,CYn), (CXn-1,CYn-1)는 각각 입력 설비가 윈도우 오브젝트를 해제할 때 설비 번호가 제일 작은 두 터치 포인트가 제1 타이머의 마지막 한 주기 Tn주기와 Tn-1주기에서 대응하게 형성한 벡터의 중심점 좌표이고, Δt는 제1 타이머의 타이밍 주기이며,
    Va=arcos[un. vn/(|un||vn|)]/(Tn-Tn-1)=arcos[un. vn/(|un||vn|)]/Δt 이며,
    여기서, un는 입력 설비가 윈도우 오브젝트를 해제할 때 제1 타이머의 마지막 한 주기 Tn주기에 대응하는 설비 번호가 제일 작은 두 포인터가 형성한 벡터이고, vn은 Tn-1주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터인 것을 특징으로 하는 윈도우 오브젝트 관성 이동 방법.
  5. 청구항 1 내지 청구항 4 중 어느 한 항에 있어서,
    D단계에서 상기 선속도의 감속도와 각속도의 감속도에 의해 윈도우 프로젝트의 현재 변이량과 회전량을 획득하는 것은,
    제2 타이머 제Ti주기에 대응하는 변이량은 (ΔX,ΔY)=(Vi-Vdec*Tg)*Tg이고,
    제2 타이머 제Ti주기에 대응하는 회전량은 αi=(Vai-Vadec*Tg)*Tg이며,
    여기서, Vdec는 선속도의 감속도이고 Vadec는 각속도의 감속도이며, Vi는 제2 타이머 제Ti주기에 대응하는 선속도의 초속도이고, Vai는 제2 타이머 제Ti주기에 대응하는 각속도의 초속도이며, Tg는 제2 타이머의 타이밍 주기이고, 입력 설비가 윈도우 오브젝트를 해제한 후의 제2 타이머 제1주기에 대응하는 선속도의 초속도와 각속도의 초속도는 C단계에서 획득한 선속도의 초속도와 각속도의 초속도인 것을 특징으로 하는 윈도우 오브젝트 관성 이동 방법.
  6. 윈도우 오브젝트 관성 이동 장치에 있어서,
    입력 설비가 스크린에서 윈도우 오브젝트를 드래그하는 조작을 포획하여 상응하는 제어 정보를 생성하는데 사용되는 터치 포인트 포획 유닛과,
    터치 포인트 포획 유닛이 송신한 제어 정보에 따라 윈도우 오브젝트의 드래그 효과를 실현하고, 입력 설비가 윈도우 오브젝트를 해제할 때 선속도의 초속도, 각속도의 초속도를 획득하고 획득한 선속도의 초속도, 각속도의 초속도를 관성 처리 유닛에 송신하는데 사용되는 드래그 처리 유닛과,
    드래그 처리 유닛이 전송한 선속도의 초속도, 각속도의 초속도를 기반으로 선속도의 감속도와 각속도의 감속도에 의해 관성 이동 효과를 실현하는데 사용되는 관성 처리 유닛을 포함하여 구성되는 것을 특징으로 하는 윈도우 오브젝트 관성 이동 장치.
  7. 청구항 6에 있어서,
    상기 터치 포인트 포획 유닛이 생성한 상기 제어 정보는,
    위치, 시간, 설비 번호, 윈도우 오브젝트를 초기 터치하는 식별자를 포함하는 입력 설비가 윈도우 오브젝트를 초기 터치할 때의 초기 제어 정보와,
    위치, 시간, 설비 번호, 윈도우 오브젝트를 드래그하는 식별자를 포함하는 입력 설비가 윈도우 오브젝트를 이동할 때의 현재 제어 정보와,
    위치, 시간, 설비 번호, 윈도우 오브젝트를 해제하는 식별자를 포함하는 입력 설비가 윈도우 오브젝트를 해제할 때의 해제 제어 정보를 포함하는 것을 특징으로 하는 윈도우 오브젝트 관성 이동 장치.
  8. 청구항 6 또는 청구항 7에 있어서,
    상기 드래그 처리 유닛은,
    터치 포인트 포획 유닛이 송신한 초기 제어 정보를 수신하였을 때, 제1 타이머를 시작하고 상기 제1 타이머의 트리거하에 터치 포인트 포획 유닛이 송신한 현재 제어 정보에 의해 제1 타이머 현재 주기에 대응하는 윈도우 오브젝트의 변이량과 회전량을 획득하고 획득한 변이량과 회전량을 윈도우 오브젝트에 송신하는데 사용되는 제1 이동 처리 유닛과,
    터치 포인트 포획 유닛이 송신한 해제 제어 정보를 수신한 후 선속도의 초속도와 각속도의 초속도를 획득하고 획득한 선속도의 초속도와 각속도의 초속도를 관성 처리 유닛에 송신하는데 사용되는 초속도 처리 유닛을 포함하는 것을 특징으로 하는 윈도우 오브젝트 관성 이동 장치.
  9. 청구항 8에 있어서,
    단일 터치 포인트의 경우,
    상기 제1 이동 처리 유닛이 상기 변이량과 회전량을 획득하는 것은 구체적으로,
    Ti -1에서 Ti의 변이량은 (ΔX, ΔY)=(Xi-Xi -1,Yi-Yi -1)이고,
    여기서, (Xi,Yi)는 제1 타이머 제Ti주기에 대응하는 터치 포인트의 좌표 벡터이고, (Xi -1,Yi -1)는 제1 타이머 제Ti-1주기에 대응하는 터치 포인트의 좌표 벡터이며,
    Ti -1에서 Ti의 회전량은 αi=arcos[ui. vi/(│ui││vi│)]이며,
    여기서, 회전 중심 좌표는 윈도우 오브젝트의 중심좌표 (Cx,Cy)이고, ui는 제1 타이머 제Ti주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 ui=(Xi-Cx,Yi-Cy)이며, vi는 제1 타이머 제Ti -1주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 vi=(Xi -1-Cx,Yi -1-Cy)이고,
    상기 초속도 처리 유닛이 상기 선속도의 초속도 V와 각속도의 초속도 Va를 획득하는 것은 구체적으로,
    V=(Xn-Xn -1,Yn-Yn -1)/(Tn-Tn -1)=(Xn-Xn -1,Yn-Yn -1)/Δt 이고,
    여기서, (Xn,Yn)는 입력 설비가 윈도우 오브젝트를 해제할 때 제1 타이머의 마지막 한 주기 Tn주기에 대응하는 터치 포인트의 좌표 벡터이고, (Xn -1,Yn -1)은 Tn -1주기에 대응하는 터치 포인트의 좌표 벡터이며, Δt는 제1 타이머의 타이밍 주기이고,
    Va=arcos[un. vn/(|un||vn|)]/(Tn-Tn -1)=arcos[un. vn/(|un||vn|)]/Δt 이며,
    여기서, un는 입력 설비가 윈도우 오브젝트를 해제할 때 제1 타이머 제Tn주기에 대응하는 터치 포인트 좌표 (Xn,Yn)과 회전 중심 좌표 (Cx,Cy)사이의 벡터, 즉 un=(Xn-Cx,Yn-Cy)이고, vn는 제1 타이머 제Tn -1주기에 대응하는 터치 포인트 좌표와 회전 중심 좌표 사이의 벡터, 즉 vn=(Xn -1-Cx,Yn -1-Cy)이며,
    멀티 터치 포인트의 경우,
    상기 제1 이동 처리 유닛이 상기 변이량과 회전량을 획득하는 것은 구체적으로,
    Ti -1에서 Ti의 변이량은 (ΔX, ΔY)=(CXi-CXi -1, CYi-CYi -1)이고,
    여기서, (CXi,CYi), (CXi -1, CYi -1)는 각각 설비 번호가 제일 작은 두 터치 포인트가 제1 타이머 제Ti주기와 Ti-1주기에서 대응하는 중심점 좌표이며,
    Ti -1에서 Ti의 회전량은 αi=arcos[ui. vi/(│ui││vi│)]이며,
    여기서, ui는 제1 타이머의 제Ti주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터이고, vi는 제1 타이머 제Ti -1주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터이며,
    상기 초속도 처리 유닛이 상기 선속도의 초속도 V와 각속도의 초속도 Va를 획득하는 것은 구체적으로,
    V=(CXn-CXn -1,CYn-CYn -1)/(Tn-Tn -1)=(CXn-CXn -1,CYn-CYn -1)/Δt 이고,
    여기서, (CXn,CYn), (CXn -1,CYn -1)는 각각 입력 설비가 윈도우 오브젝트를 해제할 때 설비 번호가 제일 작은 두 터치 포인트가 제1 타이머의 마지막 한 주기 Tn주기와 Tn -1주기에 대응하게 형성한 벡터의 중심점 좌표이고, Δt는 제1 타이머의 타이밍 주기이며,
    Va=arcos[un. vn/(|un||vn|)]/(Tn-Tn -1)=arcos[un. vn/(|un||vn|)]/Δt 이며,
    여기서, un는 입력 설비가 윈도우 오브젝트를 해제할 때 제1 타이머의 마지막 한 주기 Tn주기에 대응하는 설비 번호가 제일 작은 두 포인터가 형성한 벡터이고, vn은 Tn -1주기에 대응하는 설비 번호가 제일 작은 두 포인트가 형성한 벡터인 것을 특징으로 하는 윈도우 오브젝트 관성 이동 장치.
  10. 청구항 8에 있어서,
    상기 관성 처리 유닛이 상기 선속도의 감속도와 각속도의 감속도에 의해 윈도우 오브젝트의 현재 변이량과 회전량을 획득하는 것은,
    제2 타이머 제Ti주기에 대응하는 변이량은 (ΔX,ΔY)=(Vi-Vdec*Tg)*Tg이고,
    제2 타이머 제Ti주기에 대응하는 회전량은 αi=(Vai-Vadec*Tg)*Tg이며,
    여기서, Vdec는 선속도의 감속도이고 Vadec는 각속도의 감속도이며, Vi는 제2 타이머 제Ti주기에 대응하는 선속도의 초속도이고 Vai는 제2 타이머 제Ti주기에 대응하는 각속도의 초속도이며, Tg는 제2 타이머의 타이밍 주기이고, 입력 설비가 윈도우 오브젝트를 해제한 후의 제2 타이머 제1주기에 대응하는 선속도의 초속도와 각속도의 초속도는 상기 드래그 처리 유닛이 송신한 선속도의 초속도와 각속도의 초속도인 것을 특징으로 하는 윈도우 오브젝트 관성 이동 장치.
KR1020127026249A 2010-07-07 2011-07-06 윈도우 오브젝트 관성 이동 방법 및 실현 장치 KR101458289B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010223457.0A CN102314297B (zh) 2010-07-07 2010-07-07 一种窗口对象惯性移动方法及实现装置
CN201010223457.0 2010-07-07
PCT/CN2011/076909 WO2012003799A1 (zh) 2010-07-07 2011-07-06 一种窗口对象惯性移动方法及实现装置

Publications (2)

Publication Number Publication Date
KR20130008578A true KR20130008578A (ko) 2013-01-22
KR101458289B1 KR101458289B1 (ko) 2014-11-04

Family

ID=45427514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127026249A KR101458289B1 (ko) 2010-07-07 2011-07-06 윈도우 오브젝트 관성 이동 방법 및 실현 장치

Country Status (10)

Country Link
US (1) US8462132B2 (ko)
EP (1) EP2523086B1 (ko)
JP (1) JP5655142B2 (ko)
KR (1) KR101458289B1 (ko)
CN (1) CN102314297B (ko)
AU (1) AU2011276797B2 (ko)
BR (1) BR112012019980B1 (ko)
MY (1) MY160170A (ko)
RU (1) RU2491610C1 (ko)
WO (1) WO2012003799A1 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9857868B2 (en) 2011-03-19 2018-01-02 The Board Of Trustees Of The Leland Stanford Junior University Method and system for ergonomic touch-free interface
US8840466B2 (en) 2011-04-25 2014-09-23 Aquifi, Inc. Method and system to create three-dimensional mapping in a two-dimensional game
US8854433B1 (en) 2012-02-03 2014-10-07 Aquifi, Inc. Method and system enabling natural user interface gestures with an electronic system
CN103365583B (zh) * 2012-04-06 2016-06-22 宏碁股份有限公司 电子装置及其解除锁定的方法
CN103425706B (zh) * 2012-05-25 2016-03-23 腾讯科技(深圳)有限公司 在内嵌浮动框架元素的网页中实现元素拖动的方法及装置
US9098739B2 (en) 2012-06-25 2015-08-04 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching
US9111135B2 (en) 2012-06-25 2015-08-18 Aquifi, Inc. Systems and methods for tracking human hands using parts based template matching using corresponding pixels in bounded regions of a sequence of frames that are a specified distance interval from a reference camera
US9268424B2 (en) * 2012-07-18 2016-02-23 Sony Corporation Mobile client device, operation method, recording medium, and operation system
CN102833183B (zh) * 2012-08-16 2017-02-15 上海量明科技发展有限公司 移动即时通信交互界面的方法、客户端及系统
US8836768B1 (en) 2012-09-04 2014-09-16 Aquifi, Inc. Method and system enabling natural user interface gestures with user wearable glasses
CN103677503B (zh) * 2012-09-14 2015-10-21 腾讯科技(深圳)有限公司 界面组件的触发运行方法和装置
CN102929535B (zh) * 2012-10-09 2018-05-01 中兴通讯股份有限公司 一种悬浮窗位置控制的方法及终端
US9092665B2 (en) 2013-01-30 2015-07-28 Aquifi, Inc Systems and methods for initializing motion tracking of human hands
US9129155B2 (en) 2013-01-30 2015-09-08 Aquifi, Inc. Systems and methods for initializing motion tracking of human hands using template matching within bounded regions determined using a depth map
US9298266B2 (en) 2013-04-02 2016-03-29 Aquifi, Inc. Systems and methods for implementing three-dimensional (3D) gesture based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
CN103246476B (zh) * 2013-04-27 2016-12-28 华为技术有限公司 一种屏幕内容的旋转方法、装置及终端设备
CN104182116A (zh) * 2013-05-23 2014-12-03 中兴通讯股份有限公司 视图处理方法和视图处理终端
US9798388B1 (en) 2013-07-31 2017-10-24 Aquifi, Inc. Vibrotactile system to augment 3D input systems
KR102203810B1 (ko) * 2013-10-01 2021-01-15 삼성전자주식회사 사용자 입력에 대응되는 이벤트를 이용한 유저 인터페이싱 장치 및 방법
CN103595972A (zh) * 2013-11-28 2014-02-19 深圳英飞拓科技股份有限公司 远程调焦设备实时浏览控制方法及系统
JP5924555B2 (ja) * 2014-01-06 2016-05-25 コニカミノルタ株式会社 オブジェクトの停止位置制御方法、操作表示装置およびプログラム
US9507417B2 (en) 2014-01-07 2016-11-29 Aquifi, Inc. Systems and methods for implementing head tracking based graphical user interfaces (GUI) that incorporate gesture reactive interface objects
US9619105B1 (en) 2014-01-30 2017-04-11 Aquifi, Inc. Systems and methods for gesture based interaction with viewpoint dependent user interfaces
KR102205283B1 (ko) 2014-02-12 2021-01-20 삼성전자주식회사 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
CN104866166A (zh) * 2014-02-21 2015-08-26 联想(北京)有限公司 信息处理方法和电子设备
CN105022567B (zh) * 2014-04-30 2018-06-26 惠州市德赛西威汽车电子股份有限公司 一种通过鼠标拖拽滑动切换界面的方法
DE112014006739T5 (de) 2014-06-11 2017-05-11 Mitsubishi Electric Corporation Anzeigesteuersystem und Anzeigesteuerverfahren
CN104636027A (zh) * 2014-08-22 2015-05-20 康佳集团股份有限公司 一种基于智能电视实现桌面图标整理的方法及系统
CN105045521A (zh) * 2015-08-31 2015-11-11 网易(杭州)网络有限公司 一种触摸屏响应方法及装置
CN105975122A (zh) * 2016-04-27 2016-09-28 集怡嘉数码科技(深圳)有限公司 一种触摸轨迹补偿的方法、装置及终端设备
JP6201004B1 (ja) * 2016-06-01 2017-09-20 株式会社ゲオインタラクティブ ユーザインターフェースプログラム
CN106325713B (zh) * 2016-08-17 2019-12-03 厦门印天电子科技有限公司 一种白板软件滑动对象的惯性移动方法
CN108803926A (zh) * 2018-05-29 2018-11-13 广东工业大学 一种基于触摸点的位移矢量和方向矢量的控制方法
CN110658971B (zh) * 2019-08-26 2021-04-23 维沃移动通信有限公司 一种截屏方法及终端设备
CN111083287B (zh) * 2019-12-16 2020-12-25 深圳集智数字科技有限公司 一种可视化列表排序方法及装置
CN111026313B (zh) * 2019-12-16 2021-01-22 深圳介子云图空间科技有限公司 一种可视化列表排序方法及装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2827612B2 (ja) * 1991-10-07 1998-11-25 富士通株式会社 タッチパネル装置およびタッチパネル装置におけるオブジェクトの表示方法。
JP3593827B2 (ja) * 1996-11-26 2004-11-24 ソニー株式会社 画面のスクロール制御装置及びスクロール制御方法
US6539101B1 (en) * 1998-04-07 2003-03-25 Gerald R. Black Method for identity verification
US7469381B2 (en) * 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
EP1208419A2 (en) * 1999-10-20 2002-05-29 Koninklijke Philips Electronics N.V. Information processing device
JP2002013532A (ja) * 2000-06-28 2002-01-18 Koyo Seiko Co Ltd 磁気軸受制御装置
US7084854B1 (en) * 2000-09-28 2006-08-01 Immersion Corporation Actuator for providing tactile sensations and device for directional tactile sensations
JP3918700B2 (ja) * 2002-09-26 2007-05-23 株式会社デンソー ナビゲーション装置
GB0301360D0 (en) * 2003-01-21 2003-02-19 Scratch Ltd Golf stroke training device
DE202005021492U1 (de) * 2004-07-30 2008-05-08 Apple Inc., Cupertino Elektronische Vorrichtung mit berührungsempfindlicher Eingabeeinrichtung
US7728821B2 (en) * 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
EP1805585B1 (en) * 2004-10-08 2017-08-16 Immersion Corporation Haptic feedback for button and scrolling action simulation in touch input devices
US7683883B2 (en) * 2004-11-02 2010-03-23 Pierre Touma 3D mouse and game controller based on spherical coordinates system and system for use
JP3888382B2 (ja) * 2005-07-05 2007-02-28 松下電器産業株式会社 データ処理装置
US7834847B2 (en) * 2005-12-01 2010-11-16 Navisense Method and system for activating a touchless control
EP1804154A3 (en) * 2005-12-27 2012-08-08 Poston Timothy Computer input device enabling three degrees of freedom and related input and feedback methods
KR100877829B1 (ko) 2006-03-21 2009-01-12 엘지전자 주식회사 스크롤링 기능을 갖는 단말기 및 그 스크롤링 방법
US9395905B2 (en) * 2006-04-05 2016-07-19 Synaptics Incorporated Graphical scroll wheel
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
JP4973245B2 (ja) * 2007-03-08 2012-07-11 富士ゼロックス株式会社 表示装置及びプログラム
US7832126B2 (en) * 2007-05-17 2010-11-16 Siemens Industry, Inc. Systems, devices, and/or methods regarding excavating
US8432365B2 (en) * 2007-08-30 2013-04-30 Lg Electronics Inc. Apparatus and method for providing feedback for three-dimensional touchscreen
EP2060970A1 (en) * 2007-11-12 2009-05-20 Research In Motion Limited User interface for touchscreen device
US20090262137A1 (en) * 2008-01-10 2009-10-22 Walker Jay S Systems and methods for presenting prediction in a broadcast
US20110102570A1 (en) * 2008-04-14 2011-05-05 Saar Wilf Vision based pointing device emulation
JP2009277117A (ja) * 2008-05-16 2009-11-26 Kenwood Corp ナビゲーション装置、プログラム、及び地図スクロール方法
KR100914438B1 (ko) * 2008-05-20 2009-08-28 엘지전자 주식회사 터치 디바이스를 구비한 전자 기기와 그 기능 실행 방법
US8477103B2 (en) * 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
JP5267990B2 (ja) * 2009-02-26 2013-08-21 Necインフロンティア株式会社 電子ジャーナルデータ閲覧システム、電子ジャーナルデータ閲覧方法、そのプログラムおよび記録媒体
JP5568970B2 (ja) * 2009-11-30 2014-08-13 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
JP5381691B2 (ja) * 2009-12-25 2014-01-08 アイシン・エィ・ダブリュ株式会社 地図表示装置、地図表示方法及びプログラム
CN101751195A (zh) * 2009-12-30 2010-06-23 中兴通讯股份有限公司 一种电阻式触摸屏上的移动事件控制方法及装置
JP5230684B2 (ja) * 2010-05-13 2013-07-10 パナソニック株式会社 電子機器、表示方法、及びプログラム
JP5800473B2 (ja) * 2010-06-11 2015-10-28 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP5241038B2 (ja) * 2010-07-01 2013-07-17 パナソニック株式会社 電子機器、表示制御方法、及びプログラム

Also Published As

Publication number Publication date
BR112012019980B1 (pt) 2021-01-26
AU2011276797A1 (en) 2012-08-23
WO2012003799A1 (zh) 2012-01-12
MY160170A (en) 2017-02-28
EP2523086B1 (en) 2017-06-21
CN102314297A (zh) 2012-01-11
US20120306796A1 (en) 2012-12-06
US8462132B2 (en) 2013-06-11
CN102314297B (zh) 2016-04-13
BR112012019980A2 (pt) 2020-09-24
KR101458289B1 (ko) 2014-11-04
RU2491610C1 (ru) 2013-08-27
EP2523086A1 (en) 2012-11-14
EP2523086A4 (en) 2014-12-24
JP2013533550A (ja) 2013-08-22
JP5655142B2 (ja) 2015-01-14
AU2011276797B2 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
KR20130008578A (ko) 윈도우 오브젝트 관성 이동 방법 및 실현 장치
US11023116B2 (en) Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
AU2022203278B2 (en) Recording and broadcasting application visual output
TWI614666B (zh) 用於顯示及管理縮小尺寸通知介面的方法及電子裝置
EP2939095B1 (en) Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
EP2610726B1 (en) Drag and drop operation in a graphical user interface with highlight of target objects
CN105045520B (zh) 一种触摸屏响应方法及装置
WO2016200603A1 (en) Video recording and replay
CN103823630A (zh) 一种虚拟鼠标
Zhang et al. Ren
WO2015169010A1 (zh) 一种基于触摸屏的元素删除方法及装置
CN105511672B (zh) 手持式装置模拟虚拟指向杆的方法
CN105045521A (zh) 一种触摸屏响应方法及装置
CN106843476B (zh) 一种基于穿戴式设备控制终端光标的方法及穿戴式设备
Takács et al. Creating, composing, and recognizing multisensor gestures in mobile devices
Wang et al. VirtualTouch: A finger glove to simulate touch screen commands
KR101182639B1 (ko) 입력 장치
CN107273009A (zh) 一种移动终端快速截屏的方法及系统

Legal Events

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