RU2491610C1 - Способ и устройство для инерционного перемещения оконного объекта - Google Patents
Способ и устройство для инерционного перемещения оконного объекта Download PDFInfo
- Publication number
- RU2491610C1 RU2491610C1 RU2012134991/08A RU2012134991A RU2491610C1 RU 2491610 C1 RU2491610 C1 RU 2491610C1 RU 2012134991/08 A RU2012134991/08 A RU 2012134991/08A RU 2012134991 A RU2012134991 A RU 2012134991A RU 2491610 C1 RU2491610 C1 RU 2491610C1
- Authority
- RU
- Russia
- Prior art keywords
- timer
- period
- window object
- initial
- rotation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several 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
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)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
Изобретение относится к технологии разработки в области программного операционного интерфейса устройства с сенсорным экраном. Технический результат заключается в реализации эффекта инерционного перемещения оконного объекта на основании линейной скорости и угловой скорости, что способствует облегчению выполнения сенсорных операций, упрощая использование программного обеспечения конечного устройства и улучшая восприятие пользователя. Такой результат достигается за счет того, что когда устройство ввода отпускает перетаскиваемый оконный объект, получают начальную линейную скорость и начальную угловую скорость и затем используют снижение линейной скорости и снижение угловой скорости для получения величины смещения и величины поворота, соответствующих каждому периоду обработки. После отпускания кнопкой мыши или убирания пальца с сенсорного экрана моделируется эффект инерционного перемещения оконного объекта. 2 н. и 8 з.п. ф-лы, 4 ил.
Description
Область техники, к которой относится изобретение
Настоящее изобретение относится к технологии разработки в области программного операционного интерфейса устройства с сенсорным экраном, в частности к способу и устройству для осуществления инерционного перемещения оконного объекта.
Уровень техники
В настоящее время программы мгновенной отправки сообщений через Интернет (Интернет-мессенджеры) используются большинством пользователей Интернета и становятся важным программным инструментом для пользователей. Программы мгновенной отправки сообщений широко применяются пользователями как для работы, так и для досуга и развлечений. Таким образом, имеется значительная потребность в программах мгновенной отправки сообщений, которые обладают простотой при использовании, стабильностью, безопасностью и другими аспектами.
По мере развития технологий постепенно становятся популярны такие сенсорные продукты, как телефон iPhone. Разработка с использованием инерции для получения ощущения материальности постепенно становится основным направлением.
В существующих разработках по использованию инерции для получения ощущения материальности пользователь может осуществлять инерционную прокрутку содержимого в списках и веб-страницах с линейной скоростью путем линейных операций касания, но не может осуществлять процесс с инерционным эффектом на основе «угловой скорости» при выполнении поворота.
Раскрытие изобретения
С учетом вышесказанного настоящее изобретение в основном имеет цель обеспечения способа и устройства для осуществления инерционного перемещения оконного объекта с целью реализации эффекта инерционного перемещения оконных объектов на основе линейной скорости и угловой скорости.
Для достижения цели техническое решение настоящего изобретения выполнено следующим образом.
Способ инерционного перемещения оконного объекта содержит:
A: контроль начальной операции касания устройства ввода, запись координат начального касания и времени касания и запуск первого таймера;
B: в процессе перетаскивания оконного объекта первый таймер периодически инициирует событие получения величины смещения и величины поворота, которые создаются на экране пользователем с помощью устройства ввода, по отношению к предыдущему моменту времени, и полученные величина смещения и величина поворота направляются в оконный объект;
C: когда пользователь отпускает оконный объект, получение начальной линейной скорости и начальной угловой скорости оконного объекта и запуск второго таймера;
D: на основе начальной линейной скорости и начальной угловой скорости второй таймер периодически инициирует событие получения текущих величины смещения и величины поворота оконного объекта в соответствии со снижением линейной скорости и снижением угловой скорости, и полученные текущие величина смещения и величина поворота направляются в оконный объект;
E: когда начальная линейная скорость и начальная угловая скорость, соответствующие текущему периоду второго таймера, меньше или равны нулю, процесс инерционного перемещения оконного объекта прекращается.
Кроме того, в вышеописанном способе пользователь может перетаскивать оконный объект с помощью устройства ввода посредством одной или множества точек касания; причем в случае множества точек касания величина смещения и величина поворота могут быть получены на основе двух точек касания с наименьшими номерами устройства.
Соответственно, настоящее изобретение также предлагает устройство для инерционного перемещения оконного объекта, содержащее
модуль захвата точки касания, выполненный с возможностью захвата операции перетаскивания оконного объекта на экране посредством устройства ввода и формирования соответствующей информации управления;
модуль обработки перетаскивания, выполненный с возможностью реализации эффекта перетаскивания оконного объекта в соответствии с информацией управления, направленной из модуля захвата точки касания, получения начальной линейной скорости и начальной угловой скорости, когда устройство ввода отпускает оконный объект, и направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции;
модуль обработки инерции, выполненный с возможностью реализации эффекта инерционного перемещения на основе начальной линейной скорости и начальной угловой скорости, направленных из модуля обработки перетаскивания, в соответствии со снижением линейной скорости и снижением угловой скорости.
Кроме того, информация управления, формируемая модулем захвата точки касания, может содержать
начальную информацию управления, когда устройство ввода в начале касается оконного объекта, содержащую положение, время, номер устройства и идентификатор, отражающий начальное касание оконного объекта;
текущую информацию управления, когда устройство ввода перемещает оконный объект, содержащую положение, время, номер устройства и идентификатор, отражающий перетаскивание оконного объекта;
информацию управления для отпускания, когда устройство ввода отпускает оконный объект, содержащую положение, время, номер устройства и идентификатор, отражающий отпускание оконного объекта.
Кроме того, модуль обработки смещения может содержать
первый модуль обработки перемещения, выполненный с возможностью запуска первого таймера при приеме начальной информации управления, направленной из модуля захвата точки касания, с возможностью получения, в соответствии с текущей информацией управления, направленной из модуля захвата точки касания, величины смещения и величины поворота оконного объекта, соответствующих текущему периоду первого таймера при инициировании первого таймера, и с возможностью направления полученных величины смещения и величины поворота в оконный объект; и
модуль обработки начальной скорости, выполненный с возможностью получения начальной линейной скорости и начальной угловой скорости после приема информации управления для отпускания, направленной из модуля захвата точки касания, и с возможностью направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции.
В случае применения технического решения, представленного настоящим описанием, реализуется эффект инерционного перемещения оконного объекта на основе линейной скорости и углового ускорения, тем самым упрощая функционирование; с помощью интерфейса и выполнения операций для получения ощущения материальности увеличивается простота использования программного обеспечения конечного устройства, а также улучшается восприятие пользователя.
Краткое описание чертежей
На фиг.1 показана структурная диаграмма устройства для осуществления эффекта инерционного движения оконного объекта в соответствии с настоящим изобретением.
На фиг.2 показана векторная диаграмма получения величины смещения и величины поворота при условии одной точки касания.
На фиг.3 показана векторная диаграмма получения величины смещения и величины поворота при условии множества точек касания.
На фиг.4 показана диаграмма способа перемещения оконного объекта в соответствии с настоящим изобретением.
Осуществление изобретения
Основная идея настоящего изобретения заключается в следующем: выполнение операции по обеспечению ощущения материальности процессов, в которых при перемещении пользователем оконного объекта с помощью мыши или пальцем, после окончания пользователем операции перетаскивания, осуществляется реализация инерционного перемещения перемещаемого объекта с помощью модуля обработки инерции в соответствии с линейной скоростью и угловой скоростью при отпускании перетаскивающей кнопки мыши или поднятии пальца.
Перемещаемый объект в настоящем описании означает экземпляр оконного объекта, обладающий возможностью отвечать на операцию перетаскивания мышью или пальцем на сенсорном экране; оконный объект имеет свои собственные интерфейсный атрибут, атрибут способа и атрибут данных и может отвечать на инициированное событие в оконном интерфейсе. Например, беря в качестве примера операционную систему Windows, оконный объект может быть окном для отображения контактной информации и оконный объект имеет функцию событий, отвечающую на операции щелчка мышью и перемещения, совершаемые пользователем, и имеет такие атрибуты интерфейса, как ширина, высота, угол поворота при принятии центра окна в качестве центра окружности, горизонтальная координата (CenterX) центра окна и вертикальная координата (CenterY) центра окна.
В целях удобства в последующем описании действия происходят по следующему сценарию: пользователь перемещает своим пальцем или мышью экземпляр оконного объекта (далее в целях удобства коротко называемый оконным объектом), который представляет собой контакт программы мгновенной отправки сообщений; при перемещении оконного объекта с определенной скоростью пользователь внезапно поднимает свой палец или отпускает кнопку мыши, и затем оконный объект продолжает перемещение и поворот вдоль направления первоначального перемещения под действием инерции, и медленно переходит в неподвижное положение под действием силы трения (снижение скорости).
Для достижения более понятного описания технического решения и преимуществ настоящего изобретения, настоящее описание детализировано со ссылками на сопровождающие чертежи и варианты осуществления.
На фиг.1 показана структурная схема устройства для осуществления эффекта инерционного движения оконного объекта в соответствии с настоящим изобретением; устройство содержит модуль 101 захвата точки касания, модуль 102 обработки перетаскивания и модуль 103 обработки инерции.
Модуль 101 захвата точки касания выполнен с возможностью осуществления захвата операции перетаскивания оконного объекта на экране посредством устройства ввода, и формирования соответствующей информации управления.
Устройство ввода включает сенсорный экран, мышь, WordPad и тому подобные устройства, которые могут осуществлять перемещение окна.
Информация управления включает: (1) начальную информацию управления, когда устройство ввода в начале касается оконного объекта, содержащую положение, время, номер устройства, идентификатор, отражающий начальное касание оконного объекта и т.д.; (2) текущую информацию управления, когда устройство ввода перемещает оконный объект, содержащую положение, время, номер устройства идентификатор, отражающий перетаскивание оконного объекта и т.д.; (3) информацию управления для отпускания, когда устройство ввода отпускает оконный объект, содержащую положение, время, номер устройства, идентификатор, отражающий отпускание оконного объекта и т.д.
Модуль 101 захвата точки касания представляет собой модуль интерфейса между устройством в соответствии с настоящим изобретением и операционной системой; модуль контролирует операции операционной системы с оконными объектами в режиме реального времени, получает информацию управления, формируемую устройством ввода, и направляет информацию управления в модуль обработки перетаскивания, который реализует эффект перетаскивания оконного объекта.
Например, когда мышь нажата и перемещается, или когда палец осуществляет нажатие и перемещается, модуль 101 захвата точки касания захватывает событие нажатия мыши или касания пальца, и направляет начальную информацию управления в модуль 102 обработки перетаскивания, причем начальная информация управления включает: координаты положения точки касания, текущее время, номер устройства, идентификатор, отражающий то, что нажата левая кнопка мыши или произошло нажатие пальцем для подготовки перетаскивания оконного объекта и т.д. Номер устройства используется для различения различных устройств ввода; в случае многоточечного касания, например, когда пользователь использует два пальца для касания оконного объекта, номера устройства, соответствующие пальцам, которые пришли в соприкосновение с сенсорным экраном в разное время, являются разными.
Модуль 102 обработки перетаскивания выполнен с возможностью реализации эффекта перетаскивания оконного объекта в соответствии с информацией управления, направленной из модуля 101 захвата точки касания.
Модуль 102 обработки перетаскивания содержит первый модуль обработки перемещения и модуль обработки начальной скорости.
Первый модуль обработки перемещения выполнен с возможностью запуска первого таймера Таймер1 при приеме начальной информации управления, направленной из модуля 101 захвата точки касания, с возможностью получения, в соответствии с текущей информацией управления, направленной из модуля 101 захвата точки касания, величины смещения и величины поворота оконного объекта, соответствующих текущему периоду таймера Таймер1, при инициировании таймера Таймер1, и с возможностью направления полученных величины смещения и величины поворота в оконный объект.
Модуль обработки начальной скорости выполнен с возможностью получения начальной линейной скорости и начальной угловой скорости после приема информации управления для отпускания, направленной из модуля 101 захвата точки касания, и с возможностью направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции.
Способ реализации эффекта перетаскивания оконного объекта следующий
(1) После приема начальной информации управления, направленной из модуля 101 захвата точки касания, модуль 102 обработки перетаскивания записывает информацию о координатах (X0, Y0) положения начальной точки касания, время T0 начального касания и номер устройства.
(2) При перемещении мыши после нажатия или перемещении пальца после нажатия модуль 102 обработки перетаскивания записывает положение (Xi, Yi) мыши или пальца, текущее время Ti и номер устройства через каждый период Δt, получает величину смещения и величину поворота по отношению к предыдущему моменту времени записи и направляет относительную величину перемещения и относительную величину поворота в оконный объект; затем оконный объект устанавливает свое собственное значение атрибута для реализации эффекта перетаскивания.
Например, атрибут координат центра оконного объекта представляет собой (CenterX, CenterY), а атрибут угла поворота представляет собой Angle; когда текущие величина смещения и величина поворота, которые получены оконным объектом за период Ti равны (ΔX, ΔY) и α, соответственно, оконный объект устанавливает свои собственные значение атрибута координат центра и значение атрибута угла поворота следующими:
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α
Оконный объект запускает функцию перерисовки своего интерфейса путем установки значения атрибута координат центра и значения атрибута угла поворота так, чтобы оконный объект отображался в положении с новыми координатами и с новым углом поворота.
(3) При отпускании устройством ввода оконного объекта, то есть когда отпускается кнопка мыши или поднимается палец, модуль 101 захвата точки касания направляет информацию управления для отпускания в модуль 102 обработки перетаскивания; модуль 102 обработки перетаскивания получает начальную линейную скорость и начальную угловую скорость в соответствии с величиной смещения и величиной поворота, которые получены во время последнего периода таймера Таймер1 перед отпусканием.
При получении величины смещения, величины поворота, начальной линейной скорости и начальной угловой скорости возможны два случая, т.е. случай одноточечного касания и случай многоточечного касания.
(1) Как показано на фиг.2 в случае одноточечного касания способ получения величины смещения, величины поворота, начальной линейной скорости и начальной угловой скорости включает в себя следующее:
величина смещения между периодами Ti-1 и Ti равна: (ΔX, ΔY)=(Xi-Xi-1, Yi-Yi-1),
где (Xi, Yi) является вектором координат точки касания, соответствующей периоду Ti таймера Таймер 1, a (Xi-1, Yi-1) является вектором координат точки касания, соответствующей периоду Ti-1 таймера Таймер1;
величина поворота между периодами Ti-1 и Ti равна: α=arccos[uivi/(|ui||vi|)];
причем координаты центра поворота являются координатами (Cx, Cy) центра оконного объекта; ui является вектором между координатами точки касания, соответствующей периоду Ti таймера Таймер1 и координатами центра поворота, то есть ui=(Xi-Cx, Yi-Cy); vi является вектором между координатами точки касания, соответствующей периоду Ti-1 таймера Таймер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) является вектором координат точки касания, соответствующей последнему периоду Tn таймера Таймер1, когда устройство ввода отпускает оконный объект; (Xn-1, Yn-1) является вектором координат точки касания, соответствующей периоду Tn-1;
если Δt устанавливается как стандартная единица времени, то вышеуказанное выражение может быть упрощено в следующем виде:
V=(Xn-Xn-1, Yn-Yn-1).
Способ получения начальной угловой скорости Va при отпускании устройством ввода оконного объекта представляет собой
Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt,
где un является вектором между координатами (Xn, Yn) точки касания, соответствующей периоду Tn таймера Таймер1 и координатами (СХ, СУ) центра поворота, то есть un=(Xn-Cx, Yn-Cy), a vn является вектором между координатами точки касания, соответствующей периоду Tn-1 таймера Таймер 1 и координатами центра поворота, то есть vn=(Xn-1-Cx, Yn-1-Cy);
если Δt устанавливается как стандартная единица времени, то вышеуказанное выражение может быть упрощено в следующем виде:
Va=arccos[un·vn/(|un||vn|)].
(2) Как показано на фиг.3, в случае многоточечного касания только две точки касания с наименьшими номерами устройства принимаются к рассмотрению, и способ получения величины смещения, величины поворота, начальной линейной скорости и начальной угловой скорости включает следующее:
В предположении, что координаты двух точек касания с наименьшими номерами устройства, соответствующие периоду Ti-1 таймера Таймер 1, равны (Xi-1,d0, Yi-1,d0) и (Xi-1,d1, Yi-1,d1), а координаты, соответствующие периоду Ti, равны (Xid0, 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 равна:
(ΔХ, ΔY)=(CXi-CXi-1, CYi-CYi-1);
Когда устройство ввода отпускает оконный объект, начальная линейная скорость, соответствующая периоду Tn таймера Таймер 1, равна:
V=(CXn-CXn-1, CYn-CYn-1)/(Tn-Tn-1)=(CXn-CXn-1, CYn-CYn-1)/Δt,
где (CXn, CYn) и (CXn-1, CYn-1) являются координатами центров векторов, образуемых двумя точками касания с наименьшими номерами устройства, соответственно, во время последнего периода Tn и периода Tn-1 таймера Таймер1, когда устройство ввода отпускает оконный объект; Δt является периодом отсчета времени таймера Таймер1.
Если Δt устанавливается как стандартная единица времени, то вышеуказанное выражение может быть упрощено в следующем виде:
V=(CXn-CXn-1, CYn-CYn-1).
В случае многоточечного касания при получении величины поворота только две точки касания с наименьшими номерами устройства принимаются во внимание, причем точка пересечения линии, соединяющей две точки в течение периода Ti-1, с линией, соединяющей две точки касания в течение периода Ti служит в качестве центра для получения величины поворота. Координаты двух точек касания, соответствующих периоду Ti, равны (Xi,d0, Yi,d0) и (Xi,d1, Yi,d1), а координаты двух точек касания, соответствующих периоду Ti-1, равны (Xi,d0, Yi,d0) и (Xi,d1, Yi,d1).
Координата центра поворота для получения величины поворота равна:
(Cx, Cy)=((Xi,d0+Xi,d1)/2, (Yi,d0+Yi,d1)/2).
Величина поворота между периодами Ti-1 и Ti равна: αi=arccos[ui·vi/(|ui||vi|)],
где ui является вектором (Xi,d0-Xi,d1) и (Yi,d0-Yi,d1), образуемым двумя точками касания с наименьшими номерами устройства, соответствующим периоду Ti таймера Таймер1, vi является вектором (Xi-1,d0-Xi-1,d1, Yi-1,d0-Yi-1,d1), образуемым двумя точками касания с наименьшими номерами устройства, соответствующим периоду Ti-1 таймера Таймер1.
Когда устройство ввода отпускает оконный объект, начальная угловая скорость Va, соответствующая величине поворота для периода Tn таймера Таймер1, равна:
Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt,
где un является вектором (Xn,d0-Xn,d1, Yn,d0-Yn,d1), образуемым двумя точками касания с наименьшими номерами устройства, соответствующими последнему периоду Tn таймера Таймер1, когда устройство ввода отпускает оконный объект, a vn является вектором (Xn-1,d0-Xn-1,d1, Yn-1,d0-Ynl,d1), образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Tn-1.
Если Δt устанавливается как стандартная единица времени, то вышеуказанное выражение может быть упрощено в следующем виде:
Va=arccos[un·vn/(|un||vn|)].
Модуль 103 обработки инерции выполнен с возможностью реализации эффекта инерционного перемещения после отпускания устройством ввода оконного объекта, то есть после того, как пользователь закончил операцию перетаскивания. После приема информации управления для отпускания, направленной из модуля 102 обработки перетаскивания, модуль 103 обработки инерции запускает второй таймер Таймер2 для инициирования функции таймера через каждый период времени Tg, получает, в соответствии с начальной линейной скоростью и начальной угловой скоростью, соответствующих текущему периоду таймера Таймер 2, величину смещения и величину поворота в течение текущего периода функции таймера и затем направляет полученные величину смещения и величину поворота в течение текущего периода в оконный объект; затем оконный объект устанавливает свои собственные атрибуты так, чтобы осуществить эффект инерционного перемещения.
Способ получения начальной линейной скорости, соответствующей периоду Ti таймера Таймер2, содержит:
Vi=Vi-1-Vdec*Tg,
где Vdec является снижением линейной скорости и может быть заранее установлено пользователем или системой в соответствии с фактической ситуацией, что эквивалентно регулированию коэффициента трения линейной скорости; в первом периоде таймера Таймер2 после того, как устройство ввода отпустит оконный объект, V1 является начальной линейной скоростью V, направленной из модуля 102 обработки перетаскивания; Tg является периодом таймера Таймер 2 и может быть заранее установлено пользователем или системой.
Способ получения начальной угловой скорости, соответствующей периоду Ti таймера Таймер 2, содержит:
Vai=Vai-1-Vadec*Tg,
где Vadec является снижением угловой скорости и может быть заранее установлено пользователем или системой в соответствии с фактической ситуацией, что эквивалентно регулированию коэффициента трения угловой скорости; в первом периоде таймера Таймер2 после того, как устройство ввода отпустит оконный объект, Va1 является начальной угловой скоростью Va, направленной из модуля 102 обработки перетаскивания.
Величина смещения, соответствующая периоду Ti таймера Таймер2, составляет:
(ΔX, ΔY)=(Vi-Vdec*Tg)*Tg=(Vi·X-Vdec*Tg, Vi·Y-Vdec*Tg)*Tg,
где Vi является вектором начальной линейной скорости, соответствующей периоду Ti таймера Таймер2, а Tg является периодом отсчета таймера Таймер2.
Величина поворота, соответствующая периоду Т таймера Таймер2, составляет:
αi=(Vai-Vadec*Tg)*Tg,
где Vai является начальной угловой скоростью, соответствующей периоду Ti таймера Таймер2.
Если Tg равен Δt и Δt устанавливается как стандартная единица времени, то вышеуказанные выражения могут быть упрощены в следующем виде:
(ΔX, ΔY)=(Vi·X-Vdec, Vi·Y-Vdec),
αi=(Vai-Vadec),
то есть, если Tg=Δt служит в качестве единицы времени выборки скорости, обработки инерции и обновления положения оконного объекта, то тогда объемы вычислений могут быть значительно снижены.
Когда величина смещения и величина поворота инерциального перемещения оконного объекта в течение текущего периода, полученные с помощью вышеописанных уравнений, становятся меньше или равны нулю, то инерционный процесс завершается.
После приема величины смещения и величины поворота, направленных из модуля 103 обработки инерции, оконный объект устанавливает собственные значение атрибута координат центра и значение атрибута угла поворота следующими:
CenterX=CenterX+ΔX,
CenterY=CenterY+ΔY,
Angle=Angle+α.
Установкой значения атрибута координат центра и значения атрибута угла поворота инициируется функция перерисовки интерфейса так, чтобы оконный объект был показан в положении с новыми координатами и с новым углом поворота, тем самым реализуя эффект инерционного перемещения.
На фиг.4 показана диаграмма способа перемещения оконного объекта в соответствии с настоящим изобретением, содержащего следующие шаги.
Шаг 401: контроль начальную операцию касания устройства ввода и получение начальной информации управления.
На этом шаге начальная операция касания устройства ввода контролируется модулем захвата точки касания и модуль захвата точки касания направляет начальную информацию управления в модуль обработки перетаскивания после определения начальной операции касания.
Устройство ввода представляет собой мышку, сенсорный экран, wordpad и тому подобные устройства, которые обладают функцией перемещения оконного объекта. Если устройства ввода различаются, то тогда формируемые системные сообщения различны. Например, системное сообщение, указывающее, что мышь инициировала перемещение оконного объекта, может представлять собой сообщение, что нажата левая кнопка мыши и мышь перемещается; системное сообщение, указывающее на то, что сенсорный экран инициировал перемещение оконного объекта, может представлять собой сообщение, что осуществлено нажатие и перемещение пальца.
Начальная операция касания относится к операции щелчка мышью, когда пользователь в начале нажимает левую кнопку мыши, или палец в начале нажимает на сенсорный экран для перемещения оконного объекта.
Начальная информация управления содержит положение начальной точки касания, время, номер устройства, код кнопки и т.д.
Шаг 402: запись начальной информации управления, запуск первого таймера Таймер1, установка периода Δt таймера, где Δt заранее установлено пользователем или системой в соответствии с фактической ситуацией.
После приема начальной информации управления, направленной из модуля захвата точки касания, модуль обработки перетаскивания записывает начальную информацию управления и запускает таймер Таймер1. Таймер Таймер1 используется для периодического инициирования функции события для расчета величины смещения (ΔX, ΔY) и величины поворота (α) оконного объекта так, чтобы получить величину смещения и величину поворота, сформированные на экране устройством ввода за текущий период.
Шаг 403: когда период отсчета таймера Таймер1 закончился, получение текущей информации управления и получение величины смещения и величины поворота, сформированных на экране пользователем посредством устройства ввода за текущий период.
Предварительным условием для выполнения этого шага является то, что пользователь продолжает операцию нажатия на устройстве ввода и останавливает или перетаскивает оконный объект; модуль захвата точки касания преобразует контролируемое системное сообщение, сформированное устройством ввода, в текущую информацию управления (включающую положение, время, номер устройства и т.д.) и непрерывным образом направляет текущую информацию в модуль обработки перетаскивания; модуль обработки перетаскивания обновляет локально кешированную текущую информацию управления в режиме реального времени и записывает текущую информацию управления при окончании каждого периода отсчета таймера Таймер1 для формирования истории информации управления; история может отражать траекторию, которая также может называться жестом, движения устройства ввода на экране, и затем происходит получение величины смещения и величины поворота оконного объекта, соответствующих текущему периоду таймера Таймер1.
Шаг 404: оконный объект корректирует свои положение и угол поворота на экране в соответствии с полученными величиной смещения и величиной поворота.
После получения величины смещения и величины поворота в текущий момент времени модуль обработки перетаскивания направляет их в оконный объект; оконный объект инициирует процедуру перерисовки изображения путем установки своих координат центра и значения атрибута угла поворота по отношению к координатам центра так, чтобы осуществить эффект перетаскивания.
Шаг 405: определение, не отпустило ли устройство ввода оконный объект, то есть не отпустил ли пользователь кнопку мыши или не поднял ли свой палец для окончания операции перетаскивания; если это так, то осуществляют шаг 406, в обратном случае выполняют шаг 403.
На этом шаге модуль захвата точки касания контролирует, отпустило ли устройство ввода оконный объект. После определения информации для отпускания, модуль захвата точки касания незамедлительно направляет информацию управления для отпускания в модуль обработки перетаскивания, причем информация управления для отпускания содержит: положение в момент отпускания, время, номер устройства и т.д.
Шаг 406: при окончании операции перетаскивания получение начальной линейной скорости V и начальной угловой скорости Va, соответствующих последнему периоду Tn таймера Таймер1, и остановка таймера Таймер1.
Модуль обработки перетаскивания получает, в соответствии с историей информации управления, начальную линейную скорость V и начальную угловую скорость Va, соответствующие последнему периоду Tn таймера Таймер1, когда устройство ввода отпустило оконный объект; способ получения описан выше и здесь не повторяется; модуль обработки перетаскивания направляет полученные начальную линейную скорость V и начальную угловую скорость Va в модуль обработки инерции.
Шаг 407: запуск второго таймера Таймер2 и установка периода отсчета как Tg.
На этом шаге после приема V и Va модуль обработки инерции запускает второй таймер Таймер2, причем таймер Таймер2 используется для реализации эффекта инерционного перемещения после того, как устройство ввода отпускает оконный объект.
Шаг 408: при окончании каждого периода отсчета таймера Таймер2 получение текущих величины смещения и величины поворота оконного объекта в соответствии со снижением линейной скорости Vdec и снижением угловой скорости Vadec, запись положения в текущий момент и вычисление начальной линейной скорости V и начальной угловой скорости Va для следующего периода отсчета.
На этом шаге модуль обработки инерции получает в соответствии с заранее установленными Vdec и Vadec величину смещения и величину поворота, используемые для продолжения перемещения в текущем периоде отсчета таймера Таймер2 после того, как устройство ввода отпустило оконный объект. Способ получения описан выше, поэтому здесь он не повторяется.
Способ получения начальной линейной скорости V и начальной угловой скорости Va для следующего периода отсчета таймера Таймер2 следующий:
Vi=Vi-1-Vdec*Tg; Vai=Vai-1-Vadec*Tg.
Шаг 409: определение того, не закончено ли инерционное перемещение; если это так, то процесс заканчивается, в противном случае выполняется шаг 410.
Шаг определения того, не закончено ли инерционное перемещение, содержит: определение, достигли ли Vi и Vai полученные на шаге 408, значения меньше или равного нулю; если так, то таймер Таймер2 останавливается и процесс инерционного перемещения заканчивается; если одно значение меньше или равно нулю, а другое значение все еще больше нуля, то по-прежнему необходимо осуществлять инерционный процесс для другого значения. Например, если V, меньше или равно нулю, a Vai больше нуля, то в текущий период и в последующий период таймера Таймер2 величина смещения равна нулю, а величина поворота не равна нулю; процесс инерционного перемещения не заканчивается до тех пор, пока оба значения Vi и Vai не станут меньше или равны нулю.
Шаг 410: оконный объект корректирует свое положение и угол поворота на экране в соответствии с полученными величиной смещения и величиной поворота так, чтобы реализовать эффект инерционного перемещения; затем снова выполняется шаг 408.
Вышеописанное является лишь предпочтительным вариантом осуществления настоящего изобретения и не предназначено для ограничения объема охраны настоящего изобретения.
Claims (10)
1. Способ инерционного перемещения оконного объекта, содержащий следующие шаги:
A: контролируют начальную операцию касания устройства ввода, записывают координаты начального касания и время касания и запускают первый таймер;
B: в процессе перетаскивания оконного объекта периодически инициируют посредством первого таймера событие получения величины смещения и величины поворота, которые создаются на экране пользователем с помощью устройства ввода, по отношению к предыдущему моменту времени, и полученные величину смещения и величину поворота направляют в оконный объект;
C: когда пользователь отпускает оконный объект, получают начальную линейную скорость и начальную угловую скорость оконного объекта и запускают второй таймер;
D: на основе начальной линейной скорости и начальной угловой скорости периодически инициируют посредством второго таймера событие получения текущих величины смещения и величины поворота оконного объекта в соответствии со снижением линейной скорости и снижением угловой скорости, и полученные текущие величину смещения и величину поворота направляют в оконный объект;
E: если начальная линейная скорость и начальная угловая скорость, соответствующие текущему периоду второго таймера, меньше или равны нулю, прекращают процесс инерционного перемещения оконного объекта.
A: контролируют начальную операцию касания устройства ввода, записывают координаты начального касания и время касания и запускают первый таймер;
B: в процессе перетаскивания оконного объекта периодически инициируют посредством первого таймера событие получения величины смещения и величины поворота, которые создаются на экране пользователем с помощью устройства ввода, по отношению к предыдущему моменту времени, и полученные величину смещения и величину поворота направляют в оконный объект;
C: когда пользователь отпускает оконный объект, получают начальную линейную скорость и начальную угловую скорость оконного объекта и запускают второй таймер;
D: на основе начальной линейной скорости и начальной угловой скорости периодически инициируют посредством второго таймера событие получения текущих величины смещения и величины поворота оконного объекта в соответствии со снижением линейной скорости и снижением угловой скорости, и полученные текущие величину смещения и величину поворота направляют в оконный объект;
E: если начальная линейная скорость и начальная угловая скорость, соответствующие текущему периоду второго таймера, меньше или равны нулю, прекращают процесс инерционного перемещения оконного объекта.
2. Способ по п.1, отличающийся тем, что пользователь перетаскивает оконный объект с помощью устройства ввода посредством одной или множества точек касания; причем в случае множества точек касания величину смещения и величину поворота получают на основе двух точек касания с наименьшими номерами устройства.
3. Способ по п.2, отличающийся тем, что в случае одной точки касания для получения величины смещения и величины поворота на шаге B:
определяют величину смещения между периодами Ti-1 и Ti как (ΔX, ΔY)=(Xi-Xi-1, Yi-Yi-1), где (Xi, Yi) является вектором координат точки касания, соответствующей периоду Ti первого таймера, a (Xi-1, Yi-1) является вектором координат точки касания, соответствующей периоду Ti-1 первого таймера,
определяют величину поворота между периодами Ti-1 и Ti как αi=arccos[ui·vi/(|ui||vi|)], причем координаты центра поворота являются координатами (Cx, Cy) центра оконного объекта, ui, является вектором между координатами точки касания, соответствующей периоду Ti первого таймера, и координатами центра поворота, то есть ui=(Xi-Cx, Yi-Cy); vi является вектором между координатами точки касания, соответствующей периоду Ti-1 первого таймера, и координатами центра поворота, то есть vi=(Xi-1-Cx, Yi-1-Cy);
и для получения начальной линейной скорости V и начальной угловой скорости Va на шаге C:
определяют V как V=(Xn-Xn-1, Yn-Yn-1)/(Tn-Tn-1)=(Xn-Xn-1, Yn-Yn-1)/Δt, где (Xn, Yn) является вектором координат точки касания, соответствующей последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект; (Xn-1, Yn-1) является вектором координат точки касания, соответствующей периоду Tn-1; Δt является периодом отсчета времени первого таймера;
определяют Va как Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором между координатами (Xn, Yn) точки касания, соответствующей периоду Tn первого таймера, и координатами (Cx, Cy) центра поворота, то есть un=(Xn-Cx, Yn-Cy), когда устройство ввода отпускает оконный объект, a vn является вектором между координатами точки касания, соответствующей периоду Tn-1 первого таймера, и координатами центра поворота, то есть vn=(Xn-1-Cx, Yn-1-Cy).
определяют величину смещения между периодами Ti-1 и Ti как (ΔX, ΔY)=(Xi-Xi-1, Yi-Yi-1), где (Xi, Yi) является вектором координат точки касания, соответствующей периоду Ti первого таймера, a (Xi-1, Yi-1) является вектором координат точки касания, соответствующей периоду Ti-1 первого таймера,
определяют величину поворота между периодами Ti-1 и Ti как αi=arccos[ui·vi/(|ui||vi|)], причем координаты центра поворота являются координатами (Cx, Cy) центра оконного объекта, ui, является вектором между координатами точки касания, соответствующей периоду Ti первого таймера, и координатами центра поворота, то есть ui=(Xi-Cx, Yi-Cy); vi является вектором между координатами точки касания, соответствующей периоду Ti-1 первого таймера, и координатами центра поворота, то есть vi=(Xi-1-Cx, Yi-1-Cy);
и для получения начальной линейной скорости V и начальной угловой скорости Va на шаге C:
определяют V как V=(Xn-Xn-1, Yn-Yn-1)/(Tn-Tn-1)=(Xn-Xn-1, Yn-Yn-1)/Δt, где (Xn, Yn) является вектором координат точки касания, соответствующей последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект; (Xn-1, Yn-1) является вектором координат точки касания, соответствующей периоду Tn-1; Δt является периодом отсчета времени первого таймера;
определяют Va как Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором между координатами (Xn, Yn) точки касания, соответствующей периоду Tn первого таймера, и координатами (Cx, Cy) центра поворота, то есть un=(Xn-Cx, Yn-Cy), когда устройство ввода отпускает оконный объект, a vn является вектором между координатами точки касания, соответствующей периоду Tn-1 первого таймера, и координатами центра поворота, то есть vn=(Xn-1-Cx, Yn-1-Cy).
4. Способ по п.2, отличающийся тем, что в случае множества точек касания для получения величины смещения и величины поворота на шаге B:
определяют величину смещения между периодами Ti-1 и Ti как (ΔX, ΔY)=(CXi-CXi-1, CYi-CYi-1), где (CXi, CY1) и (CXi-1, CYi-1) являются координатами центров двух точек касания с наименьшими номерами устройства, соответствующие периоду Ti и периоду Ti-1 первого таймера соответственно;
определяют величину поворота между периодами Ti-1 и Ti как αi=arccos[ui·vi/(|ui||vi|)], где ui является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Ti первого таймера, vi является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Ti-1 первого таймера;
и для получения V и Va на шаге C:
определяют V как V=(CXn-CXn-1, CYn-CYn-1)/(Tn-Tn-1)=(CXn-CXn-1, CYn-CYn-1)/Δt, где (CXn, CYn) и (CXn-1, CYn-1) являются координатами центров векторов, образуемых двумя точками касания с наименьшими номерами устройства соответственно во время последнего периода Tn и периода Tn-1 первого таймера, когда устройство ввода отпускает оконный объект; Δt является периодом отсчета времени первого таймера;
определяют Va как Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект, a vn является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Tn-1 первого таймера.
определяют величину смещения между периодами Ti-1 и Ti как (ΔX, ΔY)=(CXi-CXi-1, CYi-CYi-1), где (CXi, CY1) и (CXi-1, CYi-1) являются координатами центров двух точек касания с наименьшими номерами устройства, соответствующие периоду Ti и периоду Ti-1 первого таймера соответственно;
определяют величину поворота между периодами Ti-1 и Ti как αi=arccos[ui·vi/(|ui||vi|)], где ui является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Ti первого таймера, vi является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Ti-1 первого таймера;
и для получения V и Va на шаге C:
определяют V как V=(CXn-CXn-1, CYn-CYn-1)/(Tn-Tn-1)=(CXn-CXn-1, CYn-CYn-1)/Δt, где (CXn, CYn) и (CXn-1, CYn-1) являются координатами центров векторов, образуемых двумя точками касания с наименьшими номерами устройства соответственно во время последнего периода Tn и периода Tn-1 первого таймера, когда устройство ввода отпускает оконный объект; Δt является периодом отсчета времени первого таймера;
определяют Va как Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект, a vn является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Tn-1 первого таймера.
5. Способ по любому из пп.1-4, отличающийся тем, что для получения текущих величины смещения и величины поворота оконного объекта в соответствии со снижением линейной скорости и снижением угловой скорости на шаге D:
определяют величину смещения, соответствующую периоду Ti второго таймера, как (ΔX, ΔY)=(Vi-Vdec*Tg)*Tg;
определяют величину поворота, соответствующую периоду Тi второго таймера, как αi,=(Vai-Vadec*Tg)*Tg,
где Vdec является снижением линейной скорости, Vadec является снижением угловой скорости, Vi является начальной линейной скоростью, соответствующей периоду Ti второго таймера, Vai является начальной угловой скоростью, соответствующей периоду Ti второго таймера, Tg является периодом отсчета второго таймера; начальная линейная скорость и начальная угловая скорость, соответствующие первому периоду второго таймера после того, как устройство ввода отпустило оконный объект, являются величинами, получаемыми на шаге C соответственно.
определяют величину смещения, соответствующую периоду Ti второго таймера, как (ΔX, ΔY)=(Vi-Vdec*Tg)*Tg;
определяют величину поворота, соответствующую периоду Тi второго таймера, как αi,=(Vai-Vadec*Tg)*Tg,
где Vdec является снижением линейной скорости, Vadec является снижением угловой скорости, Vi является начальной линейной скоростью, соответствующей периоду Ti второго таймера, Vai является начальной угловой скоростью, соответствующей периоду Ti второго таймера, Tg является периодом отсчета второго таймера; начальная линейная скорость и начальная угловая скорость, соответствующие первому периоду второго таймера после того, как устройство ввода отпустило оконный объект, являются величинами, получаемыми на шаге C соответственно.
6. Устройство для инерционного перемещения оконного объекта, содержащее
модуль захвата точки касания, выполненный с возможностью захвата операции перетаскивания оконного объекта на экране посредством устройства ввода и формирования соответствующей информации управления;
модуль обработки перетаскивания, выполненный с возможностью реализации эффекта перетаскивания оконного объекта в соответствии с информацией управления, направленной из модуля захвата точки касания, получения начальной линейной скорости и начальной угловой скорости, когда устройство ввода отпускает оконный объект, и направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции;
модуль обработки инерции, выполненный с возможностью реализации эффекта инерционного перемещения на основе начальной линейной скорости и начальной угловой скорости, направленных из модуля обработки перетаскивания, в соответствии со снижением линейной скорости и снижением угловой скорости.
модуль захвата точки касания, выполненный с возможностью захвата операции перетаскивания оконного объекта на экране посредством устройства ввода и формирования соответствующей информации управления;
модуль обработки перетаскивания, выполненный с возможностью реализации эффекта перетаскивания оконного объекта в соответствии с информацией управления, направленной из модуля захвата точки касания, получения начальной линейной скорости и начальной угловой скорости, когда устройство ввода отпускает оконный объект, и направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции;
модуль обработки инерции, выполненный с возможностью реализации эффекта инерционного перемещения на основе начальной линейной скорости и начальной угловой скорости, направленных из модуля обработки перетаскивания, в соответствии со снижением линейной скорости и снижением угловой скорости.
7. Устройство по п.6, отличающееся тем, что информация управления, формируемая модулем захвата точки касания, включает
начальную информацию управления, когда устройство ввода в начале касается оконного объекта, содержащую положение, время, номер устройства и идентификатор, отражающий начальное касание оконного объекта;
текущую информацию управления, когда устройство ввода перемещает оконный объект, содержащую положение, время, номер устройства и идентификатор, отражающий перетаскивание оконного объекта;
информацию управления для отпускания, когда устройство ввода отпускает оконный объект, содержащую положение, время, номер устройства и идентификатор, отражающий отпускание оконного объекта.
начальную информацию управления, когда устройство ввода в начале касается оконного объекта, содержащую положение, время, номер устройства и идентификатор, отражающий начальное касание оконного объекта;
текущую информацию управления, когда устройство ввода перемещает оконный объект, содержащую положение, время, номер устройства и идентификатор, отражающий перетаскивание оконного объекта;
информацию управления для отпускания, когда устройство ввода отпускает оконный объект, содержащую положение, время, номер устройства и идентификатор, отражающий отпускание оконного объекта.
8. Устройство по п.6 или 7, отличающееся тем, что модуль обработки перетаскивания содержит
первый модуль обработки перемещения, выполненный с возможностью запуска первого таймера при приеме начальной информации управления, направленной из модуля захвата точки касания, с возможностью получения в соответствии с текущей информацией управления, направленной из модуля захвата точки касания, величины смещения и величины поворота оконного объекта, соответствующих текущему периоду первого таймера при инициировании первого таймера, и с возможностью направления полученных величины смещения и величины поворота в оконный объект; и
модуль обработки начальной скорости, выполненный с возможностью получения начальной линейной скорости и начальной угловой скорости после приема информации управления для отпускания, направленной из модуля захвата точки касания, и с возможностью направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции.
первый модуль обработки перемещения, выполненный с возможностью запуска первого таймера при приеме начальной информации управления, направленной из модуля захвата точки касания, с возможностью получения в соответствии с текущей информацией управления, направленной из модуля захвата точки касания, величины смещения и величины поворота оконного объекта, соответствующих текущему периоду первого таймера при инициировании первого таймера, и с возможностью направления полученных величины смещения и величины поворота в оконный объект; и
модуль обработки начальной скорости, выполненный с возможностью получения начальной линейной скорости и начальной угловой скорости после приема информации управления для отпускания, направленной из модуля захвата точки касания, и с возможностью направления полученных начальной линейной скорости и начальной угловой скорости в модуль обработки инерции.
9. Устройство по п.8, отличающееся тем, что в случае одной точки касания первый модуль обработки перемещения выполнен с возможностью получения величины смещения и величины поворота следующим образом: величина смещения между периодами Ti-1 и Ti равна (ΔX, ΔY)=(Xi-Xi-1, Yi-Yi-1), где Xi, Yi является вектором координат точки касания, соответствующей периоду Ti первого таймера, a Xi-1, Yi-1 является вектором координат точки касания, соответствующей периоду Ti-1 первого таймера,
величина поворота между периодами Ti-1 и Ti равна αi=arccos[ui·vi/(|ui||vi|)], причем координаты центра поворота являются координатами (Cx, Cy) центра оконного объекта, ui является вектором между координатами точки касания, соответствующей периоду Ti первого таймера, и координатами центра поворота, то есть ui=(Xi-Cx, Yi-Cy); vi является вектором между координатами точки касания, соответствующей периоду 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 является вектором координат точки касания, соответствующей последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект; Xn-1, Yn-1 является вектором координат точки касания, соответствующей периоду Tn-1; Δt является периодом отсчета времени первого таймера;
Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором между координатами (Xn, Yn) точки касания, соответствующей периоду Tn первого таймера, и координатами (Cx, Cy) центра поворота, то есть un=(Xn-Cx, Yn-Cy), когда устройство ввода отпускает оконный объект, a Vn является вектором между координатами точки касания, соответствующей периоду Tn-1 первого таймера, и координатами центра поворота, то есть vn=(Xn-1-Cx, Yn-1-Cy);
а в случае множества точек касания первый модуль обработки перемещения выполнен с возможностью получения величины смещения и величины поворота следующим образом:
величина смещения между периодами Tn-1 и Ti равна (ΔХ, ΔY)=(CXi-CXi-1, CYi-CYi-1), где (CXi, CYi) и (CXi-1, CYi-1) являются координатами центров двух точек касания с наименьшими номерами устройства, соответствующие периоду Ti и периоду Ti-1 первого таймера соответственно;
величина поворота между периодами Ti-1 и Ti равна αi=arccos[ui·vi/(|ui||vi|)], где ui, является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Ti первого таймера, vi является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду 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) являются координатами центров векторов, образуемых двумя точками касания с наименьшими номерами устройства соответственно во время последнего периода Tn и периода Tn-1 первого таймера, когда устройство ввода отпускает оконный объект; Δt является периодом отсчета времени первого таймера;
Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект, a vn является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Tn-1 первого таймера.
величина поворота между периодами Ti-1 и Ti равна αi=arccos[ui·vi/(|ui||vi|)], причем координаты центра поворота являются координатами (Cx, Cy) центра оконного объекта, ui является вектором между координатами точки касания, соответствующей периоду Ti первого таймера, и координатами центра поворота, то есть ui=(Xi-Cx, Yi-Cy); vi является вектором между координатами точки касания, соответствующей периоду 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 является вектором координат точки касания, соответствующей последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект; Xn-1, Yn-1 является вектором координат точки касания, соответствующей периоду Tn-1; Δt является периодом отсчета времени первого таймера;
Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором между координатами (Xn, Yn) точки касания, соответствующей периоду Tn первого таймера, и координатами (Cx, Cy) центра поворота, то есть un=(Xn-Cx, Yn-Cy), когда устройство ввода отпускает оконный объект, a Vn является вектором между координатами точки касания, соответствующей периоду Tn-1 первого таймера, и координатами центра поворота, то есть vn=(Xn-1-Cx, Yn-1-Cy);
а в случае множества точек касания первый модуль обработки перемещения выполнен с возможностью получения величины смещения и величины поворота следующим образом:
величина смещения между периодами Tn-1 и Ti равна (ΔХ, ΔY)=(CXi-CXi-1, CYi-CYi-1), где (CXi, CYi) и (CXi-1, CYi-1) являются координатами центров двух точек касания с наименьшими номерами устройства, соответствующие периоду Ti и периоду Ti-1 первого таймера соответственно;
величина поворота между периодами Ti-1 и Ti равна αi=arccos[ui·vi/(|ui||vi|)], где ui, является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Ti первого таймера, vi является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду 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) являются координатами центров векторов, образуемых двумя точками касания с наименьшими номерами устройства соответственно во время последнего периода Tn и периода Tn-1 первого таймера, когда устройство ввода отпускает оконный объект; Δt является периодом отсчета времени первого таймера;
Va=arccos[un·vn/(|un||vn|)]/(Tn-Tn-1)=arccos[un·vn/(|un||vn|)]/Δt, где un является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими последнему периоду Tn первого таймера, когда устройство ввода отпускает оконный объект, a vn является вектором, образуемым двумя точками касания с наименьшими номерами устройства, соответствующими периоду Tn-1 первого таймера.
10. Устройство по п.8, отличающееся тем, что модуль обработки инерции выполнен с возможностью получения текущих величины смещения и величины поворота оконного объекта в соответствии со снижением линейной скорости и снижением угловой скорости следующим образом:
величина смещения, соответствующая периоду Ti второго таймера, равна (ΔX, ΔY)=(Vi-Vdec*Tg)*Tg,
величина поворота, соответствующая периоду Ti второго таймера, равна α1=(Vai-Vadec*Tg)*Tg,
где Vdec является снижением линейной скорости, Vadec является снижением угловой скорости, Vi является начальной линейной скоростью, соответствующей периоду Ti второго таймера, Vai является начальной угловой скоростью, соответствующей периоду второго таймера, Tg является периодом отсчета второго таймера, причем начальная линейная скорость и начальная угловая скорость, соответствующие первому периоду второго таймера после того, как устройство ввода отпустило оконный объект, направлены из модуля обработки перетаскивания соответственно.
величина смещения, соответствующая периоду Ti второго таймера, равна (ΔX, ΔY)=(Vi-Vdec*Tg)*Tg,
величина поворота, соответствующая периоду Ti второго таймера, равна α1=(Vai-Vadec*Tg)*Tg,
где Vdec является снижением линейной скорости, Vadec является снижением угловой скорости, Vi является начальной линейной скоростью, соответствующей периоду Ti второго таймера, Vai является начальной угловой скоростью, соответствующей периоду второго таймера, Tg является периодом отсчета второго таймера, причем начальная линейная скорость и начальная угловая скорость, соответствующие первому периоду второго таймера после того, как устройство ввода отпустило оконный объект, направлены из модуля обработки перетаскивания соответственно.
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 (1)
Publication Number | Publication Date |
---|---|
RU2491610C1 true RU2491610C1 (ru) | 2013-08-27 |
Family
ID=45427514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2012134991/08A RU2491610C1 (ru) | 2010-07-07 | 2011-07-06 | Способ и устройство для инерционного перемещения оконного объекта |
Country Status (10)
Country | Link |
---|---|
US (1) | US8462132B2 (ru) |
EP (1) | EP2523086B1 (ru) |
JP (1) | JP5655142B2 (ru) |
KR (1) | KR101458289B1 (ru) |
CN (1) | CN102314297B (ru) |
AU (1) | AU2011276797B2 (ru) |
BR (1) | BR112012019980B1 (ru) |
MY (1) | MY160170A (ru) |
RU (1) | RU2491610C1 (ru) |
WO (1) | WO2012003799A1 (ru) |
Families Citing this family (36)
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 | 腾讯科技(深圳)有限公司 | 在内嵌浮动框架元素的网页中实现元素拖动的方法及装置 |
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 |
US9098739B2 (en) | 2012-06-25 | 2015-08-04 | Aquifi, Inc. | Systems and methods for tracking human hands using parts based template matching |
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 | 惠州市德赛西威汽车电子股份有限公司 | 一种通过鼠标拖拽滑动切换界面的方法 |
US9947081B2 (en) | 2014-06-11 | 2018-04-17 | Mitsubishi Electric Corporation | Display control system and display control method |
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 | 维沃移动通信有限公司 | 一种截屏方法及终端设备 |
CN111026313B (zh) * | 2019-12-16 | 2021-01-22 | 深圳介子云图空间科技有限公司 | 一种可视化列表排序方法及装置 |
CN111083287B (zh) * | 2019-12-16 | 2020-12-25 | 深圳集智数字科技有限公司 | 一种可视化列表排序方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2007110422A (ru) * | 2006-03-21 | 2008-09-27 | Эл Джи Электроникс Инк. (Kr) | Терминал мобильной связи и способ отображения информации в нем |
CN101751195A (zh) * | 2009-12-30 | 2010-06-23 | 中兴通讯股份有限公司 | 一种电阻式触摸屏上的移动事件控制方法及装置 |
Family Cites Families (33)
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 |
JP5265830B2 (ja) * | 1999-10-20 | 2013-08-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 情報処理装置 |
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 |
EP2000894B1 (en) * | 2004-07-30 | 2016-10-19 | Apple Inc. | Mode-based graphical user interfaces for touch sensitive input devices |
US7728821B2 (en) * | 2004-08-06 | 2010-06-01 | Touchtable, Inc. | Touch detecting interactive display |
JP4860625B2 (ja) * | 2004-10-08 | 2012-01-25 | イマージョン コーポレーション | タッチ式入力装置におけるボタンおよびスクロール動作シミュレーション用の触覚フィードバック |
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 |
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 |
WO2009128064A2 (en) * | 2008-04-14 | 2009-10-22 | Pointgrab Ltd. | 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 | アイシン・エィ・ダブリュ株式会社 | 地図表示装置、地図表示方法及びプログラム |
JP5230684B2 (ja) * | 2010-05-13 | 2013-07-10 | パナソニック株式会社 | 電子機器、表示方法、及びプログラム |
JP5800473B2 (ja) * | 2010-06-11 | 2015-10-28 | 任天堂株式会社 | 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法 |
JP5241038B2 (ja) * | 2010-07-01 | 2013-07-17 | パナソニック株式会社 | 電子機器、表示制御方法、及びプログラム |
-
2010
- 2010-07-07 CN CN201010223457.0A patent/CN102314297B/zh active Active
-
2011
- 2011-07-06 US US13/574,874 patent/US8462132B2/en active Active
- 2011-07-06 AU AU2011276797A patent/AU2011276797B2/en active Active
- 2011-07-06 WO PCT/CN2011/076909 patent/WO2012003799A1/zh active Application Filing
- 2011-07-06 RU RU2012134991/08A patent/RU2491610C1/ru active
- 2011-07-06 EP EP11803152.5A patent/EP2523086B1/en active Active
- 2011-07-06 KR KR1020127026249A patent/KR101458289B1/ko active IP Right Grant
- 2011-07-06 JP JP2013516988A patent/JP5655142B2/ja active Active
- 2011-07-06 MY MYPI2012700510A patent/MY160170A/en unknown
- 2011-07-06 BR BR112012019980-3A patent/BR112012019980B1/pt active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2007110422A (ru) * | 2006-03-21 | 2008-09-27 | Эл Джи Электроникс Инк. (Kr) | Терминал мобильной связи и способ отображения информации в нем |
CN101751195A (zh) * | 2009-12-30 | 2010-06-23 | 中兴通讯股份有限公司 | 一种电阻式触摸屏上的移动事件控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
BR112012019980B1 (pt) | 2021-01-26 |
KR20130008578A (ko) | 2013-01-22 |
JP5655142B2 (ja) | 2015-01-14 |
JP2013533550A (ja) | 2013-08-22 |
EP2523086B1 (en) | 2017-06-21 |
US20120306796A1 (en) | 2012-12-06 |
EP2523086A1 (en) | 2012-11-14 |
MY160170A (en) | 2017-02-28 |
AU2011276797A1 (en) | 2012-08-23 |
EP2523086A4 (en) | 2014-12-24 |
CN102314297A (zh) | 2012-01-11 |
BR112012019980A2 (pt) | 2020-09-24 |
WO2012003799A1 (zh) | 2012-01-12 |
CN102314297B (zh) | 2016-04-13 |
US8462132B2 (en) | 2013-06-11 |
AU2011276797B2 (en) | 2014-08-14 |
KR101458289B1 (ko) | 2014-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2491610C1 (ru) | Способ и устройство для инерционного перемещения оконного объекта | |
US11336961B2 (en) | Recording and broadcasting application visual output | |
US9841827B2 (en) | Command of a device by gesture emulation of touch gestures | |
US9285976B2 (en) | User interface device capable of image scrolling not accompanying finger movement, image scrolling method, and program | |
US8860678B2 (en) | Computer system with touch screen and gesture processing method thereof | |
US9772689B2 (en) | Enhanced gesture-based image manipulation | |
US10572017B2 (en) | Systems and methods for providing dynamic haptic playback for an augmented or virtual reality environments | |
US20130212541A1 (en) | Method, a device and a system for receiving user input | |
US12121797B2 (en) | Program, electronic device, and method | |
US9958946B2 (en) | Switching input rails without a release command in a natural user interface | |
JP6018474B2 (ja) | プログラム、情報処理装置、情報処理方法および情報処理システム | |
US20160217767A1 (en) | A Peripheral Electronic Device and Method for Using Same | |
CN113467625A (zh) | 虚拟现实的控制设备、头盔和交互方法 | |
Sakai et al. | AccuMotion: intuitive recognition algorithm for new interactions and experiences for the post-PC era | |
Dave et al. | Project MUDRA: Personalization of Computers using Natural Interface | |
WO2017096802A1 (zh) | 基于手势的操作组件控制方法、设备、计算机程序和存储介质 |