способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши
Классы МПК: | G06T11/60 редактирование фигур или текста; комбинирование фигур или текста G06T17/40 манипулирование трехмерными (3D) изображениями, например с использованием CAD установок графического автоматического проектирования |
Автор(ы): | Кашик А.С., Федоров А.Л., Голосов С.В., Гогоненков Г.Н., Гарипов В.З., Перепечкин М.В. |
Патентообладатель(и): | Кашик Алексей Сергеевич |
Приоритеты: |
подача заявки:
1998-09-09 публикация патента:
20.06.1999 |
Изобретение относится к вычислительной технике и может быть использовано для формирования изображения на экране монитора. Техническим результатом является обеспечение удобства работы с пространством с размерностью больше двух на экране монитора и повышение информационной емкости экрана. Заявленный способ основан на формировании в изображенном пространстве на экране монитора двух объектов, которые совмещают, перемещают при помощи компьютерной мыши объекты путем приведения в соответствие перемещения компьютерной мыши с совершенным на экране перемещением объектов. 6 з.п. ф-лы, 11 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11
Формула изобретения
1. Способ перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, включающий формирование на экране изображения по меньшей мере трехмерного пространства при помощи аксонометрической проекции осей его системы координат, формирование объекта в этом пространстве, перемещение в нем объекта, отличающийся тем, что создают дополнительный объект для визуализации направления перемещения объекта, дополнительный объект размещают в том же пространстве и совмещают с объектом, при перемещении объекта вычисляют значения векторов элементарных перемещений компьютерной мыши, интерпретируют полученную последовательность векторов как перемещение объекта в пространстве и перемещают объект и дополнительный объект путем осуществления операции "drag & drop" в соответствии с интерпретацией. 2. Способ по п.1, отличающийся тем, что в качестве объекта используют точку. 3. Способ по п.2, отличающийся тем, что в качестве дополнительного объекта используют вспомогательную систему координат с осями, параллельными осям координат пространства, и начало которой совпадает с точкой. 4. Способ по п.3, отличающийся тем, что интерпретацию осуществляют путем вычисления проекции точки на плоскость экрана, вычисления проекции осей вспомогательной системы координат на плоскость экрана, для каждой оси вспомогательной системы координат вычисляют по два вектора, один - вдоль направления проекции оси, а другой - в противоположном ей направлении, среди этих векторов выбирают тот, который образует наименьший угол с вектором перемещения мыши, по которому выбирают вектор направления перемещения точки в пространстве, вычисляют новое положение точки в пространстве так, чтобы проекция на экран ее нового положения была ближайшей к положению компьютерной мыши, а вспомогательную систему координат перемещают идентично перемещению точки. 5. Способ по п.1, отличающийся тем, что в качестве объекта используют плоскость. 6. Способ по п.5, отличающийся тем, что в качестве дополнительного объекта используют вспомогательную систему координат, начало которой совпадает с точкой на плоскости, на которую указывает компьютерная мышь, одна из осей перпендикулярна плоскости, а другие оси расположены в плоскости. 7. Способ по п.6, отличающийся тем, что интерпретацию осуществляют путем вычисления проекции осей вспомогательной системы координат на плоскость экрана, для каждой оси вспомогательной системы координат вычисляют по два вектора, один - вдоль направления проекции оси, а другой - в противоположном ей направлении, среди этих векторов выбирают тот, который образует наименьший угол с вектором перемещения компьютерной мыши, если вектор с наименьшим углом соответствует оси, перпендикулярной плоскости, то плоскость перемещают параллельно самой себе вдоль оси, соответствующей направлению этого вектора, а если вектор с наименьшим углом соответствует оси, находящейся в плоскости, то плоскость вращают вокруг другой оси, находящейся в ней, а вспомогательную систему координат перемещают идентично перемещению плоскости.Описание изобретения к патенту
Изобретение относится к вычислительной технике и может быть использовано в различных областях для повышения информационной емкости экрана монитора. Известен способ перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, так называемый "drag & drop" - "схватил и перетащил" [1]. Этот способ предусматривает перемещение объектов по плоскости экрана, тождественным двумерному пространству. Для его реализации на экране монитора формируют изображения объекта. Путем перемещения мыши подводят ее курсор к нужному объекту и осуществляют "захват" путем нажатия левой клавиши мыши. Перемещают объект по экрану монитора путем перемещения курсора мыши. Перемещение объекта происходит одновременно с перемещением курсора до тех пор, пока левая клавиша мывши остается нажатой. Сохраняют объект в измененном положении путем опускания нажатой клавиши мыши. Способ характеризуется удобством и наглядностью для пользователя при перемещении объектов по экрану монитора, а также естественностью осуществления перемещений. Его ограничением является то, что объект может перемещаться только в двумерном пространстве, отождествляемом с плоскостью экрана монитора. Известен способ перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, включающий формирование на экране изображения трехмерного пространства при помощи аксонометрической проекции осей его системы координат, формирование изображения объекта в этом пространстве, перемещение в нем изображения объекта [2]. Способ предусматривает перемещение объекта в трехмерном пространстве. Для выбора направления перемещения относительно оси одной из координатных осей, которую предварительно активизируют, используют меню, а собственно для управления перемещением используют слайдеры. Ограничениями этого способа являются: возможность перемещения объекта при помощи одного слайдера только относительно одной из координатных осей, необходимость предварительного активизирования осей, при этом производится манипуляция мышью не непосредственно перемещаемого объекта, а перемещение указателя слайдера, что затрудняет точность перемещения, увеличивает путь доступа к информации, ухудшает наглядность и удобство манипулирования. Решаемая изобретением задача - повышение наглядности изображения перемещения объекта в пространстве и упрощение доступа к получению информации. Технический результат, который может быть получен при осуществлении заявленного способа, - обеспечение естественного управления перемещением объекта в пространстве с размерностью больше двух, создание прямого доступа к любому объекту в пространстве, отображаемому на экране монитора, и обеспечение возможности удобства, упрощение доступа к получению информации за счет уменьшения необходимого количества манипуляций с мышью. Для решения поставленной задачи в известном способе перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, включающем формирование на экране изображения по меньшей мере трехмерного пространства при помощи аксонометрической проекции осей его системы координат, формирование изображения объекта в этом пространстве, перемещение в нем изображения объекта, согласно изобретению перемещение объекта производят путем осуществления операции "drag & drop" непосредственно над объектом, создают дополнительный объект для визуализации направления перемещения, изображение которого размещают в том же пространстве и совмещают с изображением объекта, при перемещении объекта вычисляют значения вектора элементарных перемещений компьютерной мыши, интерпретируют полученную последовательность векторов как перемещение объекта в пространстве и перемещают объект и дополнительный объект в соответствии с интерпретацией. Возможны дополнительные варианты осуществления способа, в которых целесообразно, чтобы: в качестве объекта использовали точку; для объекта - точки в качестве дополнительного объекта использовали вспомогательную систему координат с осями, параллельными осям координат пространства, и начало которой совпадает с точкой; для объекта - точки интерпретацию осуществляли путем вычисления проекции точки на плоскость экрана, вычисления проекции осей вспомогательной системы координат на плоскость экрана, для каждой оси вспомогательной системы координат вычисляли бы по два вектора, один - вдоль направления проекции оси, а другой - в противоположном ей направлении, среди этих векторов выбирали тот, который образует наименьший угол с вектором перемещения мыши, по которому выбирали вектор направления перемещения точки в пространстве так, чтобы проекции на экран ее нового положения была ближайшей к положению мыши, а вспомогательную систему координат перемещали идентично перемещению точки; в качестве объекта использовали плоскость; для объекта - плоскости в качестве дополнительного объекта использовали вспомогательную систему координат, начало которой совпадает с точкой на плоскости, на которую указывает мышь, одна из осей перпендикулярна плоскости, а другие оси расположены в плоскости; для объекта - плоскости интерпретацию осуществляли путем вычисления проекции осей вспомогательной системы координат на плоскость экрана, для каждой оси вспомогательной системы координат вычисляли по два вектора, один - вдоль на правления проекции оси, а другой - в противоположном ей направлении, среди этих векторов выбирали тот, который образует наименьший угол с вектором перемещения мыши, если вектор с наименьшим углом соответствует оси, перпендикулярной плоскости, то плоскость перемещали бы параллельно самой себе вдоль оси, соответствующей направлению этого вектора, а если вектор с наименьшим углом соответствует оси, находящейся в плоскости, то плоскость вращали бы вокруг другой оси, находящейся в плоскости, а вспомогательную систему координат перемещали идентично перемещению плоскости. За счет создания дополнительного объекта, изображение которого совмещают с изображением объекта, вычисления значения вектора элементарных перемещений компьютерной мыши и интерпретации последовательности векторов как перемещение объекта в пространстве, удалось произвести имитацию перемещения объекта курсором мыши в пространстве с размерностью больше двух при перемещении самой мыши по плоскости, что позволяет повысить наглядность изображения перемещения объекта в пространстве и упрощение доступа к получению информации. Указанные преимущества, а также особенности настоящего изобретения поясняются лучшим вариантом его осуществления со ссылками на прилагаемые чертежи. Фиг. 1 показывает функциональную схему для реализации заявленного способа при помощи компьютера, связанным с монитором и мышью; фиг. 2 - изображение трехмерного пространства на экране компьютера с перемещаемым объектом; фиг. 3 - то же, что фиг. 2, с перемещаемым объектом-точкой и сформированным дополнительным объектом; фиг. 4 - область А на фиг. 3 в укрупненном масштабе; фиг. 5 - изображение четырехмерного пространства на экране компьютера с перемещаемым объектом и сформированным дополнительным объектом; фиг. 6 - изображение трехмерного пространства на экране компьютера с перемещаемым объектом-плоскостью; фиг. 7 -то же, что фиг. 6, при перемещении плоскости вдоль оси, ортогональной ей; фиг. 8 - то же, что фиг. 7, при вращении плоскости вокруг одной из осей, находящейся в этой плоскости; фиг. 9 - то же, что фиг. 8, при вращении плоскости вокруг другой из осей, находящейся в плоскости; фиг. 10 - изображение пространства при выполнении операции зуммирования; фиг. 11 - изображение трехмерного дискретного пространства для анализа экономической информации. Для лучшего пояснения существа предложенного способа рассмотрим функциональную схему для его реализации (фиг. 1). Способ включает формирование при помощи компьютера 1 на экране 2 монитора 3 посредством блока 4 формирования изображения пространства, например трехмерного. Аксонометрические проекции осей X, Y, Z системы координат этого пространства показаны на фиг. 2. Посредством блока 5 формирования изображения объекта получают изображение объекта 6 (фиг. 1, 2) в этом пространстве. В качестве объекта 6 может быть выбран любой геометрический объект, например точка, плоскость, параллелепипед, сфера и др. Для реализации перемещения объекта 6 путем операции "drag & drop" подводят курсор 7 мыши 8 (фиг. 1, 2) к объекту 6 и производят захват его путем нажатия клавиши мыши, тем самым активизируют объект 6. После захвата объекта 6 посредством блока 9 формирования дополнительного объекта создают изображение дополнительного объекта 10 (фиг. 1, 2) для визуализации направления его перемещения и совмещают его с изображением объекта 6. Для определения направления перемещения объекта 6 по пространству служит блок 11 определения направления перемещения (фиг. 1). В нем вычисляют значения векторов 12 (фиг. 2) элементарных перемещений мыши 8 и интерпретируют последовательность векторов 12 как задаваемое перемещение объекта 6 в пространстве. Определение нового положения объекта 6 в пространстве осуществляют посредством блока 13 перемещения объектов, который производит построение изображений перемещенных объекта 6 и дополнительного объекта 10 на экране 2. Далее проверяют в блоке 14 контроля, остается ли нажатой клавиша мыши 8. Если клавиша мыши 8 остается нажатой, то управление передается в блок 11 определения направления перемещения, в противном случае при отпускании клавиши мыши 8 посредством блока 15 завершения стирают с экрана 2 изображение дополнительного объекта 10. При использовании в качестве перемещаемого объекта 6 точки (фиг. 3) в качестве дополнительного объекта 10 используют вспомогательную систему координат с осями x, y, z, параллельными осям X, Y, Z пространства, и начало которой совпадает с объектом 6. Для получения дополнительной информации о координатах точки могут быть также использованы дополнительные средства для обозначения объекта 6 и его расположения в пространстве, например: измененный цвет объекта 6; тонкие линии прямоугольного параллелепипеда, ребра которого параллельны координатным осям X, Y, Z, одна вершина которого находится в начале координат, обозначенным точкой 0, а другая совпадает с объектом 6; точки, соответствующие проекциям объекта 6 на оси X, Y, Z. Интерпретацию осуществляют блоком 11 определения направления перемещения (фиг. 1). При этом в блоке 11 вычисляют проекции объекта 6 на плоскость экрана 2 (фиг. 4), вычисляют проекции осей x, y, z вспомогательной системы координат на плоскость экрана 2, для каждой оси x, y, z вычисляют по два вектора x1 и x2 (на фиг. 4 два вектора показаны только для оси x): один - вдоль направления проекции оси, а другой - в противоположном ей направлении. Среди этих векторов выбирают тот, который образует наименьший угол![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
(u0 -d
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
(u0+d, v0) - для вектора y1,
(u0, v0 + d)- для вектора z1,
(u0+d
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
(u0 - d, v0) - для вектора y2,
(u0, v0 - d) -для вектора z2. Перемещение курсора 7 мыши 8 состоит из элементарных (малых) перемещений мыши 8, информация о каждом из которых поступает от операционной системы компьютера 1 путем передачи координат (u1, v1) курсора 7 на экране 2
Для выбора вектора, образующего наименьший угол
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
du
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
dv
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
(du
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
du
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
dv
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132010/183.gif)
Далее выбирают наибольшее из скалярных произведений и определяют вектор, задающий ось и направление, которые соответствуют ему. Для рассмотренного примера это - вектор x2. Пусть величина скалярного произведения равна p. Тогда определяют смещение s вдоль выбранного вектора x2, как величину проекции на него вектора 16 перемещения по формуле: s = p/d. Определяют новые координаты x*, y*, z* объекта 6 в трехмерном пространстве следующим образом: значение координаты, вдоль которой производят данное элементарное перемещение, измеряют на величину s с учетом знака: "+" для положительного направления и "-" для отрицательного, для рассмотренного примера x*=x0-s; сохраняют значения остальных координат, для рассмотренного примера y*=y0, z*=z0. Данный способ не ограничивает свое применение в случае, когда для изображения трехмерного пространства используют аксонометрическую проекцию в традиционном виде, в котором оси Y, Z расположены параллельно плоскости UV. Расчеты проводятся по известным формулам аналитической геометрии, учитывающим углы векторов x1, x2, y1, y2 z1, z2 относительно осей U, V системы координат экрана 2. Перемещение осуществляется тем же способом. Предлагаемый способ перемещения объекта 6 может быть реализован и для случая размерности пространства N > 3( фиг. 5). Формируют на экране 2, описываемым в координатах U, V, N-мерное пространство в аксонометрической проекции путем изображения точки начала координат O и N координатных осей X1,...XN. Направление этих координатных осей X1, ...XN могут быть выбраны, например, по следующему правилу, хотя возможны и другие варианты. Ось XN совпадает с осью V, положительное направление - вверх. Ось XN-1 совпадает с осью U, положительное направление - вправо. Для определения направления остальных осей вычисляют вспомогательные коэффициенты m1, m2:
m1 = m2 = (N-2)/2, если N - четное;
m1 = (N-1)/2, m2=m1-1, если N - нечетное. Далее проводят в положительном направлении оси X1...Xm1, располагая их через равные углы
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132042/946.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132042/946.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132037/947.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132038/960.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132037/947.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132067/8773.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
![способ перемещения объекта на экране монитора компьютера с помощью 2-d манипулятора типа компьютерной мыши, патент № 2132085](/images/patents/339/2132041/945.gif)
1. Книга "X Window System Programming", Second Edition, Nabajyoti Barkakati, Samz Publishing, Indianapolis, 1994, p.509-518. 2. Патент США N 5511157, G 06 F 15/10, опубл. 23.04.96.
Класс G06T11/60 редактирование фигур или текста; комбинирование фигур или текста
Класс G06T17/40 манипулирование трехмерными (3D) изображениями, например с использованием CAD установок графического автоматического проектирования