ПАРАМЕТРИЧЕСКАЯ ИНЕРЦИЯ И ИНТЕРФЕЙСЫ ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ Российский патент 2019 года по МПК G06F9/451 G06F3/488 

Описание патента на изобретение RU2701988C2

Уровень техники

Разработка пользовательских интерфейсов остается ориентированной на обеспечение поддержки естественного пользовательского взаимодействия между пользователем и пользовательским интерфейсом. Один такой способ достижения этого естественного пользовательского взаимодействия заключается в обеспечении пользовательского интерфейса, имитирующего пользовательское взаимодействие в реальном мире с физическими объектами. В этом способе пользовательские взаимодействия с объектами в пользовательском интерфейсе могут выполняться интуитивным образом, который оптимизирует пользовательское взаимодействие с объектами в реальном мире, тем самым улучшая эффективность этого пользовательского взаимодействия.

Один способ, в котором пользовательский интерфейс может имитировать взаимодействие в реальном мире с объектами, осуществляется посредством использования инерции. Пользователь, например, может выполнять жест смахивания (swipe), который распознается с помощью функциональных возможностей экрана касания вычислительного устройства. Даже после прекращения ввода данных жестом смахивания пользовательский интерфейс может продолжать перемещаться некоторым образом, который имитирует инерцию в отношении объекта в некоторой ситуации из реального мира, такой как переворачивание страницы. Однако традиционные методы, которые применяются для вычисления эффекта инерции в отношении объекта в пользовательском интерфейсе, являются статичными и, таким образом, ограничены единичным проявлением инерции в отношении объекта.

В US 2011202834 раскрывается предоставление визуальной обратной связи, в частности, смоделированного инерциального движения элементов пользовательского интерфейса в ответ на пользовательский ввод для обеспечения более естественного ощущения от ввода касанием.

Раскрытие изобретения

Описаны методы параметрической инерции и интерфейсов прикладного программирования. В одной или более реализациях функциональные возможности демонстрируются через интерфейс прикладного программирования посредством операционной системы вычислительного устройства для одного или более приложений, которые сконфигурированы для вычисления эффекта инерции для перемещения в пользовательском интерфейсе. Вычисляемый эффект инерции для перемещения в пользовательском интерфейсе управляется операционной системой на основе одной или более точек остановки, указываемых с использованием одной или более параметрических кривых одним или более приложениями через взаимодействие с интерфейсом прикладного программирования.

В одной или более реализациях система включает в себя один или более модулей, реализованных, по меньшей мере, частично в аппаратном обеспечении. Один или более модулей выполнены с возможностью осуществления операций, включающих в себя вычисление положения остановки инерции для эффекта инерции с помощью операционной системы вычислительного устройства, используя одну или более из множества фаз, основанных на одной или более точках остановки, указываемых приложением через интерфейс прикладного программирования операционной системы. Операции также включают в себя демонстрирование вычисленного положения остановки инерции операционной системой применительно к пользовательскому интерфейсу, выводимому вычислительным устройством для отображения устройством отображения.

В одной или более реализациях вычислительное устройство включает в себя систему обработки и память, выполненную с возможностью хранения инструкций, которые могут исполняться системой обработки для осуществления операций. Операции включают в себя демонстрирование интерфейса прикладного программирования операционной системой для одного или более приложений, которые сконфигурированы для вычисления точки остановки инерции для перемещения в пользовательском интерфейсе. Операции также включают в себя управление вычисленным эффектом инерции для точки остановки инерции для перемещения в пользовательском интерфейсе посредством операционной системы на основе одной или более точек остановки, указываемых одним или более приложениями через взаимодействие с интерфейсом прикладного программирования.

Данный раздел «Раскрытие изобретения» обеспечен для ознакомления с набором идей в упрощенной форме, которые дополнительно описаны ниже в разделе «Осуществление изобретения». Данный раздел «Раскрытие изобретения» не предназначен для определения ключевых признаков или существенных признаков заявленного объекта изобретения, и также он не предназначен для оказания содействия в определении объема охраны заявленного объекта изобретения.

Краткое описание чертежей

Раздел «Осуществление изобретения» изложен со ссылкой на сопроводительные чертежи. На фигурах крайняя(ие) левая(ые) цифра(ы) ссылочного обозначения идентифицирует(ют) фигуру, на которой впервые появляется это ссылочное обозначение. Использование одних и тех же ссылочных обозначений в разных примерах в описании и на фигурах может указывать на подобные или идентичные элементы. Объекты, представленные на фигурах, могут характеризовать один или более объектов, и, таким образом, ссылочное обозначение может взаимозаменяемо относиться к единственному или множественному числу объектов при их обсуждении.

Фиг. 1 представляет собой иллюстрацию среды в примерной реализации, которая выполнена с возможностью осуществления средств параметрической инерции и интерфейсов прикладного программирования.

Фиг. 2 иллюстрирует систему в примерной реализации, в которой взаимодействие модуля инерции и приложений с Фиг. 1 показано более подробно.

Фиг. 3 иллюстрирует примерную реализацию, показывающую диаграмму последовательности операций, в которой модуль инерции с Фиг. 2 использует устанавливаемую по умолчанию фазу, фазу положений и фазу диапазонов для вычисления положения остановки инерции для эффекта инерции в отношении субъекта перемещения.

Фиг. 4 представляет собой блок-схему, иллюстрирующую процедуру в примерной реализации, в которой операционная система демонстрирует функциональные возможности для одного или более приложений для вычисления эффекта инерции в отношении субъекта перемещения в пользовательском интерфейсе.

Фиг. 5 представляет собой блок-схему, иллюстрирующую процедуру в примерной реализации, в которой положение остановки инерции вычисляется операционной системой на основе одной или более точек остановки, указываемых приложением через интерфейс прикладного программирования.

Фиг. 6 иллюстрирует примерную систему, включающую в себя различные компоненты примерного устройства, которое может быть реализовано в виде любого типа вычислительного устройства, описанного со ссылкой на Фиг. 1-5, для реализации вариантов осуществления средств, описанных в данном документе.

Осуществление изобретения

Общие сведения

Пользовательские интерфейсы могут быть выполнены с возможностью имитации эффекта инерции в отношении объектов в пользовательском интерфейсе, например, продолжения перемещения страницы в пользовательском интерфейсе в ответ на жест смахивания даже после завершения этого жеста. Однако стандартные средства, которые применяются для поддержки этого эффекта, как правило, являются статичными и, таким образом, обеспечивают задаваемый единственным образом эффект, который не может изменяться приложениями.

Описаны средства параметрической инерции и интерфейсов прикладного программирования. В одной или более реализациях операционная система выполнена с возможностью демонстрирования интерфейсов прикладного программирования, посредством которых приложения могут указывать точки остановки и связанные с ними параметрические кривые для использования при вычислении эффекта инерции в отношении объекта. Точки остановки и связанные с ними параметрические кривые, например, могут применяться операционной системой при вычислении положения остановки инерции, в котором должен прекращаться эффект инерции.

Фазы, используемые для вычисления точки остановки инерции, могут включать в себя устанавливаемую по умолчанию фазу, в которой оцениваются точки остановки, указываемые приложениями, которые учитывают положения и скорости в начале инерции. Фаза положений может также учитываться тогда, когда точки остановки, располагаемые между точкой начала инерции и предполагаемой точкой остановки инерции в устанавливаемой по умолчанию фазе, оцениваются и, таким образом, могут использоваться для регулировки положения остановки инерции в устанавливаемой по умолчанию фазе. Может также применяться фаза диапазонов, в которой диапазоны, указываемые точками остановки приложения, оцениваются поблизости от предполагаемой точки остановки инерции, например, для «притягивания» к точке остановки, описываемой приложением. Таким образом, параметрическое описание через использование параметрических кривых, указываемых приложениями, может использоваться для получения предполагаемого местоположения для положения остановки инерции. Дополнительное обсуждение этих и других средств может быть найдено в следующих далее разделах.

