1. Field of the Invention
The present invention relates to a graphics processing apparatus and a graphics processing method enabling a dimensionally constrained graphic object in 3-dimensional CAD to be moved to a desired position by user's operations.
2. Description of the Related Art
In conventional graphics display devices, when changing a display state of a 3-dimensional graphic object, a 3-dimensional shape, into which a coordinate system indicating a direction of the change and items to be changed are integrated, is displayed. Then, by selecting visualized tools, the display state of the 3-dimensional graphic object is changed. This allows a user to instinctively know the change items and the coordinate system (see, for example, Japanese Unexamined Patent Application Publication No. 8-297750, p. 3 line 25 in the right column—p. 4 line 7 in the left column, and
In conventional graphics display devices, when changing a display state of a 3-dimensional graphic object, i.e., a target of the operation, a user selects a visualized tool to specify a coordinate system (X-axis, Y-axis, or Z-axis) indicating a direction of the change of the graphic object and items to be changed (display for translation, rotation, or scaling) in advance, and moves a mouse. Accordingly, the user has to perform an additional operation for selecting the visualized tool. Thus, there is a problem of making the user's operation troublesome.
In addition, in occasions other than those where translation, rotation, or a scale change is performed on 3-dimensional graphic object with respect to the X-axis, Y-axis, or Z-axis, it is necessary to select a plurality of axes. This also causes a problem of making the user's operation troublesome.
Furthermore, regarding a moving operation of a mouse, it is very difficult to place a movement target point (hereinafter, referred to as an end point) of a mouse pointer exactly at a desired position. Thus, there is a problem that the user cannot move the 3-dimensional graphic object accurately.
The object of the present invention is to provide a user with an easy operation in changing a display state of a 3-dimensional graphic object. A first example is to obtain a graphics processing apparatus capable of controlling a direction of translation, rotation, or a scale change of a graphic object without performing an operation for selecting a tool visualized as a 3-dimensional shape into which a coordinate system indicating a direction of the change and items to be changed are integrated, and to obtain a graphics processing method capable of improving its operability.
Additionally, a second example is to obtain a graphics processing apparatus allowing a user to move a graphic object to a desired position without specifying a moving distance, a rotation angle or a scalewidth by inputting a numerical value and without using a special mouse device.
A graphics processing apparatus according to the present invention includes: an input means for allowing a user to select at least one of the objects and to input movement data indicative of movement of the selected object; a constraint data storing means for storing constraint data of dimensional constraint conditions of the objects, said dimensional constraint conditions restricting relative movement of the objects; and an arithmetic means for determining actual movement of the selected object on the basis of the movement data and the constraint data.
In addition, a graphics processing method according to the present invention includes: a step of storing constraint data of dimensional constraint conditions of the objects in a first storage means, said dimensional constraint conditions restricting relative movement of the objects; a step of allowing a user to select at least one of the objects, and to input movement data indicative of movement of the selected object; a step of acquiring the constraint data from the constraint data storing means; and a step of determining actual movement of the selected object on the basis of the movement data and the constraint data.
Accordingly, the present invention allows the apparatus to determine the moving direction of the selected graphic object on the basis of the movement data given by the user and the constraint data stored in the apparatus, and enables the graphic object to be moved to a desired position by the scale displayed along the moving direction of the graphic object.
In
Furthermore, for ease of explanation, the target graphic object 1 and the reference graphic object 2 are shown as rectangular parallelepipeds. However, the target graphic object 1 and the reference graphic object 2 are not limited to the rectangular parallelepipeds. For example, the target graphic object 1 and the reference graphic object 2 may be line segments of straight or curved lines, planes or curved surfaces including a surface enclosed by curved lines or polygons, or solid bodies including polyhedrons or spheres.
Moreover, in
In addition, six faces of the target graphic object 1 are a face 1a and a face 1b, perpendicular to the X-axis and facing each other, a face 1c and a face 1d, perpendicular to the Y-axis and facing each other, and a face 1e and a face if, perpendicular to the Z-axis and facing each other. The faces in the positive side of the axes are denoted by the faces 1a, 1c, and 1e.
Furthermore, six faces of the reference graphic object 2 are a face 2a and a face 2b, perpendicular to the X-axis and facing each other, a face 2c and a face 2d, perpendicular to the Y-axis and facing each other, and a face 2e and a face 2f, perpendicular to the Z-axis and facing each other. The faces in the positive side of the axes are denoted by the faces 2a, 2c, and 2e.
As shown in
In addition, as shown in
Furthermore, as shown in
In
The specific relations between the target graphic object 1 and the reference graphic object 2 include, for example, the followings. Regarding a point and a point, there is a relation where the two points agree or disagree. Regarding a point and a line segment, there is a relation where the point lies on the line segment, lies on a straight line including the line segment, or does not lie on the straight line. Regarding a point and a face, there is a relation where the point lies on the face, lies on a common plane including the face, or does not lie on the plane. Regarding a line segment and a line segment, there is a relation where the line segments agrees, extending directions thereof are parallel, the line segments are on a common line, the extending directions thereof disagree, or the line segments intersect. Regarding a line segment and a face, there is a relation where the line segment lies on the face, lies on a plane including the face, is parallel to the face, intersects with the face, or intersects with the plane including the face. Regarding a face and a face, there is a relation where the faces agree, lie on a common plane, are parallel, or intersect.
In
For example, as shown in
Additionally, as shown in
Furthermore, as shown in
Moreover, as shown in
Referring to
An input section 3 is an input means for allowing a user to input a signal including selection information 3a obtained when a target graphic object 1 is selected, operational direction information 3b and operational distance information 3c obtained when the target graphic object 1 is moved. The input section 3 may be, for example, a mouse or the like.
If the input section 3 is a mouse, the target graphic object 1 is selected by, for example, clicking with the mouse after placing an indicator 8, such as a mouse pointer, which moves in response to the mouse movements, over the target graphic object 1 on a display screen of a display section 7 described below. With this operation, the selection information 3a is obtained. Additionally, by starting dragging (hereinafter, the point where the dragging is started is referred to as a start point) while clicking with the mouse after placing the mouse pointer over the target graphic object 1 and dropping at a desired position (an end point), the target graphic object 1 is moved. With this operation, the operational direction information 3b is obtained on the basis of the moving direction from the start point. In addition, the operational distance information 3c is obtained on the basis of a direct distance between the start point and the end point.
A dimensional constraint data storing section 4 is a storage means storing a plurality of dimensional constraint data 4a described above.
The arithmetic section 5 is an arithmetical means for performing arithmetic operations referring to the dimensional constraint data 4a. The arithmetic section 5 includes a selected graphic object detecting part 51, an initial moving direction detecting part 52, and a moving distance detecting part 53. The selected graphic object detecting part 51 detects the target graphic object l on the basis of the selection information 3a supplied from the input section 3. The initial moving direction detecting part 52 detects the initial moving direction on the basis of the operational direction information 3b supplied from the input section 3. The moving distance detecting part 53 detects the moving distance on the basis of the operational distance information 3c supplied from the input section 3. The initial moving direction is a direction initially given to the input section 3 (a mouse, for example), from the start point, as well as a direction given to the indicator 8 (a mouse pointer, for example) moving in response to data supplied from the input section 3.
The arithmetic section 5 also includes a dimensional constraint data acquiring part 54, a moving direction calculating part 55, and a scale arranging part 56. The dimensional constraint data acquiring part 54 acquires the dimensional constraint data 4a specific to the target graphic object 1 from the dimensional constraint data storing section 4 on the basis of selected graphic object data S1a supplied from the selected graphic object detecting part 51. The moving direction calculating part 55 calculates the moving direction of the target graphic object 1 on the basis of a first data 54a supplied from the dimensional constraint data acquiring part 54 and a second data 52a supplied from the initial moving direction detecting part 52. The scale arranging part 56 sends, to a screen image generating section 6 described below, data 56a for displaying a scale along the moving direction of the target graphic object 1 on the basis of a third data 55a supplied from the moving direction calculating part 55.
The screen image generating section 6 is a means for generating a screen image on the basis of data 53a supplied from the moving distance detecting part 53, data 55b supplied from the moving direction calculating part 55, and data 56a supplied from the scale arranging part 56. The data 53a, 55b, and 56a are arithmetical results in the arithmetic section 5.
The display section 7 is a display means such as a CRT display or a liquid crystal display.
Referring to
First, a user selects a target graphic object 1 on which the user desires to perform the moving processing among graphic objects displayed on a display screen of the display section 7 with the input section 3. In this case, the user selects the target graphic object 1 via the input section 3 while watching an indicator 8 moving on the display screen of the display section 7 in response to data supplied from the input section 3 (at the first step S1, and
Next, the arithmetic section 5 acquires the dimensional constraint data 4a tied onto the target graphic object 1 from the dimensional constraint data storing section 4. The moving direction calculating part 55 calculates the moving direction of the target graphic object 1 on the basis of the initial moving direction of the indicator 8 relative to the target graphic object 1 (at the second step S2,
Meanwhile, in
Then, the display section 7 displays a scale 9 along the moving direction of the target graphic object 1 (at the third step S3, and
Lastly, the user moves the target graphic object 1 to the desired position on the scale 9, which is a guide of the movement, via the input section 3 while watching the indicator 8 (at the fourth step S4, and
As described above, according to the graphics processing apparatus and the graphics processing method regarding the first embodiment of the present invention, the moving direction of the target graphic object 1 can automatically be determined on the basis of the initial moving direction supplied from the input section 3. In addition, the scale 9 displayed along the moving direction of the target graphic object 1 enables the graphic object 1 to be moved at a more accurate position.
An Extent data storing section 10 is a storage means storing a plurality of extent data 10a.
An arithmetic section 5 includes an extent data acquiring part 57, a scaled size calculating part 58, and a scale interval calculating part 59. The extent data acquiring part 57 acquires the extent data 10a from the extent data storing section 10 on the basis of selected graphic object data 51b supplied from a selected graphic object detecting part 51. The scaled size calculating part 58 calculates a size of the scaled image of the selected graphic object on the basis of data 6a supplied from a screen image generating section 6. The scale interval calculating part 59 calculates a interval of a scale 9 on the basis of a fourth data 57a supplied from the extent data acquiring part 57 and a fifth data 58a supplied from the scaled size calculating part 58.
The graphics processing apparatus in the second embodiment of the present invention differs from that in the first embodiment of the present invention only in having the extent data storing section 10, the extent data acquiring part 57, the scaled size calculating part 58, and the scale interval calculating part 59. The graphics processing apparatus in the second embodiment of the present invention provides the same advantages as that in the first embodiment of the present invention except for the advantages yielded by the extent data storing section 10, the extent data acquiring part 57, the scaled size calculating part 58, and the scale interval calculating part 59, which are described below.
According to the graphics processing apparatus in the second embodiment of the present invention, the interval of the scale 9 is calculated by the scale interval calculating part 59 on the basis of the extent data specific to a target graphic object 1 and the size of the scaled image of the selected graphic object. By displaying the scale having the interval suitable for the size of the target graphic object 1 on the display screen of the display section 7, the target graphic object 1 can be moved to a position that is more accurate.
Referring to
First, a user selects a target graphic object 1 on which the user desires to perform the moving processing among graphic objects displayed on a display screen of the display section 7 with the input section 3. In this case, the user selects the target graphic object 1 via the input section 3 while watching an indicator 8 moving on the display screen of the display section 7 in response to data supplied from the input section 3 (at the first step S1, and
Next, the arithmetic section 5 acquires dimensional constraint data 4a tied onto the target graphic object 1 from a dimensional constraint data storing section 4. A moving direction calculating part 55 calculates the moving direction of the target graphic object 1 on the basis of an initial moving direction of the indicator 8 relative to the target graphic object 1 (at the second step S2,
Meanwhile, in
Then, the arithmetic section 5 acquires the extent data 10a tied onto the target graphic object 1 from the extent data storing section 10, calculates the size of the scaled image of the selected graphic object on the basis of data 6a supplied from the screen image generating section 6. The arithmetic section 5 calculates a scale interval suitable for the size of the target graphic object 1 on the display screen of the display section 7, on the basis of the acquired extent data and the calculated size of the scaled image of the selected graphic object (at the third-a step S3a, and
Here, as shown in
Then, the display section 7 displays the scale 9 having the calculated scale intervals along the moving direction of the target graphic object 1 (at the third-b step S3b, and
Lastly, the user moves the target graphic object 1 to the desired position on the scale 9, which is a guide of the movement, via the input section 3 while watching the indicator 8 (at the fourth step S4, and
Next, referring to
First, a user selects a target graphic object 1 on which the user desires to perform the moving processing among graphic objects displayed on a display screen of the display section 7 with the input section 3. In this case, the user selects the target graphic object 1 via the input section 3 while watching an indicator 8 moving on the display screen of the display section 7 in response to data supplied from the input section 3 (at the first step S1, and
Next, the arithmetic section 5 acquires dimensional constraint data 4a tied onto the target graphic object 1 from the dimensional constraint data storing section 4. The moving direction calculating part 55 calculates the moving direction of the target graphic object 1 on the basis of the initial moving direction of the indicator 8 relative to the target graphic object 1 (at the second step S2,
Meanwhile, in
Furthermore, if the user moves the indicator 8 so that the initial moving direction of the indicator 8 is the right direction from the start point on the display screen, the moving direction of the target graphic object 1 is parallel to and the positive direction of the X-axis. In contrast, if the user moves the indicator 8 so that the initial moving direction of the indicator 8 is the left direction from the start point on the display screen, the moving direction of the target graphic object 1 is parallel to and the negative direction of the X-axis.
Meanwhile, it is difficult to accurately move the indicator 8 so that the initial moving direction of the indicator 8 becomes exactly upward, downward, to the right, or to the left from the start point on the display screen. Thus, it is preferable to set these directions as an upward area, a downward area, a left area, and a right area. For example, as shown in
In addition, when the moving processing of the translation and rotation is simultaneously performed, for example, the initial moving direction of the indicator 8 is divided into directions in the X-axis and the Z-axis. The positive or negative direction of the translation is determined on the basis of the divided direction on the X-axis relative to the start point. The positive or negative direction of the rotation is determined on the basis of the divided direction on the Z-axis relative to the start point.
Then, the arithmetic section 5 acquires the extent data 10a tied onto the target graphic object 1 from the extent data storing section 10, calculates the size of the scaled image of the selected graphic object on the basis of data 6a supplied from the screen image generating section 6. The arithmetic section 5 calculates a scale interval suitable for the size of the target graphic object 1 on the display screen of the display section 7, on the basis of the acquired extent data and the calculated size of the scaled image of the selected graphic object (at a third-a step S3a, and
Then, the display section 7 displays the scale 9 having the calculated scale intervals along the moving direction of the target graphic object 1 (at the third-b step S3b, and
Accordingly, when the moving processing of the translation and rotation is simultaneously performed, the initial moving direction of the indicator 8 is divided into two directions. On the-basis of the obtained translating direction and rotating direction, for example, a length scale is displayed along the direction parallel to the X-axis and an angle scale is displayed along the rotating direction around the X-axis.
Lastly, the user moves the target graphic object 1 to the desired position on the scale 9, which is a guide of the movement, via the input section 3 while watching the indicator 8 (at the fourth step S4, and
As described above, according to the graphics processing apparatus and the graphics processing method regarding the second embodiment of the present invention, the moving direction of the target graphic object 1 can be determined automatically on the basis of the initial moving direction supplied from the input section 3. In addition, by displaying the scale 9 having intervals suitable for the size of the target graphic object 1 on the display screen of the display section 7, along the moving direction of the target graphic object 1, the graphic object 1 can be moved to the position that is more accurate.
Meanwhile, in the embodiments 1 and 2, the translation, the rotation, and the translation and rotation with respect to the X-axis are described. Likewise, by tying dimensional constraints corresponding to the moving conditions onto the target graphic object 1, the moving processing such as translation, rotation, and translation and rotation with respect to the Y-axis and Z-axis can be performed on the target graphic object 1.
The graphics processing apparatus according to the embodiments described above may be implemented in hardware or in computer software. For example, a program for allowing a computer to execute functions of the selected graphic object detecting part 51, the initial moving direction detecting part 52, the moving distance detecting part 53, the dimensional constraint data acquiring part 54, the moving direction calculating part 55, and the scale arranging part 56 shown in
The program for implementing a graphics processing apparatus according to the embodiments may be stored in a portable recording medium 24 such as a CD-ROM, a CD-RW, a DVD-R, a DVD-RAM, a DVD-RW, or a flexible disk, a storage device 28 provided at the other end of a communication circuit 26, a storage device such as a hard disk, a RAM, or the like of a computer system 22, or a recording medium 30 of the computer system 22, as shown in
Number | Date | Country | Kind |
---|---|---|---|
2006-028975 | Feb 2006 | JP | national |