Способ управления движением курсора

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

 

Область использования.

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

Предшествующий уровень техники

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

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

Возможное решение этой проблемы реализовано в известном способе (патент США №5477236), где в системе управления движением курсора на экране дисплея в соответствии с информацией команд перемещения от средств ручного управления перемещением курсора способ управления перемещением курсора включает шаги:

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

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

- обнаружение координат на изогнутой линии на экране дисплея вблизи расчетных координат,

- изменение координат назначения курсора до обнаруженных координат и

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

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

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

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

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

предварительно определяют тип прогнозируемой траектории движения курсора,

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

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

отображают процесс такого сближения на экране дисплея,

повторяют вышеуказанные операции, выполняемые в процессе движения курсора, включая или исключая операцию установления заданных координат курсора.

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

- установление заданных координат курсора с помощью средств управления заданными координатами курсора,

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

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

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

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

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

- повторение операций, включая или исключая операцию установления заданных координат курсора,

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

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

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

- по прямой линии;

- по дуге постоянной кривизны, соответствующей движению по дуге окружности;

- по дуге переменной кривизны в форме дуги параболы, эллипса или сплайна;

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

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

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

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

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

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

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

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

Заявленный способ иллюстрируется на чертеже, где приведен пример реализации способа в устройстве управления движением курсора. Устройство управления движением курсора (см. чертеж) построено на основе программно-аппаратных компонентов компьютера общего назначения. Эти компоненты включают:

- вычислительный процессор с базовой системой ввода-вывода (BIOS) и встроенными часами,

- память для хранения информации,

- дисплей,

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

- манипулятор-указатель,

- контроллеры и драйверы компонентов компьютера,

- интерфейсы обмена информацией между компонентами компьютера,

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

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

- средства 1 управления заданными координатами курсора;

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

- средства 3 отображения процесса сближения заданных и текущих координат курсора на экране дисплея.

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

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

- вычислительный процессор;

- интерфейсы обмена информацией между указанными устройствами;

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

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

Память в программно-функциональных блоках используется следующим образом:

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

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

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

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

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

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

Средства 3 отображения реализуют форму представления процесса сближения, содержащую в качестве примера только изображение курсора в текущих координатах. При этом средства 3 отображения отображают курсор в полученных от вычислительных средств 2 текущих координатах.

Вычислительные средства 2 повторяют пошаговое движение текущих координат курсора в направлении к последним, полученным от средств 1 управления заданными координатами курсора, заданным координатам курсора до момента их совмещения, когда процесс движения текущих координат курсора прекращается. Процесс движения текущих координат курсора продолжается в случае, если до или после момента совмещения заданных и текущих координат курсора вычислительные средства 2 получат от средств 1 управления заданными координатами курсора новые значения заданных координат курсора.

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

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

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

Далее программа вычисления заданных координат курсора читает из памяти последнее полученное значение приращения координат курсора, а также значение заданных координат курсора, изменяет на величину этого приращения значения заданных координат курсора, записывает новые значения заданных координат курсора в память и передает их вычислительным средствам 2.

На внутрисистемном уровне вычислительных средств 2 программа изменения текущих координат курсора выполняет запись в память полученных от средств 1 управления заданными координатами курсора значений заданных координат курсора. С использованием этих значений указанная программа реализует пространственно-временной алгоритм равномерного прямолинейного пошагового сближения заданных и текущих координат курсора. Для этого программа через определенные интервалы времени выполняет вычисление текущих координат курсора. Каждый указанный интервал времени в программе изменения текущих координат курсора отсчитывается от момента завершения предыдущего интервала на основе константного значения, заданного в программе изменения текущих координат курсора. Это значение используется в качестве параметра таймера, устанавливаемого этой программой в операционной системе, обеспечивающей выработку сигнала об истечении времени срабатывания таймера с момента его установки. Операционная система счисляет интервалы времени с использованием информации от встроенных часов. При этом она увеличивает интервал времени срабатывания таймера по сравнению с указанным параметром на некоторую, возможно случайную, величину задержки, являющуюся характеристикой операционной системы.

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

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

На внутрисистемном уровне средств 3 отображения программа отображения курсора выполняет запись в память значений текущих координат курсора, полученных от вычислительных средств 2. Затем эта программа читает полученные значения из памяти и выполняет соответствующее изменение значений координат курсора в операционной системе. Операционная система с использованием собственных средств отображает курсор в указанных координатах на экране дисплея. При этом указанная программа блокирует использование средств операционной системы по изменению положения курсора на экране дисплея под действием манипулятора-указателя с целью исключения его возвратно-поступательного движения, обусловленного перемещением манипулятора-указателя и восстановлением предыдущих значений координат курсора в программе вычисления заданных координат курсора. Такое блокирование может быть выполнено с использование общеизвестной технологии перехвата сообщений, в данном случае сообщений о перемещении курсора на экране дисплея, принимаемых программой вычисления заданных координат курсора в средствах 1 управления заданными координатами курсора.

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



 

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

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

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

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

Изобретение относится к области компьютерных функциональных устройств. .

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

Изобретение относится к области выбора товаров. .

Изобретение относится к вычислительной технике и может быть использовано в системах технического зрения для ввода информации в ЭВМ. .

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

Навигация // 2265245
Изобретение относится к устройству и способу для упрощения перемещения между подлежащими отображению на экране объектами, особенно такими как объекты, определяемые HTML-документами.

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

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

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

Изобретение относится к внутреннему представлению элементов пользовательского интерфейса

Изобретение относится к измерительной технике, в частности к технике применения резисторных датчиков совместно с компьютером

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

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

Изобретение относится к устройствам ввода для компьютеров, в частности к способам встраивания мыши в различные отделения системного блока компьютера, ноутбука и монитора

Изобретение относится к групповому обмену сообщениями

Изобретение относится к области электроники
Наверх