В следующем далее обсуждении сначала описана примерная среда, которая может применять средства параметрической инерции и API, описанные в данном документе. Затем описаны примерные процедуры, которые могут выполняться в примерной среде, а также в других средах. Как следствие, выполнение примерных процедур не ограничено примерной средой, как и примерная среда не ограничена выполнением примерных процедур.

Примерная среда

Фиг. 1 представляет собой иллюстрацию среды 100 в примерной реализации, которая выполнена с возможностью применения параметрических средств, описанных в данном документе. Проиллюстрированная среда 100 включает в себя вычислительное устройство 102, которое может быть выполнено множеством способов.

Например, вычислительное устройство может быть выполнено в виде компьютера, который способен осуществлять связь по сети, например, настольного компьютера, мобильной станции, оборудования для развлечения, телевизионной приставки, которая соединена с возможностью связи с устройством отображения, беспроводного телефона, игровой консоли и т.д. Таким образом, вычислительное устройство 102 может изменяться от полноресурных устройств со значительными ресурсами памяти и процессора (например, персональные компьютеры, игровые консоли) до низкоресурсного устройства с ограниченными ресурсами памяти и/или ресурсами для обработки (например, стандартные телевизионные приставки, переносимые игровые консоли). Кроме того, хотя показано одно вычислительное устройство 102, вычислительное устройство 102 может представлять собой множество разных устройств, таких как множество серверов, применяемых коммерческой службой для выполнения операций, такой как веб-служба, комбинация дистанционного средства управления и телевизионной приставки, устройство захвата изображений и игровая консоль, выполненная с возможностью захвата жестов, и т.д.

Вычислительное устройство 102 проиллюстрировано как включающее в себя множество аппаратных компонентов, примеры которых включают в себя систему 104 обработки, пример машиночитаемого носителя данных, проиллюстрированного в виде памяти 106, устройство 108 отображения и т.д. Система 104 обработки представляет собой функциональные возможности для выполнения операций через исполнение инструкций, сохраненных в памяти 106. Хотя функциональные возможности этих компонентов проиллюстрированы по отдельности, они могут быть дополнительно разделены, объединены (например, на одной специализированной интегральной схеме) и т.д.

Вычислительное устройство 102 дополнительно проиллюстрировано как включающее в себя операционную систему 110. Операционная система 110 сконфигурирована для абстрактного представления базовых функциональных возможностей вычислительного устройства 102 в виде приложений 112, которые могут исполняться на вычислительном устройстве 102. Например, операционная система 110 может абстрактно представлять функциональные возможности системы 104 обработки, памяти 106, сети и/или устройства 108 отображения вычислительного устройства 102 таким образом, что приложения 112 могут быть записаны без сведения о том, «каким образом» реализованы эти базовые функциональные возможности. Приложение 112, например, может предоставлять данные операционной системе 110 для их визуализации и отображения устройством 108 отображения или устройством 116 печати без понимания того, как будет выполнена эта визуализация. Операционная система 108 может также представлять собой множество других функциональных возможностей, например, для управления файловой системой и пользовательским интерфейсом, управление которым может осуществлять пользователь вычислительного устройства 102.

Пример абстрактных функциональных возможностей операционной системы 110 проиллюстрирован на Фиг. 1 в виде модуля 114 инерции. Модуль 114 инерции характеризуется функциональными возможностями, которые продемонстрированы в виде приложений 112 для вычисления эффект инерции в пользовательском интерфейсе 116, отображаемом устройством 108 отображения вычислительного устройства 102. Например, палец руки 118 пользователя может быть помещен в окрестности устройства 108 отображения и перемещен 120 влево. Эта окрестность и последующее перемещение 120 могут быть распознаны в качестве жеста смахивания посредством операционной системы 110, чтобы побудить пользовательский интерфейс 116 выполнить прокрутку влево в данном примере.

Инерция может быть включена как часть этого жеста, при которой перемещение пользовательского интерфейса 116 продолжается даже после завершения ввода данных посредством жеста. Таким образом, перемещение пользовательского интерфейса может имитировать перемещение объекта в реальном мире. Также подразумеваются другие примеры, такие как перемещение субъекта (например, объекта) в пределах пользовательского интерфейса 116. Также подразумеваются дополнительные другие примеры ввода данных, такие как реализуемые через использование устройства управления курсором, клавиш клавиатуры и т.д.

Тем не менее стандартные средства, применяемые для использования инерции в пользовательском интерфейсе, основаны на заданных схемах поведения и логике, которая тесно связана с внутренними рабочими процессами программного обеспечения вычислительного устройства. Таким образом, эти стандартные средства нельзя настраивать приложениями 112, и, следовательно, они не являются достаточно универсальными, чтобы удовлетворить потребности совершенствующегося пользовательского взаимодействия.

Соответственно, модуль 114 инерции может применяться для демонстрирования функциональных возможностей в виде приложений 112, которые могут использоваться для настройки эффекта инерции в пользовательском интерфейсе 116. Эта настройка обеспечивает поддержку множества разных функций, таких как определение положения остановки инерции, которое описывает точку, в которой вывод анимации, показывающей инерцию, должен быть завершен, и дополнительное обсуждение которого может быть найдено ниже и показано на соответствующей фигуре.

Фиг. 2 иллюстрирует систему 200 в примерной реализации, в которой взаимодействие модуля 114 инерции и приложений 112 показано более подробно. Как проиллюстрировано, операционная система 110 включает в себя описанный ранее модуль 114 инерции, который характеризуется функциональными возможностями для вычисления эффект инерции в пользовательском интерфейсе. Модуль 114 инерции в данном примере включает в себя интерфейсы 202 прикладного программирования (API), посредством которых эти функциональные возможности демонстрируются в виде приложений 112. Приложения 112 могут взаимодействовать с интерфейсами 202 прикладного программирования множеством способов, чтобы указывать ограничения, которые должны применяться модулем 114 инерции при вычислении эффекта инерции в пользовательском интерфейсе.

Приложения 112, например, могут сообщать одну или более точек 204 остановки и соответствующие параметрические кривые 206, которые применяются для описания функциональных возможностей, связанных с точками 204 остановки, при вычислении эффекта инерции. Параметрические кривые 206 обеспечивают параметрическое описание математической функции, которая может использоваться для вычисления предполагаемого местоположения для положения остановки инерции, например, точки остановки анимации, которая должна использоваться для отображения эффекта инерции в пользовательском интерфейсе. Точки 204 остановки могут быть выполнены множеством способов, например, в виде естественной точки завершения инерции, точки притягивания, границы контента или любой концепции, которая указывает положение, в котором может завершиться эффект инерции.

Модуль 114 инерции может применять одну или более фаз 208 при вычислении эффекта инерции в пользовательском интерфейсе, например, для определения положения остановки инерции и того, как должно быть выполнено перемещение в это положение остановки инерции. Примеры фаз 208 проиллюстрированы в виде устанавливаемой по умолчанию фазы 210, фазы 212 положений и фазы 214 диапазонов. Таким образом, в данном примере при вычислении точки остановки инерции может применяться одна или более фаз, и оно может выполняться так в перечисленном порядке. Например, входные данные для устанавливаемой по умолчанию фазы 210 можно брать из состояния субъекта перемещения (и, следовательно, эффекта инерции) в начале инерции, результат из предыдущей фазы поступает в следующую фазу, и выходные данные последней фазы представляют собой окончательное местоположение точки остановки инерции.

