This application claims priority under 35 U.S.C. 119 based upon Japanese Patent Application Serial No. 2003-156074, filed on May 30, 2003. The entire disclosure of the aforesaid application is incorporated herein by reference.
This invention relates to an apparatus for displaying three-dimensional graphics data. In particular, it relates to an apparatus that can save and restore the statuses of desired three-dimensional graphics displays.
Three-dimensional graphics data are created by CAD (Computer Aided Design), CG (Computer Graphics) and the like. Such three-dimensional graphics data have recently been used in diverse areas as engineering data and are expected to be used even more in the near future.
Three-dimensional graphics data comprises data expressing three-dimensional shapes, surface colors, properties, etc. Shapes are expressed using polygon data and curved surface data. Surface colors and properties are expressed by data consisting of RGB (Red, Green, Blue) values, specular, shininess and transparency and the like, which are called “materials”. In place of materials, two-dimensional image data can be used, which is called “a texture”. When using a texture, it is necessary to specify a position and a magnification for pasting a two-dimensional image onto a three-dimensional surface.
Two-dimensional display devices are generally used in computer systems where aforementioned three-dimensional data cannot be displayed directly. For this reason, in a three-dimensional data display apparatus, a processing called rendering using display parameters to specify the three-dimensional shape data and its display state is performed to create two-dimensional data and the two-dimensional data created is then output on the display device to display three-dimensional data.
Generally, rendering is a processing for creating two-dimensional data or images (projection conversion processing) from the three-dimensional graphics data according to how a three-dimensional shape expressed by this data looks like when it is viewed from a specific position in a specific direction. When performing a rendering, viewing positions and directions (may be referred to as a camera), illumination and other conditions must be provided besides the three-dimensional graphics data (thereinafter, referred to as a model). These conditions are generally called display parameters.
A projection conversion process calculates at what position all the shape data included in the three-dimensional graphics data can be seen on the screen when viewed from a viewing position based on the coordinate values of the shape data and the group configuration information, and converts the result to two-dimensional data along the coordinates on the screen.
At the end of the projection processing, graphics data appears on the projected plane. Processes such as removal of the hidden surface, shading, texture mapping and the like are applied to the data above to obtain the final two-dimensional data. In order to display three-dimensional data, a set of display parameters for determining the display state is needed in addition to the three-dimensional model which is the display subject.
Therefore, even with the same three-dimensional data, a completely different display appears if the parameters constituting this set of display parameters are changed. A three-dimensional display system uses this function to change the display state of three-dimensional data by changing the display parameters through a user's operation to implement an operation of three-dimensional data. For example, if a viewing position is moved up and down or left to right by operating the mouse, the user experiences that the three-dimensional model is moved (Pan); if a viewing position is moved closer to the model, the user experiences that the three-dimensional model is enlarged (Zoom in); or if a viewing position is moved away, the user experiences that the three-dimensional model is reduced (Zoom out). Moreover, if a viewing position moves in a circular motion around the model to change the viewing direction based on the movement rate, the user experiences that the model is rotating.
As mentioned above, continuously moving the viewing position can change the display parameters to provide the users any operation of the three-dimensional model.
As described above, the display parameters are determined when moving the viewing position continuously through operation of the mouse while the three-dimensional graphics are being displayed. Accordingly, it is difficult to obtain a specific display state only by just setting the desired display parameters, without operations on the three-dimensional graphics. This is because the display parameters are correlated with each other such that transformation occurs with mutual relationships, based on the viewing positions. As a result, it is difficult for the users to set up the desired display parameters to restore the original display state after the original display state has been altered to another display state.
Generally, there is an operation called UNDO or Cancel as an operation for restoring the original state, but UNDO only cancels an operation and the operations must be reversed one at a time. In addition, the display state that can be saved is limited to a series of operational states. Since the records of UNDO are saved on a stack that is a temporary storage area, when the display program ends, the function to restore the display can no longer be operated.
As another method, a program can be created such that the display parameters can be switched as instructed by the users. For example, viewing positions and directions that are display parameters are input as numerical values, and the numerical inputs are set as display parameters so that the displays can be switched by the program. The drawback of this method is that numerical values such as coordinate values must be input in order to operate the program, requiring mathematical knowledge of the three-dimensional model.
It is also possible that visual coordinates for the specific position of the three-dimensional shape including front, rear, left, right, up and down and its directions are stored in advance in the program and when the users select one choice from front, rear, left and right to set up the coordinates and directions that are predetermined, they can be switched to a specific display state. However, according to this method, only a display state from a pre-determined direction can be set up, but a display state based on the user's discretion cannot be set up.
Also, a problem is that the display parameters to be switched by the users are diverse, For example, in addition to viewing positions and directions, they may include selecting for whether or not to display by shading or to display by line drawing, whether or not to display a part of the three-dimensional shape, etc.
In view of the above circumstances, when displaying three-dimensional graphics data, the present invention provides a three-dimensional data display apparatus that easily saves the entire or part of the display state of the graphics and that can select and restore when instructed by the users.
According to a first aspect of the present invention in order to circumvent the above problems, there is provided an apparatus for displaying three-dimensional graphics data display, (a) a three-dimensional graphics data retaining means for retaining three-dimensional graphics data; (b) a state storing means for storing a plurality of sets of display parameters for displaying the three-dimensional graphics data on a two-dimensional display; (c) a view switching means for a user to select one set of display parameters from the plurality of sets of display parameters; (d) a display parameter retaining means for retaining the set of display parameters selected; and (e) a rendering processing means for performing rendering processing based on the three-dimensional graphics data retained by the three-dimensional graphics data retaining means and the set of display parameters retained by the display parameter retaining means, to output two-dimensional data.
In the case where the values of the set of display parameters retained in the display parameter retaining means is changed, in accordance with a user's operation, said rendering processing means executes a rendering using the values after the change, and reflects the user's operation via display on the display monitor.
According to the above configuration, when displaying three-dimensional graphics data, an entire or a portion of the display state of the graphics is easily saved, and the users can select and restore according to his instruction.
According to one embodiment of the present invention, this apparatus displays, on the screen, a main window for displaying said three-dimensional graphics in an operationally enabled manner, and a sub-window for displaying the two-dimensional data related to the state storing. This view switching means preferably displays replaces the two-dimensional data displayed in said main window, with a result of the rendering process using said selected set of display parameters.
According to the above configuration, by selecting a sub-window, three-dimensional graphics operationally enabled in a main window can be reproduced.
The view switching means can generate another main window and display in said other main window in an operationally enabled manner, two-dimensional data obtained from rendering processing using the display parameters related to selection by said user.
According to another embodiment of the present invention, the state storing means stores the two-dimensional data along with links to said each set of display parameters that is used to render the two-dimensional data. In this case, when receiving said user's state storing command, said state storing means preferably causes the rendering processing means to execute another rendering processing, and saves the result of the rendering processing as said two-dimensional data. Moreover, the state storing means preferably has an output resolution changing means for changing the output resolution of the two-dimensional data of said rendering processing means.
According to yet another embodiment of the present invention, this apparatus further comprises an updating means that invokes a rendering process after a change is made to the three-dimensional data retained in said three-dimensional graphics data retaining means, in order to generate two-dimensional data using each set of display parameters stored in said state storing means and the changed three-dimensional graphics data, and replaces the two-dimensional data stored in said state storing means with the result of this rendering.
According to yet another embodiment of the present invention, the state storing means copies and stores a set of display parameters that is retained in the display parameter retaining means when the user issues a state storing command. In this case, the state storing means preferably stores, as said set of display parameters, all display parameters necessary for rendering the three-dimensional graphics data, or it can preferably save only a part of the display parameters necessary for rendering the three-dimensional graphics data.
As part of the display parameters saved in the state storing means, the following and the like can preferably be selected, depending on the purposes:
All or part of: a viewing position and a direction of the three-dimensional graphics data, an operation mode, a coordinate system, and a projection method for the three-dimensional data.
a visibility of faces, edges, and vertices included in the three-dimensional graphics data, and a flag to indicate if hidden line elimination is applied.
a visibility of parts constituting the three-dimensional graphics data.
a state of selection of parts constituting the three-dimensional graphics data.
position information, consisting of movement, rotation and zooming parameters of parts constituting the three-dimensional data.
a flag for cross-sectioning, and a position and direction of a cross-sectioning plane.
materials and textures showing colors and patterns of surfaces of the three-dimensional data.
Furthermore, in the case where materials or textures are used as part of the display parameters saved in said state storing means, it is preferable for samples of the material or texture to be saved as said two-dimensional data, and for the three-dimensional graphics to be reproduced by selecting such samples.
According to another embodiment of the present invention, said three-dimensional graphics data retains a plurality of sets of display parameters and an identifier is attached to each set of display parameters, and said state storing means saves said identifiers as said set of display parameters.
According to another embodiment of the present invention, said state storing means stores a plurality of three-dimensional graphics data, and said view switching means sets, in said three-dimensional graphics data retaining means, one of the three dimensional graphics data saved in said state storing means.
According to another embodiment of the present invention, the state storing means saves a plurality of three-dimensional part data or a group of parts data, and said view switching means adds one of the three-dimensional parts data or the group of parts data saved in said state storing means, to the three-dimensional graphics data retained in said three-dimensional graphics data retaining means, or replaces a part of the three-dimensional graphics data with one of the three dimensional parts data or the group of parts data saved in said state storing means.
Embodiments of the present invention are described below with reference to the accompanying drawings to facilitate understanding of the present invention.
The system 1 comprises a computer system having CPU, memory and the like that are not shown, and the aforementioned constituent elements 1 through 9 represent modules of a computer software program installed in a definite area allocated in a storage device, such as a hard disk drive not shown in the figure, in the computer system. The program is loaded in the memory and executed by the CPU to be configured to function as a constituent element of the present invention.
In addition, a display monitor 10 is connected to this system 1 in order to display two-dimensional image data 6 rendered and outputted by the rendering processing means 7. Moreover, the view switching means 9 is operated according to the input command from the input device 11, such as a keyboard and mouse that are connected to the system 1.
The configuration of the aforementioned constituent elements is described below along with their functions and operations.
The three-dimensional graphics data retaining means 3 reads the three-dimensional graphics data 2 created by CAD and stored in a hard disk into a memory such as RAM to be retained.
The three-dimensional graphics data 2 used in this embodiment is in XVL (trademark owned by Lattice Technology) format and this format contains plural part shapes in a single three-dimensional graphics data, to express a single graphics data by combining these plural part shapes. This combination of part shapes is expressed by a tree structure as shown in
For example,
The configuration information specifies movement of the shape data of the parts included in the group, rotation and zoom-in and zoom-out, and can be expressed by a two-dimensional matrix. The display/non-display information is a flag indicating whether or not to display a shape that belongs to the group. In the case of non-display, shapes that belong to this group are not displayed. Also, in order to specify the targets of operations on the three-dimensional graphics data, identifiers can be added to the parts or nodes corresponding to the sets of parts.
Said rendering processing means 7 determines display parameters concerning projection display by perspective transformation of the three-dimensional graphics data 2, and performs rendering processing for the three-dimensional graphics data 2 using these display parameters and other display parameters. The configuration of this rendering processing means 7 and its functions are described in detail below.
Generally, the display apparatuses used in computer systems is a two-dimensional display apparatus and three-dimensional data cannot be displayed directly. For this reason, in the display apparatus for three-dimensional data, a processing called rendering processing is performed using the three-dimensional shape data and display parameters for specifying the display state, to create two-dimensional image data 6. The two-dimensional image data created is output in the display apparatus to perform expression of the three-dimensional graphics.
Rendering processing was described as an example in “Computer Graphics PRINCIPLES AND PRACTICE, SECOND EDITION” (ISBN 0-201-12110-7) and the contents of this literature are incorporated by reference into this disclosure.
In addition, the rendering processing means 7 has a resolution changer 12 for modifying the resolution according to the purposes of the output of the two-dimensional image data 6. As will be described in detail below, the resolution changer 12 is configured to generate and output two-dimensional images with a resolution either lower or higher than the predetermined resolution, when generating the two-dimensional image data 6 with the objective of storing the display state.
The rendering processing in the rendering processing means 7 generally comprises the processing steps as shown in
“Rendering” is a process of creating two-dimensional graphics data or images according to how the three-dimensional shapes expressing the data are viewed from specific positions and directions, in relation to the three-dimensional graphics data 2.
In rendering, initially a projection conversion processing (Step S1) is performed. To perform rendering, a viewing position and its direction (sometimes called a camera), and illumination and other conditions must be considered as well as the models. These conditions are collectively called display parameters.
The projection conversion is to calculate where all shape data included in the three-dimensional graphics data can be seen on the screen from the viewing position based on the coordinate values of the shape data and the configuration information of the group, and converting them to coordinates on the screen.
In perspective conversion, a coordinate system of the shapes is converted to a single coordinate system (a world coordinate system) (Step S1.1). This conversion is calculated by applying the matrix showing the configuration information of the group to all the coordinate values included in the shape data.
Subsequently, the information on the coordinate values of the parts expressed by the world coordinate system is converted to data in the viewing coordinate system using the viewing position and the values of directions in the world coordinate system (S 1.2). Once all the coordinate values in the three-dimensional graphics data are converted to the viewing coordinate system, projection conversion is performed next. In order to perform projection conversion, a projection plane is set in a space and the position on the projection plane is calculated according to the projection method (Step S1.3).
There are two kind of the projection methods: parallel projection and perspective projection. Parallel projection is a method of processing projection conversion when the viewpoint is assumed to be located infinitely far. On the other hand, perspective projection is a processing for projecting points in space on the projection plane from a viewpoint located at a limited distance.
As the result of projection processing, graphics data on the projection plane are obtained. Various processing including hidden surface removal (Step S2), shading (Step S3) and texture mapping (Step S4) are applied to these data to obtain the final two-dimensional data.
A process of hidden surface removal is processing to remove hidden surfaces that are hidden behind other shapes, from the current viewing position. As this processing method, a Z buffer method can be used. The Z buffer method is a processing carried out using a work area called the Z buffer and determining the Z order of pixels of each polygon so that the hidden surfaces can be removed accurately.
Shading is processing for determining colors on various surfaces with consideration of the position of a light source, intensity, color and angle of the surface, using light source data defined in the three-dimensional graphics data and material data added to the shapes and groups.
Texture mapping is processing for expressing patterns and textures of the material surface that cannot be expressed by shading, which involves processing to place image data on the surface of three-dimensional graphics data.
As described above, a set of parameters for determining the display state is necessary in addition to the three-dimensional model that becomes the subject of the display, in order to display three-dimensional data.
A set of the display parameters comprises the following parameters, as well as the parameters shown above.
Therefore, even with the same three-dimensional data, a completely different display appears if the parameters constituting this set of display parameters are modified. A three-dimensional display system uses this function to change the display state of three-dimensional data by changing the display parameters according to a user's operation to implement an operation of three-dimensional data. For example, if a viewing position is moved up and down or left to right by operating the mouse, the user experiences that the three-dimensional model is moved (Pan); if a viewing position is moved closer to the model, the user experiences that the three-dimensional model is enlarged (Zoom in); or if a viewing position is moved away, the user experiences that the three-dimensional model is reduced (Zoom out). Moreover, if a viewing position moves in a circular motion around the model to change the viewing direction based on the movement amount, the user experiences that the model is rotating.
In this embodiment, a three-dimensional operation can be carried out using an input device 11 such as a mouse, as well as the display monitor 10.
In this example, a new document 22 is created as shown in
Subsequently, any three-dimensional graphics data 2 stored in a hard disk is selected and read into the three-dimensional graphics data retaining means 3. The rendering processing means 7 is activated by this action and a three-dimensional model expressed in a two-dimensional image is displayed on the main window 23 using a set 4 of the display parameters (
In this main window 23, the users can rotate the three-dimensional model and proceed with operations such as zoom-in and zoom-out using a mouse. Using the structure of the three-dimensional model in this embodiment, operations such as displaying some of the parts only or disassembly of the model can be carried out. Additionally, other parameters such as textures and materials can be modified.
Whenever the users carry out the aforementioned operations, the values of the set of the display parameters retained in the display parameter retaining means 5 change. When the values change, the rendering processing means 7 performs rendering processing for the three-dimensional graphics data 2 retained in the three-dimensional graphics data retaining means 3 to generate two-dimensional data using the display parameters 4 to be displayed on the main window 23. In this way, the users can specify the display state to be saved.
Subsequently, the users execute the state storing command of this system. In this example, the two-dimensional images displayed on the main window 23 are dragged and dropped using a mouse out of the main window 23 so that a sub-window 25 is displayed on the new document (
In this embodiment, once a state storing command is executed, a re-rendering processing is performed using the aforementioned display parameters, and a two-dimensional image is generated having a lower resolution than usual, for saving, to be displayed on the sub-window 25 as well as being stored in the state storing means 8.
That is, with the state storing command, a copy 4′ of the three-dimensional display parameters is acquired (Step S5). Subsequently, a changer 12 modifies the resolution in the rendering processing means to be set at a smaller value than the resolution used in the regular rendering processing, delivered to the rendering unit (Step S6). Subsequently, once a two-dimensional image data with a lowered resolution is received from the rendering unit (Step S7), this is stored in the hard disk as well as the display parameters (Step S8). In this case, a two-dimensional image is also displayed on the sub-window 25. After the completion of all of this processing, the output resolution is returned to the original resolution in the rendering processing means (Step S9).
If the output resolution is lower than the resolution that is used in the regular rendering processing, as mentioned above, then the amount of two-dimensional data displayed to the users becomes smaller. The advantage is that many more two-dimensional images can be viewed since the display area is reduced on the display.
In contrast, if the output resolution is higher than the resolution used in the regular rendering processing, two-dimensional data with higher image quality can be obtained, which is particularly advantageous for use in printing two-dimensional data.
It is possible to store only the copy 4′ of the set of display parameters directly in the hard disk by commanding “state storing” from the menu without creating a sub-window 25. If no sub-window 25 is displayed, one can save only the display parameters without activating the rendering processing means 7.
Additionally, a comment can be added to the display parameters to be saved in order to make subsequent selection easier. This comment is also stored as one field of the data base record. Even when saving two-dimensional images as describe above, it is possible to add such a comment. In the Example of
As the users execute the aforementioned state storing while operating three-dimensional graphics on the main window 23, the state storing means 8 stores the copy 4′ of the set of display parameters one by one in the aforementioned database along with the ID.
In this embodiment, as shown in
On the other hand, the view switching means 9 has a function to fetch a set of display parameters from the database stored in the state storing means 8 according to the inputs from the users and to set them in the display parameter retaining means 5. In this example, display parameters can be specified by clicking the selected sub-windows 25 and 25′ in
Accordingly, the rendering processing means 7 performs a re-rendering processing using display parameters displayed on the first sub-window 25 and three-dimensional graphics data to display three-dimensional graphics that can be operated on the main window (
Whether the two-dimensional images (sub-window 25) and the data saved by other methods are selectively displayed is determined at Step S10. If not, a user selection list is displayed, to await user selections (Steps S11, S12 and S13).
If one of the saved states is selected, a set of display parameters selected is acquired from the state storing means 8 (Step 14). Subsequently, the display parameters are set in the memory of the display parameter retaining means 5 (Step S15). Using these display parameters, rendering processing is performed in the rendering processing means 7 so that three-dimensional graphics are displayed in an operable state in the main window 23.
In this example, a state to be restored from the sub-window 25 is selected; however, one can be selected from the list regardless of the sub-window 25. If images are not stored, the display parameter IDs and a table of comments (part of the table shown in
According to the configuration above, if a set of necessary three-dimensional display parameters is saved in the state storing means 8, the three-dimensional graphics data can be switched instantaneously to the desired three-dimensional display state.
The system concerned in this embodiment has a state storing data integrated updating means 28 in the state storing means 8 of the system of the first embodiment.
The updating means 28 has a function to update the two-dimensional image data saved in the state storing means 8 when the three-dimensional graphics data 2 in the three-dimensional graphics data retaining means 3 is replaced, or modified, to reflect the changes of three-dimensional data.
Initially, once the aforementioned state storing data integrated updating means 28 receives a data update command (Step S116), it sequentially fetches a set of three-dimensional display parameters saved in the state storing means 8 (Step S17), and a similar rendering processing as mentioned above is executed by applying new three-dimensional graphics data to obtain new two-dimensional image data (Step S18). Subsequently, the two-dimensional image data which was saved corresponding to the set of display parameters used for this processing, is replaced with the new two-dimensional image data obtained by the above-mentioned rendering processing (Step S19). Furthermore, the processing at Steps S17 through S19 are performed for all sets of display parameters stored in the state storing means 8 (Step S20). If such a processing is applied, the updated new two-dimensional image data are also displayed on the new document 22, to update the displays of the sub-window 25.
According to the configuration mentioned above, when the original three-dimensional graphics data is modified, rendering using each set of display parameters is automatically executed based on this, to update the corresponding two-dimensional image data.
The present invention is not limited by the aforementioned one embodiment and it is applicable in various forms within a scope that does not modify the essentials of the present invention.
For example, in the aforementioned embodiment, if a switch is instructed to the view switching means 9, the current three-dimensional image shown in the main window 23 is replaced with the three-dimensional image with the specified set of display parameters, but not limited to this action. For example, as shown in
That is, in this example, if the display switch is indicated by the user, a new three-dimensional graphics display area is created to display three-dimensional data using the specified set of display parameters instead of switching the currently displayed three-dimensional data.
Additionally, three-dimensional images can be displayed on a pop-up window instead of switching the main window in the document. Alternatively, three-dimensional images with specified set of display parameters can be arranged to be popped up only when a display switch is indicated
This is particularly effective when it is not necessary to display or to operate three-dimensional data on a regular basis or when larger three-dimensional displays are not executed regularly due to restrictions in screen sizes.
When switching the displays in the aforementioned embodiment, all the parameters required for displaying three-dimensional graphics in a two-dimensional display are fetched from the state storing means 8 and are set in the display parameter retaining means 5. However, it is possible for only a portion of the display parameters to be set.
For this reason, the view switching means 9 has a display parameter selector 30 for selecting the display parameters to be modified. This display parameter selector 30 makes the users select display parameters to be modified and only the display parameters selected (a portion of the set of display parameters) are set in the display parameter retaining means 5.
In the aforementioned embodiment, all the parameters required for the two-dimensional display of three-dimensional graphics are stored in the state storing means 8, but only a portion of the display parameters can also be stored.
In this case, a desired implementation is that only the parameters to be modified are stored in the state storing means 8, while as the common display parameters not needed to be modified, the display parameters stored in the three-dimensional graphics data retaining means 3 are used. Additionally, the common display parameters can be stored in the state storing means 8 separately from the parameters to be modified.
For this reason, the state storing means 8 has a display parameter selector 30 for selecting the display parameters to be modified, as shown in
Examples of display parameters to be modified, and examples of the display of cases where such parameters were modified, are presented below.
For example,
Similarly,
Similarly, FIGS. 16A-C show examples when changing only “the display, non-display of the parts” as a part of the display parameters.
Similarly, FIGS. 17A-E show examples when changing only a shading display, or wire display as a part of the display parameters.
Similarly, FIGS. 18A-C show examples when changing only “the selection state of the parts” as a part of the display parameters.
Similarly,
In the said one embodiment, a set of the display parameters is stored in the state storing means 8, which is stored in the database 2 in the hard disk, but it is not limited by these examples. For example, they can also be stored in said three-dimensional graphics data.
In this case, as shown in
This is particularly effective when investigating or comparing by switching among plural three-dimensional data, while maintaining the angle and size of the three-dimensional displays.
As described clearly above, the present invention provides a three-dimensional data display apparatus with which uses can easily save the entire or a portion of the display state of the three-dimensional graphics data displays, select one of the saved display states, and restore the three-dimensional graphics display.
Number | Date | Country | Kind |
---|---|---|---|
2003-156074 | May 2003 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP03/09527 | 7/28/2003 | WO | 9/14/2005 |