RU2132085C1 - Method for dragging of object on computer screen using 2-d mouse-type manipulator - Google Patents
Method for dragging of object on computer screen using 2-d mouse-type manipulator Download PDFInfo
- Publication number
- RU2132085C1 RU2132085C1 RU98117032A RU98117032A RU2132085C1 RU 2132085 C1 RU2132085 C1 RU 2132085C1 RU 98117032 A RU98117032 A RU 98117032A RU 98117032 A RU98117032 A RU 98117032A RU 2132085 C1 RU2132085 C1 RU 2132085C1
- Authority
- RU
- Russia
- Prior art keywords
- plane
- axis
- space
- coordinate system
- axes
- Prior art date
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в различных областях для повышения информационной емкости экрана монитора. The invention relates to computer technology and can be used in various fields to increase the information capacity of the monitor screen.
Известен способ перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, так называемый "drag & drop" - "схватил и перетащил" [1]. There is a method of moving an object on a computer screen using a 2-D manipulator such as a computer mouse, the so-called "drag & drop" - "grabbed and dragged" [1].
Этот способ предусматривает перемещение объектов по плоскости экрана, тождественным двумерному пространству. Для его реализации на экране монитора формируют изображения объекта. Путем перемещения мыши подводят ее курсор к нужному объекту и осуществляют "захват" путем нажатия левой клавиши мыши. This method involves moving objects along the plane of the screen, identical to two-dimensional space. For its implementation, images of an object are formed on a monitor screen. By moving the mouse, bring its cursor to the desired object and carry out the "capture" by pressing the left mouse button.
Перемещают объект по экрану монитора путем перемещения курсора мыши. Перемещение объекта происходит одновременно с перемещением курсора до тех пор, пока левая клавиша мывши остается нажатой. Сохраняют объект в измененном положении путем опускания нажатой клавиши мыши. Move the object around the screen by moving the mouse cursor. The movement of the object occurs simultaneously with the movement of the cursor until the left mouse button remains pressed. Save the object in a changed position by lowering the pressed mouse button.
Способ характеризуется удобством и наглядностью для пользователя при перемещении объектов по экрану монитора, а также естественностью осуществления перемещений. The method is characterized by convenience and visibility for the user when moving objects on the monitor screen, as well as the naturalness of the movements.
Его ограничением является то, что объект может перемещаться только в двумерном пространстве, отождествляемом с плоскостью экрана монитора. Its limitation is that the object can only move in two-dimensional space, identified with the plane of the monitor screen.
Известен способ перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, включающий формирование на экране изображения трехмерного пространства при помощи аксонометрической проекции осей его системы координат, формирование изображения объекта в этом пространстве, перемещение в нем изображения объекта [2]. There is a method of moving an object on a computer monitor using a 2-D manipulator such as a computer mouse, including forming an image of a three-dimensional space on a screen using an axonometric projection of the axes of its coordinate system, forming an object image in this space, moving an object image in it [2].
Способ предусматривает перемещение объекта в трехмерном пространстве. Для выбора направления перемещения относительно оси одной из координатных осей, которую предварительно активизируют, используют меню, а собственно для управления перемещением используют слайдеры. The method involves moving an object in three-dimensional space. To select the direction of movement relative to the axis of one of the coordinate axes, which are pre-activated, use the menu, and actually to control the movement using the sliders.
Ограничениями этого способа являются: возможность перемещения объекта при помощи одного слайдера только относительно одной из координатных осей, необходимость предварительного активизирования осей, при этом производится манипуляция мышью не непосредственно перемещаемого объекта, а перемещение указателя слайдера, что затрудняет точность перемещения, увеличивает путь доступа к информации, ухудшает наглядность и удобство манипулирования. The limitations of this method are: the ability to move an object with a single slider only relative to one of the coordinate axes, the need to pre-activate the axes, while the mouse is manipulated not directly moving the object, and moving the slider pointer, which complicates the accuracy of movement, increases the access path to information, degrades the visibility and ease of handling.
Решаемая изобретением задача - повышение наглядности изображения перемещения объекта в пространстве и упрощение доступа к получению информации. The problem solved by the invention is to increase the visibility of the image moving the object in space and simplify access to information.
Технический результат, который может быть получен при осуществлении заявленного способа, - обеспечение естественного управления перемещением объекта в пространстве с размерностью больше двух, создание прямого доступа к любому объекту в пространстве, отображаемому на экране монитора, и обеспечение возможности удобства, упрощение доступа к получению информации за счет уменьшения необходимого количества манипуляций с мышью. The technical result that can be obtained by implementing the claimed method is to provide natural control of the movement of an object in a space with a dimension of more than two, creating direct access to any object in the space displayed on the monitor screen, and providing convenience, simplifying access to obtaining information for by reducing the required number of mouse manipulations.
Для решения поставленной задачи в известном способе перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши, включающем формирование на экране изображения по меньшей мере трехмерного пространства при помощи аксонометрической проекции осей его системы координат, формирование изображения объекта в этом пространстве, перемещение в нем изображения объекта, согласно изобретению перемещение объекта производят путем осуществления операции "drag & drop" непосредственно над объектом, создают дополнительный объект для визуализации направления перемещения, изображение которого размещают в том же пространстве и совмещают с изображением объекта, при перемещении объекта вычисляют значения вектора элементарных перемещений компьютерной мыши, интерпретируют полученную последовательность векторов как перемещение объекта в пространстве и перемещают объект и дополнительный объект в соответствии с интерпретацией. To solve the problem in the known method of moving an object on a computer screen using a 2-D manipulator such as a computer mouse, including forming an image of at least three-dimensional space on the screen using an axonometric projection of the axes of its coordinate system, forming an image of the object in this space, moving images of the object in it, according to the invention, the movement of the object is carried out by performing the drag & drop operation directly on the object, create To visualize the direction of movement, the image of which is placed in the same space and combined with the image of the object, when moving the object, the values of the vector of elementary movements of the computer mouse are calculated, the resulting sequence of vectors is interpreted as moving the object in space, and the object and additional object are moved in accordance with the interpretation .
Возможны дополнительные варианты осуществления способа, в которых целесообразно, чтобы: в качестве объекта использовали точку; для объекта - точки в качестве дополнительного объекта использовали вспомогательную систему координат с осями, параллельными осям координат пространства, и начало которой совпадает с точкой; для объекта - точки интерпретацию осуществляли путем вычисления проекции точки на плоскость экрана, вычисления проекции осей вспомогательной системы координат на плоскость экрана, для каждой оси вспомогательной системы координат вычисляли бы по два вектора, один - вдоль направления проекции оси, а другой - в противоположном ей направлении, среди этих векторов выбирали тот, который образует наименьший угол с вектором перемещения мыши, по которому выбирали вектор направления перемещения точки в пространстве так, чтобы проекции на экран ее нового положения была ближайшей к положению мыши, а вспомогательную систему координат перемещали идентично перемещению точки; в качестве объекта использовали плоскость; для объекта - плоскости в качестве дополнительного объекта использовали вспомогательную систему координат, начало которой совпадает с точкой на плоскости, на которую указывает мышь, одна из осей перпендикулярна плоскости, а другие оси расположены в плоскости; для объекта - плоскости интерпретацию осуществляли путем вычисления проекции осей вспомогательной системы координат на плоскость экрана, для каждой оси вспомогательной системы координат вычисляли по два вектора, один - вдоль на правления проекции оси, а другой - в противоположном ей направлении, среди этих векторов выбирали тот, который образует наименьший угол с вектором перемещения мыши, если вектор с наименьшим углом соответствует оси, перпендикулярной плоскости, то плоскость перемещали бы параллельно самой себе вдоль оси, соответствующей направлению этого вектора, а если вектор с наименьшим углом соответствует оси, находящейся в плоскости, то плоскость вращали бы вокруг другой оси, находящейся в плоскости, а вспомогательную систему координат перемещали идентично перемещению плоскости. Additional embodiments of the method are possible in which it is advisable that: a point is used as an object; for an object - a point, an auxiliary coordinate system with axes parallel to the coordinate axes of space was used as an additional object, and the origin of which coincides with the point; for an object - a point, the interpretation was carried out by calculating the projection of the point on the screen plane, calculating the projection of the axes of the auxiliary coordinate system on the screen plane, for each axis of the auxiliary coordinate system two vectors would be calculated, one along the direction of the axis projection, and the other in the opposite direction , among these vectors, we chose the one that forms the smallest angle with the mouse displacement vector, along which we selected the direction vector of the point's movement in space so that its projection onto the screen the new position was closest to the position of the mouse, and the auxiliary coordinate system was moved identically to the movement of the point; a plane was used as an object; for an object - a plane, an auxiliary coordinate system was used as an additional object, the origin of which coincides with a point on the plane indicated by the mouse, one of the axes is perpendicular to the plane, and the other axes are located in the plane; for an object - a plane, interpretation was carried out by calculating the projection of the axes of the auxiliary coordinate system on the plane of the screen, for each axis of the auxiliary coordinate system, two vectors were calculated, one along the direction of the axis projection, and the other in the opposite direction, among those vectors, which forms the smallest angle with the mouse vector, if the vector with the smallest angle corresponds to an axis perpendicular to the plane, then the plane would be moved parallel to itself along the axis, respectively uyuschey direction of this vector, and if the vector with the smallest angle corresponds to an axis located in a plane, the plane would be rotated around another axis located in a plane, and an auxiliary coordinate system moved identical displacement plane.
За счет создания дополнительного объекта, изображение которого совмещают с изображением объекта, вычисления значения вектора элементарных перемещений компьютерной мыши и интерпретации последовательности векторов как перемещение объекта в пространстве, удалось произвести имитацию перемещения объекта курсором мыши в пространстве с размерностью больше двух при перемещении самой мыши по плоскости, что позволяет повысить наглядность изображения перемещения объекта в пространстве и упрощение доступа к получению информации. By creating an additional object, the image of which is combined with the image of the object, calculating the value of the vector of elementary movements of the computer mouse and interpreting the sequence of vectors as moving the object in space, it was possible to simulate the movement of the object with a mouse cursor in space with a dimension of more than two when moving the mouse itself on a plane, which improves the visibility of the image moving the object in space and simplifies access to information.
Указанные преимущества, а также особенности настоящего изобретения поясняются лучшим вариантом его осуществления со ссылками на прилагаемые чертежи. These advantages, as well as features of the present invention are illustrated by the best option for its implementation with reference to the accompanying drawings.
Фиг. 1 показывает функциональную схему для реализации заявленного способа при помощи компьютера, связанным с монитором и мышью; фиг. 2 - изображение трехмерного пространства на экране компьютера с перемещаемым объектом; фиг. 3 - то же, что фиг. 2, с перемещаемым объектом-точкой и сформированным дополнительным объектом; фиг. 4 - область А на фиг. 3 в укрупненном масштабе; фиг. 5 - изображение четырехмерного пространства на экране компьютера с перемещаемым объектом и сформированным дополнительным объектом; фиг. 6 - изображение трехмерного пространства на экране компьютера с перемещаемым объектом-плоскостью; фиг. 7 -то же, что фиг. 6, при перемещении плоскости вдоль оси, ортогональной ей; фиг. 8 - то же, что фиг. 7, при вращении плоскости вокруг одной из осей, находящейся в этой плоскости; фиг. 9 - то же, что фиг. 8, при вращении плоскости вокруг другой из осей, находящейся в плоскости; фиг. 10 - изображение пространства при выполнении операции зуммирования; фиг. 11 - изображение трехмерного дискретного пространства для анализа экономической информации. FIG. 1 shows a functional diagram for implementing the inventive method using a computer connected to a monitor and mouse; FIG. 2 - image of three-dimensional space on a computer screen with a movable object; FIG. 3 is the same as FIG. 2, with a movable point object and an additional object formed; FIG. 4 - region A in FIG. 3 on an enlarged scale; FIG. 5 is an image of four-dimensional space on a computer screen with a movable object and an additional object formed; FIG. 6 - image of three-dimensional space on a computer screen with a moving object-plane; FIG. 7 is the same as FIG. 6, when moving a plane along an axis orthogonal to it; FIG. 8 is the same as FIG. 7, when the plane rotates around one of the axes located in this plane; FIG. 9 is the same as FIG. 8, when the plane rotates around another of the axes located in the plane; FIG. 10 is an image of a space when performing a zoom operation; FIG. 11 is an image of a three-dimensional discrete space for the analysis of economic information.
Для лучшего пояснения существа предложенного способа рассмотрим функциональную схему для его реализации (фиг. 1). For a better explanation of the essence of the proposed method, consider the functional diagram for its implementation (Fig. 1).
Способ включает формирование при помощи компьютера 1 на экране 2 монитора 3 посредством блока 4 формирования изображения пространства, например трехмерного. Аксонометрические проекции осей X, Y, Z системы координат этого пространства показаны на фиг. 2. Посредством блока 5 формирования изображения объекта получают изображение объекта 6 (фиг. 1, 2) в этом пространстве. В качестве объекта 6 может быть выбран любой геометрический объект, например точка, плоскость, параллелепипед, сфера и др. Для реализации перемещения объекта 6 путем операции "drag & drop" подводят курсор 7 мыши 8 (фиг. 1, 2) к объекту 6 и производят захват его путем нажатия клавиши мыши, тем самым активизируют объект 6. The method includes forming, using a
После захвата объекта 6 посредством блока 9 формирования дополнительного объекта создают изображение дополнительного объекта 10 (фиг. 1, 2) для визуализации направления его перемещения и совмещают его с изображением объекта 6. After capturing the
Для определения направления перемещения объекта 6 по пространству служит блок 11 определения направления перемещения (фиг. 1). В нем вычисляют значения векторов 12 (фиг. 2) элементарных перемещений мыши 8 и интерпретируют последовательность векторов 12 как задаваемое перемещение объекта 6 в пространстве. To determine the direction of movement of the
Определение нового положения объекта 6 в пространстве осуществляют посредством блока 13 перемещения объектов, который производит построение изображений перемещенных объекта 6 и дополнительного объекта 10 на экране 2. The determination of the new position of the
Далее проверяют в блоке 14 контроля, остается ли нажатой клавиша мыши 8. Если клавиша мыши 8 остается нажатой, то управление передается в блок 11 определения направления перемещения, в противном случае при отпускании клавиши мыши 8 посредством блока 15 завершения стирают с экрана 2 изображение дополнительного объекта 10. Next, it is checked in control unit 14 whether the mouse button 8 remains pressed. If the mouse button 8 remains pressed, control is transferred to the movement direction determining unit 11, otherwise, when the mouse button 8 is released by the completion unit 15, the image of the additional object is erased from the
При использовании в качестве перемещаемого объекта 6 точки (фиг. 3) в качестве дополнительного объекта 10 используют вспомогательную систему координат с осями x, y, z, параллельными осям X, Y, Z пространства, и начало которой совпадает с объектом 6. When using a point as a movable object 6 (Fig. 3), an auxiliary coordinate system with x, y, z axes parallel to the X, Y, Z axes of space, and the beginning of which coincides with
Для получения дополнительной информации о координатах точки могут быть также использованы дополнительные средства для обозначения объекта 6 и его расположения в пространстве, например: измененный цвет объекта 6; тонкие линии прямоугольного параллелепипеда, ребра которого параллельны координатным осям X, Y, Z, одна вершина которого находится в начале координат, обозначенным точкой 0, а другая совпадает с объектом 6; точки, соответствующие проекциям объекта 6 на оси X, Y, Z. To obtain additional information about the coordinates of the point, additional means can also be used to indicate the
Интерпретацию осуществляют блоком 11 определения направления перемещения (фиг. 1). При этом в блоке 11 вычисляют проекции объекта 6 на плоскость экрана 2 (фиг. 4), вычисляют проекции осей x, y, z вспомогательной системы координат на плоскость экрана 2, для каждой оси x, y, z вычисляют по два вектора x1 и x2 (на фиг. 4 два вектора показаны только для оси x): один - вдоль направления проекции оси, а другой - в противоположном ей направлении. Среди этих векторов выбирают тот, который образует наименьший угол α с вектором 16 перемещения курсора 7 мыши 8 (для показанного случая это - вектор X2), и полагают его направление направлением перемещения объекта 6 в пространстве. Вычисляют новое положение 17 объекта 6 в пространстве так, чтобы проекция на экран 2 ее нового положения была ближайшей к положению вектора 16 (курсора 7). Далее вспомогательную систему координат перемещают идентично перемещению объекта 6 так, чтобы ее начало совпадало с положением 17 объекта 6.The interpretation is carried out by the block 11 determining the direction of movement (Fig. 1). In this case, in block 11, the projections of the
Для упрощения рассмотрения работы блока 11 при использовании в качестве объекта 6 точки рассмотрим случай, при котором используется параллельная аксонометрическая проекция трехмерного пространства с координатами X, Y, Z, построенная на плоском экране 2, являющимся двумерным пространством с координатами U, V (фиг. 4). Объект 6 имеет координаты x0, y0, z0 в пространстве с координатами X, Y, Z, а ее проекция на экране 2 - координаты u0, v0. Все вектора x1, x2, y1, y2, z1, z2, являющиеся направляющими, задают как векторы длиной d, выходящие из объекта 6.To simplify the consideration of the operation of block 11 when using a point as an
До проведения перемещения координаты x1, x2, y1, y2, z1, z2 на экране 2 будут:
(u0 -d•cos (π 4), v0 - d•sin (π 4)) -для вектора x1,
(u0+d, v0) - для вектора y1,
(u0, v0 + d)- для вектора z1,
(u0+d • cos (π 4), v0 + d • sin (π 4)) - для вектора x2,
(u0 - d, v0) - для вектора y2,
(u0, v0 - d) -для вектора z2.Before moving, the coordinates x 1 , x 2 , y 1 , y 2 , z 1 , z 2 on
(u 0 -d • cos (π 4), v 0 - d • sin (π 4)) - for the vector x 1 ,
(u 0 + d, v 0 ) - for the vector y 1 ,
(u 0 , v 0 + d) - for the vector z 1 ,
(u 0 + d • cos (π 4), v 0 + d • sin (π 4)) - for the vector x 2 ,
(u 0 - d, v 0 ) - for the vector y 2 ,
(u 0 , v 0 - d) -for the vector z 2 .
Перемещение курсора 7 мыши 8 состоит из элементарных (малых) перемещений мыши 8, информация о каждом из которых поступает от операционной системы компьютера 1 путем передачи координат (u1, v1) курсора 7 на экране 2
Для выбора вектора, образующего наименьший угол α с вектором 16, определяют скалярное произведение вектора 16 с векторами x1, x2, y1, y2, z1, z2 в соответствиями с известными из аналитической геометрии формулами, приведенными ниже с учетом, что du=u1-u0 и dv=v1-v0.The movement of the cursor 7 of the mouse 8 consists of elementary (small) movements of the mouse 8, information about each of which comes from the operating system of the
To select a vector forming the smallest angle α with
(du•cos (π 4) + dv• sin (π 4))•d -для вектора x1,
du•d -для вектора y1,
dv•d - для вектора z1,
(du•cos (π 4) + dv• sin (π 4))•d-для вектора x2,
du•d - для вектора y2,
dv•d - для вектора z2,
Далее выбирают наибольшее из скалярных произведений и определяют вектор, задающий ось и направление, которые соответствуют ему. Для рассмотренного примера это - вектор x2.(du • cos (π 4) + dv • sin (π 4)) • d - for the vector x 1 ,
du • d - for the vector y 1 ,
dv • d - for the vector z 1 ,
(du • cos (π 4) + dv • sin (π 4)) • d-for the vector x 2 ,
du • d - for the vector y 2 ,
dv • d - for the vector z 2 ,
Next, choose the largest of the scalar products and determine the vector that defines the axis and direction that correspond to it. For the considered example, this is a vector x 2 .
Пусть величина скалярного произведения равна p. Тогда определяют смещение s вдоль выбранного вектора x2, как величину проекции на него вектора 16 перемещения по формуле: s = p/d.Let the scalar product be p. Then, the displacement s along the selected vector x 2 is determined as the projection value of the
Определяют новые координаты x*, y*, z* объекта 6 в трехмерном пространстве следующим образом: значение координаты, вдоль которой производят данное элементарное перемещение, измеряют на величину s с учетом знака: "+" для положительного направления и "-" для отрицательного, для рассмотренного примера x*=x0-s; сохраняют значения остальных координат, для рассмотренного примера y*=y0, z*=z0.The new coordinates x * , y * , z * of object 6 are determined in three-dimensional space as follows: the value of the coordinate along which this elementary movement is performed is measured by the value s taking into account the sign: "+" for the positive direction and "-" for the negative, for the considered example x * = x 0 -s; save the values of the remaining coordinates, for the considered example y * = y 0 , z * = z0.
Данный способ не ограничивает свое применение в случае, когда для изображения трехмерного пространства используют аксонометрическую проекцию в традиционном виде, в котором оси Y, Z расположены параллельно плоскости UV. Расчеты проводятся по известным формулам аналитической геометрии, учитывающим углы векторов x1, x2, y1, y2 z1, z2 относительно осей U, V системы координат экрана 2. Перемещение осуществляется тем же способом.This method does not limit its application in the case when axonometric projection is used in the traditional form for the image of three-dimensional space, in which the Y, Z axes are parallel to the UV plane. The calculations are carried out according to well-known formulas of analytical geometry, taking into account the angles of the vectors x 1 , x 2 , y 1 , y 2 z 1 , z 2 relative to the axes U, V of the coordinate system of
Предлагаемый способ перемещения объекта 6 может быть реализован и для случая размерности пространства N > 3( фиг. 5). The proposed method of moving the
Формируют на экране 2, описываемым в координатах U, V, N-мерное пространство в аксонометрической проекции путем изображения точки начала координат O и N координатных осей X1,...XN. Направление этих координатных осей X1, ...XN могут быть выбраны, например, по следующему правилу, хотя возможны и другие варианты.On the
Ось XN совпадает с осью V, положительное направление - вверх.The X N axis is the V axis, and the positive direction is up.
Ось XN-1 совпадает с осью U, положительное направление - вправо.The X axis N-1 coincides with the U axis, the positive direction is to the right.
Для определения направления остальных осей вычисляют вспомогательные коэффициенты m1, m2:
m1 = m2 = (N-2)/2, если N - четное;
m1 = (N-1)/2, m2=m1-1, если N - нечетное.To determine the direction of the remaining axes, auxiliary coefficients m 1 , m 2 are calculated:
m 1 = m 2 = (N-2) / 2, if N is even;
m 1 = (N-1) / 2, m 2 = m 1 -1 if N is odd.
Далее проводят в положительном направлении оси X1...Xm1, располагая их через равные углы β = (π /2) (m1+1) и отсчитывая углы β против часовой стрелки от вектора (-U), т.е. располагая оси в третьем квадранте.Next, the axes X 1 ... X m1 are carried out in a positive direction, arranging them through equal angles β = (π / 2) (m 1 +1) and counting the angles β counterclockwise from the vector (-U), i.e. positioning the axis in the third quadrant.
Аналогичным образом проводят в положительном направлении оставшиеся оси Xm1+1. . . XN-2, располагая их через равные углы γ = (π /2) /(m2+1) и отсчитывая углы γ против часовой стрелки от вектора (-V), т.е. располагая их в четвертом квадранте.In a similar manner, the remaining X axes m1 + 1 are carried out in a positive direction. . . X N-2 , arranging them through equal angles γ = (π / 2) / (m 2 +1) and counting the angles γ counterclockwise from the vector (-V), i.e. placing them in the fourth quadrant.
При указанном методе построения координатные оси X1...XN-2 направлены на наблюдателя.With the indicated construction method, the coordinate axes X 1 ... X N-2 are directed at the observer.
Изображение объекта 6 на экране 2, т.е. его проекцию на пространство UV, можно построить по известным правилам построения проекций. При захвате объекта 6 выполняют действия, аналогичные трехмерному случаю, что изображено для случая четырехмерного пространства (фиг. 5). The image of
В качестве дополнительного объекта 10 используют вспомогательную систему координат с осями x1, x2, x3, x4, параллельными осям X1, X2, X3, X4, и начало которой совпадает с объектом 6.As an
Для дополнительного удобства наблюдения местоположения и направления перемещения объекта 6 могут быть построены точки, соответствующие проекциям объекта 6 на оси X1, X2, X3, X4.For additional convenience of observing the location and direction of movement of the
Определение направления перемещения и само перемещение производят аналогично описанному случаю для трехмерного пространства. The determination of the direction of movement and the movement itself is carried out similarly to the described case for three-dimensional space.
Среди векторов выбирают тот, который образует наименьший угол α с вектором 16 перемещения курсора 7 мыши 8 и полагают его направление направлением перемещения объекта 6 в пространстве. Вычисляют новое положение 17 объекта 6 в пространстве так, чтобы проекция на экран 2 ее нового положения была ближайшей к положению вектора 16 (курсора 7). Далее вспомогательную систему координат перемещают идентично перемещению объекта 6 так, чтобы ее начало совпадало с положением 17 объекта 6. Among the vectors, choose the one that forms the smallest angle α with the
Однако, как показали исследования, для других случаев многомерных пространств при N > 4 уменьшается сектор, отвечающий за направление по каждой из осей X1. . .XN, и ограничивается возможность пользователя перемещать мышь в заданном направлении с малым допуском. Проверка на тесте (программа, реализованная на C++ в OC Windows95) показала возможность эффективной работы при N≤7.However, studies have shown that for other cases of multidimensional spaces for N> 4, the sector responsible for the direction along each of the axes X 1 decreases. . .X N , and the user's ability to move the mouse in a given direction with a small tolerance is limited. Testing on a test (a program implemented in C ++ in the Windows95 OS) showed the possibility of efficient operation at N≤7.
В качестве объекта 6 для его перемещения может быть выбрана плоскость (фиг. 6). As the
Для этого варианта в качестве дополнительного объекта 10, например, при анализе трехмерного пространства используют вспомогательную систему координат P, Q, R, начало которой совпадает с точкой на плоскости, на которую указывает курсор 7 мыши 8. Ось P перпендикулярна плоскости, а другие оси Q и R расположены в плоскости. For this option, as an
Блок 11 (фиг. 1) производит вычисления проекции осей P, Q, R вспомогательной системы координат на плоскость экрана 2. Для каждой оси вспомогательной системы координат вычисляют по два вектора p1, p2, q1, q2, r1, r2, один - вдоль направления проекции оси, а другой - в противоположном ей направлении. Среди этих векторов p1, p2, q1, q2, r1, r2 выбирают тот, который образует наименьший угол α с вектором 16 перемещения курсора 7. Если вектор с наименьшим углом α соответствует оси P, перпендикулярной плоскости, т.е. одному из векторов p1, p2, то плоскость перемещают параллельно самой себе вдоль оси P. Если вектор с наименьшим углом α соответствует оси Q, то плоскость вращают вокруг оси R. Если вектор с наименьшим углом α соответствует оси R, то плоскость вращают вокруг оси Q. Вспомогательную систему координат P, Q, R перемещают идентично перемещению плоскости.Block 11 (Fig. 1) calculates the projection of the axes P, Q, R of the auxiliary coordinate system on the plane of the
Перемещение плоскости в соответствии с изложенным иллюстрируется на фиг. 7 - 9. Такое перемещение плоскости может быть использовано для изучения трехмерных объемных тел различной природы, например геологических моделей, данных медицинской томографии и т.д., поскольку такие объекты изучают посредством метода сечений (слайсов), а данный способ реализует перемещение сечений в пространстве произвольным образом по желанию потребителя, не накладывая ограничения на степень свободы перемещения. The movement of the plane in accordance with the foregoing is illustrated in FIG. 7 - 9. Such a movement of the plane can be used to study three-dimensional volumetric bodies of various nature, for example, geological models, data of medical tomography, etc., since such objects are studied using the method of sections (slices), and this method implements the movement of sections in space arbitrarily at the request of the consumer, without imposing restrictions on the degree of freedom of movement.
В качестве примеров осуществления заявленного способа рассмотрим его практическую реализацию для решения различных задач. As examples of the implementation of the claimed method, we consider its practical implementation for solving various problems.
Пример 1. Использование при зуммировании трехмерного пространства. Example 1. Use when zooming in three-dimensional space.
Для изучения объекта 20 в трехмерном пространстве (фиг. 10), заданного прямоугольным параллелепипедом, ребра которого параллельны координатным осям, его изображают в аксонометрической проекции на плоском экране 2. To study the
Данное представление часто используется в различных задачах 3D-графики. При этом внутрь объекта, называемого кубом данных, помещают различную информацию, например при помощи цветокодирования. This representation is often used in various tasks of 3D-graphics. At the same time, various information, for example, using color coding, is placed inside an object called a data cube.
При изучении объекта часто возникает необходимость с целью более детального изучения выделить его часть в виде подобного ему параллелепипеда. Это производят для того, чтобы построить на экране 2 изображение выделенной части объекта в более крупном масштабе. When studying an object, it is often necessary to isolate a part of it in the form of a parallelepiped similar to a more detailed study. This is done in order to build on
Для этого необходимо по каждой координатной оси X, Y, Z указать границы выделяемого параллелепипеда. For this, it is necessary to indicate the boundaries of the selected box on each coordinate axis X, Y, Z.
Поскольку при обычном использовании мыши 8 имеются только две степени свободы ее перемещения, то процесс выделения связан с необходимостью одновременной манипуляции с несколькими точками-объектами, например каждую грань перемещать по отдельности мышью или использовать по два слайдера на каждую грань, как в известном способе. Since in the normal use of mouse 8 there are only two degrees of freedom of its movement, the selection process is associated with the need for simultaneous manipulation of several points-objects, for example, each face should be moved individually with the mouse or two sliders for each face should be used, as in the known method.
В соответствии с заявленным способом при зуммировании объекта 20 изображают на экране 2 в полупрозрачном или сетчатом виде параллелепипед 21, размеры и положение которого внутри объекта 20 будут изменять. Первоначально размер и положение параллелепипеда 21 совпадают с исходным. In accordance with the claimed method, when zooming the
Сразу изображают все восемь вершин 22 параллелепипеда 21, положение которых будут изменять предлагаемым способом с помощью двухмерной мыши, имитирующей трехмерную мышь. Для каждой из вершин 22 одновременно формируют дополнительные объекты 10 - вспомогательные системы координат. Immediately depict all eight
Дополнительный объект 10 - вспомогательную систему координат строят в соответствии с изложенным способом, однако в одном направлении их строить не обязательно, поскольку вектора находятся на ребрах параллелепипеда 21, а в другом направлении их строят путем продолжения до пересечения с соответствующей гранью объекта 20. An
Производят захват требуемой вершины 22 и перемещают ее в произвольном направлении внутри объекта 20. Одновременно перемещают три грани параллелепипеда 21, проходящие через эту вершину 22, при этом соответственно перемещаются и все вершины 22, находящиеся на этих гранях, и дополнительные объекты 10, соответствующие всеми перемещаемым вершинам 22. Capture the required
Для увеличения информативности можно убирать изображения тех элементов объекта 20, которые не попадают внутрь параллелепипеда 21. To increase the information content, you can remove the images of those elements of the
Повторяют операцию с требуемыми вершинами 22 в произвольном, определяемом пользователем порядке до тех пор, пока не будут выполнено выделение требуемого подпространства. После этого производят формирование подпространства в увеличенном масштабе. При необходимости выделенное подпространство зуммируют аналогичным образом, производя многократное вложенное зуммирование. Repeat the operation with the required
Пример 2. Прямой доступ к базе данных при анализе экономической информации. Example 2. Direct access to the database in the analysis of economic information.
При необходимости изучения базы данных, содержащей информацию об экономических изменяющих во времени значениях показателей для совокупности предприятий, ее представляют в виде трехмерного дискретного пространства ( фиг. 11), например, следующим образом. If it is necessary to study a database containing information on economic time-varying values of indicators for a set of enterprises, it is presented in the form of a three-dimensional discrete space (Fig. 11), for example, as follows.
На первой оси X - оси предприятий откладывают точки, каждая из которых соответствует одному предприятию. Если в базе данных описаны N предприятий, то на оси X будет N делений. On the first axis X - the axis of enterprises lay points, each of which corresponds to one enterprise. If N enterprises are described in the database, then there will be N divisions on the X axis.
На второй оси Y - оси показателей откладывают точки, каждая из которых соответствует одному показателю. Если в базе данных представлены М показателей, то на оси Y будет M делений. On the second axis Y - the axis of the indicators lay points, each of which corresponds to one indicator. If the database contains M indicators, then on the Y axis there will be M divisions.
На третьей оси Z - оси времени откладывают деления с шагом, соответствующим дискретности задания по времени значений показателей в базе данных. Например, если речь идет о бухгалтерских отчетах, то они могут быть заданы ежеквартально. Если в базе данных информация дана для L моментов времени, то на оси Z будет L делений. On the third Z axis, the time axis, the divisions are plotted with a step corresponding to the discreteness of the time setting of the values of the indicators in the database. For example, when it comes to accounting reports, they can be set quarterly. If information is given in the database for L time instants, then there will be L divisions on the Z axis.
Формируют объект 6 - точку в начальном положении, например в начале координат. Перемещают сформированную точку предложенным способом. Для получения дополнительной информации о координатах точки могут быть также использованы дополнительные средства для обозначения объекта 6 и его расположения в пространстве, например: измененный цвет объекта 6; тонкие линии прямоугольного параллелепипеда, ребра которого параллельны координатным осям X, Y, Z, одна вершина которого находится в начале координат, обозначенным точкой O, а другая совпадает с объектом 6; точки 23, соответствующие проекциям объекта 6 на оси X, Y, Z, так же, как это изображено на фиг. 3. Form an object 6 - a point in the initial position, for example, at the origin. Move the formed point by the proposed method. To obtain additional information about the coordinates of the point, additional means can also be used to indicate the
Рядом с каждой из точек 23 выводят информацию, расшифровывающую ее смысл, например в виде флажка с текстом. На оси X - название предприятия, на оси Y - название показателя, на оси Z - момент времени. Next to each of the
Кроме того, рядом с перемещаемым объектом в виде флажка выводится из базы компьютера 1 информация: значение выбранного показателя для данного предприятия в заданный момент времени. In addition, next to the moved object, in the form of a flag, information is displayed from the computer base 1: the value of the selected indicator for this enterprise at a given point in time.
Перемещая объект 6 по пространству, получаем первичную точечную информацию об объекте 6. Moving the
Далее, например, нажимают другой клавишей мыши 8 на объект 6 с тем, чтобы выделить ее, но не перемещать. Одновременно выделяются точки 23 - проекции объекта 6 на координатные оси X, Y, Z. Then, for example, another object 8 is clicked on the
После этого осуществляют кликирование одной из точек 23. Если кликирована точка 23 на оси X, то формируют сечение, проходящее через эту точку 23 и перпендикулярное оси X, на которое выносят информацию для данного предприятия по всем показателям для всех моментов времени, любыми обычными средствами: цветокодированием или в виде графиков. Если кликирована точка на оси Y, то формируют сечение по аналогичным правилам, на которое выносят информацию для данного показателя по всем предприятиям для всех моментов времени. Наконец, если кликирована точка на оси Z, то формируют сечение (показано на фиг. 11), на которое выносят информацию для данного момента времени по всем показателям по всем предприятиям. After that, one of the
Построенные сечения позволяют изучать и выявлять взаимозависимости объекта 6 с элементами базы данных компьютера. The constructed sections allow us to study and identify the interdependencies of the
Заявленный способ в целом позволяет пользователю, благодаря принципу обратной связи через органы зрения, видеть направление перемещения курсора 7 мыши 8 и направление осей вспомогательной системы координат, что обеспечивает возможность перемещения курсора 7 по всем желаемым для него направлениям. Благодаря тому, что обеспечиваемое компьютером 1 каждое элементарное перемещение курсора 7 или мыши 8 очень мало, общее движение воспринимается непрерывным по всему пространству, а не направленным только вдоль одной оси. The claimed method as a whole allows the user, thanks to the principle of feedback through the organs of vision, to see the direction of movement of the cursor 7 of the mouse 8 and the direction of the axes of the auxiliary coordinate system, which makes it possible to move the cursor 7 in all directions desired for him. Due to the fact that each elementary movement of the cursor 7 or mouse 8 provided by
Наиболее успешно заявленный способ перемещения объекта на экране монитора компьютера с помощью 2-D манипулятора типа компьютерной мыши может быть использован для анализа или изучения многомерных пространств в таких областях техники, как геофизика, медицина, экономика, управление, а также в различных компьютерных играх с объемным изображением на экране. The most successfully claimed method of moving an object on a computer monitor using a 2-D manipulator such as a computer mouse can be used to analyze or study multidimensional spaces in such fields of technology as geophysics, medicine, economics, management, and also in various computer games with three-dimensional screen image.
Источники информации:
1. Книга "X Window System Programming", Second Edition, Nabajyoti Barkakati, Samz Publishing, Indianapolis, 1994, p.509-518.Sources of information:
1. Book "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. 2. US patent N 5511157, G 06 F 15/10, publ. 04/23/96.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU98117032A RU2132085C1 (en) | 1998-06-02 | 1998-09-09 | Method for dragging of object on computer screen using 2-d mouse-type manipulator |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RUPCT/RU98/00164 | 1998-06-02 | ||
PCT/RU1998/000164 WO1999063486A1 (en) | 1998-06-02 | 1998-06-02 | Method for displacing an object on the screen of a computer monitor using a mouse-type two-dimensional manipulator |
RU98117032A RU2132085C1 (en) | 1998-06-02 | 1998-09-09 | Method for dragging of object on computer screen using 2-d mouse-type manipulator |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2132085C1 true RU2132085C1 (en) | 1999-06-20 |
Family
ID=20210399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU98117032A RU2132085C1 (en) | 1998-06-02 | 1998-09-09 | Method for dragging of object on computer screen using 2-d mouse-type manipulator |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2132085C1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599582A (en) * | 2019-09-11 | 2019-12-20 | 河南工业职业技术学院 | Quick algorithm of quasi-rectangular object bounding box |
-
1998
- 1998-09-09 RU RU98117032A patent/RU2132085C1/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
Фигурнов В.Э. IBM PC для пользователя. - М.: Инфра М, 1997 с.337-338. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110599582A (en) * | 2019-09-11 | 2019-12-20 | 河南工业职业技术学院 | Quick algorithm of quasi-rectangular object bounding box |
CN110599582B (en) * | 2019-09-11 | 2023-03-14 | 河南工业职业技术学院 | Rapid algorithm of rectangular object bounding box |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5268998A (en) | System for imaging objects in alternative geometries | |
US5150457A (en) | Enhanced visualization using translucent contour surfaces | |
van Wijk et al. | Hyperslice | |
US5289567A (en) | Computer apparatus and method for finite element identification in interactive modeling | |
Hotz et al. | Physically based methods for tensor field visualization | |
Yu et al. | Design and evaluation of visualization techniques of off-screen and occluded targets in virtual reality environments | |
Andersen et al. | Immersion or diversion: Does virtual reality make data visualisation more effective? | |
Sastry et al. | Virtual environments for engineering applications | |
Tao et al. | A deformation framework for focus+ context flow visualization | |
Terriberry et al. | A tool for the interactive 3D visualization of electronic structure in molecules and solids | |
Sohns et al. | Attribute-based explanation of non-linear embeddings of high-dimensional data | |
Lobo et al. | Flex-ER: A platform to evaluate interaction techniques for immersive visualizations | |
da Costa et al. | An immersive visualization study on molecules manipulation | |
RU2132085C1 (en) | Method for dragging of object on computer screen using 2-d mouse-type manipulator | |
Siang et al. | An overview of immersive data visualisation methods using type by task taxonomy | |
GB2221369A (en) | Two-dimensional emulation of three-dimensional trackball | |
Stroila et al. | Clip art rendering of smooth isosurfaces | |
Corenthy et al. | Volume haptics with topology-consistent isosurfaces | |
Lang et al. | Web-Based Flow Visualization in Quotient Space and S 3 | |
CN109658489A (en) | A kind of stereoscopic grid data processing method neural network based and system | |
Carbonero et al. | Permutations of point sets in R^d. | |
Valíková et al. | Visualisation of complex functions on riemann sphere | |
Hanson et al. | Techniques for visualizing Fermat's last theorem: A case study | |
Sosa | Improving Object Composition Visualization via Exploded Views | |
Li | Interactive Data Deformation Techniques to Improve Feature Visibility in Scientific Visualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20120910 |
|
NF4A | Reinstatement of patent |
Effective date: 20151110 |
|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20161110 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20170910 |