Устанавливаемая по умолчанию фаза 210 представляет собой фазу, в которой оцениваются параметрические точки 204 остановки, указываемые приложениями 112, которые учитывают положения и/или скорости в начале инерции. Фаза 212 положений представляет собой фазу, в которой оцениваются точки 204 остановки, расположенные между точкой начала инерции и предполагаемой точкой остановки инерции в устанавливаемой по умолчанию фазе 210. Фаза 214 диапазонов представляет собой фазу, в которой оценивается ограниченный набор диапазонных точек 204 остановки в окрестности предполагаемой в данный момент точки остановки инерции.

Точка 204 остановки может использоваться для определения предполагаемой точки остановки эффекта инерции путем указания положения самой предполагаемой точки остановки. Точки 204 остановки могут указываться с учетом множества разных параметров, измеряемых на основе состояния взаимодействия. Например, точки 204 остановки могут указываться относительно положения субъекта перемещения при эффекте инерции в начале инерции. Точки 204 остановки могут также указываться в качестве расстояния от положения точки остановки инерции из предыдущей фазы до параметрической точки остановки, расстояния, получаемого из скорости субъекта в начале инерции. Точки 204 остановки могут также указываться на основе скорости субъекта при прохождении через точки 204 остановки, на основе экстраполированной скорости субъекта по мере его вхождения в состояние остановки в точке остановки инерции из предыдущей фазы.

Точки 204 остановки могут также указываться с учетом абсолютных значений, которые не имеют взаимосвязи с состоянием взаимодействия. Например, точки 204 остановки могут указываться в виде постоянного численного значения. Непосредственное указание точек 204 остановки может также выполняться с использованием положения, являющегося заданным расстоянием от абсолютного значения, вне зависимости от того, где расположен контент. Точка 204 остановки, которая указывает положение предполагаемой точки остановки, может непосредственно упоминаться как основанная на положении точка остановки.

Положение точки 204 остановки может также применяться для определения предполагаемой точки остановки для эффекта инерции путем указания диапазонов привлечения, например, в пределах которых положение «притягивается к» точке 204 остановки. Диапазоны могут быть ограничены с использованием множества значений, положения точки 204 остановки и т.д. Например, диапазоны могут указываться как центрированные в положении, являющемся заданным расстоянием от положения субъекта в начале инерции либо с отрицательной, либо с положительной стороны от точки 204 остановки. Диапазоны могут также указываться как центрированные в положении, являющемся заданным расстоянием от абсолютного значения положения либо с отрицательной, либо с положительной стороны от точки остановки. Следовательно, точки 204 остановки, обеспечивающие эти указания диапазонов, могут упоминаться далее как основанные на диапазонах точки остановки или просто как диапазонные точки остановки.

Выбор положения точки остановки в фазе 212 положений может выполняться на основе точки начала инерции. Например, положение остановки инерции, вычисляемое посредством устанавливаемой по умолчанию фазы 210, может задаваться как подходящее. Оцениваются первые позиционные точки 204 остановки, обнаруживаемые при перемещении в направлении предыдущей подходящей точки остановки, и положение точки остановки используется в качестве подходящей точки остановки инерции. Этот процесс может повторяться в фазе 212 положений до тех пор, пока больше не будут обнаружены никакие позиционные точки остановки.

Выбор положения остановки инерции в фазе 214 диапазонов может начинаться с подходящей точки остановки из фазы 212 положений следующим образом. Во-первых, обнаруживается ближайшая диапазонная точка остановки с отрицательной стороны от подходящей инерциальной точки остановки, которая имеет диапазон, пересекающий ее. Во-вторых, выбирается ближайшая из двух диапазонных точек остановки с положительной стороны, которая является ближайшей к подходящей точке остановки. Подходящая точка остановки затем заменяется на положение выбранной диапазонной точки остановки.

Как описано ранее, начальные положение и скорость субъекта перемещения в пользовательском интерфейсе рассматриваются как начало инерции. Положение инерциальной точки остановки вычисляется с использованием фаз 208, в которых положение точки остановки уточняется до тех пор, пока все релевантные точки 204 остановки не будут рассмотрены.

Каждая из фаз 208, т.е. устанавливаемая по умолчанию фаза 210, фаза 212 положений и фаза 214 диапазонов, являются необязательными. Устанавливаемое по умолчанию значение выбирается для подходящей точки остановки в конце фазы 208, если никакие точки остановки не являются пригодными, так что в устанавливаемой по умолчанию фазе 210 выводится положение остановки инерции, основанное на начальной скорости субъекта и предварительно заданном замедлении, в фазе 212 положений точка остановки остается в том же положении, и в фазе 214 диапазонов точка остановки остается в том же положении. Таким образом, устанавливаемая по умолчанию точка остановки инерции основана на устанавливаемом по умолчанию инерциальном замедлении, чтобы получить эффект, состоящий в том, что субъект перемещения свободно перемещается без ограничений и с выполнением минимальной работы в отношении части приложения.

Для каждой фазы могут учитываться определенные виды точек 204 остановки, исходя из цели фазы, как описано выше. Точки остановки, которые унаследуют входные данные и выдают выходные данные конкретным способом, применяются в фазе 208, и ноль или более фаз 208 объединяют для выдачи результата для таких сценариев, как граница контента, точки притягивания или другие схемы поведения, требуемые приложениями 112.

Устанавливаемая по умолчанию фаза 210 может оцениваться модулем 114 инерции сначала для получения четкой начальной точки при определении точки остановки инерции. Например, устанавливаемая по умолчанию фаза 210 может рассматриваться как наипростейший и самый элементарный этап при вычислении точки остановки инерции, без которой схема поведения представляла бы собой мгновенную остановку субъекта.

Фаза 212 положений может затем следовать за устанавливаемой по умолчанию фазой 210 при обработке, выполняемой модулем 114 инерции. Например, фаза 212 положений может применяться для реализации прогнозируемого порядка оценивания каждой из точек остановки, отличного от порядка, в котором указываются точки 204 остановки, что может усложнить обработку, выполняемую модулем 114 инерции (и, таким образом, снизить эффективность), а также подтверждение ее корректности.

Фаза 212 положений применяется для наложения ограничений на подходящую точку остановки, таких как необходимость фиксации ее в точке, которая может располагаться ближе от исходного положения, предполагаемого в качестве завершения эффекта инерции. Кроме того, она может выполняться перед применением диапазонных точек остановки в фазе 214 диапазонов, чтобы субъект перемещения не мог выходить за пределы более одной точки, даже если инерция будет «заносить» субъект в диапазон точки остановки, который отстоит на более одну точку остановки.

В устанавливаемой по умолчанию фазе 210 приложения 112 могут делать положение остановки инерции субъекта отличным от устанавливаемого по умолчанию положения, применяемого модулем 114 инерции. Точки 204 остановки, которые задействуются в этой фазе, обеспечивают ответы на вопрос: «насколько далеко будет перемещен контент с учетом его начального положения и скорости?». Входные данные для этих точек 204 остановки берутся, исходя из состояния субъекта перемещения в начале инерции посредством измерения либо его положения, либо его скорости.

Это значение оценивается с использованием одной или более параметрических кривых 206, связанных с точкой 204 остановки, выдавая выходное значение. Параметрические кривые 206, например, могут представлять собой физическое уравнение, которое позволяет получить пройденное расстояние на основе начальной скорости и постоянного замедления перемещаемого тела. Выходное значение затем применяется к положению субъекта в начале инерции для указания, насколько далеко от начального положения должен завершиться эффект инерции.

