Solid model construction method and apparatus

Abstract: A method and apparatus for constructing three-dimensional solid models from two-dimensional projections (orthographic views) is provided. An image processing unit prepares a cell decomposition model from three orthographic view data, a link of individual cells C1, C2, C3, C4,... in the prepared cell decomposition model is detailed referring to lines E1, ... represented on the three orthographic views, and a solid model is constructed according to a non-conflicting cell combination.

Description: This invention relates to a solid model construction method and an apparatus thereof in which the shape of a solid model is inputted as two-dimensional coordinate data in the form of three orthographic views for conversion to three-dimensional coordinate data showing a stereographic structure of a solid model. As proposed in Japanese Patent Laid-open Publication 62-202271 and the like, it has been executed that structural data in the form of three orthographic views as shown in Fig. 8 are converted to shape data in the solid model form as shown in Fig. 9, and the shape of the solid model is displayed as is. Procedures for forming a solid model from the three orthographic views by an image processing unit is as follows. 1. Construction of candidate vertices From individual vertices on the three orthographic views, those which are possible to be vertices on three-dimensional coordinate are selected to construct three-dimensional candidate vertices. 2. Construction of candidate edges If a projection pattern of a definite line connecting given two vertices appears as vertices or a definite line in all of the given three orthographic views, and no other candidate vertex is present between the two candidate vertices, that line is held as a candidate edge. 3. Construction of candidate face A face surrounded by candidate edges on a same plane and including no other candidate edge within is held as a candidate face. 4. Construction of true surface model Using knowledge of three-dimensional shapes, candidate vertices and candidate edges conflicting as elements of a solid model are removed. For example, from a geometrical knowledge that "all candidate vertices and candidate edges are boundaries of candidate faces," isolated points and pendant edges are removed. 5. Construction of solid model A set of candidate faces that can be boundaries of the solid model is searched for. Since the solid model has a limitation that "all edges are shared by only two faces, and the components do not intersect other than on boundaries," all sets that meet this condition are determined. A problem in the construction of the solid model from the three orthographic views is an ambiguity of the three orthographic views. Since the three orthographic views are two-dimensional pictures, they cannot represent all of three-dimensional shapes. Therefore, for example, a plurality of solid models as A, B, and C in Figs. 9A, 9B and 9C may be generated for a set of three orthographic views shown in Fig. 8. The number of solid models generated due to the ambiguity exponentially increases. For example, when there are m ambiguities at a position and n ambiguities at another position, there are present a total of mn ambiguities. Heretofore, in the prior art (see e.g. COMPUTERS & GRAPHICS, vol. 13, no. 4, 1989 UK, pages 505-521; GUJAR et al.: "Construction of 3D solid objects from orthographic views", a plurality of solid models corresponding to three orthographic views are sequentially prepared, sequentially displayed as candidates to be selected on a solid model display screen, a solid model has been determined by means that a user specifies a desired candidate among the candidates to be selected on the display screen. However, when different directions of placement are allowed, the stereographic models of shapes A, B, and C in Figs. 9A, 9B and 9C have 3 cases for type A, 8 cases for type B, and 8 cases for type C, and a total of 19 solid models must be prepared, among which the desired solid model is selected. Thus, the prior method has been such problems that as the number of selected candidates to be selected increases, a long time is required for preparation of solid models, it takes a long time to find a candidate desired by the user, and conversational operation is not possible. Furthermore, in view of operability, it is desirable that all solid models are held, and a desired candidate is selected among them, but to realize this, large amounts of data must be held, and a storage system with a large capacity becomes required. Therefore, with a view to eliminate such prior art problems, the present invention seeks to provide a solid model construction method and an apparatus which is able to simplify the selection processing and, to reduce constructing time of the solid models and to hold relatively small in amounts of data. Viewed from one aspect the present invention provides an image processing system for producing data representative of a three-dimensional solid model comprising: means for calculating data representative of three orthographic views of the model from three-dimensional definite lines forming a stereographic wire frame corresponding to patterns from data representing two-dimensional vertices and definite lines of the patterns; means for dividing individual regions formed by the three-dimensional definite lines into cells having edges, faces and volumes; characterised by; means for storing the divided cells as a non-manifold data structure; means for determining whether or not there is a confliction in boundary relationships between the cells of the non-manifold data structure and the three orthographic views; and means for producing data representative of a three-dimensional solid model by combining all the cells in which there is no confliction in boundary relationships. A respective method according to the invention is set out in claim 6. In accordance with the present invention three-dimensional data of three-dimensional definite lines forming a stereographic wire frame is obtained from two-dimensional data of vertices and definite lines of given in a form of three orthographic views, the individual regions formed by the plurality of the three-dimensional definite lines are divided into cells, each having faces and volumes, and the thus obtained individual cells are held as a non-manifold data structure. Then, referring to the above three orthographic views, evaluation is made as to whether or not there is a confliction in the boundary relation between the cells, and a solid model is constructed by combining the individual cells according to a combination with no confliction of the cells. In addition to the above, the constructed solid models are displayed on a display unit, so that the operator can select or except the solid models displayed on the display unit. Further in addition, the individual cells held as a non-manifold data structure are displayed on the display unit, allowing the operator to select or except the individual cells displayed on the display unit. Here, the non-manifold data structure is a data structure of a super-set of solid model, which is suitable for representing a model (cell decomposition model) in which a space is divided into a plurality of regions (cells). Fig. 10A shows an example of cell decomposition model in which a space is divided into three cells C1, C2, and C3. Appropriate cells can be selected from them to represent a variety of solids. In this case, when one cell is selected as part of a solid shape, that cell is called "active," and a cell which is not active is written as -C1. Figs. 10B and 10C are individually solid shapes generated by selecting (C1, C2, C3), (C1, -C2, C3) and taking the boundaries. In general, the number of solids that can be produced by combining n cells is (2n - 1) types. That is, an exponential number of solid models can be represented by one cell decomposition model. Furthermore, a shape model having a cell structure is called a non-manifold because it includes edges shared by three or more faces such as an edge el in Fig. 10A. In order that the invention may be fully understood preferred embodiments thereof will now be described, by way of example only, with reference to the accompanying drawings in which: Figure 1 shows a block diagram showing a basic arrangement of the embodiment of the present invention; Figure 2 shows a block diagram of a practical arrangement of the embodiment of the present invention; Figure 3 shows a flow chart of a control procedure executed by CPU1; Figure 4 is a flow chart showing a control procedure executed by CPU1; Figure 5 is a schematic perspective illustration showing an example of wire frame mode; Figure 6 is a schematic perspective illustration showing an example of cell decomposition model; Figure 7 is a schematic perspective illustration showing link between a wire frame model and a cell decomposition model; Figure 8 is a schematic illustration explaining an example of orthographic views; Figures 9A - 9C show schematic perspective illustrations of the shape of solid model corresponding to the orthographic views in Fig. 8. Figures 10A - 10C show schematic perspective illustrations explaining a cell decomposition model of non-manifold data. In the present invention, a cell decomposition model of non-manifold data structure is prepared to represent a number of solid models by a single shape model. Therefore, a plurality of candidate solids appearing in the solid model construction process can be appropriately represented. Thus, a cell decomposition model is prepared which is able to represent shapes of all solid model candidates as combinations of cells. A combination of cells of the thus prepared cell decomposition model is a non-conflicting "solution" actually corresponding to the three orthographic views. Cells are combined according to the solution to construct several non-conflicting solid model candidates, which are shown to the operator for selection of the desired one. The operator is also able to determine whether or not a specific cell is active so that the operator can limit the solution space. While meeting the limitation, the system finds a combination of cells corresponding to the orthographic views. Preferred embodiments of the present invention will now be described in detail with reference to drawings. Fig. 1 shows a main structure of a solid model construction apparatus in which the shape of a solid model is inputted in a form of three orthographic views to construct at least one of the solid model corresponding to the three orthographic views. In Fig. 1, a wire frame model is considered which is obtained by developing definite lines shown by the three orthographic views in a three-dimensional space. Main part of the solid model construction apparatus, as shown in Fig. 1, has three subsystems of a cell decomposition model conversion system 110, a Boolean equation generation system 120, and a Boolean equation evaluation system 130. The cell decomposition conversion system 110 forms a cell decomposition model according to line data obtained from a data input unit of three orthographic views 100, and holds the resulting data as non-manifold model (cell decomposition model) data 160. The Boolean equation generation system 120 represents a condition at which combination of cells in the cell decomposition model individual edges included in the cells are visible by a Boolean equation, and holds the equation as Boolean equation data 170. The Boolean equation evaluation system 130 refers to a link table 180 describing correspondence (link) between edges of non-manifold and edges appearing on the three orthographic views to evaluate the Boolean equation while taking correspondence between the edges of the cell decomposition model and the three orthographic views, and calculates a combination of cells which satisfies the condition with no confliction. A non-manifold modeler 140 prepares a solid model according to the thus obtained cell combination solution, and displays it on a display unit 150. Fig. 2 shows structure of main circuits of an image processing unit to which the present invention is applied. Referring to Fig. 2, CPU1, a system memory 2, a work memory 3, a keyboard (input unit) 4 (not shown), and a display 6 are connected commonly to a bus. The CPU1 executes control over the image processing related to the present invention and the entire system according to a system program stored in the system memory 2. The system memory 2 stores a program specifying processing executed by the CPU1. Processing procedure shown in Fig. 3 to Fig. 4 is also stored in the system memory 2 in a form of a program language. The work memory 3 is used for storing various data inputted from an input unit 5 (100 in Fig. 1) comprising the keyboard, a coordinate input unit, an orthographic data storage unit, or the like, and for temporary storage of shape data and calculation data which are used for solid model construction. The coordinate input unit such as a mouse inputs a position coordinate on a display screen of the display 6 through the keyboard. The display 6 is used for displaying three orthographic views, the cell decomposition model related to the present invention, and solid models. The solid model construction procedure executed in the image processing unit of the above arrangement will be described. First, a main processing procedure is described. The operator inputs shape data of the orthographic views as shown in Fig. 8 by reading from a three-orthographic-views data storage unit or by the coordinate input unit. More specifically, two-dimensional coordinate data ((Xs, Ys), (Xe, Ye)) comprising a set of a start point coordinate and an end point coordinate of a definite line on the three orthographic views is inputted. The inputted orthographic view-related data (hereinafter referred to as orthographic view data) is stored in the work memory 3 by the CPU1. The CPU1 converts the three orthographic views data to three-dimensional coordinates showing a wire frame structure. The wire frame structure is such one as shown in Fig. 5, and represents a three-dimensionally assembled condition of definite lines shown by the three orthographic view data in Fig. 8. Three-dimensional line data of 32 straight lines is prepared from the three orthographic view data in Fig. 8 using a conventional method known in the prior art. The three-dimensional straight line data is a three-dimensional data comprising a set of start point coordinate and end point coordinate ((Xs, Ys, Zs), (Xe, Ye, Ze)) of a straight line. The three-dimensional straight line data is one which is intermediately prepared for generating the cell decomposition model, and is not held until end of the solid model construction processing. Then, the CPU1 prepares the cell decomposition model related to the present invention. Each cell forming the cell decomposition model is a minimum unit region delimited by definite lines forming the wire frame shown in Fig. 5, and in the prevent embodiment, the model is divided into seven cells as shown in Fig. 6. The thus obtained cell decomposition model is stored as non-manifold model data 160 in the memory 3, which can be displayed on the display unit 150 through the non-manifold modeler 140 by the operator's instruction. Further, in the course of the cell decomposition model preparation, as in Fig. 7, a link between definite lines in the three orthographic views and the edges in the corresponding cell decomposition model is stored as a non-manifold edge orthographic edge link table 180 in the memory 3. An edge of the non-manifold is specified by a cell number, a face number, and an edge number, and one edge in the three orthographic views links to a plurality of non-manifold edges. Then, the CPU1 represents a condition at which combination of cells all the individual edges in the cell decomposition model are visible by the Boolean equation, and stores the equation as Boolean equation data 170 in the memory 3. Then, the CPU1 refers to the link table 180 and evaluates all of the edges in the cell decomposition model represented by the Boolean equation as to whether or not they correspond to the edges on the three orthographic views, and a corresponding, that is, a non-conflicting cell combination is obtained as a solution. According to the solution, the CPU1 prepares a solid model from non-manifold model data 160, and displays the model on the display unit 6 (numeral 150 in Fig. 1). Alternatively, the user may be allowed to adopt or not a specific cell from the input unit 5 (numeral 100 in Fig. 1), and by this means the solution can be narrowed even further reflecting the user's desire. In general, a plurality of solutions are determined due to an ambiguity of the three orthographic views, and accordingly a plurality of solid models are prepared. However, since it is sufficient to combine cells of a non-manifold data structure according to the solutions, a number of solid model structures can be rapidly prepared compared to the prior art method in which candidate solid models are individually prepared from the three orthographic views. The user can select the desired solid model from displayed solid models by instructing from the input unit 5 (numeral 100 in Fig. 1). Then, preparation processing of the above cell decomposition model data will be described. Data structure of the cell decomposition model is represented by a set ({Ci, {Fj}}) having a cell number allocated to the cell and a face number allocated to the face constituting the cell. Structure of the face indicated by the face number is represented by a set ({Fi, (Xp, Yp, Zp), (Xn, Yn, Zn, {Ej}}) having attribute data comprising a coordinate of a point on the face and normal line vector, and an edge number constituting that face. Furthermore, the attribute data is held for individual edges ({Ei, (Xs, Ys, Zs), {Xe, Ye, Ze}}). Detailed construction procedure (refer to Fig. 3) of the cell decomposition model shown by such data group is as follows. 1. From given three orthographic views data, all candidate faces that are possible to form solid model faces are calculated. The edge of the candidate face has a link with only one edge or vertex on each of the corresponding projection faces of the three orthographic views (S200 in Fig. 3). 2. All of the candidate faces are summed up by set calculation to prepare a surface model of the cell decomposition model (S210 in Fig. 3). Edges of the faces of the prepared cell decomposition model include the following two types. (i) An edge which has a link with an edge or vertex of the three orthographic views. (ii) Intersecting edges between candidate faces. 3. From the prepared surface model of the cell decomposition model, three-dimensional shells are determined to prepare a three-dimensional cell structure. The three-dimensional cell is calculated by the following technique (S220 in Fig. 3). The calculated cell is named as C1, C2, .... (i) All faces include front faces and back faces, which are related to the front side or the back side of other faces individually adjacent to each other through boundary edges of faces. (ii) All faces linked to each other are searched for. These faces are boundaries of three-dimensional shells. (iii) The calculated three-dimensional shells include those which represent inside of the three-dimensional shell and those which represent outside of the three-dimensional shell. These can be distinguished by the following processing. (a) A boundary face {Fi} (i = 1, ..., n) is taken out. (b) An area Ai of Fi is calculated. (c) A distance Di between a face on which Fi is present and the origin point is determined. (d) A normal line Ni of Fi is determined to face the outside of the three-dimensional cell. Further, a sign i of the inner product of Ni with a position vector Pi of a given point on Fi is determined. (e) The three-dimensional shell represents inside of the shell when a value Vol (C) (volume of three-dimensional cell) determined by the following equation is positive, and it is outside of the shell when Vol (C) is negative. Formula 1 Vol (C) = \I\SU(i=0,n, ) (i*Ai*Di/3) (iv) Since, in the three-dimensional shells which are determined to have negative Vol, one which has the greatest absolute value of Vol is the outermost cell having an infinite volume, it is omitted. Furthermore, since each of others which has negative Vol, represents a cavity, a shell having positive Vol containing the shell inside is determined, and these are registered as a single three-dimensional cell. Other shells having positive Vol are determined as three-dimensional cells having no cavity. Since, using the cell decomposition model prepared by the above processing, a number of solids which are the same in shape on the three orthographic views can be represented as a single shape model, the amount of data to be held can be considerably reduced compared to those which holding data for every solid model, and it is convenient to represent a plurality of candidate solids appearing in the solid construction process. In the present embodiment, the combination condition of cells in the cell decomposition model under which individual edges included in the cell are visible is represented by a Boolean equation. The Boolean equation is evaluated while linking the edges of the cell decomposition model with the three orthographic views, and a cell combination which satisfies the condition is calculated. Finally, a solid model is constructed from the thus obtained cell combination. For this purpose, a link table showing a link between edges of the cell decomposition model and the three orthographic views is prepared on the work memory 3 by CPU1 (S230 in Fig. 3). Link between the edges of the cell decomposition model, the three orthographic views, and the wire frame model is shown in Fig. 7. According to the link table, detailed procedure (Fig. 4) of the processing for selecting a solid model including cells instructed by the user will be described. In the present embodiment, a condition of at which cell combination each of all edges on the generated cell decomposition model is visible is represented by a Boolean equation. The procedure is as follows: 1. The presence of each cell in the cell decomposition model is assumed as (P1, P2, ..., Pn). 2. For all edges (E1, E2, ..., Ek) of the cell decomposition model, the condition under which the model appears as solid edges is determined as follows: (i) First, cells sharing the edge are listed up, and their presence is assumed as (P1, P2, ... Pk). In this case, the number of cell combinations is k'th power of 2. (ii) In faces around the edge, two faces included in a same plane are selected (S300 in Fig. 4), and a cell combination is generated which makes all cells on one of the planes including the two faces active, and all cells on the other plane void. Two combinations are generated depending on which of the planes is made active. (iii) When two faces included in the same plane are not present (YES in S320, NO in S330 of Fig. 4), a combination in which all cells around the edge are active, and a combination in which all are void are generated. (iv) From the set of the entire combinations of (i), combinations of of (ii) and (iii) are subtracted (corresponding to S340 in Fig. 4). For example, with an eye on edge el of the wire frame model in Fig. 7, in order that the edge el is present in the cell decomposition model in Fig. 7, the first condition is that the edge e1 links to the edge E1 in the three orthographic views. Furthermore, a second condition is that two of cells C1, C2, and C3 having the edge el in Fig. 7 must intersect (not on the same plane), or cell which has the edge el is only one. This is represented by a Boolean equation. Formula 2 e1 → E1 e2 → E2 C1 X C2 X C3 → e1 or, C1 X C2 X C3 → e1 or, C1 X C2 X C3 → e1 or, C1 X C2 X C3 → e1 or, C1 X C2 X C3 → e1 or, C1 X C2 X C3 → e1. Here, the multiplication symbol indicates AND (logical multiplication), and the bar symbol indicates that a cell number with the bar symbol is not present. Such Boolean equations are set up for all of the edges, and these equations are solved to obtain non-conflicting cell combinations for the pattern shown in the three orthographic views. That is, the presence of each cell is assumed, and a Boolean equation is given as a justification equation to evaluate and calculate a non-conflicting combination of the assumptions (interpretation). When the three orthographic views inherently involve an ambiguity, a plurality of non-conflicting cell combinations are obtained. According to the above-obtained non-conflicting cell combination, the individual cells in the cell decomposition model are selected or excepted to be assembled for constructing several solid models corresponding to the three orthographic views. These solid model candidates are displayed on the display unit, and the desired one is selected by the user's instruction from the input unit. In this stage, since solid models conflicting with the orthographic views are omitted by a series of processing, selection work can be readily performed. Since, in the present embodiment, whether or not a cell in the cell decomposition model is needed, that is, due to a combination of cells, a partial structure or the entire structure of the solid model, can also be specified by the user, only cells which are not specified by the user are selection candidates. In other words, by extracting cell combinations having a partial combination specified by the user from all cell combinations, solid model candidates corresponding to the three orthographic views are narrowed. In the above-described example in Fig. 8, there are six cell combinations of three cells in which one edge el is represented on the three orthographic views. When the user specifies cell C1, for example, to be "need," there are the following three combinations of need or not of cells: C1 - need, C2 - need, C3 - No; C1 - need, C2 - No, C3 - need; C1 - need, C2 - No, C3 - No. When the user specifies need or not of two cells C1 and C2, one or two combination solutions are obtained on need or not of cells which satisfy the Boolean equation. Furthermore, when need or not of three cells C1, C2, and C3 is specified, needless to say, the solution of the Boolean equation is one. In the above embodiment a model comprising straight lines and planar faces is used as an example, however, the present invention can also be applied to models including curved edges and non-planar surfaces (i.e., cylinder, cone, sphere, and torus). In this case, a start point coordinate, an end point coordinate, and equation of the curved edges are inputted as three orthographic view data, and corresponding cells having surfaces are handled. As described above, with the present invention, a simplification of the user's work on the solid model construction, a reduction in time required for the solid model construction, and a reduction in amounts of data required for the solid model construction can be achieved.

Claims: An image processing system for producing data representative of a three-dimensional solid model comprising: means for calculating (110) data representative of three orthographic views of the model from three-dimensional definite lines forming a stereographic wire frame corresponding to patterns from data representing two-dimensional vertices and definite lines of the patterns; means for dividing (110) individual regions formed by the three-dimensional definite lines into cells having edges, faces and volumes; characterised by; means for storing (160) the divided cells as a non-manifold data structure; means for determining (130, 180) whether or not there is a confliction in boundary relationships between the cells of the non-manifold data structure and the three orthographic views; and means for producing (140) data representative of a three-dimensional solid model by combining all the cells in which there is no confliction in boundary relationships. An image processing system as claimed in claim 1 further comprising: means for displaying (140) the single three-dimensional solid model on a display unit (150) of the image processing system using the produced data; and means (100) for enabling an operator to select or reject each of the solid models displayed on the display unit. An image processing system as claimed in any of claims 1 or 2, further comprising: means for displaying (140) on a display unit (150), the individual cells held as a non-manifold data structure; and means for enabling (100) an operator to select or reject individual cells displayed on the display unit (150). An image processing system as claimed in claim 3 wherein the means for determining (130, 160) whether or not there is a confliction in the boundary relationships between the regions of the cells is responsive to the selection of individual cells. An image processing system as claimed in any of the preceding claims further comprising means for inputting the data representative of the stereographic vertices and definite lines in the form of the three orthographic views. A method for producing data representative of a three-dimensional solid model wherein the shape of the solid model is communicated in the form of data representing the three orthographic views of the model, to an image processing unit, the method comprising the steps of: calculating (110) data representative of three orthographic views of the model from three-dimensional definite lines forming a stereographic wire frame corresponding to patterns from data representing two-dimensional vertices and definite lines of the patterns; dividing (110) individual regions formed by the three-dimensional definite lines into cells having faces and volumes'; characterised by; storing (160) the divided cells as a non-manifold data structure; determining (130, 180) whether or not there is a confliction in boundary relationships between the cells of the non-manifold data structure and the three orthographic views; and producing (140) data representative of a three-dimensional solid model by combining all the cells in which there is no confliction in boundary relationships.

Inventors: MASUDA HIROSHI, NUMAO MASAYUKI, SHIMIZU SHUICHI, MASUDA, HIROSHI, NUMAO, MASAYUKI, SHIMIZU, SHUICHI
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1993
Main classification: G06T17
IPC codes: G06T15, G06F17, G06T17