This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2009-194986 filed on Aug. 26, 2009, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are related to a three-dimensional data display apparatus and program for displaying a model generated using three-dimensional structure data of a structure to be processed in a virtual space of three-dimensional orthogonal coordinates configured through calculation processing.
With drastic improvements in computer throughput, scale and parallelization techniques in recent years, signal analysis processing is being actively performed in applications of not only circuit simulation processing but also three-dimensional electromagnetic field simulation processing.
A three-dimensional electromagnetic field simulator using an electromagnetic field analysis processing method using a three-dimensional grid structure, for example, FDTD (Finite Difference Time Domain Method) requires an operation of setting a voltage source and a resistive element between a signal line and a grounding line when performing a circuit analysis or the like including a three-dimensional space.
Therefore, a data input device or the like is proposed. The data input device has external coordinate value input means that can enter coordinate values of two-dimensional coordinates on an external plane and built-in coordinate value input means that can enter coordinate values of coordinates carried on a movable member through relative movement with respect to a movable member built in the apparatus body.
In addition, a three-dimensional pointing method or the like is proposed for pointing an object disposed at a depth position in a three-dimensional GUI in one region at the depth position and at the same time changing the position in the two-dimensional plane according to the pointed depth position.
Furthermore, a mouse type input device that can enter three-dimensional coordinates is proposed. The mouse type input device has a dial function and an input section that allows analog displacement to be inputted to a computer or the like by operating the dial function.
Furthermore, a three-dimensional cursor control device is proposed. The three-dimensional cursor control device has means that can set a three-dimensional section formed perpendicular to a depth direction and in the vicinity of a cursor as the cursor position moves in the depth direction and can highlight three-dimensional graphics in the three-dimensional section.
The following are documents describe technical backgrounds of the discussed embodiments:
Most of structure data of a three-dimensional structure, which is used for a three-dimensional electromagnetic field simulator, is generally created through automatic data conversion processing or the like from data created by a CAD (Computer Aided Design) system using a computer.
However, there still remains steps that the user must manually set via a three-dimensional space displayed on a screen such as a setting of an output region and an addition of three-dimensional structure data. With a three-dimensional electromagnetic field simulator, for example, when arranging a wave source and circuit elements or the like between structure bodies (metal bodies), the user must perform an input operation of arranging the elements or the like while visually checking the boundary of a desired metal body in the three-dimensional space two-dimensionally expressed on the display screen so as to contact the metal body, that is, arranging end points of the elements or the like on the boundary of the metal body. When circuit elements or the like are arranged with end points thereof not contacting the structure body (metal body), the arranged end points are handled as “being left open” in calculations, producing erroneous results in circuit characteristics, and therefore precise arrangement of the end points is required.
However, since three-dimensional parts and structures are expressed on a two-dimensional plane by the three-dimensional data display apparatus, the depth direction of the three-dimensional space cannot help but be expressed in a pseudo-form using an optical illusion of the user. Therefore, it is difficult for the user to visually grasp the exact position in the three-dimensional space on the screen and exactly identify a desired position.
With the three-dimensional electromagnetic field simulator, the operation of accurately arranging the wave source and circuit elements is particularly not easy and there is a problem that the accuracy and efficiency of the user's operation deteriorate. Moreover, there is also a problem that the deterioration of the accuracy of the operation produces wasteful analysis processing based on misalignment or the like.
The three-dimensional data display apparatus disclosed as one embodiment of the present invention is a three-dimensional data display apparatus provided with a display device and a pointing input device for causing the display device to display a structure to be processed in a virtual space. The three-dimensional data display apparatus includes a structure information storage section that stores structure information including structure information indicating a shape and arrangement of the structure and physical property value information indicating a material and a predetermined physical property value, a screen display processing section that generates a display screen with a structure arranged in a virtual space of a three-dimensional orthogonal coordinate system based on the structure information and displays the generated display screen on the display device, a grid setting section that sets a grid in the virtual space based on predetermined grid spacing, an operation information acquiring section that acquires operation information indicating a moving direction and an amount of movement of the input point from the pointing input device, an input point position calculation section that calculates coordinates in the virtual space of the input point, calculates a moving destination of the input point based on the operation information, selects any one of coordinates of each grid lattice based on the set grid, coordinates of a boundary of the structure and coordinates of an intersection between the boundary of the structure and the grid as coordinates at a minimum distance from the moving destination and updates the coordinates of the input point with the selected coordinates, and an input point display processing section that displays, when the coordinates of the input point are updated, the input point at a position indicating the updated coordinates of the input point in the virtual space.
The three-dimensional data display apparatus disclosed as one embodiment of the present invention can provide a graphic user interface that can highlight, when the user checks or creates structure data of a structure to be processed, the boundary of the structure arranged in the virtual three-dimensional space in which a grid is set and further can display a setting position of a terminal or the like on the grid or the boundary of the structure.
According to the disclosed three-dimensional data display apparatus, it allows the user to easily and reliably recognize the boundary of the structure to be processed on a display screen and easily and reliably perform operation of inputting a setting of a terminal or the like. This also allows the user to avoid operation errors such as a setting position error. Thus, it is possible to realize a drastic reduction of operation time of creating structure data and a reduction of processing cost resulting from wasteful calculation processing or the like based on erroneous input of the setting position.
The object and advantage of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Hereinafter, a three-dimensional data display system 1 disclosed as one embodiment of the present invention will be described.
The three-dimensional data display apparatus 10 generates a display screen 100 (not illustrated) expressing a space in which a structure is arranged in a three-dimensional virtual space (hereinafter referred to as “virtual space”) of an orthogonal coordinate system and outputs the display screen 100 to the display device (monitor) 2.
Examples of structures processed by the three-dimensional data display apparatus 10 include members or parts such as substrate, circuit element, resistive element and wiring. The structure is displayed on the display screen 100 as a three-dimensional model generated based on three-dimensional structure information defined in a virtual space. The structure information includes structure information indicating the shape and position of the three-dimensional model of the structure and physical property value information indicating the material, conductivity or the like of the structure.
A user can move an input point Pt indicating a position in the virtual space where a predetermined grid is set on the display screen 100 by operating the pointing input device 3 of the three-dimensional data display system 1 to perform operation such as input and change of a wave source or circuit element at the position specified by the input point Pt.
The grid 6 illustrated in
In
The three-dimensional data display apparatus 10 calculates coordinates gc in the virtual space of each grid lattice g of the grid 6. Furthermore, the three-dimensional data display apparatus 10 sets an auxiliary grid lattice m at a vertex of the structure arranged in the virtual space and further sets an auxiliary grid lattice n at a point of intersection between the boundary of the structure T and the grid line that makes up the grid 6. The three-dimensional data display apparatus 10 determines coordinates mc and nc of the auxiliary grid lattices m and n in the virtual space respectively.
When attention is focused on the bottom surface of the cubic structure T illustrated in
The three-dimensional data display apparatus 10 calculates the moving destination of the input point Pt according to the moving direction and the amount of movement indicated by operation information generated through a moving operation of the pointing input device 3. White arrows illustrated in
The three-dimensional data display apparatus 10 searches coordinates nearest to the moving destination of the input point Pt from coordinates gc, mc, nc of the grid lattice g, the auxiliary grid lattices m and n of the grid 6 and designates those coordinates as coordinates of the input point Pt that moves according to operation information. The three-dimensional data display apparatus 10 moves the input point Pt to a position indicating the searched coordinates and displays the input point Pt on the display screen 100. When, for example, the moving direction of the operation information is a negative direction of the X-axis of the virtual space, the input point Pt is controlled so as to move to the coordinates of any one of the grid lattice g, auxiliary grid lattices m, n according to the amount of movement of the operation information.
The pointing input device 3 is an input device operated by the user to move the input point Pt which indicates an arbitrary position in the virtual space. Any kind of device may be used as the pointing input device 3 as long as the device can input the moving direction and the amount of movement for moving the input point Pt in the virtual space. The pointing input device 3 can be realized by, for example, a mouse, keyboard, touch pad, touch panel or a combination thereof. The pointing input device 3 is preferably realized by a mouse in particular, which allows the input point Pt to be moved through operation by plane movement of the device and wheel rotation.
Though not illustrated in
The three-dimensional data display apparatus 10 is connected to a structure information storage device 4 to acquire information on the structure stored in the structure information storage device 4 (structure information) or transmit structure information generated to the structure information storage device 4. The structure information storage device 4 stores structure information created by adding physical property value information inputted or generated by another processing system to the structure information per structure created by a known CAD system.
Hereinafter, the processing operation of the three-dimensional data display apparatus 10 will be described schematically. It is assumed that the pointing input device 3 is realized by a mouse.
The three-dimensional data display apparatus 10 determines physical properties of a structure specified by the input point Pt, which is moved by the user according to the operation information of the mouse 3, from the physical property value information thereof (e.g., whether the structure is a metal or dielectric) and displays the structure in a highlighting color corresponding to the determined physical properties. This allows the user to recognize the physical properties of the specified structure by only viewing the display screen 100 and immediately judge whether the structure is a structure having physical properties to be processed (e.g., conductor).
Furthermore, the three-dimensional data display apparatus 10 generates a physical property value display screen that displays more detailed contents of the physical property value information of the structure specified by the user with the input point Pt and displays the screen on the monitor 2. This allows the user to immediately check physical property value information of the specified structure.
Furthermore, the three-dimensional data display apparatus 10 highlights the contours (boundary) of the structure specified by the user with the input point Pt. This allows the user to easily identify the boundary plane or boundary edge or the like of the specified structure and allows the user to specify the position of the structure on the boundary more easily.
Furthermore, the three-dimensional data display apparatus 10 sets and displays an arbitrary plane in the virtual space designated by the user as an operation reference as a sketch plane. Moreover, the three-dimensional data display apparatus 10 displays a guideline indicating a relationship between the sketch plane and the structure specified by the user.
To be more specific, the three-dimensional data display apparatus 10 displays the line of intersection between each boundary plane of the structure in the virtual space and the sketch plane on the display screen 100 as a first guide display. This allows the user to grasp the positional relationship of the structure arranged in the virtual space with reference to the sketch plane.
Furthermore, as the second guide display, the three-dimensional data display apparatus 10 displays a line segment on a line parallel to the orthogonal coordinate axis in the virtual space from the input point Pt to the point of intersection with the boundary plane of the structure as a guideline on the display screen 100. This allows the user to more easily grasp the distance from the input point Pt to the boundary of the structure.
Furthermore, the three-dimensional data display apparatus 10 moves the position of the input point Pt displayed on the display screen 100 with a predetermined grid spacing or a user-specified grid spacing according to the operation information from the mouse 3. Furthermore, the three-dimensional data display apparatus 10 moves the input point Pt to a vertex of the structure in the virtual space or a point of intersection between the boundary of the structure and the grid lattice. That is, the input point Pt on the display screen 100 is always controlled so as to move to any one of the grid lattice set by the basic grid 6, a vertex of the structure and a position on the boundary plane.
For example, in a setting operation of the input position of a wave source or circuit terminal, when the user operates the mouse 3, the position of contact with the grid lattice g or the boundary of the structure is indicated by the input point Pt, and therefore the user's burden of inputting the positions of contact with the structure is drastically reduced and errors in the position setting can be avoided.
Furthermore, the three-dimensional data display apparatus 10 can control the space moving direction that can be inputted by the mouse 3 in association with the sketch plane specified by the user in the virtual space. To be more specific, when the moving direction of the input point Pt can be inputted through two ways of operation of plane movement and wheel rotation using the mouse 3, the movement of the input point Pt can be controlled by performing the association between the moving direction of plane movement and the two coordinate axes that identify the sketch plane and the association between the moving direction in wheel rotation and the coordinate axis perpendicular to the sketch plane.
This allows the user to grasp the operation of plane movement of the mouse 3 in association with the control of the movement of the input point Pt on the sketch plane of the display screen 100 and further grasp the operation of wheel rotation in association with the control of the movement in the direction orthogonal to the sketch plane and allows the user to operate the input point Pt on the display screen 100 more easily.
Furthermore, the three-dimensional data display apparatus 10 rotates the orthogonal coordinate system of the virtual space based on the axis of rotation and the angle of rotation inputted and specified by the user and displays the orthogonal coordinate system on the display screen 100.
Thus, even if the user specifies an inclined plane in the original virtual space as the sketch plane, the entire virtual space is displayed as an orthogonal coordinate system with reference to the sketch plane, and therefore visibility of the virtual space increases and convenience of the user operation can be improved.
In order to perform the above described processing, the three-dimensional data display apparatus 10 is provided with a data input-output processing section 11, a grid setting-updating section 13, a sketch plane setting section 14, an operation information acquiring section 15, an input point position calculation section 16, a display mode setting section 17, a grid spacing setting section 18, a structure information creating section 19, a screen display processing section 20, and a data storage section 30.
The data input-output processing section 11 stores structure information acquired from the structure information storage device 4 in the data storage section 30 or transmits structure information of the data storage section 30 to the structure information storage device 4.
The grid setting-updating section 13 sets the grid 6 which becomes the basis in the virtual space based on a predetermined grid spacing and calculates coordinates gc of each grid lattice g in the virtual space based on the set grid 6.
Furthermore, based on the structure information, the grid setting-updating section 13 designates the vertex of the structure in the virtual space as an auxiliary grid lattice m, determines the point of intersection between the boundary of the structure and the grid 6 and designates the point of intersection obtained as an auxiliary grid lattice n. The grid setting-updating section 13 then calculates coordinates mc and nc of the auxiliary grid lattice m and the auxiliary grid lattice n in the virtual space respectively and registers the coordinates with the data storage section 30.
Furthermore, when an additional setting or a change is made to a structure in the virtual space, wave source, circuit terminal or the like, the grid setting-updating section 13 identifies the auxiliary grid lattices m and n from the structure information of the added or changed structure, calculates the coordinates mc and nc and adds the coordinates to the data storage section 30.
The sketch plane setting section 14 sets the sketch plane set based on the user's input specification in the virtual space. The sketch plane is a plane used by the user as an operation reference and is a limited plane in the virtual space, that is, a plane having a finite area. When there is a boundary plane of the structure at the position of the input point Pt, the sketch plane setting section 14 sets the plane including the boundary plane as the sketch plane from the structure in the virtual space.
The operation information acquiring section 15 detects the movement of the mouse 3 and acquires operation information indicating the moving direction and amount of movement of the input point Pt and instruction information of specification or selection by left or right click or the like.
The input point position calculation section 16 calculates and stores the coordinates of the input point Pt of the virtual space. Furthermore, the input point position calculation section 16 calculates the moving destination of the input point Pt based on the operation information acquired by the operation information acquiring section 15. The input point position calculation section 16 then selects coordinates at the shortest distance from the moving destination of the input point Pt from among the coordinates gc, mc and nc of the grid lattice g, auxiliary grid lattices m and n stored in the data storage section 30 and updates the coordinates of the input point Pt with the selected coordinates.
When a sketch plane is set in the virtual space, the input point position calculation section 16 performs the association between the coordinate axis indicating the moving direction that can be inputted through the operation of plane movement of the mouse 3 and the coordinate axis that identifies the sketch plane and the association between the coordinate axis indicating the moving direction that can be inputted through the operation of wheel rotation of the mouse 3 and the coordinate axis in the direction perpendicular to the sketch plane and stores association information that indicates the associations. The input point position calculation section 16 then calculates the moving destination of the input point Pt from the operation information acquired based on this association information.
The display mode setting section 17 sets the display mode to any one of a space fixing mode in which display is performed by fixing the virtual space of the display screen 100 and moving the position of the input point Pt as the input point Pt moves according to the operation information, and an input point fixing mode in which display is performed by fixing the position of the input point Pt and moving the display region of the virtual space.
The grid spacing setting section 18 sets grid spacing processed by the grid setting-updating section 13 through user specification.
The screen display processing section 20 calculates the boundary line and boundary plane or the like of the structure arranged in the virtual space based on the structure information stored in the data storage section 30, arranges the structure in the virtual space, generates the display screen 100 on which the structure arranged is displayed based on the property value information of the structure and displays the display screen 100 on the monitor 2. Furthermore, the screen display processing section 20 generates the display screen 100 based on the display mode (space fixing mode/input point fixing mode) set by the display mode setting section 17.
The screen display processing section 20 is provided with a structure analysis-setting section 21, a highlighting processing section 22, an input point display processing section 23, a physical property information display processing section 24, a first guide display processing section 25, a second guide display processing section 26, a sketch plane display processing section 27 and a rotation display processing section 28.
The structure analysis-setting section 21 acquires structure information of the structure located in the virtual space displayed on the display screen 100 from the structure information stored in the data storage section 30, arranges the structure in the virtual space based on the acquired structure information and displays the structure on the display screen 100. Furthermore, the structure analysis-setting section 21 identifies the structure located within a predetermined range from the position (coordinates) of the input point Pt in the virtual space displayed on the display screen 100 and displays only the identified structure on the display screen 100.
The highlighting processing section 22 sets a display mode corresponding to the physical property value information indicating physical properties (material in particular) of the structure, for example, display color, kind of line or line width of contours beforehand and highlights the structure arranged in the virtual space of the display screen 100 with a display mode corresponding to the physical properties of the structure based on the structure information.
Furthermore, the highlighting processing section 22 refers to the physical property value information of the structure information of the data storage section 30 and displays the information on the display screen 100 by highlighting only a structure having specific physical properties.
Furthermore, the highlighting processing section 22 identifies a structure, in the region of which the coordinates of the input point Pt are located, and displays the identified structure on the display screen 100 in a predetermined display mode, for example, by drawing contours thereof with a thick line or coloring the contours in a highlighting color corresponding to the physical properties.
The input point display processing section 23 displays the input point Pt at the coordinates after the virtual space is updated every time the coordinates of the input point Pt are updated.
The physical property information display processing section 24 refers to structural information of the structure information of the data storage section 30, generates a structure list screen 150 for listing physical properties of the structure in the virtual space, displays the structure list screen 150 on the monitor 2, generates a physical property value information screen 155 that displays the physical property value information of the structure selected by the user on the structure list screen 150 and displays the physical property value information screen 155 on the monitor 2.
The first guide display processing section 25 calculates the line of intersection between the boundary plane of the structure of the virtual space and the sketch plane based on the structure information and displays the calculated line of intersection on the display screen 100.
Based on the structure information, the second guide display processing section 26 displays straight lines in three directions indicating the respective coordinate axes of the virtual space from the coordinates of the input point Pt, which are line segments up to the point of intersection with the boundary plane of the nearest structure on the display screen 100 as guidelines.
The sketch plane display processing section 27 displays the sketch plane set in the virtual space on the display screen 100.
The rotation display processing section 28 generates a rotation coordinate system resulting from rotating the rotation coordinates selected from the coordinate axis of the orthogonal coordinate system of the virtual space by an angle of rotation specified by the user and displays the virtual space according to the rotation coordinate system on the display screen 100.
The data storage section 30 is a storage that stores data processed by the three-dimensional data display apparatus 10. The data storage section 30 stores, for example, a structure data table 31 that stores structure information and a grid table 32 that stores the coordinates gc, mc and nc of the grid lattice g, and auxiliary grid lattices m and n.
The structure data table 31 stores structure information indicating the shape and arrangement of each structure and physical property value information indicating material, dielectric constant, conductivity or the like.
The structure data table 31 includes data items such as structure data ID, physical property name, physical property value information and structure information for each piece of structure data.
The structure data ID is an identification number that uniquely defines a model of each structure.
The physical property name is the name of a structure, and a name indicating physical properties such as copper A, copper B, dielectric A is used in the example illustrated in
The physical property value information is a specific value indicating physical properties of a structure and further includes information on the name of material (material) corresponding to each of the physical property name, physical quantity corresponding to dielectric constant, conductivity, relative permeability, magnetic resistivity, density.
The structure information is information on coordinate values indicating the position and shape of a structure within a predetermined structure. When, for example, a structure model having a rectangular parallelepiped external shape is defined, the structure information includes information on the position and size (shape) such as the start point X coordinate, start point Y coordinate, start point Z coordinate, end point X coordinate, end point Y coordinate, end point Z coordinate, height MH, length ML, width MW. The data items of the structure information of the structure data table 31 can be changed as appropriate according to the shape of the structure.
The structure information creating section 19 generates structure data such as a structure, circuit elements additionally arranged in the virtual space or updates the structure data whose arrangement or the like is changed through the user's operation. For example, the structure information creating section 19 generates, when the user adds a structure specified by the input point Pt on the display screen 100, structure information based on control points or the like inputted at the input point Pt, further generates physical property value information based on the user's input instruction, creates structure data including this structure information and physical property value information and stores the structure data in the structure data table 31.
Hereinafter, processing by the three-dimensional data display apparatus 10 will be described.
Step S1: Structure Information Reading Processing and Display Screen Generation Processing
The data input-output processing section 11 of the three-dimensional data display apparatus 10 reads structure information (structure data) of a structure to be processed from the structure information storage device 4 and stores the structure information in the structure data table 31 of the data storage section 30.
The structure data table 31 illustrated in
The physical property value information (D#2) of the structure mID#2 stores data such as material “AAA material,” dielectric constant “4.7,” conductivity “1.0.” The structure information (P#2) of the structure mID#2 stores data such as start point x coordinate “5.0,” start point y coordinate “5.0.”
The structure analysis-setting section 21 selects a structure to be arranged in a region of a virtual space displayable on the display screen 100 generated by the screen display processing section 20 based on the structure data of the structure data table 31. The structure analysis-setting section 21 calculates the shape and position in the virtual space of each selected structure, arranges the structure in the virtual space and displays the structure on the display screen 100. The structure analysis-setting section 21 may also be configured to determine the region of the virtual space displayed on the display screen 100 based on user specification.
Next, the three-dimensional data display apparatus 10 performs processing in following step S2 and step S3 as initial setting processing.
Step S2: Grid Setting Processing
The grid setting-updating section 13 displays a grid spacing setting screen 120 on the monitor 2 and when each value of grid spacing is inputted on the grid spacing setting screen 120, the grid setting-updating section 13 sets the input value as grid spacing. The grid setting-updating section 13 can store the initial value of grid spacing.
When set values of X-axis direction grid spacing Δx=2.0, Y-axis direction grid spacing Δy=4.0 and Z-axis direction grid spacing Δz=3.0 are inputted on the grid spacing setting screen 120, the grid setting-updating section 13 sets the grid 6 in the virtual space based on the set values. Through this processing, the grid 6 is defined in the virtual space using the X-axis, Y-axis and Z-axis as coordinate axes as illustrated in
Furthermore, the grid setting-updating section 13 calculates coordinates gc of each grid lattice g of the grid 6 in the virtual space and stores the coordinates gc in the grid table 32. Next, the grid setting-updating section 13 identifies the structure to be arranged in the virtual space, calculates the shape and the position in the virtual space of the identified structure and designates the vertex of the structure, points of intersection between the boundary of the structure and the grid 6 as auxiliary grid lattices m and n. Furthermore, the grid setting-updating section 13 calculates coordinates mc and nc of the calculated auxiliary grid lattices m and n in the virtual space and stores the coordinates mc and nc in the grid table 32.
For simplicity of explanation, a case will be described in the example illustrated in
The grid setting-updating section 13 sets the grid 6 based on the grid spacing in the virtual space, calculates the coordinates gc based on each grid lattice g (g#11 to g#14, g#21 to g#24, g#31 to g#34, g#41 to g#44) and stores each grid lattice g in the grid table 32.
When the structure T is arranged in the virtual space, the grid setting-updating section 13 determines, from the structure data of the structure T arranged, whether or not each vertex of the structure T is located on the grid lattice g. The grid setting-updating section 13 sets auxiliary grid lattices m (m#1, m#2, m#3) at vertexes not located on the grid lattice g out of the vertexes of the structure T, designate the coordinate value of the vertex as coordinates mc and adds the coordinates mc to the grid table 32. For example, regarding the vertex m#1, grid ID=m#1, coordinates (x#i1, y#i1, z#11) are stored in the grid table 32 (i represents an integer).
Grid auxiliary lines Lc illustrated in
Furthermore, the grid setting-updating section 13 calculates points of intersection between boundary lines La#1 to La#3 of the structure T and the grid lines Lg and sets auxiliary grid lattices n at the points of intersection. Furthermore, the grid setting-updating section 13 calculates points of intersection between the boundary lines La#1 to La#3 of the structure T and the grid auxiliary lines Lc and Ld that pass through the auxiliary grid lattices m and n and also sets auxiliary grid lattices n at the points of intersection. The grid setting-updating section 13 then calculates coordinates nc based on the respective auxiliary grid lattices n (n#11 to n#13, n#21 to n#22, n#31 to n#32) and stores the coordinates nc in the grid table 32. For example, regarding the point of intersection n#11, grid ID=n#11, coordinates (x#i4, y#i4, z#11) are stored in the grid table 32.
The grid table 32 is a table that stores grid coordinates or grid IDs of respective auxiliary grid coordinates and coordinate values identified in the grid 6 defined for an analysis region in the virtual space.
The grid ID is identification information uniquely set for each grid lattice and auxiliary grid lattice m, n of the grid 6. The coordinate values are coordinate values (x, y, z) in the virtual space (X-axis, Y-axis, Z-axis) of coordinates gc, mc, nc.
As illustrated in
Step S3: Sketch Plane Setting Processing
The sketch plane setting section 14 sets a sketch plane based on the user's specification.
In
Suppose sketch planes Sxy, Syz and Szx are displayed on the sketch plane setting screen 130 in the directions of the normal (directions perpendicular to the sketch plane).
The sketch plane setting section 14 sets the sketch plane according to the set content selected by the sketch plane setting screen 130 displayed on the monitor 2. For example, when “display z” is selected (illustrated by a black circle) on the sketch plane setting screen 130, the sketch plane setting section 14 sets a sketch plane Sxy which is a plane including the position (coordinates) of the input point Pt as illustrated in
These sketch planes may also be controlled so as to move in the direction of the normal to the plane in conjunction with the coordinates of the input point Pt. For example, the sketch plane Sxy (XY plane) illustrated in
Furthermore, the sketch plane may also be set using a structure. As illustrated in
When “display x” is selected on the sketch plane setting screen 130, the sketch plane setting section 14 sets the sketch plane Syz which is a YZ plane including this boundary plane of the structure T#11.
Next, the three-dimensional data display apparatus 10 performs processing in step S4 and step S5 as processing based on the operation of the mouse 3.
Step S4: Display Mode Setting Processing
The display mode setting section 17 provides a space fixing mode and an input point fixing mode as display modes of the display screen 100, switches, upon receiving an instruction input of the display mode from the mouse 3, the display mode setting of the display screen 100 and reports the display mode setting to the image display processing section 20. The display mode is a mode of display processing when the position of the input point Pt is updated and displayed as the input point Pt moves.
As illustrated in
Here, the display mode is alternately switched between two display modes; a space fixing mode and an input point display mode, and the screen display processing section 20 generates the display screen 100 based on the display mode set by the display mode setting section 17.
The space fixing mode is a display mode in which a structure arranged in the virtual space and the grid 6 are fixed and displayed by moving the position of the input point Pt. As illustrated in
The input point fixing mode is a display mode in which the input point Pt is displayed by fixing the position thereof, and a structure arranged in the virtual space and the grid 6 are displayed by relatively moving them. As illustrated in
Such switching between display modes facilitates the movement operation of the input point Pt by the user when part of the virtual space is displayed in an enlarged view or the like.
Step S5: Input Point Pt Movement
Every time the information acquiring section 15 detects the operation of the mouse 3, the information acquiring section 15 acquires operation information including the moving direction and amount of movement (moving distance) generated by the moving operation of the mouse 3 and transmits the operation information to the input point position calculation section 16.
The input point position calculation section 16 calculates the moving destination in the virtual space from the position (coordinates) of the input point Pt based on the moving direction and moving distance of operation information. The input point position calculation section 16 then selects coordinates nearest to the calculated moving destination from the coordinates gc, mc and nc stored in the grid table 32 and uses the coordinates as the position (coordinates) after the movement of the input point Pt.
In
The input point position calculation section 16 calculates the moving direction and the moving distance of the input point Pt based on the operation information of the mouse 3 and calculates the moving destination. The input point position calculation section 16 selects the coordinates mc of the auxiliary grid coordinates m#1 nearest to the moving destination of the input point Pt calculated from the grid table 32 and designates the coordinates mc as the coordinates of input point Pt after the movement (illustrated by input point Pt(b) in the figure).
Furthermore, when the acquisition of the operation information from the mouse 3 continues, the input point position calculation section 16 likewise calculates the moving destination of the input point Pt according to the moving distance included in the next acquired operation information and designates the coordinates gc of the grid coordinates g#22 nearest to the moving destination as the coordinates of the input point Pt after the movement (illustrated by input point Pt(c) in the figure).
Thus, while acquiring the operation information from the mouse 3 continuously, the input point position calculation section 16 calculates the moving destination of the input point Pt based on the sequentially acquired operation information, selects the coordinates nearest to the moving destination from the grid table 32 and designates the coordinates as the coordinates of the input point Pt after the movement. As a result, the input point Pt is controlled so as to move positions from the position before the operation (grid lattice g#21) to the auxiliary grid lattice m#1→grid lattice g#→auxiliary grid lattice n#11→auxiliary grid lattice n#12→auxiliary grid lattice n#13→grid lattice g#23→auxiliary grid lattice m#2→grid lattice g#24.
Every time the coordinates of the input point Pt move, the input point display processing section 23 displays the input point Pt (illustrated as Pt(a)→Pt(b)→Pt(c)→Pt(d)→Pt(e)→Pt(f)→Pt(g)→Pt(h)→Pt(i) in the figure) at positions corresponding to the coordinates after the movement of the display screen 100.
Furthermore, as another method of moving the input point Pt, the input point position calculation section 16 can control the movement of the input point Pt using moving tracks without using the grid table 3. In this case, the grid table 32 of the data storage section 30 is not necessary.
To be more specific, the input point position calculation section 16 calculates moving tracks of the input point Pt from the moving direction included in the operation information. The input point position calculation section 16 then determines, based on the structure data table 31, whether the boundary of the grid 6 or the structure exists on the moving tracks. If the boundary plane of the grid 6 or the structure exists, the input point position calculation section 16 calculates a point of intersection between the moving tracks and the boundary plane of the structure and designates the calculated point of intersection as the coordinates of the input point Pt after the movement.
In
The input point position calculation section 16 calculates a moving track from the moving direction of operation information generated by the operation of the mouse 3. Suppose this moving track is a straight line directed from the grid coordinates g#21 toward the grid coordinates g#24. In this case, the input point position calculation section 16 determines whether or not any boundary of the structure T exists on the moving track, designates the point of intersection which is the boundary of the structure T on the moving track (equivalent to the coordinates illustrated by the auxiliary grid lattice m#1) as the coordinates of the input point Pt after the movement and moves the input point Pt to the coordinates. Furthermore, when the moving track calculated from the moving direction of the next operation information is the same, the input point position calculation section 16 determines the coordinates gc of the grid lattice g#22 that exists on the same moving track, moves the input point Pt further to the grid lattice g#23 that exists on the same track, the point of intersection with the boundary of the structure T (equivalent to the coordinates of the auxiliary grid lattice m#2) and the coordinates of the grid lattice g#24.
Every time the position of the input point Pt moves, the input point display processing section 23 displays the input point Pt (Pt(a)→Pt(b)→Pt(c)→Pt(g)→Pt(h)→Pt(i) in the figure) at the positions corresponding to the coordinates of the display screen 100 after the movement.
Such processing allows the user to efficiently move the input point Pt by operating the mouse 3 and perform precise alignment.
Next, as a further method of moving the input point Pt, the control of movement of the input point Pt using the mouse 3 that allows two ways of moving operation and the sketch plane will be described.
When two moving operations of plane movement and wheel rotation using the mouse 3 are possible, the operation information acquiring section 15 acquires the operation information from the mouse 3 through plane movement (first operation information) and the operation information through wheel rotation (second operation information) distinctively from each other. The input point position calculation section 16 performs processing by limiting the moving direction included in the first operation information to movement on the sketch plane and processes the moving direction included in the second operation information as movement in the direction perpendicular to the sketch plane.
In
When the operation information acquiring section 15 acquires the first operation information from the mouse 3, the input point position calculation section 16 associates the moving direction included in the first operation information with the X-axis direction or Y-axis direction of the sketch plane Sxy and moves the input point Pt. Furthermore, when the operation information acquiring section 15 acquires the second operation information from the mouse 3, the input point position calculation section 16 associates the rotation direction of the wheel rotation included in the second operation information with the Z-axis direction which is the normal of the sketch plane Sxy and moves the input point Pt.
To be more specific, as illustrated in
Furthermore, through wheel rotation of the mouse 3, the rotation of the mouse wheel in direction 5 (upward direction) or direction 6 (downward direction) is associated with the movement in the Z-axis direction which is the direction of the normal of the sketch plane Sxy of the input point Pt. The moving distance in the Z-axis direction is determined by the amount of movement of the second operation information and the coordinates of the input point Pt after the movement are uniquely identified.
When the sketch plane is the YZ plane, the moving direction of the plane operation corresponds to the Y-axis or Z-axis direction of the virtual space and the moving direction of the wheel rotation corresponds to the X-axis direction. Likewise, when the sketch plane is the ZX plane, the moving direction of the plane operation corresponds to the Z-axis or X-axis direction and the moving direction of the wheel rotation corresponds to the Y-axis direction.
Thus, as illustrated in
This allows the user to more easily grasp the relativity between the position of the input point Pt and the operation of the mouse 3, and can thereby improve operation efficiency.
Step S6: Calculation of Input Point Coordinates
Every time the input point Pt moves, the input point position calculation section 16 calculates the coordinates of the input point Pt in the virtual space.
Step S7: Structure Search Processing
With reference to the structure data table 31, the structure analysis-setting section 21 judges whether or not the coordinates of the input point Pt are located in the region of the structure arranged in the virtual space and identifies the structure whose region includes the coordinates of the input point Pt.
Step S8: Display Processing
In the screen display control section 20, each processing section performs the display processing in following steps S81 to S86 based on the user's input instruction or selection.
Step S81: Highlighting Processing
The highlighting processing section 22 identifies a structure whose region is located at the coordinates of the input point Pt from the structure data table 31, and displays one or both of the identified boundary line and boundary plane of the structure in a predetermined highlighted manner, for example, displays the boundary line with a highlighted line (e.g., line types “solid line”, line width “1.5p”) or displays the boundary plane of the structure in a predetermined display color (e.g., “blue”).
In
In
In
In
In
This makes it easier for the user to visually identify the boundary plane, boundary line, vertex or the like of the structure on the display screen 100 and allows the user to make a more efficient and accurate position setting of the input point Pt.
Step S82: Display Processing on Physical Property Value Information
The highlighting processing section 22 displays only a structure whose region is located at the coordinates of the input point in a display color set for each physical property with reference to physical property value information of the structure data. The display color based on the physical property value information is set, for example, to “yellow” when the material of the physical property value information is metal or “red” when the material of the physical property value information is a derivative.
The highlighting processing section 22 displays the outer surface of each structure displayed on the display screen 100 in a display color indicating physical properties based on the physical property value information of the structure data.
Furthermore, with reference to the structure data table 31, the highlighting processing section 22 displays only a structure having specific physical properties in a display color corresponding to the physical properties from among the structures displayed on the display screen 100.
Such ways of display processing allow the user to visually clearly distinguish a specific structure from other structures on the display screen 100. Furthermore, the user can easily discriminate the material of the structure (metal, dielectric or the like).
Furthermore, the physical property information display processing section 24 acquires physical property value information of a structure located at the position of the input point Pt or a structure selected by the user, generates a physical property value information display screen 155 that displays the acquired physical property value information and displays the acquired physical property value information on the monitor 2.
As illustrated in
With reference to the structure data table 31, the physical property information display processing section 24 acquires physical property value information of structures T#3 to T#5 displayed on the display screen 100, generates a structure list screen 150 that displays the material name of each structure in a list form and displays the structure list screen 150 on the monitor 2.
Regarding the structure T#4 specified by the user on the structure list screen 150, the physical property information display processing section 24 displays a mark (v) indicating that the corresponding structure is selected on the structure list screen 150 as illustrated in
Step S83: Display Processing on Nearby Structure
When the display of a structure near the input point is selected by the user's specification, the structure analysis-setting section 21 identifies the structure located within a predetermined range R from the coordinates of the input point Pt based on the structure data table 31 and displays only the identified structure in a virtual space.
Suppose structures T#1 to T#9 illustrated in
The structure analysis-setting section 21 acquires the coordinates of an input point Pt and determines whether a predetermined reference position of each structure is located within a predetermined range R from the coordinates of the input point Pt with reference to the structure data table 31. Upon determining that the structures T#1 to T#4 are located within the range R and the structures T#5 to T#9 are located outside the range R, the structure analysis-setting section 21 displays only the structures T#1 to T#4 located within the range R in the virtual space of the display screen 100.
Step S84: First Guide Display Processing
When a display of a line of intersection indicating an association relationship between a sketch plane and a structure by the user's specification is selected, the first guide display processing section 25 displays a line of intersection gi between the sketch plane and the boundary plane of the structure on the display screen 100.
The first guide display processing section 25 determines lines of intersection gi between the boundary planes and the sketch plane Sxy based on the structure data of the structures T#1 and T#2 and displays the lines of intersection gi between the structures T#1 and T#2 and the sketch plane Sxy displayed on the display screen 100 using, for example, broken lines.
This allows the user to easily recognize the arrangement of the structure on the display screen 100. For example, when the sketch plane Sxy and the lines of intersection (broken lines) gi illustrated in
Step S85: Second Guide Display Processing
When an instruction for displaying a guideline from an input point Pt is selected through the user's specification, the second guide display processing section 26 displays a guideline gl from the input point Pt to the boundary plane of a nearby structure on the display screen 100.
In a virtual space, suppose the input point Pt is located on the boundary plane of the bottom surface of a structure T#1 of a rectangular parallelepiped conductor and a structure T#2 of an L-shape conductor is located at the lower left of the structure T#1.
The second guide display processing section 26 sets straight lines which are parallel to each coordinate axis of the orthogonal coordinate system of the virtual space from the coordinates of the input point Pt and which are line segments up to the points of intersection with the boundary planes of the structure T#2 near the input point Pt as guidelines gl, and displays the set guidelines gl on the display screen 100.
As illustrated in
This allows the user to easily grasp the positional relationship and a sense of approximate distance between the boundary planes of the structure T#2 and the boundary plane (bottom surface) of the structure T#1.
With such a first or second guideline display, the user can prevent such an arrangement error that the boundary plane of the structure T#1 is made to contact the boundary plane of the structure T#2 through visual illusion on the monitor 2.
Furthermore, since the positional relationship between the structure T#1 and structure T#2 can be grasped, a circuit element (e.g., capacitor) can be easily arranged between the structures.
Step S86: Virtual Space Rotation Display Processing
When a rotation display of the virtual space is selected through the user's specification, the rotation display processing section 28 generates a rotation coordinate system obtained by rotating a virtual space of a reference orthogonal coordinate system based on the rotation coordinate axis and angle of rotation by the user's specification and displays the virtual space of this rotation coordinate system on the display screen 100.
The rotation display processing section 28 converts the whole of the virtual space of the basic orthogonal coordinate system (X-axis, Y-axis, Z-axis), set grid 6, arranged structure T#1a and input point Pt to a rotation coordinate system (XR-axis, YR-axis, ZR-axis) obtained through rotation by an arbitrary angle using a set coordinate axis as the axis of rotation based on the coordinate axis and an arbitrary angle selected by the user. The rotation display processing section 28 then displays the display screen 100 which displays a structure T#1b in a virtual space of the converted rotation coordinate system on the monitor 2. Furthermore, when a sketch plane is set in the original virtual space, the rotation display processing section 28 converts the orthogonal coordinate system also including the sketch plane to the rotation coordinate system and displays the rotation coordinate system with the sketch plane.
When the boundary plane of the structure located at an inclined position in a reference virtual space is set on the sketch plane, this display processing allows the user to correct the sketch plane inclined in the same way as the structure and display the sketch plane on the display screen 100 and the user can thereby perform operation in the virtual space in a condition in which the structure can be easily recognized.
Step S10: Data Creation and Saving Processing
While the user continues the input operation on the display screen 100 in the three-dimensional data display apparatus 10 (Yes in step S9), the processing in steps S4 to S8 is repeatedly performed. During that period, the structure information creating section 19 stores or updates structure data of a structure to be added or changed in the structure data table 31 of the data storage section 30 every time the user adds or changes a structure.
When the user ends the input operation (No in step S9), the data input-output processing section 11 saves the data stored in the structure data table 31 of the data storage section 30 in the structure information storage device 4 or another storage apparatus (not illustrated in
Here, suppose the mouse 3 can perform two ways of moving operation; plane movement and wheel rotation, and performs the moving operation as illustrated in
The operation information acquiring section 15 detects operation of the mouse 3 and acquires information such as first operation information, second operation information, left click or right click.
When creation of structure data is selected through right click operation of the mouse 3, the structure information creating section 19 displays, for example, a structure generation screen, acquires and stores the user's selection instruction for items necessary to create the structure data (e.g., items such as selection or non-selection of the structure, physical property value of the structure). The selection/non-selection of the structure is specification as to whether or not to use existing structure data.
Furthermore, upon acquiring the first operation information (plane movement) of the mouse 3, the structure information creating section 19 judges whether or not an input point Pt(a) specifies a start point (control point) of the structure. When the input point Pt(a) specifies the start point, the coordinates of the current input point Pt(a) are designated as a start point (control point) Tn_s. The structure information creating section 19 sets coordinates identified by a distance ML in the X-axis negative direction and a distance MW in the Y-axis positive direction on the sketch plane at the moving destination of the input point Pt from the moving direction and the amount of movement of the operation information and moves the input point Pt. The input point display processing section 23 displays the moved input point Pt(b).
Furthermore, upon acquiring second operation information from the mouse 3, the structure information creating section 19 designates the position identified by a distance MH from an input point Pt(b) in the Z-axis positive direction on the sketch plane as the moving destination of the input point Pt from the moving direction and the amount of movement of the operation information. The structure information creating section 19 then designates the coordinates of the moving destination as an end point (control point) Tn_e. The input point display processing section 23 displays a moved input point Pt(c).
For the rectangular parallelepiped structure Tn, the structure information creating section 19 sets the start point Tn_s(x1, y1, z1), end point Tn_e(x2, y2, z2) and generates structure information with length ML=|x1−x2|, width MW=|y1−y2|, height MH=|z1−z2|.
Next, the structure information creating section 19 displays a predetermined physical property value input screen on the monitor 2. Here, when selection of the structure is set on the structure generation screen, the structure information creating section 19 displays the physical property value information of the selected structure as an initial value of the physical property value input screen.
Upon acquiring the value of each item of the physical property value information through the user's input operation on the structure generation screen, the structure information creating section 19 adds the physical property value information of the structure Tn to the structure data and stores the structure data (including the structure information and the physical property value information) in the structure data table 31.
Although the rectangular parallelepiped structure has been used as an example of the structure data creation processing, the structure information creating section 19 can create a model of any shape.
Hereinafter, some of processing steps making up a processing flow of the three-dimensional data display apparatus 10 illustrated in
The grid spacing setting section 18 displays the grid spacing setting screen 120 on the monitor 2, receives the input setting by the user and sets grid spacing (ΔX, ΔY, ΔZ) (step S201).
The grid setting-updating section 13 sets the grid 6 in the virtual space based on the set grid spacing and generates the grid table 32 that stores the coordinates gc in the virtual space of each grid lattice g of the grid 6 (step S202). With reference to the structure data table 31, the grid setting-updating section 13 acquires vertexes (control points) of the structure from the structure data of all structures (step S203).
Next, the grid setting-updating section 13 reads one of the acquired vertexes (step S204) and determines whether or not the vertex of the read structure is on the grid lattice, that is, whether or not the coordinates of the vertex match the coordinates gc stored in the grid table 32 (step S205). The grid setting-updating section 13 adds the coordinates of the vertex to the grid table 32 as the coordinates mc of the auxiliary grid lattice m only when the vertex is not found on the grid lattice g (step S206). When all vertexes have not been processed (No in step S207), the grid setting-updating section 13 returns to the processing in step S204 or when all vertexes have been processed (Yes in step S207), the grid setting-updating section 13 moves to next step 208.
Next, with reference to the structure data table 31, the grid setting-updating section 13 acquires a boundary line of the structure from the structure data of all the structures (step S208). Upon reading one boundary line (step S209), the grid setting-updating section 13 calculates a point of intersection between the grid lattice of the grid table 32 and the read boundary line (step S2010).
When the calculated coordinates of the point of intersection are not found in the coordinates gc and mc stored in the grid table 32, the grid setting-updating section 13 adds the coordinates of the point of intersection to the grid table 32 as coordinates nc of an auxiliary grid lattice n (step S2011).
When the entire boundary line has not been processed (No in step S2012), the grid setting-updating section 13 returns to the processing in step S209 or ends the processing when the entire boundary line has been processed (Yes in step S2012).
The sketch plane setting section 14 acquires the current coordinates of the input point Pt from the input point position calculation section 16 (step S301) and searches a structure that includes the coordinates of the input point Pt in the region thereof with reference to the structure data table 31 (step S302). Furthermore, the sketch plane setting section 14 determines whether or not the coordinates of the input point Pt are located on the boundary plane of the specified structure (step S303). Only when the coordinates of the input point Pt are located on the boundary plane (Yes in step S303), the process is moved to next step S304.
The sketch plane setting section 14 determines whether the boundary plane where the input point Pt is located is the XY plane, YZ plane or ZX plane (step S304). Only upon determining that the boundary plane is any one of the XY plane, YZ plane and ZX plane (Yes in step S304), the sketch plane setting section 14 moves the processing to the next processing in step S305.
When the boundary plane is set on the sketch plane through the user's input instruction (Yes in step S305), the sketch plane setting section 14 sets the plane of the boundary plane including the coordinates of the input point Pt on the sketch plane (step S306).
On the other hand, when the coordinates of the input point Pt are not located on the boundary plane of the structure (No in step S303), and when the boundary plane is none of the XY plane, YZ plane or ZX plane, but the user's arbitrary plane (No in step S304), and there is no setting of the sketch plane by the user's input specification (No in step S305), the sketch plane setting section 14 does not perform the processing in step S306 and ends the processing.
The input point position calculation section 16 calculates the current coordinates of the input point Pt of the virtual space (step S501). The input point position calculation section 16 then calculates the coordinates of the moving destination of the input point Pt from the moving direction and the moving distance included in the operation information acquired from the operation information acquiring section 15 (step S502) and searches coordinates nearest to the coordinates of the moving destination of the input point Pt with reference to the grid table 32 (step S503). The input point position calculation section 16 sets the searched coordinates as the coordinates of the input point Pt and moves the input point Pt (step S504).
The input point position calculation section 16 calculates the current coordinates of the input point Pt of the virtual space (step S511). The input point position calculation section 16 detects the moving direction included in the operation information acquired from the operation information acquiring section 15 (step S512) and calculates a line segment (moving track) up to the grid lattice in the moving direction detected from the input point Pt (step S513).
Furthermore, with reference to the structure data table 31, the input point position calculation section 16 calculates a point of intersection between the calculated line segment and the boundary of the structure (step S514). As a result, when there is a point of intersection between the line segment and the boundary of the structure (Yes in step S515), the input point position calculation section 16 designates the point of intersection between the calculated line segment and the boundary of the structure as the moving destination of the input point Pt, sets the coordinates of the point of intersection as the coordinates of the input point Pt and moves the input point P (step S516). When there is no point of intersection between the line segment and the boundary of the structure (No in step S515), the input point position calculation section 16 designates the grid lattice g in the moving direction as the moving destination of the input point Pt, sets the coordinates of the grid lattice g as the coordinates of the input point Pt and moves the input point P (step S517).
Suppose the sketch plane is set by the sketch plane setting section 14 before starting this processing, the moving direction of plane movement of the mouse 3 is associated with the coordinate axes (X-axis, Y-axis) on the sketch plane (e.g. sketch plane Sxy) and the moving direction by wheel rotation is associated with the coordinate axis (Z-axis) corresponding to the vertical direction of the sketch plane.
The input point position calculation section 16 calculates the current coordinates of the input point Pt of the virtual space (step S521). The input point position calculation section 16 detects operation information on the mouse 3 from the operation information acquiring section 15 (step S522) and determines, from the operation information, whether the operation of the mouse 3 is plane movement or wheel rotation (step S523). When the operation of the mouse 3 is plane movement, the input point position calculation section 16 detects the moving direction on the sketch plane from the operation information (step S524). When the operation of the mouse 3 is wheel rotation, the input point position calculation section 16 detects the moving direction of the sketch plane in the vertical direction from the operation information (step S525).
The input point position calculation section 16 then designates the point of intersection between the grid lattice g in the detected moving direction or the grid 6 and the boundary of the structure as the moving destination of the input point Pt, sets the coordinates of the moving destination as the coordinates of the input point Pt and moves the input point Pt (step S526).
With reference to the composition data table 31, the highlighting processing section 22 determines whether or not a structure exists at the coordinates of the input point Pt (step S811). When a structure exists at the coordinates of the input point Pt (Yes in step S811), the highlighting processing section 22 determines, with reference to the structure data table 31, whether the material of the physical property value information of the corresponding structure is metal or dielectric (step S812). When the material of the physical property value information of the structure is metal, the highlighting processing section 22 sets the highlighting color of the structure as color A (step S813). On the other hand, when the material of the physical property value information of the structure is dielectric, the highlighting processing section 22 sets the highlighting color of the structure as color B (step S814). Furthermore, the highlighting processing section 22 highlights the boundary line of the structure with a predetermined line (step S815).
Next, the highlighting processing section 22 determines whether or not the boundary plane of the structure exists at the coordinates of the input point Pt (step S816). When the boundary plane of the structure exists at the coordinates of the input point Pt (Yes in step S816), the highlighting processing section 22 highlights the line segment of the boundary plane of the structure (step S817). On the other hand, when no boundary plane of the structure exists at the coordinates of the input point Pt (No in step S816), the highlighting processing section 22 moves to the next processing in step S818.
The highlighting processing section 22 determines whether or not a boundary edge of the structure (boundary line contacting two boundary planes) exists at the coordinates of the input point Pt (step S818). When a boundary edge of the structure exists at the coordinates of the input point Pt (Yes in step S818), the highlighting processing section 22 highlights the boundary line of the structure (step S819). On the other hand, when no boundary edge of the structure exists at the coordinates of the input point Pt (No in step S818), the highlighting processing section 22 moves to the processing in step S8110.
The highlighting processing section 22 determines whether or not a boundary point (vertex) of the structure exists at the coordinates of the input point Pt (step S8110). When a boundary point of the structure exists at the coordinates of the input point Pt (Yes in step S8110), the highlighting processing section 22 highlights the vertex of the structure (step S8111).
When no boundary point of the structure exists at the coordinates of the input point Pt in the processing in step S8110 (No in step S8110), the highlighting processing section 22 ends the processing. That is, the highlighting processing on the structure is not performed.
With reference to the structure data table 31, the structure analysis-setting section 21 searches a structure that exists within the range R from the coordinates of the input point Pt (step S821). The physical property information display processing section 24 generates the structure list screen 150 indicating a list of names and materials of structures based on the physical property value information of the searched structures and displays the structure list screen 150 on the monitor 2 (step S822).
Upon detecting a selection of a structure on the structure list screen 150 from the operation information acquired by the operation information acquiring section 15 (Yes in step S823), the physical property information display processing section 24 generates the physical property value information screen 155 that displays the physical property value information of the selected structure and displays the physical property value information screen 155 on the monitor 2 (step S824). Furthermore, the highlighting processing section 22 highlights the boundary of the selected structure (step S825).
When the physical property information display processing section 24 determines that a selection of another structure has been detected on the structure list screen 150 from the operation information acquired by the operation information acquiring section 15 (Yes in step S826), the physical property information display processing section 24 returns to the processing in step S824.
On the other hand, upon determining that a selection of another structure has not been detected on the structure list screen 150 (No in steps S823 and S826), the physical property information display processing section 24 closes the structure list screen 150 and physical property value screen 155 (step S827) and ends the processing.
With reference to structure data table 31, the structure analysis-setting section 21 searches structures existing within the range R from the coordinates of the input point Pt (step S831) and stores a list of structures existing within the searched range R (step S832). The structure analysis-setting section 21 arranges the structures in the virtual space based on the list of structures stored and displays the structures on the display screen 100 (step S833).
The first guide display processing section 25 calculates plane coordinates of the set ketch plane (step S841). Furthermore, with reference to the structure data table 31, the first guide display processing section 25 acquires the structure at the position where sketch planes overlap with each other (step S842) and calculates the boundary plane of the acquired structure (step S843).
The first guide display processing section 25 then calculates a line of intersection between the boundary plane of the structure and the sketch plane (step S844). When the calculation result shows that the line of intersection exists (Yes in step S845), the first guide display processing section 25 displays the line of intersection on the display screen 100 (step S846). On the other hand, when no line of intersection exists (No in step S845), the first guide display processing section 25 moves to the processing in step S847.
When none of the structures detected in step S842 has been processed (No in step S847), the first guide display processing section 25 returns to the processing in step S843, whereas when the structures have been processed (Yes in step S847), the first guide display processing section 25 ends the processing.
The second guide display processing section 26 calculates a vector r{rx+, rx−, ry+, ry−, rz+, rz−} from the coordinates of the input point Pt (step S851). Next, the second guide display processing section 26 sets a vector r=rx+ (step S852) and determines whether or not another structure exists in the direction of the vector rx+ from the coordinates of the input point Pt with reference to the structure data table 31 (step S853). When another structure exists in the direction of the vector rx+ (Yes in step S853), the second guide display processing section 26 calculates a line segment from the input point Pt to the boundary plane of the other existing structure and displays the calculated line segment on the display screen 100 as a guideline (step S854). When the entire vector r is not set (No in step S855), the second guide display processing section 26 returns to the processing in step S852 or ends the processing when the entire vector r is set (Yes in step S855).
The rotation display processing section 28 selects an axis of rotation from the X-axis, Y-axis and Z-axis of the virtual space based on the user's instruction input (step S861) and further sets an angle of rotation (step S862). Next, the rotation display processing section 28 rotates the coordinate system of the virtual space by a specified angle with respect to the set axis of rotation based on the set axis of rotation and angle of rotation, and thereby converts the coordinate system to a rotation coordinate system (step S863).
The rotation display processing section 28 then determines whether or not there is an input of an instruction for ending the coordinate system rotation (step S864), returns to the processing in step S862 when there is no input of an instruction for ending the coordinate system rotation (No in step S864) or ends the processing when there is an input of an instruction for ending the coordinate system rotation (Yes in step S864).
Hereinafter the structure data generation processing by the three-dimensional data display apparatus 10 will be described.
When the user moves the pointer Pt on the display screen 100 displayed on the monitor 2 and creates or changes a structure in the virtual space, the structure information creating section 19 creates or changes structure data of the corresponding structure.
This structure information creation processing is started by the user inputting an instruction.
The operation information acquiring section 15 detects operation of the mouse 3 and detects the operation information (step S1001).
The structure information creating section 19 determines from the operation information whether or not the operation of the mouse 3 is a right click (step S1002) and displays, when the operation of the mouse 3 is a right click, a structure generation screen on the monitor 2 (step S1003). The structure information creating section 19 stores a selected item such as selection or non-selection of the structure and a physical property value of the structure on the structure generation screen (step S1003).
When the operation of the mouse 3 is a moving operation, the structure information creating section 19 determines whether or not the input point Pt is set as a start point (control point) (step S1004), and sets, when the input point Pt is set as a start point (Yes in step S1004), the coordinates of the input point Pt as a start point (control point) (step S1005). When the input point Pt is set as a control point other than a start point, the structure information creating section 19 sets the coordinates of the input point Pt as the next control point (step S1006).
The structure information creating section 19 determines whether or not necessary control points of the structure have been set (step S1007) and generates, when all the necessary control points have been set (Yes in step S1007), structure information of the structure data based on the set control points (step S1008). The structure information creating section 19 further displays the physical property value input screen 210 on the monitor 2, acquires the value of each item of the physical property value information through the user's input operation (step S1009) and stores structure information and structure data including the physical property value information in the structure data table 31 (step S1010).
As illustrated in
The three-dimensional data display apparatus 10 is provided with a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, an HDD (Hard Disk Drive) 104, a CD-ROM 105 and an input/output interface section 106.
The monitor 2 illustrated in
The CPU 101 of the three-dimensional data display apparatus 10 starts boot processing based on a starting program stored in the ROM 102 at startup such as after power-up of the three-dimensional data display apparatus 10. The ROM 102 is a memory that stores a starting program of the CPU 101.
The CPU 101 reads an application program (application) of the three-dimensional data display apparatus 10 from the HDD 104 or CD-ROM 105 after startup and stores the read application in the RAM 103. The RAM 103 is a main memory (storage apparatus) of the CPU 101 and is used as a work area or the like when the CPU 101 executes an application in addition to the main memory. The application is a program for operating the CPU 101 and RAM 103 or the like as the three-dimensional data display apparatus 10. The RAM 103 corresponds to the data storage section 30 illustrated in
The CPU 101 and RAM 103 or the like execute processing by the respective processing sections illustrated in
The HDD 104 is a hard disk apparatus and is provided with, for example, the structure data storage device 4 illustrated in
The CD-ROM 105 is a drive apparatus for reading applications and various kinds of data or the like recorded in a CD-ROM medium. The CD-ROM 105 may also be a drive apparatus for reading another recording medium such as a DVD (Digital Versatile Disk), FD (Floppy Disk, registered trademark).
After the application of the three-dimensional data display apparatus 10 starts, the user executes input operation such as input and arrangement of structures, selection, specification or the like using a screen via the mouse 3 and the keyboard 7 while viewing the monitor 2. In the three-dimensional data display apparatus 10, the CPU 101 executes a control instruction according to the input operation from the user and causes the monitor 2 to display not only the display screen 100 on which a structure arranged in a virtual space is displayed based on data stored in the RAM 103 but also display data such as a physical property value information display screen on which a physical property value information on the structure or the like is displayed.
The three-dimensional data display apparatus 10 as one embodiment of the present invention can store an application program in the HDD 104 beforehand. Furthermore, the program may be recorded in a CD-ROM medium and the three-dimensional data display apparatus 10 can also store the program from the CD-ROM medium in the RAM 103, HDD 104 or the like. That is, the computer (CPU 101, ROM 102 or the like) can operate as the three-dimensional data display apparatus 10 according to an application program installed in the CD-ROM medium. Other recording media may also be used instead of the CR-ROM medium.
As described so far, the three-dimensional data display apparatus 10 according to the present embodiment can precisely and efficiently specify the input point Pt at a position on a grid lattice set in a three-dimensional space or on a boundary of an arranged structure on the display screen 100 displayed on the monitor 2. When the user performs operation of setting the structure or end point in the three-dimensional virtual space, this allows the user to improve operability, reduce setting errors and drastically shorten the operation time such as generation and updating of structure data. It is also possible to reduce waste in a processing time of analysis processing caused by setting errors.
To be more specific, as a premise to realize an accurate analysis using a three-dimensional electromagnetic field simulator, structure data for an analysis is required in which metal interference among structures and handling of end points left open or the like are accurately set. However, there have been cases where it is difficult to select a target structure from among many structures on the two-dimensional plane (display screen 100) where three-dimensional structures are expressed overlapping with each other.
The disclosed three-dimensional data display apparatus 10 can judge physical properties (whether it is a metal or dielectric) of a structure specified by an input point Pt and display the structure highlighted according to the physical properties. Furthermore, since physical property value information on the structure can be displayed, the user can immediately judge whether or not the structure at the input point Pt is a target structure.
Furthermore, the three-dimensional data display apparatus 10 is provided with a function of displaying only structures in the vicinity of the input point Pt, a guideline function of displaying a guideline (line segment) in the X-axis, Y-axis and Z-axis directions up to a structure in the vicinity of the input point Pt, a display function such as a function of displaying a line of intersection between a sketch plane and the surface of the structure. This allows the user to easily and reliably select a target structure from among many structures.
Moreover, conventionally, the input point Pt in the virtual space moves on the plane which is a projected virtual space in conjunction with the position of the input point Pt on the display screen 100 that moves according to plane movement of the mouse 3. However, since there is no information in the depth direction, the coordinate values need to be inputted to move the input point Pt to an arbitrary position in the virtual space.
According to the disclosed three-dimensional data display apparatus 10, the moving means of the input point Pt can also limit the moving direction of the input point Pt within the virtual space by plane movement of the mouse 3 that allows two ways of moving operation to the moving direction on the plane set as the sketch plane in the virtual space, further limit the moving direction of the input point Pt by wheel rotation of the mouse 3 to the moving direction in the direction perpendicular to the sketch plane, link the movement by operation of the mouse 3 with movement of the input point Pt and thereby improve operability of movement of the input point Pt.
Thus, the disclosed three-dimensional data display apparatus 10 can easily and reliably make an exact position setting of the input point Pt in the virtual space, for example, a setting of a circuit element between conductors, improve operability in the structure data creation operation for a three-dimensional electromagnetic field simulator and support efficient generation of error-free structure data.
All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2009-194986 | Aug 2009 | JP | national |