Значения могут также быть относительными, чтобы значения можно было применять вне зависимости от того, где фактически располагается субъект в начале инерции, подразумевая, что приложение 112 может указывать одну точку 204 остановки для этой фазы. Хотя приложения 112 могут указывать более одной точки 204 остановки для устанавливаемой по умолчанию фазы 210, используется результат, получаемый на основе одной точки из точек 204 остановки.

Фаза 212 положений позволяет приложению изменять курс субъекта по мере его перемещения из его положения в начале инерции в положение, задаваемое посредством устанавливаемой по умолчанию фазы 210. Точки 204 остановки, которые задействуются в этой фазе, регулируют положение для местоположения точки остановки, поскольку эти точки оцениваются поочередно, начиная с первой, обнаруживаемой из положения начала инерции, в направлении перемещения инерции.

Точки 204 остановки и соответствующие параметрические кривые 206, используемые в фазе 212 положений, могут быть сконфигурированы множеством способов. Например, точки 204 остановки могут быть основаны на положении субъекта перемещения в начале инерции, что дает в качестве входных данных параметрическую кривую 206, характеризующую расстояние между этим положением и положением точки остановки. Точка 204 остановки может также быть основана на скорости субъекта в начале инерции, что дает в качестве входных данных параметрическую кривую 206, характеризующую значение скорости. Точка 204 остановки может быть дополнительно основана на подходящем положении остановки из устанавливаемой по умолчанию фазы 210, что дает в качестве входных данных параметрическую кривую 206, характеризующую расстояние между этим положением и положением точки остановки. Кроме того, точка 204 остановки может быть основана на скорости субъекта по мере прохождения им точки остановки, экстраполируемой от скорости в начале инерции и скорости в момент достижения субъектом подходящего положения остановки, которая является нулевой.

Параметрические кривые 206, связанные с точкой 204 остановки, затем оцениваются с использованием этих входных данных и выдают выходное значение посредством обработки модулем 114 инерции. Значение может быть затем применено к положению точки остановки в качестве расстояния между ним и предполагаемым положением остановки субъекта для следующей обнаруживаемой точки остановки. Это может использоваться для поддержки множества функциональных возможностей, таких как точка притягивания, которая захватывает субъект, если он перемещается со скоростью ниже конкретного порогового значения скорости, когда он проходит точку, точка притягивания, которая не позволяет субъекту перемещаться за нее, тем самым создавая «пошаговую» схему поведения для субъекта перемещения, в которой разрешено перемещаться на одну секцию за один раз, и т.д.

Фаза 214 диапазонов позволяет приложениям 112 вынуждать субъект перемещения приступать к остановке в конкретном местоположении, исходя из положения, получаемого посредством фазы 212 положений. Точки 204 остановки, которые задействуются в этой фазе, обеспечивают диапазоны притяжения, которые «притягивают» или «толкают» подходящее положение остановки в их направлении или в направлении от них.

Точки 204 остановки, которые задействуются в фазе 214 диапазонов, могут быть сконфигурированы множеством способов. Точка 204 остановки может быть основана на положении субъекта перемещения в начале инерции, что дает в качестве входных данных параметрическую кривую 206, характеризующую расстояние между этим положением и положением точки остановки. Точка 204 остановки может быть основана на скорости субъекта в начале инерции, что дает в качестве входных данных параметрическую кривую 206, характеризующую значение скорости. Точка остановки может быть также основана на подходящем положении остановки в случае устанавливаемой по умолчанию инерции, что дает в качестве входных данных параметрическую кривую 206, характеризующую расстояние между этим положением и положением точки остановки. Точка 204 остановки может быть дополнительно основана на скорости субъекта по мере прохождения им точки 204 остановки, экстраполируемой из скорости в начале инерции и скорости в момент достижения субъектом подходящего положения остановки, которая является нулевой.

Два набора параметрических кривых 206 могут быть оценены с использованием этих входных данных: один набор для диапазона, продолжающегося в отрицательном направлении от точки 204 остановки, другой набор для диапазона, продолжающегося в положительном направлении (например, вдоль направления перемещения) от точки 204 остановки. Ближайшая точка остановки, которая охватывает подходящее положение остановки из предыдущей фазы в ее диапазоне, заменяет его в качестве подходящего положения остановки в фазе 214 диапазонов.

Если существует множество диапазонных точек остановки, которые имеют диапазоны, пересекающие подходящее положение остановки, выбирается ближайшая из них. Это означает, что диапазон более отдаленной точки остановки эффективно «отсекается» в положении более близкой точки остановки. Однако более близкая точка остановки может также выдавать диапазон, который не пересекает подходящее положение остановки, и может учитываться более отдаленная точка остановки, «заставляющая» ее диапазон эффективно «проходить через» более близкую точку остановки.

Примеры схем поведения, поддерживаемых в фазе 214 диапазонов, включают в себя границу контента, т.е. точку, за которую контент не может перемещаться дальше и, таким образом, входит в состояние остановки в этом положении, если оно было удаленным в начале инерции. Это не реализуется позиционной точкой остановки, поскольку она могла бы быть неприменимой, так как поиск осуществляется в направлении инерции, например, контент может перемещаться дальше от границы посредством пользовательского взаимодействия в начале инерции.

В другом примере фаза 214 диапазонов может применяться для указания обязательной точки притягивания, в которой субъект перемещения вынужден останавливаться в одной из таких точек остановки в конце инерции. В дополнительном примере фаза 214 диапазонов может реализовывать необязательную точку притягивания, в которой, если субъект перемещения расположен достаточно близко к точке остановки, а также перемещается с пороговым значением скорости, субъект останавливается в точке остановки. Пример, показывающий реализацию модулем 114 инерции устанавливаемой по умолчанию фазы 210, фазы 212 положений и фазы 214 диапазонов, описан далее и показан на соответствующей фигуре.

Фиг. 3 иллюстрирует примерную реализацию 300, показывающую диаграмму последовательности операций, в которой модуль 114 инерции с Фиг. 2 использует устанавливаемую по умолчанию фазу 210, фазу 212 положений и фазу 214 диапазонов для вычисления положения остановки инерции для эффекта инерции в отношении субъекта перемещения. Эта примерная реализация 300 проиллюстрирована с использованием первого, второго, третьего, четвертого, пятого и шестого этапов 302, 304, 306, 308, 310, 312. Первый этап 302 соответствует начальному этапу, второй этап 304 иллюстрирует устанавливаемую по умолчанию фазу 210, третий и четвертый этапы 306, 308 соответствуют фазе 212 положений, пятый этап 310 соответствует фазе 214 диапазонов, и шестой этап 312 иллюстрирует этап завершения, который является результатом этапов, выполняемых модулем 114 инерции.

На первом этапе 302 показано начальное состояние, которое включает в себя начало 314 инерции, за которым следует диапазонная точка 316 остановки, позиционная точка 318 остановки, другая позиционная точка 320 остановки и диапазонная точка 322 остановки. Таким образом, позиционные точки 328, 320 остановки соответствуют фазе 212 положений, а диапазонные точки 316, 322 остановки соответствуют фазе 214 диапазонов, и они будут оцениваться в их соответствующих фазах модулем 114 инерции.

На втором этапе 304 точка 324 остановки инерции вычисляется в устанавливаемой по умолчанию фазе 210. В устанавливаемой по умолчанию фазе 210 точка 324 остановки инерции может, например, вычисляться на основе положения и скорости субъекта перемещения в начале 314 инерции. Например, в устанавливаемой по умолчанию фазе 210 положение 324 остановки инерции может вычисляться на основе начальной скорости субъекта перемещения и предварительно заданного замедления, и, таким образом, дается ответ на вопрос «насколько далеко будет перемещен субъект с учетом его начального положения и скорости?». Таким образом, устанавливаемая по умолчанию фаза 210 позволяет получить четкую начальную точку при определении точки остановки инерции.

