A method generating a display of a surface, and an apparatus for carrying out such a method

Abstract: In order to generate a display of a surface, an equation or equations are generated corresponding to all or parts of the surface (Γ) . The equation or equations represent the surface as a physical membrane. Boundary conditions (∂Γ) of the surface (Γ) can thus be specified, and the equation solved, using the boundary conditions (∂Γ) as outer constraints, to generate a display of the surface. A set of points (C, D, E) within the boundary of the surface (Γ) may be specified, which then define inner constraints for the solution of the equation. Where parts (Γ¹, Γ², Γ³) of the surface join at a point (P123) or line (∂γ¹²) , a further equation can be generated, which further equation represents the area (Γ¹², Γ¹²³) around the join as a physical membrane. Solution of that equation, preserving the boundary of the area (Γ¹², Γ¹²³) around the join, provides a smooth transition between the parts (Γ¹, Γ², Γ³) of the surface.

Description: The present invention relates to a method of generating a display of a surface. It is particularly, but not exclusively, concerned with such a method as applied to the generation of curved or shaped surfaces in computer-aided design (CAD) and and/or computer-aided manufacturing (CAM). The present invention also relates to an apparatus for generating a display of a surface. It is now common for CAD/CAM systems to be used to design objects such as furniture, automobiles etc, using computers. The first stage in the design of an object involves the generation of a skeleton of that object, which skeleton comprises shape characteristic lines defining an outline of the object to be generated. The resulting structure is known as a wireframe. Normally, additional lines are then added to the wireframe so that the lines define a multiplicity of adjacent quadrilaterals in a three-dimensional space. Next, curved surfaces are generated to define the shape of the surface within each of the quadrilaterals, which curve surfaces are known as quadrilateral patches. When the quadrilateral patches are generated, they must adjoin so that the connection therebetween is smooth, so that the object will have a smooth surface. When each quadrilateral patch is generated, points on the patch are represented by vector functions, and there is a smooth transition of the vector functions over the quadrilateral patch. The vector functions normally used are Bezier or B-spline bi-cubic expressions with two parameters, because use of those expressions makes the resulting calculations relatively straight-forward. Generally, known methods have been limited to the use of quadrilateral patches. It has been found, however, that complex processing is needed to achieve a smooth connection between adjacent patches. Furthermore, if the whole of the surface has to be expressed by quadrilaterals, it is sometimes difficult to represent accurately the surface of the object desired. Thus, it is desirable to permit arbitrary shape to be represented more easily. In order to reduce the latter problem, Japanese patent application No. 159982 of 1988 proposed that trilateral patches should be used in addition to quadrilateral patches. Use of both trilateral and quadrilateral patches sometimes make it easier to define the surface of the object. However, it was then still necessary to ensure that the trilateral and quadrilateral patches were connected together smoothly. To address the problem of connecting the patches together smoothly, JP-A-3-68098 proposed that the gradients on both sides of a line representing the join of adjacent patches were the same, so as to impose a surface continuity condition on the patch surfaces. However, if excessive amounts of processing was to be avoided, it was necessary to limit the number of points along the line joining the two surfaces for which gradients were assessed. Alternatively, in JP-A-3-228181, a imaginary ball of a suitable radius was rolled so that it maintained contact with the two adjacent surfaces along the line of join. The shape of the join was then modified to correspond to the locus of the surface of the ball between the contact points of the ball and the surfaces. In JP-A-4-280374 (published after the priority date of the present application and corresponding to US patent application no. 07/848135, the disclosure of which is incorporated herein by reference), it was proposed that the surface of the desired object was represented by a plurality of patches, each having a single curved surface with a three-dimensional boundary curve of an arbitrary shape. Then, for each of the surfaces, an equation was generated which was a differential equation which represented the surface as a physical membrane. That membrane could be considered to deform, to change the shape of the surface, and such deformations could be represented as changes in parameters of the corresponding equation. Thus, by specifying the boundaries of the membrane for each patch, and specifying a deformation of the surface within the patch (which is equivalent to the application of a force to a part of the membrane), it then becomes possible to define patches of arbitrary shape and curvature. The present invention which makes as a development of the arrangement proposed in JP-A-4-280374 to (US07/848135). A first aspect of the present invention is concerned with the deformation of the shape of the surface of the patch. While it is possible to modify that shape by altering the parameters of the equation defining the corresponding membrane, the present inventors have realized that there are situations where it is necessary for points on the surface to be fixed. Therefore, the first aspect of the present invention proposes that a set of points can be defined within the boundary of the surface, and those points then act as constraints on the permitted deformation of the corresponding membrane. Since the boundary of the surface also defines constraints on the equation, the latter will hereinafter be referred to as defining outer constraints and the set of points then define inner constraints for the equation. By solving the equation using both the inner and outer constraints, a display can be generated corresponding to the surface. That surface may then be displayed on a suitable display device. By causing points to act as inner constraints for the equation corresponding to a physical membrane, the processing needed to generate the display corresponding to the surface is simplified, and thus processing can be speeded up. The set of points may be discrete points within the boundary of the surface. However, the set of points may define a line on the surface, either open or closed, or may define an area on the surface. Thus, it is possible to specify discrete points, lines or areas within the patch. Thus, a surface can be defined in a three-dimensional space which is defined by boundary curve, and an equation can be generated which corresponds to a physical membrane representing that surface. When a set of points (hereinafter referred to as intraplane restraint points) are specified, the membrane may be considered as fixed at those intraplane restraint points, and thus the points act as inner constraints for the solution of the equation corresponding to the membrane. Of course, that solution is also constrained by the boundary curve being the edge of the surface. Thus, the user of the present invention need specify only the boundary curve and the set of intraplane restraint points, in order to generate the surface desired. Thus, the actions of the user in generating a suitable surface are simplified. The second aspect of the present invention seeks to ensure that the patches join smoothly. It is readily possible to ensure that the patches join, by providing adjacent patches with a common boundary, but it is also necessary to ensure that that boundary represents a smooth transition from one patch to the other. The arrangement of JP-A-4-280374 (US 07/848135) may be used to generate surfaces corresponding to each patch. However, JP-A-4-280374 (US 07/848135) did not discuss the joining of those surfaces. In the second aspect of the present invention, a join area is defined which join area comprises a part of each of the original patches adjacent the join of the patches. Another equation can then be generated, which represents the join area as a physical membrane, with the boundary of the join area as a boundary condition. By solving that equation, preserving the boundary of the join area, a smooth transition from one patch to the other can be achieved. The resulting surface corresponding to the join area is hereinafter referred to as a fillet surface. Then, the display can be generated using the patch surfaces and the fillet surface. It will be appreciated that the second aspect of the present invention is applicable both to the case where two surfaces meet at a line, and where three or more surfaces meet at a point. In each case, an area of each surface adjacent to the join (whether line or point) is considered when the join area is defined. In a development of the second aspect, the join (whether line or point) may itself be considered as fixed, so that it is an inner constraint on the solution of the equation corresponding to the membrane representing the join area, as in the first aspect of the present invention. Thus, when two surfaces (patches) of arbitrary shape meet, the user of the present invention need only identify the line of joining of those surfaces, and the corresponding fillet surface can then be generated automatically. Similarly, when there are three or more adjoining patches, the user need specify only the common point of those patches and again the corresponding fillet surface can then be generated automatically. Thus, a smooth surface can be generated easily and quickly without complex processing. The arrangements disclosed in JP-A-280374 (US07/848135) are thus applied not only to the surfaces of the patches themselves, but also to the join area adjacent the join of two or more patches, so that a smooth surface can be achieved not only over the patches themselves, but between the patches. The present invention relates to both an apparatus and a method for carrying out the above two aspects of the present invention. Embodiments of the present invention will now be described in detail, by way of example, with reference to the accompanying drawings in which: Fig 1 is a block diagram of an apparatus for generating a curved surface, being an embodiment of the present invention; Fig 2 is a flowchart illustrating the generation of a curved surface according to the present invention; Fig 3 is a diagram illustrating the relation between a boundary curve, intraplane restraint points, a reference plane, a reference plane segment and a reference set of restraint points of a surface; Fig 4 is a diagram similar to Fig 3 but illustrating discrete restraint points and restraint points defining an area; Fig 5 is a diagram corresponding to Fig 3 but showing the division of the reference plane segment into simplicial complexes; Fig 6 is a diagram showing parameters use in the interpolation equation of a simplex element; Fig 7 illustrates the generation of a fillet surface at a line joining two patches; and Fig 8 shows the generation of a fillet surface corresponding to the joining of a plurality of patches at a common point. A first embodiment of the present invention will now be described, referring to Figs 1 to 4 of the accompanying drawings. Fig 1 shows the configuration of a curved surface generation apparatus according to the present invention. In the curved surface generation apparatus of this embodiment, the operator operates an input device 110 to load a program containing a control procedure for curved surface generation, stored in memory 130 , into a central processing unit 100 which executes the program to display on a display device 120 an outline wireframe figure, figures obtained at intermediate stages in the process, and a figure of the final curved surface. These graphic data are stored in a curved surface data memory 140 for use in later procedures. Fig 2 shows the general arrangement of the program containing the curved surface generation control procedure discussed above. First, at procedure P1 , an outline wireframe is generated. The wireframe may be generated by e.g. any known method. In procedure P2 , procedures P51-P54 (to be described in more detail later) are repeated a number of times equal to the number of sectioned boundary surfaces contained in the outline wireframe. Each section boundary surface corresponds to one of the sectioned curved surfaces obtained by dividing the entire curved surface represented by the outline wireframe into sections. For example, when the entire curved surface of a car is drawn, the entire shape can be shown as the combination of a hood section, a windshield section, a tire section, a trunk section and so forth. Each of these sections is a sectioned boundary surface. Such a sectioned boundary surface is a unit used in the process of surface generation. A group of closed curved lines enclosing the sectioned boundary surfaces are called boundary curved lines. Generally, boundary curved lines comprises one or more closed curved lines making up an external boundary and zero or more closed curved line representing an internal hole in the surface. In the procedure P51 , P52 sectioned boundary surfaces and a set of intraplane restraint points are identified. Then, in procedure P53 , a reference surface is determined, and in the procedure P54 , that a corresponding surface is generated and modified. A sequence of procedures P541 , P542 , P543 are repeated until the desired surface is obtained. The surface obtained as a result of executing the procedures P51-P54 is referred to herein as a "superpatch". Procedure P3 is a loop to form a line fillet between two superpatches that adjoin each other at a common line segment. The result of this procedure is also a superpatch. Procedure P4 is a loop to provide a point fillet as a superpatch between three or more superpatches obtained in Procedure P3 that adjoin each other at a common point. In Procedures P2 , P3 and P4 somewhat different methods of generating superpatches are used, as will be described later. Next, the determination of the reference surface performed in procedure P53 , the determination of the control parameters performed in procedure P541 , and the generation of surfaces performed in procedure P542 will be described in detail. First, consider the generation of a superpatch according to procedure P2 (called a source superpatch). Fig 3 illustrates the generation of a reference surface according to procedure P53 . Fig 3 shows an enclosed curved line ∂Γ (a boundary curved line identified in procedure P51 ) drawn in a three-dimensional space and a set of intraplane restraint points C (a set of points picked up in procedure P52 ). A plane π is defined with respect to the closed curve ∂Γ. The closed curve ∂Γ and the set of intraplane restraint points are projected in a direction normal to the plane π onto the plane π. The projected images are then named ∂Γπ (closed curve) and Cπ. The plane π is chosen so that ∂Γπ includes Cπ, ∂Γ and C have one-to-one correspondence with ∂Γπ and Cπ respectively (meaning that each point in the former corresponds one to one to the respective point in the latter), and that the area of a two-dimensional area Γπ enclosed by ∂Γπ is maximized (or is as large as possible). This plane π is taken as a reference plane. This then corresponds to the setting of a reference plane performed in procedure P53 . The closed curve ∂Γπ on the plane π is called a reference curve and the two-dimensional area Γπ a reference plane segment. The set of points Cπ is called a reference set of restraint points. The reference plane segment Γπ can be treated as a membrane surface that deforms according to physical laws, for example, an elastic membrane. The entire reference plane segment Γπ is deformed so that the reference curve ∂Γπ and the reference restraint curve Cπ are on the boundary curve ∂Γ and the set C of intraplane restraining points. The deformed membrane Γ is a superpatch. The curved surface Γ is given by solving the Equation 1 below, which defines the deformation of an elastic membrane, under the boundary conditions of Equation 2, 3 and 4 Δ 2 z ≡ ∂ 4 z ∂ x 4 + 2· ∂ 4 z ∂x 2 ∂ y 2 + ∂ 4 z ∂ x 4 = h '( x , y ) on Γπ z = z' ( of ∂Γ) on ∂Γπ ∂ z ∂ n = ∂ z ' ∂ n on ∂Γπ z = z '( of C ) on C π As a result, the surface Γ of a desired shape is uniquely expressed by the following Equation (5). { z ( x , y ) : ( x , Y ) εΓπ} In the above equations, "'" is a symbol indicating that the value with which the "'" symbol is associated is a "given" value. Thus, in Equation 1, h'(x,y) represents an added condition, e.g. corresponding to a membrane pressure, to determine the inner shape of the curved surface. This value is specified by the operator. Equation 2 acts as a boundary condition and fixes a curved surface to ∂Γ and defines the plane tangential to the curved surface on ∂Γ. Then Equation 3 gives the gradient of the membrane in the outward direction normal to ∂Γπ. The equation 4 is another boundary condition that fixes the curved surface to the set C of intraplane restraint points. Thus, ∂Γ defines outer boundary conditions and the set C defines conditions which can be considered inner boundary conditions since their projection onto the plane π is within the reference curve ∂Γπ. As described above, by setting the gradient and pressure of the membrane at the edge of the boundary curve, the operator can calculate, using Equation 1, a smooth curved surface shape which has a boundary curve as its edge and contains the set of intraplane restraint points. That curved surface is then displayed on the display device 120. If the curved surface shape is modified, similar calculation can be carried out only by modifying the membrane pressure and gradient, and then the modified curved surface may be displayed. In such a way, in this embodiment a curved surface is assumed to correspond to an elastic membrane having physical properties, and a curved surface is automatically generated according to equations representing an elastic membrane. Hence rapid generation of a desired curved surface that contains a set of intraplane restraint points may be achieved. In the arrangement described with reference to Fig 3, the intraplane restraint points define a line on the surface Γ. As illustrated in Fig 4, however, this embodiment is also applicable to cases where those intraplanes restraint points are discrete points, or define an area. Thus, as showed in Fig 4, discrete restraint points D1, D2 can be defined, to define corresponding points D1π, D2π on the plane π. Similarly, the intraplane restraint points may define an area E corresponding to area Eπ on the plane π. Next, referring to Fig 5 and Fig 6, another embodiment of surface generation will be described. This embodiment is particularly suitable for cases where closed curves ∂Γ and the set C of intraplane restraint points are both represented as chains of third-order curve segments. In this embodiment, as in the case of Figure 3, it is necessary to determine a reference plane π for a closed curve ∂Γ and a set C of intraplane restraint points placed in a three-dimensional space, a reference curve ∂Γπ and a reference restrained curve Cπ which are projected images of the closed curve ∂Γ and the set C of intraplane restraint points, and the reference surface section Γπ. Then, as shown, the reference plane section Γπ is divided into triangles so that those triangles form basic elements of the reference plane section Γπ, to form an Euclidean simplex complex ΓπΔ. The boundary of the simplicial complex ΓπΔ is ∂ΓπΔ. It is assumed that the nodes on the complex boundary ∂ΓπΔ are also on the reference curve ∂Γπ and that the complex boundary ∂ΓπΔ is a sufficient approximation to the reference curve ∂Γπ. Similarly, it is also assumed that the broken line CπΔ corresponding to the set of reference restraint points Cπ has its nodes placed on Cπ and approximates to the points Cπ. To distinguish between the coordinates on the complex ΓπΔ and the coordinates on the reference plane segment Γπ (x,y), the x and y axes are copied onto the reference plane π, being named ξ and η axes to represent points on the complex ΓπΔ using the coordinates (ξ,η). In this embodiment, the desired surface Γ corresponding to Equation 5 is expressed by the Equation 6 below, with (ξ, η) taken as the parameters. { x (ξ,η), y (ξ,η), z (ξ,η) : (ξ,η) εΓπΔ} It is further assumed that the components x, y, z of the surface are determined independently by solving the respective equation of a membrane having physical properties. For example, these components can be treated as those corresponding to the same equation that represents the properties of the elastic membrane. For simplicity, a symbol "" is introduced to represent the components x, y, z. Then, the following Equations 7 to 10 below, corresponding to Equations 1 to 4 can be obtained. Δ 2  ≡ ∂ 4  ∂ξ 4 + 2· ∂ 4  ∂ξ 2 ∂η 2 + ∂ 4  ∂η 4 = h '(ξ,η) on Γπ  = '( of ∂Γ) on ∂ΓπΔ ∂ ∂n = ∂' ∂n on ∂ΓπΔ  = '( of C ) on CπΔ Solving Equation 7 is the same as solving the following variational problem under the conditions of Equations 8 to 10. Thus, it is possible to solve the problem corresponding Equation 11 below. δΠ() = 0 Π() may be expressed as in the form of Equation 12 shown below Π() = 1 2 ∫∫ ΓπΔ {( ∂ 2  ∂ξ 2 ) 2 + 2( ∂ 2  ∂ξ∂η ) 2 + ( ∂ 2  ∂η 2 ) 2 } d ξ d η - ∫∫ ΓπΔ · h d ξ d η It is further assumed that the value of function  in each simplex Δ ijk making up the complex ΓπΔ is defined by an interpolation function  ijk which is determined by 12 parameters shown in Figure 6. Thus, the value is expressed by Equation 13. (ξ,η) ≡ ijk (ξ,η : { t , ∂ t ∂ξ , ∂ t ∂η }, { ∂ s ∂η }; t , s = i , j , k ), (ξ,η)εΔ ijk This type of interpolation function can be formed, for example, by a HCT adaptive triangle element method, which is described in "Handbook on Finite Element Method, Basics," by Ichiro Washizu, published by Baifukan, page 261. Using this interpolation function, Equation 12 can be tranformed into discrete elements as given by Equation 14 below. Π() - Σ ijk Π( ijk ) - Σ ijk { 1 2 ∫∫ Δ ijk {( ∂ 2  ijk ∂ξ 2 ) 2 +2( ∂ 2  ijk ∂ξ∂η ) 2 +( ∂ 2  ijk ∂η 2 ) 2 } d ξ d η - ∫∫ Δ ijk  ijk · h d ξ d η} The function Π() in Equation 14 is a function in which the variables are parameters {, ∂/∂ξ, ∂/∂η} for each simplex node relating to each Δ ijk constituting the complex ΓπΔ, and a parameter {∂/∂n} which represents the gradient in the outward direction of the normal at the middle point of a simplex side. By using the above interpolation function, Equations 8 to 10 defining the boundary conditions can be transformed into discrete elements as shown in Equations 15 to 17 below {, ∂ ∂ξ , ∂ ∂η } = {', ∂' ∂ξ , ∂' ∂η } on every node of ∂Γ πΔ { ∂ ∂n } = { ∂' ∂n } on every edge of ∂Γ πΔ (a) {} - {'} on every node of C πΔ (b) { ∂ ∂ξ , ∂ ∂η } = { ∂' ∂ξ , ∂' ∂η } on every node of C πΔ (c) { ∂ ∂ n = { ∂' ∂ n } on every edge of C πΔ The relationship given by Equation 15 defines the targeted boundary points of tangency shown in Figure 4, with the condition that the desired surface Γ gives the boundary curve ∂Γ. When the boundary curve is given as a chain of third-order curve segments, it is possible to set the equation so that the desired surface Γ strictly provides the boundary curve ∂Γ. Equation 16 is a part that can be determined by the operator. It is also possible to automatically set Equation 16 automatically according to certain rules determined in advance. Equation 17 is determined by the condition that the curve Γ is restrained by the set C of intraplane restraint points. If the concept of restraint includes limited latitude, it is possible to use either (a), (b) or (c) alone of Equation (17) or a combination of them as the relationship defining this condition. For example, when only (a) is used, only the coordinate values of restraint nodes, (a group of discrete points), on CπΔ are defined. Even under this condition alone, it is possible to make the desired curve Γ include intraplane restraint points included in the set C and corresponding to the set of discrete node points and approximately include the entire set C of intraplane restraint points. When the set C of intraplane restraint points is given as a chain of third-order curve segments similarly to the boundary curve, Equations (a) and (b) can be combined to strictly restrain the desired surface Γ strictly to the restraint curve C. If Equation (c) is further combined, it is possible to define the tangent plane on the set C of intraplane restraint points. The discrete variational problem (given by Equation (6)) ultimately becomes regular simultaneous linear equations that have undetermined parameters of the interpolation function as unknowns, so that the equations have unique solutions. For these simultaneous equations, various methods of solution are known. For example, the Gauss elimination method can be used. This embodiment requires the process of dividing the plane segment Γπ into triangles. This can be done easily because it is carried out on the plane π. Existing automatic dividing methods can also be used. By dividing the problem into smaller parts in this way, it is possible to generate a smooth curved surface (or a superpatch) that has as its edge the boundary curve which has been extracted as part of the outline wireframe and which includes therein a similarly extracted set C of intraplane restraint points. The superpatch produced in this way is called a "discretely represented" superpatch. In the same way, patch corresponding to each simplex is called a simplex patch. Next, an embodiment illustrating a method of generating a line fillet, which corresponds to procedure P3 of Fig 3, will be described, referring to Fig 7. As shown in procedure 200 , assume that two discretely represented superpatches Γ 1 and Γ 2 adjoin each other through a common curve segment ∂γ 12 in a common coordinate system (u, v, w). The procedure for generating a line fillet that connects the two superpatches Γ 1 and Γ 2 through the common curve segment ∂γ 12 will now be explained. First, for each superpatch Γ 1 , Γ 2 , a subset of simplex patches, each of which has at least one of its nodes located on the common curve section ∂γ 12 (not including its end points), that subject being selected from its set of simplex patches making up each superpatch. The simplex patches of the subset are then considered separately from the original set of simplex patchcs. As shown in Fig 7, the boundaries for these subsets are ∂γ 1 and ∂γ 2 . Next, in procedure 211 , simplices that correspond to the subset of the simplex patches are extracted from the simplicial complex accompanying the superpatch Γ 1 . Let this set of simplices be Γ 1 πΔ. ∂γ 1 πΔ and ∂γ 12 πΔ correspond to ∂γ 1 and ∂γ 12 respectively. A plane π 1 is the reference plane that defines a local coordinate system (ξ, η, ) of the superpatch Γ 1 . In procedure 212 , an operation similar to procedure 211 is performed on the superpatch Γ 2 , and in procedure 220 , a simplicial complex Γ 12 πΔ which is to be a carrier of the target line filet is synthesized from Γ 1 πΔ and Γ 2 πΔ. For this purpose, the reference plane π 12 is the plane of which the normal is in the direction of the resultant vector of the unit normal vectors of planes π 1 and π 2 . Next, the boundaries ∂γ 1 and ∂γ 2 of the subsets of simplex patches and the common curve segment ∂γ 12 are approximated by a polygonal line connecting the vertices of the simplex patches and are projected onto the reference plane π 12 . In Fig 1, the projected boundaries and curve section are ∂γ 1 πΔ, ∂γ 2 πΔ and ∂γ 12 πΔ. Γ 1 πΔ shown in procedure 211 is mapped onto the reference plane π 12 so that the boundaries have one-to-one correspondence. Similarly, Γ 2 πΔ is also mapped onto the reference plane π 12 . In this case, the simplex nodes that exist on the segment ∂γ 12 πΔ will be shared by the mapped simplices on both sides. If they are not shared, some of the nodes can be moved on the segments ∂γ 12 πΔ or the simplex concerned can be subdivided into smaller simplices so that these simplex nodes may be shared by the simplices on both sides. In this way, a simplicial complex Γ 12 πΔ is generated which can then serve as a carrier of the target line fillets. Next, the discrete variational problem of the simplicial complex Γ 12 πΔ is solved. In this case, the boundary conditions on ∂γ 1 πΔ and ∂γ 2 πΔ are determined so that the parameters (shown in Figure 6) already obtained for the corresponding boundaries of Γ 1 πΔ and Γ 2 πΔ can also be used successively. It is also possible to use a set of intraplane restraint points representing the common curve segment ∂γ 12 . In this case, the segment ∂γ 12 πΔ is the corresponding set of reference restraint points. As a result, as shown in procedure 230 , a line fillet Γ 12 that connects the superpatches Γ 1 and Γ 2 smoothly is generated as a new superpatch. Thus, if the common curved segments ∂Γ 12 is used to define a set of intraplane restraint points, the effect is then similar to the arrangements of Figs 1 to 3, with the line fillet Γ 12 corresponding to the area Γ in Fig 3, and the common curve segment ∂Γ 12 corresponding to the line C. These procedures can all be carried out automatically. The operator need only identify the common curve segment ∂γ 12 displayed on the display to execute the above sequence of procedures. Next, an embodiment illustrating a method of generating a point fillet, which corresponds to procedure P4 of Fig 1, will be described referring to Fig 8. When three or more superpatches whose source patches comprises line fillets adjoin each other at a point, the point fillet is generated which is a generated superpatch smoothly connecting the three or more superpatches at and around the point. As additional conditions, it is assumed that these adjoining superpatches are all represented discretely and that when two source superpatches adjoining each other at a boundary curve are included in the discretely represented adjoining superpatches, the line fillets are also included in the latter. For simplicity, consider the case shown at 300 where three discretely represented superpatches Γ 1 , Γ 2 , Γ 3 exist in a common coordinate system (u, v, w) and adjoin each other at a common point P 123 . The procedure for generating a point fillet that smoothly connects these three superpatches Γ 1 , Γ 2 , Γ 3 through the common point P 123 will now be explained. For each of the three superpatches Γ 1 , Γ 2 , Γ 3 , a subset of simplex patches which have the common point P 123 as their nodes is chosen from the set of simplex patches making up the superpatch. The subsets thus obtained are separated from the original set. The boundaries of these subsets are ∂γ 1 , ∂γ 2 , ∂γ 3 , as shown. These boundaries, under the above-mentioned additional conditions, form a continuous boundary as a whole. Next, in procedure 311 , from the simplicial complex accompanying the superpatch Γ 1 , simplices corresponding to the subset of the simplex patches are extracted to form a set Γ 1 πΔ. ∂γ 1 πΔ and P 123 π correspond to the segments ∂γ 1 and point P 123 respectively. The plane π 1 is a reference plane that defines the local coordinate system (ξ, η, ) of the superpatch Γ 1 . In procedures 312 and 313 , a similar operation to procedure 311 is carried out for the superpatches Γ 2 , Γ 3 . Then in procedure 320 , Γ 1 πΔ, Γ 2 πΔ and Γ 3 πΔ are combined to form a simplicial complex Γ 123 πΔ which is to serve as a carrier of the target line fillet. For this purpose, the reference surface π 123 is defined so that the normal thereto corresponds to the direction of the resultant vector of the unit normal vectors of π 1 , π 2 and π 3 . Next, a polygonal line connecting the vertices of simplex patches to approximate the boundaries ∂γ 1 , ∂γ 2 , ∂γ 3 of the subsets of simplex patches and the common point P 123 are projected onto the reference surface π 123 , boundary ∂γ 1 πΔ, ∂γ 2 πΔ, ∂γ 3 πΔ and point P 123 π. Then, Γ 1 πΔ shown in procedure 311 is mapped onto the reference plane π 123 so that its boundary has one-to-one correspondence. Likewise, Γ 2 πΔ and Γ 3 πΔ are mapped onto the reference plane π 123 . In this way, a simplicial complex Γ 123 πΔ that is to serve as a carrier for the target point fillet is generated. Then, the discrete variational problem of the simplicial complex Γ 123 πΔ will be solved. At this time, the boundary conditions for ∂γ 1 πΔ, ∂γ 2 πΔ, ∂γ 3 πΔ are so determined that so the parameters (shown in Fig 6) already obtained for the corresponding boundaries of Γ 1 πΔ, Γ 2 πΔ, Γ 3 πΔ can be used successively. It is also possible to use a set of intraplane restraint points as the common point P 123 . In this case, P 123 π in the Γ 123 πΔ is a corresponding set of the intraplane restraint points. As a result, as shown in procedure 330 , a point fillet Γ 123 that connects the superpatches Γ 1 , Γ 2 , Γ 3 smoothly is obtained as a new superpatch. As is evident from the above description, these procedures can all be carried automatically. The operator need only identify the common point P 123 displayed on the display device to instruct the above sequence of procedures. The present invention allows a designer to generate a desired surface shape quickly and easily and display the generated surface on a display device, enhancing the ease of operation of the surface generating apparatus so even an inexperienced person can easily use the apparatus.

Claims: A method of generating a display of a surface (Γ), comprising: generating (P54) an equation corresponding to said surface (Γ), said equation being a differential equation representing said surface (Γ) as a physical membrane; specifying (p51) boundary conditions of said surface (Γ) by specifying a boundary curve (∂Γ), thereby to define outer constraints for said equation; specifying (p52) a set of points (C, D, E) on said surface (Γ), to thereby define inner constraints for said equation; solving (P542) said equation to generate a solution using said inner and outer constraints and; generating (b) a display of said surface from said solution of said equation, and displaying said surface on a display device (120). A method according to claim 1, wherein said set of points comprise a plurality of discrete points (D). A method according to claim 1, wherein said set of points define at least one line (C). A method according to claim 1, wherein said set of points define at least one area (E). A method according to any one of the preceding claims, wherein said specifying of said set of points includes identifying the location of said points on said display device (120). A method according to any one of claims 1 to 5, further including: storing a program containing a surface generation control procedure in a program memory (130); storing data representing said surface (Γ) in a surface data memory (140), and loading the program stored in the program memory (130) into a central processing unit (100); wherein: the equation is generated (P54) by the central processing unit (100) under control of the program based on the data stored in the surface date memory (140); the boundary conditions and the set of points are specified (P51, P52) by the central processing unit (100) under control of the program; the equation is solved (P542) by the central processing unit (100) under control of the program; and the display is generated (b) by the central processing unit (100) under control of the program. A method of generating a display of a surface (Γ), comprising: generating (P54) a plurality of first equations, each of said plurality of first equations representing a corresponding first surface (Γ 1 , Γ 2 , Γ 3 ) of said surface (Γ), said corresponding first surface parts meeting at a join (∂γ 12 ,P 123 ), each of said plurality of first equations being a differential equation representing the corresponding surface part (Γ 1 , Γ 2 , Γ 3 ) as a physical membrane; specifying (P51) boundary conditions (∂Γ 1 , ∂Γ 2 , ∂Γ 3 ) of the boundaries of said corresponding surfaces (Γ 1 , Γ 2 Γ 3 ), thereby to define a plurality of outer constraints for said plurality of first equations; solving (P543) said plurality of first equations to generate a plurality of first solutions using said plurality of outer constraints; defining a join area (Γ 12 , Γ 123 ), said join area comprising at least some of each of said plurality of first surface parts (Γ 1 , Γ 2 , Γ 3 ) adjacent said join (∂γ 12 ,P 123 ); generating a second equation (P543) corresponding to said join area (Γ 12 , Γ 123 ), said second equation being a differential equation representing the join area (Γ 12 , Γ 123 ) as a physical membrane; solving said second equation preserving the boundary of said join area (Γ 12 , Γ 123 ), thereby to define a fillet surface; and generating a display (b) of said surface from the plurality of first solutions and said fillet surface, thereby to generate a display of said surface on a display device (120). A method according to claim 7, wherein said plurality of first surfaces (Γ 1 , Γ 2 ) comprise two surfaces (Γ 1 , Γ 2 ), and said join is a line (∂γ 12 ). A method according to claim 7, wherein said plurality of first surfaces (Γ 1 , Γ 2 , Γ 3 ) comprise at least three surfaces and said join is a point (P123). A method according to any one of claims 7 to 9, wherein said join (∂γ 12 , P 123 ) defines an inner constraint for said second equation, and the solving of said second equation uses said inner constraint. A method according to any one of claims 7 to 10, wherein said join (∂γ 12 , P 123 ) is identified by specifying the location thereof on said display device (120). A method according to any one of claims 7 to 11, further including: storing a program containing a surface generation control procedure in a program memory (130); storing data representing said surface (Γ) in a surface data memory (140), and loading the program stored in the program memory (130) into a central processing unit (100); wherein: the plurality of first equations and the second equation are generated (P54, P543)) by the central processing unit (100) under control of the program based on the data stored in the surface date memory (140); the boundary conditions and the set of points are specified (P51, P52) by the central processing unit (100) under control of the program; the plurality of first equations and the second equation are solved (P542) by the central processing unit (100) under control of the program; the join area is defined (Γ 12 , Γ 123 ) by the central processing unit (100) under control of the program; and the display is generated (b) by the central processing unit (100) under control of the program. An apparatus for generating a display of a surface (Γ), comprising: means (p54) for generating an equation corresponding to said surface (Γ), said equation being a differential equation representing said surface (Γ) as a physical membrane; means (p51) for specifying boundary conditions of the boundary (∂Γ) of said surface (Γ), thereby to define outer constraints for said equation; means (p52) for specifying a set of points (C, D, E) on said surface (Γ), to thereby define inner constraints for said equation; means (P542) for solving said equation to generate a solution, using said inner and outer constraints; and means for generating a display (b) of said surface from said solution of said equation; and a display device (120) for displaying said display. An apparatus according to claim 13, wherein said specifying of said set of points includes means (110) for identifying the location of said points on said display device (120). An apparatus according to claim 13 or claim 14, further including: a central processing unit (100); a program memory (130) for storing a program containing a surface generation control procedure; a surface data memory (140) for storing data representing said surface (Γ); and means for loading the program stored in the program memory (130) into the central processing unit (100); each of the means (P54) for generating the equation, the means (P51) for specifying the boundary conditions, the means (P52) for specifying the set of points, the means (P524) for solving the equation, and the means for generating a display are formed by the central processing unit (100) under control of the program. An apparatus for generating a display of a surface (Γ), comprising: means (P54) for generating a plurality of first equations, each of said plurality of first equations representing a corresponding first surface part (Γ 1 , Γ 2 , Γ 3 ) of said surface, said corresponding first surface parts (Γ 1 , Γ 2 , Γ 3 ) meeting at a join (∂γ 12 , P 123 ), each of said plurality of first equations being a differential equation representing the corresponding surface part (Γ 1 , Γ 2 , Γ 3 ) as a physical membrane; means (P51) for specifying boundary conditions of the boundaries (∂Γ 1 , ∂Γ 2 , ∂Γ 3 ) of said corresponding surface parts (Γ 1 , Γ 2 , Γ 3 ) , thereby to define a plurality of outer constraints for said plurality of first equations; means (P542) for solving said plurality of first equations to generate a plurality of first solutions using said plurality of outer constraints; means for defining a join area (Γ 12 , Γ 123 ), said join area (Γ 12 , Γ 123 ) comprising at least some of each of said plurality of first surface parts (Γ 1 , Γ 2 , Γ 3 ) adjacent said join (∂γ 12 , P 123 ); means (P542) for generating a second equation corresponding to said join area (Γ 12 , Γ 123 ), said second equation being a differential equation representing the join area (Γ 12 , Γ 123 ) as a physical membrane; means for solving said second equation preserving the boundary of said join area (Γ 12 , Γ 123 ), thereby to define a fillet surface; and means for generating a display of said surface from the plurality of first solutions and said fillet surface; and a display device (120) for displaying said display. An apparatus according to claim 16, wherein said means for defining said join area (Γ 12 , Γ 123 ) includes means for identifying the location of said join (∂γ 12 , P 123 ) on said display device (120). An apparatus according to any one of claims 13 and 14 further including: a central processing unit (100); a program memory (130) for storing a program containing a surface generation control procedure; a surface data memory (140) for storing data representing said surface (Γ); and means for loading the program stored in the program memory (130) into the central processing unit (100); each of the means (P54) for generating the plurality of first equations, the means (P51) for specifying the boundary conditions, the means (P542) for solving the plurality of first equations, the means for defining the join area, the means (542) for generating a second equation, the means for solving the second equation and the means for generating the display are formed by the central processing unit under control of the program.

Inventors: ARAI HIROSHI, HARASHIMA ICHIRO, NAKAJIMA NORIHIRO, TOKUMASU SHINJI, ARAI, HIROSHI, HARASHIMA, ICHIRO, NAKAJIMA, NORIHIRO, TOKUMASU, SHINJI
Applicants: HITACHI LTD, HITACHI, LTD.
Application year: 1993
Main classification: G06T17
IPC codes: G06F17, G06T17