На третьем этапе 306 курс субъекта перемещения изменяется по мере его перемещения из его положения в начале инерции в положение, получаемое в устанавливаемой по умолчанию фазе 210. Точки остановки, которые задействуются в этой фазе, регулируют положение для местоположения подходящей точки остановки, так как эти точки оцениваются поочередно, начиная с первой, обнаруживаемой из положения начала инерции, в направлении перемещения инерции. Соответственно, сначала оценивается позиционная точка 320 остановки, которая дает в результате подходящую точку 326 остановки. Воздействие позиционной точки 318 остановки оценивается на четвертом этапе 308, который дает в результате подходящую точку 328 остановки. Поскольку больше нет пригодных позиционных точек остановки, оценивание, выполняемое в фазе 212 положения, завершается с результатом, представляющим собой подходящую точку 328 остановки.

На пятом этапе 310 фаза 214 диапазонов оценивается модулем 114 инерции. В ней оценивается воздействие диапазонных точек 316, 322 остановки на подходящую точку 328 остановки из фазы 212 положения. Например, диапазонная точка 316 остановки может иметь диапазон 332, проиллюстрированный фигурной скобкой, а диапазонная точка 322 остановки может иметь диапазон 334, проиллюстрированный другой фигурной скобкой. Поскольку положение подходящей точки 328 остановки из фазы 212 положений попадает в пределы диапазона 332 диапазонной точки 316 остановки, диапазонная точка 316 остановки задается в качестве точки остановки инерции, как проиллюстрировано в конечном состоянии на шестом этапе 312. Таким образом, модуль 114 инерции может использовать последовательность фаз для вычисления эффекта инерции в отношении перемещения субъекта в пользовательском интерфейсе, дополнительное обсуждение которого может быть найдено применительно к следующим процедурам.

Примерные процедуры

Нижеследующее обсуждение касается средств параметрической инерции и API, которые могут быть реализованы с применением описанных ранее систем и устройств. Аспекты каждой из процедур могут быть реализованы в аппаратном обеспечении, программно-аппаратном обеспечении или программном обеспечении, или их комбинации. Процедуры показаны в виде набора блоков, которые указывают операции, выполняемые одним или более устройствами, и необязательно ограничены показанными порядками выполнения операций соответствующими блоками. В частях нижеследующего обсуждения будет сделана ссылка на вышеописанные фигуры.

Функциональные возможности, признаки и идеи, описанные применительно к примерам с Фиг. 1-3, могут быть использованы в отношении процедур, описанных в данном документе. Кроме того, функциональные возможности, признаки и идеи, описанные ниже применительно к разным процедурам, могут быть заменены в разных процедурах и не ограничены реализацией в отношении отдельной процедуры. Более того, блоки, связанные с разными представленными процедурами и соответствующими фигурами в данном документе, могут применяться совместно и/или могут быть объединены другими способами. Таким образом, отдельные функциональные возможности, признаки и идеи, описанные применительно к разным примерным средам, устройствам, компонентам и процедурам в данном документе, могут использоваться в любых подходящих комбинациях и не ограничены определенными комбинациями, показанными в приведенных примерах.

Фиг. 4 иллюстрирует процедуру 400 в примерной реализации, в которой операционная система демонстрирует функциональные возможности для одного или более приложений для вычисления эффекта инерции в отношении субъекта перемещения в пользовательском интерфейсе. Функциональные возможности демонстрируются через интерфейс прикладного программирования посредством операционной системы вычислительного устройства для одного или более приложений, которые сконфигурированы для вычисления эффекта инерции для перемещения в пользовательском интерфейсе (блок 402). Операционная система 110, например, может включать в себя функциональные возможности, представляющие собой модуль 114 инерции для вычисления эффекта инерции. Модуль 114 инерции может включать в себя интерфейсы 202 прикладного программирования, которые поддерживают взаимодействие с приложениями 112.

Вычисляемый эффект инерции для перемещения в пользовательском интерфейсе управляется операционной системой на основе одной или более точек остановки, указываемых с использованием одной или более параметрических кривых посредством одного или более приложений через взаимодействие с интерфейсом прикладного программирования (блок 404). Переходя к предыдущим примерам, приложения 112 могут указывать точки 204 остановки и соответствующие параметрические кривые 206, которые используются во время вычисления эффекта инерции, например, для вычисления положения остановки инерции и перемещения, совершаемого в анимации, отображающей относительное инерциальное перемещение в положение остановки инерции. Таким образом, интерфейсы 202 прикладного программирования могут обеспечивать разнообразное описание инерции, которая должна применяться в отношении субъекта перемещения в пользовательском интерфейсе, например, в отношении всего пользовательского интерфейса, как, скажем, при прокрутке, перемещении объекта в пределах пользовательского интерфейса и т.д.

Фиг. 5 иллюстрирует процедуру 500 в примерной реализации, в которой положение остановки инерции вычисляется операционной системой на основе одной или более точек остановки, указываемых приложением через интерфейс прикладного программирования. Положение остановки инерции для эффекта инерции вычисляется операционной системой вычислительного устройства с использованием одной или более из множества фаз на основе одной или более точек остановки, указываемых приложением через интерфейс прикладного программирования операционной системы (блок 502). Множество фаз может включать в себя устанавливаемую по умолчанию фазу, в которой положение остановки инерции основано, по меньшей мере, частично на начальной скорости ввода и предварительно заданного замедления (блок 504). Множество фаз может также включать в себя фазу положений, в которой ограничения, указываемые приложением, применяются к одной или более точкам остановки для определения положения остановки инерции (блок 506). Множество фаз может также включать в себя фазу диапазонов, в которой диапазоны, указываемые приложением, применяются к одной или более точкам остановки для определения положения остановки инерции (блок 508). Эти фазы могут применяться по отдельности, последовательно и т.д., как описано выше.

Вычисляемое положение остановки инерции демонстрируется операционной системой применительно к пользовательскому интерфейсу, выводимому вычислительным устройством для отображения устройством отображения (блок 510). Например, модуль 114 инерции может применять эти фазы для получения результирующего положения остановки инерции. Это положение может затем использоваться в качестве конечного пункта, который должен применяться в анимации, предусматривающей инерцию в пользовательском интерфейсе, как описано ранее. Также подразумевается множество других примеров без отступления от сущности и объема охраны изобретения.

Примерные система и устройство

Фиг. 6 иллюстрирует примерную систему в общем виде посредством ссылки 600, которая включает в себя примерное вычислительное устройство 602, которое характеризуется одной или более вычислительными системами и/или устройствами, которые могут реализовывать различные средства, описанные в данном документе. Пример этого проиллюстрирован посредством включения модуля 114 инерции. Вычислительное устройство 602 может быть, например, сервером поставщика услуг, устройством, связанным с клиентом (например, клиентским устройством), системой на чипе и/или любым другим подходящим вычислительным устройством или вычислительной системой.

Проиллюстрированное примерное вычислительное устройство 602 включает в себя систему 604 обработки, один или более машиночитаемых носителей 606 и один или более интерфейсов 608 I/O, которые соединены с возможностью связи друг с другом. Хотя не показано, вычислительное устройство 602 может дополнительно включать в себя системную шину или другую систему передачи данных и команд, которая соединяет различные компоненты друг с другом. Системная шина может включать в себя любую одну или комбинацию разных структур шин, таких как шина памяти или контроллер памяти, периферийная шина, универсальная последовательная шина и/или процессорная или локальная шина, которая применяет любую из множества архитектур шин. Также подразумевается множество других примеров, таких как управляющая линия и линия данных.

Система 604 обработки характеризуется функциональными возможностями для выполнения одной или более операций с использованием аппаратного обеспечения. Соответственно, система 604 обработки проиллюстрирована как включающая в себя аппаратный элемент 610, который может быть выполнен в виде процессоров, функциональных блоков и т.д. Это может включать в себя реализацию в аппаратном обеспечении в виде специализированной интегральной схемы или другого логического устройства, изготовленного с использованием одного или более полупроводников. Аппаратные элементы 610 не ограничены материалами, из которых они изготовлены, или схемами обработки, используемыми в них. Например, процессоры могут состоять из полупроводника(ов) и/или транзисторов (например, электронных интегральных схем (IC)). В таком случае машиноисполняемые инструкции могут представлять собой исполняемые электронным образом инструкции.

Машиночитаемые носители 606 данных проиллюстрированы как включающие в себя память/хранилище 612. Память/хранилище 612 представляет собой объем памяти/хранилища, связанный с одним или более машиночитаемыми носителями. Компонент 612 памяти/хранения может включать в себя энергозависимые носители (такие как оперативное запоминающее устройство (RAM)) и/или энергонезависимые носители (такие как постоянное запоминающее устройство (ROM), флэш-память, оптические диски, магнитные диски и т.д.). Компонент 612 памяти/хранения может включать в себя несъемные носители (например, RAM, ROM, несъемный жесткий диск и т.д.), а также съемные носители (например, флэш-память, съемный жесткий диск, оптический диск и т.д.). Машиночитаемые носители 606 могут быть выполнены множеством других способов, как дополнительно описано ниже.

Интерфейс(ы) 608 ввода/вывода характеризуются функциональными возможностями, позволяющими пользователю вводить команды и информацию в вычислительное устройство 602, а также позволяющие предоставлять информацию пользователю и/или другим компонентам или устройствам, используя различные устройства ввода/вывода. Примеры устройств ввода включают в себя клавиатуру, устройство управления курсором (например, мышь), микрофон, сканер, сенсорные функциональные возможности (например, емкостные или другие датчики, которые выполнены с возможностью обнаружения физического прикосновения), камеру (например, которая может использовать длины волн видимого или невидимого излучения, такие как инфракрасные частоты, для распознавания перемещения в виде жестов, которые не предусматривают прикосновения) и т.д. Примеры устройств вывода включают в себя устройство отображения (например, монитор или проектор), динамики, устройство печати, сетевую карту, тактильное устройство и т.д. Таким образом, вычислительное устройство 602 может быть выполнено множеством способов, как дополнительно описано ниже, для поддержки пользовательского взаимодействия.

Различные средства могут быть описаны в данном документе в общих чертах в виде элементов программного обеспечения, аппаратного обеспечения или программных модулей. Как правило, такие модули включают в себя подпрограммы, программы, объекты, элементы, компоненты, структуры данных и т.д., которые выполняют определенные задачи или реализуют определенные абстрактные типы данных. Термины «модуль», «функциональная возможность» и «компонент», используемые в данном документе, в целом представляют собой программное обеспечение, программно-аппаратное обеспечение, аппаратное обеспечение или их комбинацию. Элементы средств, описанных в данном документе, являются независящими от платформы, что означает, что эти средства могут быть реализованы на множестве промышленно выпускаемых вычислительных платформ с множеством процессоров.

Реализация описанных модулей и средств может быть сохранена или передана в некотором виде через машиночитаемые носители. Машиночитаемые носители могут включать в себя множество носителей, доступ к которым может осуществлять вычислительное устройство 602. В качестве примера, но не ограничения, машиночитаемые носители могут включать в себя «машиночитаемые носители данных» и «машиночитаемые носители сигналов».

«Машиночитаемые носители данных» могут относиться к носителям и/или устройствам, которые обеспечивают постоянное и/или невременное хранение информации в отличие от сигнальных передач, несущих волн или самих сигналов. Таким образом, машиночитаемые носители данных относятся к носителям, которые не переносят сигналы. Машиночитаемые носители данных включают в себя аппаратное обеспечение, такое как энергозависимые и энергонезависимые, съемные и несъемные носители и/или запоминающие устройства, реализованные с помощью способа или технологии, подходящей для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули, логические элементы/схемы или другие данные. Примеры машиночитаемых носителей данных могут включать в себя (без ограничения): RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические накопители, жесткие диски, магнитные кассеты, магнитную ленту, магнитные дисковые накопители или другие магнитные запоминающие устройства, или другое запоминающее устройство, материальные носители или изделие, подходящее для хранения требуемой информации, доступ к которому может осуществлять компьютер.

«Машиночитаемые носители сигналов» могут относиться к носителям, которые переносят сигналы и выполнены с возможностью передачи инструкций в аппаратное обеспечение вычислительного устройства 602, например, через сеть. Носители сигналов могут воплощать машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущие волны, сигналы данных или другие средства переноса. Носители сигналов также включают в себя любые носители для доставки информации. Термин «модулированный сигнал данных» означает сигнал, у которого одна или более из его характеристик отрегулированы или изменены таким образом, чтобы обеспечить кодирование информации в сигнале. В качестве примера, но не ограничения, средства связи включают в себя проводные средства, такие как проводная сеть или прямое проводное соединение, и беспроводные средства, такие как акустические, радиочастотные, инфракрасные и другие беспроводные средства.

Как описано ранее, аппаратные элементы 610 и машиночитаемые носители 606 характеризуются модулями, программируемой логикой устройства и/или фиксированной логикой устройства, реализованной в виде аппаратного обеспечения, которое может применяться в некоторых вариантах осуществления для реализации, по меньшей мере, некоторых аспектов средств, описанных в данном документе, таких как выполнение одной или более инструкций. Аппаратное обеспечение может включать в себя компоненты интегральной схемы или системы на чипе, специализированной интегральной схемы (ASIC), программируемой вентильной матрицы (FPGA), сложного программируемого логического устройства (CPLD) и другие реализации в кремниевом или другом аппаратном обеспечении. В этом случае аппаратное обеспечение может функционировать как устройство обработки, которое выполняет программные задачи, определяемые инструкциями и/или логикой, воплощенной аппаратным обеспечением, а также как аппаратное обеспечение, применяемое для сохранения исполняемых инструкций, например, как машиночитаемые носители данных, описанные ранее.

Комбинации вышеописанного могут также применяться для реализации различных средств, описанных в данном документе. Соответственно, программные, аппаратные или исполняемые модули могут быть реализованы в виде одной или более инструкций и/или логики, воплощенной в некотором виде на машиночитаемых носителях данных и/или посредством одного или более аппаратных элементов 610. Вычислительное устройство 602 может быть выполнено с возможностью реализации определенных инструкций и/или функций, соответствующих программным и/или аппаратным модулям. Таким образом, реализация модуля, который может исполняться вычислительным устройством 602, в виде программного обеспечения может быть достигнута, по меньшей мере, частично в аппаратном обеспечении, например, посредством использования машиночитаемых носителей данных и/или аппаратных элементов 610 системы 604 обработки. Инструкции и/или функции могут исполняться/управляться одним или более изделиями (например, одним или более вычислительными устройствами 602 и/или системами 604 обработки) для реализации средств, модулей и примеров, описанных в данном документе.

Как дополнительно проиллюстрировано на Фиг. 6, примерная система 600 обеспечивает повсеместные среды для беспрепятственного пользовательского взаимодействия при работе приложений на персональном компьютере (PC), телевизионном устройстве и/или мобильном устройстве. Службы и приложения работают, по существу, аналогично во всех трех средах для обеспечения общего пользовательского взаимодействия при переходе от одного устройства на следующее во время применения приложения, игры в видеоигру, просмотра видео и т.д.

В примерной системе 600 множество устройств соединены между собой через центральное вычислительное устройство. Центральное вычислительное устройство может быть локальным по отношению к множеству устройств или может быть расположено удаленно от множества устройств. В одном варианте осуществления центральное вычислительное устройство может быть облаком на одном или более серверных компьютерах, которые соединены с множеством устройством через сеть, Интернет или другую линию передачи данных.

В одном варианте осуществления эта архитектура межсоединений позволяет функциональным возможностям доставляться через множества устройств для предоставления общего и беспрепятственного взаимодействия пользователю множества устройств. Каждое из множества устройств может обладать разными физическими требованиями и функциональными возможностями, и центральное вычислительное устройство использует платформу для обеспечения доставки взаимодействия устройству, которое не только «привязано» к устройству, но и при этом является общим для всех устройств. В одном варианте осуществления создается класс целевых устройств, и взаимодействия «приписываются» к общему классу устройств. Класс устройств может определяться физическими элементами, видами применения или другими общими характеристиками устройств.

В различных реализациях вычислительное устройство 602 может допускать множество разных конфигураций, таких как для компьютерных 614, мобильных 616 и телевизионных применений. Каждая их этих конфигураций включает в себя устройства, которые могут иметь в целом разные конструкции и функциональные возможности, и, таким образом, вычислительное устройство 602 может быть выполнено согласно одному или более из разных классов устройств. Например, вычислительное устройство 602 может быть реализовано как компьютерный класс 614 устройств, который включает в себя персональный компьютер, настольный компьютер, многоэкранный компьютер, переносной компьютер, нетбук и т.д.

Вычислительное устройство 602 может быть также реализовано как мобильный 616 класс устройств, который включает в себя мобильные устройства, такие как мобильный телефон, переносное средство воспроизведения музыки, переносное игровое устройство, планшетный компьютер, многоэкранный компьютер и т.д. Вычислительное устройство 602 может быть также реализовано как телевизионный 618 класс устройств, который включает в себя устройства, обладающие или соединенные, как правило, с большими экранами в случайных средах просмотра. Эти устройства включают в себя телевизоры, телевизионные приставки, игровые консоли и т.д.

Средства, описанные в данном документе, могут поддерживаться этими различными конфигурациями вычислительного устройства 602, но не ограничены конкретными примерами средств, описанных в данном документе. Эти функциональные возможности могут быть также реализованы все или частично посредством использования распределенной системы, например, через «облако» 620 посредством платформы 622, описанной ниже.

Облако 620 включает в себя и/или характеризуется платформой 622 для ресурсов 624. Платформа 622 абстрактно представляет базовые функциональные возможности аппаратных ресурсов (например, серверов) и программных ресурсов облака 620. Ресурсы 624 могут включать в себя приложения и/или данные, которые могут использоваться во время выполнения компьютерной обработки на серверах, которые удалены от вычислительного устройства 602. Ресурсы 624 могут также включать в себя службы, предоставляемые по Интернету и/или через абонентскую сеть, такую как сотовая сеть или сеть Wi-Fi.

Платформа 622 может абстрактно представлять ресурсы и функции для соединения вычислительного устройства 602 с другими вычислительными устройствами. Платформа 622 может также служить для абстрактного масштабирования ресурсов, чтобы обеспечивать соответствующий уровень масштаба для обнаруживаемой потребности в ресурсах 624, который реализуется через платформу 622. Соответственно, в варианте осуществления с соединенными между собой устройствами реализация функциональных возможностей, описанных в данном документе, может выполняться распределено по системе 600. Например, функциональные возможности могут быть реализованы частично на вычислительном устройстве 602, а также через платформу 622, которая абстрактно представляет функциональные возможности облака 620.

Заключение

Хотя примерные реализации были описаны с использованием лексики, характерной для структурных признаков и/или методологических этапов, должно быть понятно, что реализации, заданные в приложенной формуле изобретения, необязательно ограничены этими описанными характерными признаками или этапами. Вместо этого, характерные признаки и этапы раскрыты в качестве примеров реализации заявленных признаков.

Похожие патенты RU2701988C2

название год авторы номер документа
ПЛАВНЫЕ ПЕРЕХОДЫ МЕЖДУ АНИМАЦИЯМИ 2006
  • Нельсон Элизабет К.
  • Джэкоб Курт Б.
  • Кэлкинс Мэтт
  • Хиллберг Майкл Дж.
RU2420806C2
СИСТЕМЫ И СПОСОБЫ ОБЕСПЕЧЕНИЯ УПРАВЛЕНИЯ ЦВЕТОМ 2003
  • Стоукс Майкл Д.
  • Секкья Адриан
RU2337392C2
ИНТЕРФЕЙС ПРОГРАММИРОВАНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ПЛАТФОРМЫ 2004
  • Гузак Крис Дж.
  • Каратал Керем Б.
  • Миллер Марк М.
  • Шелдон Майкл Г.
  • Макки Тимоти П.
RU2365972C2
ДИНАМИЧЕСКИЙ ОПЫТ ПОЛЬЗОВАТЕЛЯ ПОСРЕДСТВОМ СЕМАНТИЧЕСКИ БОГАТЫХ ОБЪЕКТОВ 2006
  • Митал Виджай
  • Стоянович Александр
RU2417408C2
УКАЗАНИЕ, ЗАДАНИЕ И ОБНАРУЖЕНИЕ ПАРАМЕТРОВ ДОКУМЕНТОВ ЭЛЕКТРОННЫХ ТАБЛИЦ 2006
  • Мегиддо Эран
  • Пэриш Дэниел Й.
  • Баттаджин Дэниел
  • Арчер Роберт Л.
  • Гревал Амариндер Сингх
  • Роквуд Джастин Фредерик
  • Бун Шон
RU2421797C2
ТЕХНОЛОГИИ АВТОМАТИЧЕСКОГО ДИАЛОГА 2009
  • Эффронти Майкл
  • Браунингер Эндрю
  • Макканн Роберт Эмметт
  • Эделен Джеймс
  • Перейра Хорхе
RU2523165C2
ОСНОВАННОЕ НА ШАБЛОНЕ УПРАВЛЕНИЕ СЛУЖБАМИ 2006
  • Сангхви Ашвинкумар Дж.
  • Лакшминараянан Ананд
  • Бхандари Чандика
  • Рицци Лоренцо
  • Уилсон Стефен О.
  • Райт Травис А.
  • Филимонов Виталий В.
  • Волошин Виталий
RU2419854C2
ДИНАМИЧЕСКАЯ АРХИТЕКТУРА ОКОН 2004
  • Хэнгги Скотт
  • Тэн Виктор
  • Бермудез Джерардо
  • Сведберг Грегори Д.
RU2377663C2
ИНТЕРФЕЙС ПРОГРАММИРОВАНИЯ ДЛЯ КОМПЬЮТЕРНОЙ ПЛАТФОРМЫ 2004
  • Богдан Джеффри Л.
  • Релая Роберт А.
RU2371758C2
СИСТЕМА УПРАВЛЕНИЯ И ДИСПЕТЧЕРИЗАЦИИ КОНТЕЙНЕРОВ 2019
  • Синх, Дипак
  • Суарес, Энтони Джозеф
  • Серстон, Уильям Эндрю
  • Айтал, Анирудх Балачандра
  • Гердесмайер, Дэниэл Роберт
  • Кемп, Эуан Скайлер
  • Медури, Киран Кумар
  • Азад, Мухаммад Умер
RU2751576C2

Иллюстрации к изобретению RU 2 701 988 C2

Реферат патента 2019 года ПАРАМЕТРИЧЕСКАЯ ИНЕРЦИЯ И ИНТЕРФЕЙСЫ ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ

Изобретение относится к средствам параметрической инерции и API. Технический результат заключается в обеспечении отображения разнообразных эффектов инерции, которые применяются в отношении объекта перемещения в пользовательском интерфейсе. Такой результат достигается тем, что функциональные возможности демонстрируются через интерфейс прикладного программирования посредством операционной системы вычислительного устройства для одного или более приложений, которые сконфигурированы для вычисления эффекта инерции для перемещения в пользовательском интерфейсе. Вычисленный эффект инерции для перемещения в пользовательском интерфейсе управляется операционной системой на основе одной или более точек остановки, указываемых с использованием одной или более параметрических кривых посредством одного или более приложений через взаимодействие с интерфейсом прикладного программирования. 3 н. и 6 з.п. ф-лы, 6 ил.

Формула изобретения RU 2 701 988 C2

1. Способ (500) отображения пользовательского интерфейса с возможностью имитации эффекта инерции в отношении объектов в пользовательском интерфейсе, содержащий этапы, на которых:

демонстрируют функциональные возможности через интерфейс прикладного программирования посредством операционной системы вычислительного устройства для одного или более приложений, причем интерфейс прикладного программирования сконфигурирован для вычисления положения остановки инерции, при котором эффект инерции должен прекращаться для перемещения в пользовательском интерфейсе; и

вычисляют (502) положение остановки инерции для перемещения в пользовательском интерфейсе посредством операционной системы, используя одну или более из множества фаз на основе одной или более точек остановки, указываемых одним или более приложениями через взаимодействие с интерфейсом прикладного программирования операционной системы, причем вычисление выполняют посредством применения одной или более из множества фаз в перечисленном порядке;

при этом множество фаз включают в себя:

устанавливаемую по умолчанию фазу (504), в которой положение остановки инерции основано, по меньшей мере частично, на начальной скорости ввода и предварительно заданном замедлении или положении субъекта в начале инерции;

фазу положений (506), в которой ограничения, указываемые приложением, применяют к одной или более точкам остановки для определения положения остановки инерции; и

фазу диапазонов (508), в которой диапазоны, указываемые приложением, применяют к одной или более точкам остановки для определения положения остановки инерции; и

демонстрирование (510) вычисленного положения остановки инерции операционной системой применительно к пользовательскому интерфейсу, выводимому вычислительным устройством для отображения устройством отображения.

2. Способ по п. 1, в котором вычисленное положение остановки инерции в пользовательском интерфейсе применяют к перемещению пользовательского интерфейса в целом или применяют к перемещению субъекта в пользовательском интерфейсе.

3. Способ по п. 1, в котором:

устанавливаемая по умолчанию фаза сконфигурирована таким образом, что для одной или более точек остановки в качестве входных данных берется положение или скорость в положении начала инерции при вычислении положения остановки инерции;

этап вычисления положения остановки инерции в фазе положений выполняют с использованием точек остановки для регулирования оцениваемого положения для положения остановки инерции поочередно, начиная с первой упомянутой точки остановки, обнаруживаемой из положения начала инерции, и продолжая в направлении перемещения; и

этап вычисления положения остановки инерции в фазе диапазонов выполняют для обеспечения совпадения точки остановки инерции с конкретным местоположением, если она попадает в предварительно заданный диапазон около конкретного местоположения.

4. Система отображения пользовательского интерфейса с возможностью имитации эффекта инерции в отношении объектов в пользовательском интерфейсе, содержащая:

один или более модулей, реализованных, по меньшей мере, частично в аппаратном обеспечении, причем один или более модулей выполнены с возможностью осуществления операций, содержащих:

вычисление положения остановки инерции, при котором эффект инерции должен прекращаться посредством операционной системы вычислительного устройства, используя одну или более из множества фаз, основанных на одной или более точках остановки, указываемых приложением через интерфейс прикладного программирования операционной системы, причем вычисление выполняют посредством применения одной или более из множества фаз в перечисленном порядке; и

демонстрирование вычисленного положения остановки инерции операционной системой применительно к пользовательскому интерфейсу, выводимому вычислительным устройством для отображения устройством отображения;

при этом по меньшей мере одна из множества фаз является устанавливаемой по умолчанию фазой, в которой положение остановки инерции основано, по меньшей мере, частично на начальной скорости ввода и предварительно заданном замедлении, по меньшей мере одна из множества фаз является фазой положений, в которой ограничения, указываемые приложением, применяют к одной или более точкам остановки для определения положения остановки инерции; и по меньшей мере одна из множества фаз является фазой диапазонов, в которой диапазоны, указываемые приложением, применяют к одной или более точкам остановки для определения положения остановки инерции.

5. Система по п. 4, в которой устанавливаемая по умолчанию фаза сконфигурирована таким образом, что для одной или более точек остановки в качестве входных данных берется положение или скорость в положении начала инерции при вычислении положения остановки инерции.

6. Система по п. 4, в которой вычисление положения остановки инерции в фазе положений выполняется с использованием точек остановки для регулирования положения оцениваемого положения остановки инерции поочередно, начиная с первой упомянутой точки остановки, обнаруживаемой из положения начала инерции, и продолжая в направлении перемещения.

7. Система по п. 4, в которой вычисление положения остановки инерции в фазе положений:

основано на положении субъекта перемещения в начале инерции и позиционной точке остановки;

основано на расстоянии между положением остановки инерции и позиционной точкой остановки;

основано на начальной скорости субъекта перемещения в начале инерции, которая характеризует скорость субъекта между началом инерции и положением остановки инерции на параметрической кривой; или

основано на скорости субъекта при прохождении соответствующей упомянутой точки остановки.

8. Система по п. 4, в которой вычисление положения остановки инерции в фазе диапазонов выполняется для обеспечения совпадения точки остановки инерции с конкретным местоположением при ее попадании в пределы предварительно заданного диапазона этого конкретного местоположения.

9. Вычислительное устройство отображения пользовательского интерфейса с возможностью имитации эффекта инерции в отношении объектов в пользовательском интерфейсе, содержащее:

систему обработки; и

память, выполненную с возможностью хранения инструкций, которые исполняются системой обработки для выполнения операций, содержащих:

демонстрирование интерфейса прикладного программирования посредством операционной системы для одного или более приложений, причем интерфейс прикладного программирования сконфигурирован для вычисления положения остановки инерции при котором эффект инерции должен прекращаться для перемещения в пользовательском интерфейсе; и

вычисление положения остановки инерции для перемещения в пользовательском интерфейсе посредством операционной системы, используя одну или более из множества фаз на основе одной или более точек остановки, указываемых одним или более приложениями через взаимодействие с интерфейсом прикладного программирования, причем вычисление выполняют посредством применения одной или более из множества фаз в перечисленном порядке;

при этом множество фаз включают в себя:

устанавливаемую по умолчанию фазу (504), в которой положение остановки инерции основано, по меньшей мере, частично на начальной скорости ввода и предварительно заданном замедлении или положении субъекта в начале инерции;

фазу положений (506), в которой ограничения, указываемые приложением, применяют к одной или более точкам остановки для определения положения остановки инерции; и

фазу диапазонов (508), в которой диапазоны, указываемые приложением, применяют к одной или более точкам остановки для определения положения остановки инерции; и

демонстрирование вычисленного положения остановки инерции операционной системой применительно к пользовательскому интерфейсу, выводимому для отображения.

Документы, цитированные в отчете о поиске Патент 2019 года RU2701988C2

Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
Способ приготовления лака 1924
  • Петров Г.С.
SU2011A1
RU 2011116315 A, 27.10.2012
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем 1924
  • Волынский С.В.
SU2012A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1

RU 2 701 988 C2

Авторы

Хуан Мин

Брен Николя Ж.

Даты

2019-10-02Публикация

2015-09-07Подача