Technical Field
[0001] The technology disclosed herein relates to a curved surface fitting method, a curved surface fitting device, a curved surface fitting program, and a computer-readable storage medium that stores the fitting program.
Background Art
[0002] So-called free-form deformation (FFD) is widely known as a method for fitting a curved surface. FFD is a method of deforming a curved surface via a volume covering the curved surface by deforming the volume.
[0003] For example, patent literature 1 discloses an FFD method (GFFD) based on a Gaussian function.
Citation List
Patent Literature
Summary of Invention
Technical Problem
[0005] General FFD deforms the volume described above by setting a plurality of grid points (so-called control points) in the volume and moving the control points.
[0006] Here, when a curved surface is finely deformed as in, for example, the outer panel component of an automobile, the number of control points becomes larger than in the case in which simpler deformation is sufficient. Conventionally, when there are many control points, the movement amounts of the control points cannot be systematically determined while clarifying the theoretical evidence.
[0007] The technology disclosed herein addresses this problem with an object of systematically determining the movement amounts of the control points in FFD while clarifying the theoretical evidence.
Solution to Problem
[0008] The technology disclosed herein relates to a curved surface fitting method for fitting a curved surface model set in a three-dimensional space to a plurality of object points set in the three-dimensional space by causing a computer to perform free-form deformation.
[0009] The curved surface fitting method includes a control point setting process of setting a plurality of control points in the free-form deformation so that the control points surround at least part of the curved surface model; a deformation target point setting process of setting, on the curved surface model, a plurality of deformation target points corresponding to the plurality of object points, respectively; a movement amount determination process of determining movement amounts of the plurality of control points, respectively, by executing a least squares method so as to minimize a total value obtained by adding up squares of distances between the deformation target points and the object points corresponding to the deformation target points; and an FFD execution process of fitting the curved surface model to the plurality of object points by executing the free-form deformation based on the movement amounts.
[0010] This method can determine the movement amounts of the control points in the free-form deformation (FFD) by a least squares method that uses the sum of the squares of the distances between the deformation target points and the plurality of object points. This can systematically determine the movement amounts of the control points while clarifying the theoretical evidence.
[0011] In addition, the plurality of object points may include a plurality of measurement points obtained by measuring a surface shape of a metal mold.
[0012] This method can appropriately calculate the movement amounts of the control points even when using the measurement points that may contain noise or the like as the object points.
[0013] In addition, the deformation target points may be set as the closest points with respect to the object points on the curved surface model.
[0014] This method is advantageous in setting the deformation target points appropriately and therefore determining the movement amounts of the control points systematically.
[0015] In addition, the curved surface model may include a combination of curved surfaces, and the curved surface fitting method may execute the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process so as to deform the plurality of curved surfaces at the same time.
[0016] This method can fit curved surface models having various forms.
[0017] In addition, the curved surface model may include a combination of a curved surface that partitions a domain of the curved surface model and a trimmed surface obtained by trimming the curved surface, and the curved surface fitting method may execute the control point setting process, the deformation target point setting process, the movement amount determination process, and the FFD execution process on a boundary between the curved surface and the trimmed surface.
[0018] This method performs FFD on the boundary of a trimmed surface. Here, by using the deformation result for the curved surface together, it is possible to fit the curved surface model while maintaining the continuity of the boundary between the curved surface and the trimmed surface, the continuity of tangent plane between the curved surface and the trimmed surface, and the continuity of the curvature between the curved surface and the trimmed surface.
[0019] In addition, the curved surface fitting method repeatedly executes the free-form deformation a plurality of times by dividing the movement amounts determined in the movement amount determination process and performing the FFD execution process based on the divided movement amounts.
[0020] This method can achieve more accurate deformation and suppress the spread of the curved surface by performing FFD at multiple stages.
[0021] In addition, the curved surface fitting method may further include the process of extrapolating a curved surface to the curved surface model, and the process of setting the deformation target points on the extrapolated curved surface.
[0022] This method can achieve smoother fitting by suppressing undulation near the boundary of the curved surface.
[0023] In addition, the curved surface fitting method may further include the process of adding the object points so as to correspond to the extrapolated curved surface.
[0024] In addition, the control point setting process may set a volume that covers the curved surface model and dispose the plurality of control points in the volume.
[0025] Another technology disclosed herein relates to a curved surface fitting device including a computer having a calculation unit, the curved surface fitting device fitting a curved surface model set in a three-dimensional space to a plurality of object points set in the three-dimensional space by causing the computer to perform free-form deformation. The calculation unit includes a control point setting unit that sets a plurality of control points in the free-form deformation so that the control points surround at least part of the curved surface model; a deformation target point setting unit that sets, on the curved surface model, a plurality of deformation target points corresponding to the plurality of object points, respectively; a movement amount determination unit that determines movement amounts of the plurality of control points, respectively, by executing a least squares method so as to minimize a total value obtained by adding up squares of distances between the deformation target points and the object points corresponding to the deformation target points; and an FFD execution unit that fits the curved surface model to the plurality of object points by executing the free-form deformation based on the movement amounts.
[0026] This structure can systematically determine the movement amounts of the control points while clarifying the theoretical evidence.
[0027] Another technology disclosed herein relates to a curved surface fitting program that fits a curved surface model set in a three-dimensional space to a plurality of object points set in the three-dimensional space by causing a computer to perform free-form deformation. The curved surface fitting program causes the computer to perform the procedure comprising: the step of setting a plurality of control points in the free-form deformation so that the control points surround at least part of the curved surface model; the step of setting, on the curved surface model, a plurality of deformation target points corresponding to the plurality of object points, respectively; the step of determining movement amounts of the plurality of control points, respectively, by executing a least squares method so as to minimize a total value obtained by adding up squares of distances between the deformation target points and the object points corresponding to the deformation target points; and the step of fitting the curved surface model to the plurality of object points by executing the free-form deformation based on the movement amounts.
[0028] This program can systematically determine the movement amounts of the control points while clarifying the theoretical evidence.
[0029] Another technology disclosed herein relates to a computer-readable storage medium that stores the fitting program.
[0030] This storage medium can systematically determine the movement amounts of the control points while clarifying the theoretical evidence.
Advantageous Effects of Invention
[0031] As described above, the curved surface fitting method, the curved surface fitting device, the curved surface fitting program, and the computer-readable recording medium that stores the curved surface fitting program can systematically determine the movement amounts of the control points while clarifying the theoretical evidence.
Brief Description of Drawings
[0032]
[Fig. 1] Fig. 1 is a diagram illustrating the hardware structure of a curved surface fitting device.
[Fig. 2] Fig. 2 is a diagram illustrating the software structure of the curved surface fitting device.
[Fig. 3] Fig. 3 is a diagram for describing the basic concept of FFD.
[Fig. 4] Fig. 4 is a flowchart illustrating the basic procedure of a curved surface fitting method.
[Fig. 5] Fig. 5 is a diagram for describing the process of covering a curved surface model with a volume.
[Fig. 6] Fig. 6 is a flowchart illustrating the search procedure of a closest point.
[Fig. 7] Fig. 7 is a diagram for describing the search procedure of the closest point.
[Fig. 8] Fig. 8 is a flowchart illustrating the procedure of multi-stage deformation in FFD.
[Fig. 9] Fig. 9 is a diagram for explaining the procedure of multi-stage deformation in FFD.
[Fig. 10] Fig. 10 is a diagram illustrating a curved surface model including a trimmed surface.
[Fig. 11] Fig. 11 is a diagram illustrating a curved surface model including a plurality of curved surfaces.
[Fig. 12] Fig. 12 is a diagram for describing a structure in which a curved surface is extrapolated to a curved surface model.
[Fig. 13] Fig. 13 is a diagram illustrating a curved surface model that models a bead shape.
[Fig. 14] Fig. 14 is a diagram illustrating cross section A-A of the curved surface model.
[Fig. 15] Fig. 15 is a diagram illustrating the deformation result of the curved surface model.
[Fig. 16] Fig. 16 is a diagram illustrating the result of application of multi-stage deformation to the curved surface model.
[Fig. 17] Fig. 17 is a diagram illustrating the structure of a CPU as a calculation unit.
Description of Embodiments
[0033] Embodiments of the present disclosure will be described with reference to the drawings. The following description is an example.
<Device structure>
[0034] Fig. 1 is a diagram illustrating the hardware structure of a curved surface fitting device (specifically, a computer 1 included in the fitting device) according to the present disclosure and Fig. 2 is a diagram illustrating the software structure thereof.
[0035] The computer 1 illustrated in Fig. 1 includes a central processing unit (CPU) 3 that controls the entire computer 1, a read-only memory (ROM) 5 that stores a boot program and the like, a random access memory (RAM) 7 that functions as the main memory, a hard disk drive (HDD) 9 as a secondary storage device, a display 11 that displays fitting results and the like, a graphics memory (video RAM: VRAM) 13 that functions as a memory for storing image data to be displayed on the display 11, and a keyboard 15 and a mouse 17 as input devices. In addition, this computer 1 can communicate with external devices via an interface 21.
[0036] As illustrated in Fig. 2, the program memory of the HDD 9 stores an operating system (OS) 19, a curved surface fitting program 29, an application program 39, and the like.
[0037] Of these, the curved surface fitting program 29 executes a curved surface fitting method described later and causes the CPU 3 to execute the procedure corresponding to the processes (steps S1 to S5 in Fig. 4) constituting this processing method. As illustrated in Fig. 1, the curved surface fitting program 29 is stored in a computer-readable storage medium 19 in advance.
[0038] On the other hand, the data memory of the HDD 9 stores model data 49 indicating a curved surface model S to be deformed, measurement data 59 indicating a plurality of object points that are deformation objects of the curved surface model S.
[0039] It should be noted that a three-dimensional curved surface that models a metal mold can be used as the curved surface model S. In this case, a plurality of measurement points Q obtained by measuring the surface shape of the metal mold can be used as the plurality of object points. In the embodiment, the structure related to the curved surface model S in general will be described and then the structure related to a specific curved surface model such as a curved surface model S including a plurality of curved surfaces S
_{1} and S
_{2} will be described.
[0040] Other than the above, the curved surface model after being fitted that is created by execution of the fitting program 29 and various calculation results that are created by execution of the application program 39 are also stored in the data memory of the HDD 9.
[0041] In the structure described above, the fitting program 29 and the application program 39 are started in response to a command input through the keyboard 15 or the mouse 17. At that time, the fitting program 29 and the application program 39 are loaded from the HDD 9 to the RAM 7 and executed by the CPU 3. When the CPU 3 executes the fitting program 29 and the application program 39, the computer 1 functions as the curved surface fitting device. Here, the CPU 3 corresponds to the calculation unit in the present disclosure. The CPU 3 as the calculation unit includes a control point setting unit 31, a deformation target point setting unit 32, a movement amount determination unit 33, and an FFD execution unit 34 as illustrated in Fig. 17.
<Curved surface fitting method>
[0042] Fig. 3 is a diagram for describing the basic concept of FFD, Fig. 4 is a flowchart illustrating the basic procedure of a curved surface fitting method, and Fig. 5 is a diagram for describing the process of covering the curved surface model S with a volume V. In addition, Fig. 6 is a flowchart illustrating the search procedure of a closest point H, and Fig. 7 is a diagram for describing the search procedure of the closest point H.
[0043] In the fitting procedure illustrated in Fig. 4, the computer 1 fits the curved surface model S set in a three-dimensional space to a plurality of object points (measurement points Q) set in the three-dimensional space by executing free-form deformation (FFD).
[0044] Here, the FFD first sets the curved surface model S to be deformed. Next, the FFD sets the volume V having many control points and covers the curved surface model S with the volume V. Then, the FFD deforms the volume V in which the control points are defined and therefore the coordinate system by moving the control points. The curved surface model S covered with the volume V also deforms as the coordinate system deforms (see Fig. 3).
[0045] In addition, the deformation of the curved surface model S by the FFD is performed by use of a parameter space instead of a global coordinate system. In particular, in the embodiment, the deformation of the curved surface model S is performed through a two-parameter free-form surface. In the following, the case using a B-Spline surface as an example of such a free-form surface will be described.
[0046] Specifically, a B-Spline surface can be defined by equation (1) below.
[0047] [Math. 1]
[0048] [Math. 2]
[0049] Equation (1) parametrically represents the coordinates on the curved surface model S. In equation (1), (u, v) are variables when a B-Spline surface is parametrically represented and defines a parameter space (UV space). In addition, "n" is the order of the B-Spline surface in the u-direction and "m" is the order of the B-Spline surface in the v-direction. In addition, as illustrated in equation (2), "N" is a so-called B-Spline basis function. That is, "t" in equation (2) is a so-called knot sequence. In addition, the upper superscripts n and m in the equation (2) indicate the orders of the B-Spline surface in the u direction and the v direction, respectively. In addition, P
_{ij} indicates the control point i-th arranged in the u-direction and j-th arranged in the v-direction.
(Basic concept of the fitting method)
[0050] The steps in Fig. 4 will be described in sequence below.
- Step S1 -
[0051] In the first step S1, the computer 1 reads the model data 49 and the measurement data 59 stored in the program memory. The model data 49 and the measurement data 59 are set in the three-dimensional space as described above and includes the curved surface model S to be deformed by the FFD and a plurality of measurement points Q that are the deformation objects of this curved surface model S.
[0052] Of these, the curved surface model S represented as the B-Spline surface that is parametrically represented using the two parameters u and v as described above and developed by the B-Spline basis function. The shape of the curved surface model S can be characterized by the coordinates of the control points P
_{ij} and the knot sequence that defines the shape of the B-Spline basis function.
- Step S2 -
[0053] In the subsequent step S2, the control point setting unit 31 covers at least part of the plurality of measurement points Qs and the curved surface model S with the volume V and sets a plurality of control points P
_{ijk} within the volume V. As illustrated in equation (3) below, the volume V can be developed by the B-Spline basis function as in the curved surface model S.
[0054] [Math. 3]
[0055] Since the B-Spline volume V (simply referred to below as "the volume V") defined by equation (3) above has a three-dimensional shape instead of a curved surface, three variables (u, v, w) are used.
[0056] Here, it is necessary to use a B-Spline basis function of the third order or higher in all of the u-direction, the v-direction, and the w-direction to ensure the curvature continuity. In the embodiment, a case using a cubic B-Spline basis function.
[0057] In addition, in equation (3) above, P
_{ijk} indicates the control point i-th arranged in the u-direction, j-th arranged in the v-direction, and k-th arranged in the w-direction. The shape of the volume V can be characterized by the coordinates of the control points P
_{ijk} and the knot sequence that defines the shape of the B-Spline basis function.
[0058] Here, the plurality of control points P
_{ijk} may be set so as to surround at least part of the curved surface model S. In that case, the volume V covers at least part of the curved surface model S. In particular, in the embodiment, the volume V and the control points P
_{ijk} are set so as to cover all of the plurality of measurement points Q and the curved surface model S while the control points P
_{ijk} are evenly spaced so as to form a simple cubic lattice (see Fig. 5) .
[0059] When the setting of the volume V and the control points P
_{ijk} is completed, the processing proceeds from step S2 to step S3. Step S2 illustrated here is an example of the "control point setting process" in the embodiment.
- Step S3 -
[0060] In the subsequent step S3, the deformation target point setting unit 32 sets a plurality of deformation target points corresponding to the plurality of measurement points Q on the curved surface model S. In the embodiment, the deformation target points are set as the closest points H with respect to the measurement points Q on the curved surface model S.
[0061] For example, the closest point H with respect to a certain measurement point Q on the curve C can be calculated as follows. That is, as illustrated in equation (4) below, when the line segment connecting point P to the point on the curve C is orthogonal to the curve C, point P is closest to the point on the curve C.
[0062] [Math. 4]
[0063] Accordingly, the closest point H on the curved surface model S can be found for each of the measurement points Q by performing a search using equation (4) above for both the u-direction and the v-direction. The flowchart in Fig. 6 specifically illustrates this processing.
[0064] First, in step S31 in Fig. 6, the deformation target point setting unit 32 sets the values of the parameters (u, v) of the curved surface model S to the center in the parameter space (UV space).
[0065] In the subsequent step S32, the deformation target point setting unit 32 determines whether the search is an odd numbered search. The deformation target point setting unit 32 selects the u-direction when this determination is YES or selects the v-direction when the determination in step S32 is NO.
[0066] In the subsequent step S33, the deformation target point setting unit 32 fixes the direction selected in step S32 and changes the unselected direction on the curved surface model S. Then, the deformation target point setting unit 32 finds the parameters that are closest to the measurement points Q. The processing regarding step S33 is executed using equation (4) above. It should be noted that the dichotomy method, the Newton method, or the like can be used when equation (4) above is calculated numerically.
[0067] In the subsequent step S34, the deformation target point setting unit 32 updates the coordinates of the closest point H by substituting the parameters found in step S33 into the coordinates of the closest point H.
[0068] In the subsequent step S35, the deformation target point setting unit 32 determines whether the coordinates of the closest point H updated in step S34 satisfy predetermined conditions. When the determination result is YES, the deformation target point setting unit 32 ends the flow. When the determination result is NO, the deformation target point setting unit 32 increments the number of searches by one and returns to step S32.
[0069] It should be noted that the predetermined conditions in step S35 include the amount of change in the parameters (u, v) during a search and/or whether the distance between the closest point H and the measurement point Q is less than a predetermined threshold. In addition to this or instead of this, the number of searches for the closest point H may be set to the threshold so as to determine whether the number of searches exceeds the threshold.
[0070] For example, as illustrated in Fig. 7, at the time of the first search, the value of parameter v closest to the measurement point Q is searched for while the u-direction is fixed and the v-direction is changed. The coordinates of the closest point H are updated with the value of v searched for as described above, and it is determined whether the updated coordinates satisfy the predetermined conditions. When the updated coordinates do not satisfy the predetermined conditions, the value of the parameter u that is closest to the measurement point Q is searched for while the v-direction is fixed and the u-direction is changed. The coordinates of the closest point H are updated with the value of u searched for as described above and it is determined again whether the updated coordinates satisfy the predetermined conditions.
[0071] These processes are repeatedly executed and the coordinates of the final closest point H are set to the values of the parameters (u, v) when the predetermined conditions are satisfied.
[0072] In addition, the processing illustrated in Fig. 6 is executed on all the measurement points Q covered with the volume V. For example, when the number of measurement points Q is N, the coordinates of the closest point H are searched for each of the N measurement points Q.
[0073] The coordinates of the p-th closest point H among the N closest points H are represented as (u
_{p}, v
_{p}). In the following description, the coordinates of the measurement point Q corresponding to this closest point H may be particularly represented as Q(u
_{p}, v
_{p}).
[0074] It should be noted that, when the measurement point Q and the closest point H corresponding to the measurement point Q are far apart from each other, fitting by the least squares method described later is inappropriate, so the measurement point Q needs to be removed. Accordingly, the curved surface fitting method according to the embodiment has the process of removing the measurement point Q from the target of fitting when the distance between the measurement point Q and the closest point H exceeds the predetermined threshold.
[0075] After the processing illustrated in Fig. 6 is executed on all the measurement points Q, the flow regarding Fig. 6 ends and the process proceeds from step S3 to step S4 in Fig. 4. Step S3 illustrated here is an example of the "deformation target point setting process" in the embodiment.
- Step S4 -
[0076] It should be noted that the control points P
_{ijk} of the volume V are referred to as "R
_{ijk}" to prevent confusion with the control points P
_{ij} of the curved surface model S.
[0077] In the subsequent step S4 continued from step S3, the movement amount determination unit 33 executes the least squares method so as to minimize the total value obtained by adding up the squares of the distances between the deformation target points (closest points H) contained in the volume V and the measurement points Q corresponding to the closest points H. The CPU 3 determines the movement amounts ΔR
_{ijk} of the plurality of control points R
_{ijk} in FFD by executing the least squares method.
[0078] When the FFD is used, the curved surface model S is deformed via this volume V by moving the control points R
_{ijk} of the volume V. In contrast, the shape of the curved surface model S is characterized by the control points P
_{ij}.
[0079] Accordingly, the correspondence between the control points R
_{ijk} of the volume V and the control points P
_{ij} of the curved surface model S is required to deform the curved surface model S by the FFD. Here, when the control points P
_{ij} of the curved surface model S are represented as P(I, J) to prevent confusion with the subscripts of the control points R
_{ijk} of the volume V, the control points P(I, J) can be developed using the control points R
_{ijk} of the volume V as in equation (3).
[0080] [Math. 5]
[0081] Parameters (s, t, w) can be determined by I and J. By disposing the control points R
_{ijk} of the volume V in a grid pattern as described above, the correspondence between the two parameters (I, J) of the curved surface model S and the three parameters (s, t, w) of the volume V can be easily calculated.
[0082] Then, by replacing n and m of equation (1) with L and M, respectively, and then substituting equation (5) into equation (1), the curved surface model S can be represented as equation (6) below.
[0083] [Math. 6]
[0084] The cost function as the equation (7) below can be defined using this.
[0085] [Math. 7]
[0086] Here, the first term in parentheses in equation (7) represents the coordinates of the p-th closest point H when the control points R
_{ijk} of the volume V are moved by specified movement amounts ΔR
_{ijk}. On the other hand, the second term in parentheses in equation (7) represents the coordinates of the measurement point Q corresponding to this closest point H.
[0087] That is, the cost function F indicates the sum (the total value obtained by adding up the squares of the distances) of squares of the distances between the closest points H and the measurement points Q when the control points R
_{ijk} are moved by predetermined movement amounts ΔR
_{ijk}. Accordingly, the cost function F can be regarded as the cost function in the least squares method and the sum of squares of the distances between the closest points H and the measurement points Q can be minimized by searching for the movement amounts ΔR
_{ijk} that minimize the cost function F and moving the control points R
_{ijk} by the searched movement amounts ΔR
_{ijk}.
[0088] Specifically, the movement amount determination unit 33 obtains the movement amounts ΔR
_{ijk} that minimize the cost function F by partially differentiates the cost function F by the movement amounts ΔR
_{ijk} and setting the result to 0.
[0089] Here, the following equation is assumed for simple representation.
[0090] [Math. 8]
[0091] When the cost function F is partially differentiated by R
_{ijk}', the following equation is obtained.
[0092] [Math. 9]
[0093] When the left side of equation (9) is set to 0, equation (10) below is obtained.
[0094] [Math. 10]
[0095] When equation (10) is described in a matrix form, equation (11) below is obtained.
[0096] [Math. 11]
[0097] In equation (11), the matrix A is a (i × j × k)-order square matrix. The individual elements of the matrix A are illustrated by equations (12) to (14) below.
[0098] [Math. 12]
[0099] [Math. 13]
[0100] [Math. 14]
[0101] By solving equation (11) for R
_{ijk}', it is possible to obtain R
_{ijk}' that minimizes the cost function F and therefore the movement amount ΔR
_{ijk}. For example, the LU decomposition method can be used as the solution of equation (11). The movement amount determination unit 33 calculates the movement amounts ΔR
_{ijk} through numerical calculation using the LU decomposition method or the like.
[0102] When the calculation of the movement amounts ΔR
_{ijk} is completed, the processing proceeds from step S4 to step S5 in Fig. 4. Step S4 illustrated here is an example of the "movement amount determination process" in the embodiment.
- Step S5 -
[0103] In the subsequent step S5 continued from step S4, the FFD execution unit 34 fits the curved surface model S to the plurality of measurement points Q by performing FFD based on the movement amounts ΔR
_{ijk} calculated in step S4.
[0104] Specifically, the FFD execution unit 34 moves the control points R
_{ijk} to updates the control points R
_{ijk} to new control points R
_{ijk} + ΔR
_{ijk}. This deforms the volume V based on equation (3). Then, the curved surface model S is deformed based on the formula (1) while the control point P(I, J) of the curved surface model S is updated based on formula (5), and the flow illustrated in Fig. 4 ends.
[0105] It should be noted that step S5 illustrated here is an example of the "FFD execution process" in the embodiment.
[0106] As described above, according to the embodiment, the movement amounts ΔR
_{ijk} of the control points R
_{ijk} of the FFD can be determined by the least squares method that uses the sum of squares of the distances between the closest points H as the deformation target points and the measurement points Q corresponding to the closest points H. This can systematically determine the movement amounts ΔR
_{ijk} of the control points while clarifying the theoretical evidence.
[0107] In addition, by using the plurality of measurement points Qs that indicate the surface shape of the metal mole as the plurality of object points, the movement amounts ΔR
_{ijk} of the control points R
_{ijk} can be calculated appropriately even when the measurement points Q that may contain noise or the like are the object points.
- Structure related to the multi-stage deformation -
[0108] Fig. 8 is a flowchart illustrating the procedure of multi-stage deformation in the FFD and Fig. 9 is a diagram for describing the procedure of the multi-stage deformation in the FFD.
[0109] By the way, when the curved surface model S and the measurement points Q are relatively far apart from each other, the flow illustrated in Fig. 4 may be insufficient. That is, when the FFD by the least squares method is used, whether the curved surface model S and the measurement points Q are sufficiently close to each other depends on the search accuracy of the closest points H as the deformation target points. When the curved surface model S and the measurement points Q are relatively far apart from each other, the parameters obtained as the closest points H may not be optimal. Accordingly, the deformation with higher accuracy can be performed by repeating the deformation by the FFD a plurality of times and searching for the closest point H for each of the repetitions.
[0110] Specifically, the computer 1 as the curved surface fitting device repeatedly performs the FFD a plurality of times by dividing the movement amounts ΔR
_{ijk} determined in step S4 (movement amount determination process) and performing step S5 (FFD execution process) above based on the divided movement amounts ΔR
_{ijk}.
[0111] Fig. 8 is a flowchart illustrating the procedure of such multi-stage deformation. In Fig. 8, "N" represents the number of repetitions of the FFD. This number of repetitions N is preset and stored in the RAM 7, the HDD 9, or the like.
[0112] First, although omitted in Fig. 8, the computer 1 reads model data 49 and sets the volume V as in steps S1 to S2 in Fig. 4. At this time, the computer 1 also reads the number of repetitions N of the FFD.
[0113] Subsequently, the CPU 3 sets the variable i to zero as illustrated in step S101 in Fig. 8. The variable i represents the number of repetitions at that time.
[0114] In the subsequent step S102, the deformation target point setting unit 32 searches for the closest points H
_{i} on the curved surface model S that correspond to the measurement points Q. Here, the subscript i of the closest point H
_{i} represents the number of repetitions i. Specifically, in this step S102, the same processing as in step S3 in Fig. 4, that is, the processing described with reference to Fig. 6 is executed. When i = 0, that is, the closest point H
_{0} found during the first search matches the closest point H obtained in step S3 in Fig. 4.
[0115] In the subsequent step S103, the movement amount determination unit 33 obtains the movement amounts ΔR
_{i} of the control points by the least squares method based on the closest points H
_{i} found in step S102. The subscript i of the movement amount ΔR
_{i} represents the number of repetitions i as in the closest point H
_{i}. Specifically, in step S103, the same processing as in step S4 in Fig. 4 is executed.
[0116] In the subsequent step S104, the movement amount determination unit 33 divides the movement amounts ΔR
_{i} obtained in step S103 and calculates new movement amounts ΔR
_{i}'. Specifically, the movement amounts ΔR
_{i}' are obtained by equation (15) below.
[0117] [Math. 15]
[0118] In the subsequent step S105, the FFD execution unit 34 moves the control points R of the volume V and therefore the control points P(I, J) of the curved surface model S based on the new movement amounts ΔR
_{i}' obtained in step S104.
[0119] In the subsequent step S106, the CPU 3 determines whether the number of repetitions i has reached N-1, that is, whether steps S102 to S105 have been repeated N times. When this determination is YES, the deformation by the FFD ends.
[0120] In contrast, when the determination in step S106 is NO, the number of repetitions i is incremented by one in step S107 and then the processing returns to step S102. After returning to step S102, the closest points H
_{i+1} are searched for on the curved surface model S after deformation is performed based on the new movement amounts ΔR
_{i}'. By repeating these steps recursively, the closest points H
_{i}, H
_{i+1}, and H
_{i+2} gradually approach the measurement points Q (see Fig. 9).
[0121] As can be seen from equation (15) above, when the number of repetitions i is relatively small, the new movement amount ΔR
_{i}' is sufficiently smaller than the original movement amount ΔR
_{i}. In contrast, as the number of repetitions i becomes larger, the new movement amount ΔR
_{i}' becomes closer to the original movement amount ΔR
_{i}. In particular, when the number of repetitions i reaches N-1, the new movement amount ΔR
_{i}' matches the original movement amount ΔR
_{i}.
[0122] By deforming the curved surface model S at multiple stages as described above, the spread of the curved surface can be suppressed and more accurate deformation can be achieved.
<Structure related to a specific curved surface model>
- Structure related to a trimmed surface -
[0123] Fig. 10 is a diagram illustrating the curved surface model S including a trimmed surface St.
[0124] As described above, a three-dimensional curved surface that models a metal mold can be used as the curved surface model S and a plurality of measurement points Q that represent the surface shape of the metal mold can be used as a plurality of object points. Here, in the case of a metal mold having a complicated and fine shape such as a metal mold for an automobile outer panel component, the metal mold may be modeled as a curved surface in which so-called trimmed surfaces are combined instead of a single curved surface as illustrated in Fig. 3 and the like.
[0125] That is, as illustrated in Fig. 10, a combination of a curved surface Sd that partitions the domain of a curved surface model S' and the trimmed surface St obtained by trimming the curved surface Sd may be fitted as the curved surface model S'.
[0126] However, when the movement amounts ΔR
_{ijk} of the control points R
_{ijk} of the volume V are determined using only the control points P(I, J) of the curved surface model S as the movement targets, the control points of the trimmed surface St cannot be moved.
[0127] Accordingly, the computer 1 according to the embodiment is configured to perform fitting by FFD on the boundary C between the curved surface Sd that constitutes the curved surface model S' and the trimmed surface St in addition to the curved surface Sd.
[0128] Specifically, the curved surface Sd is fitted as in the curved surface model S described above. On the other hand, it is sufficient that the boundary C between the curved surface Sd and the trimmed surface St is defined as a closed loop (see Fig. 10) in a UV space and then FFD by the least squares method is executed on the closed loop.
[0129] More specifically, first, based on the trimmed surface St in the UV space, sampled points are disposed at appropriate intervals on the curved surface Sd so as to follow the boundary C between the trimmed surface St and the curved surface Sd. Steps S2 (control point setting process), step S3 (deformation target point setting process), step S4 (movement amount determination process), and step S5 (FFD execution process) described above are performed on the sampled points disposed in this way, whereby the boundary C can be deformed by FFD. Then, the trimmed surface St can also be indirectly fitted by reflecting the deformation result of the boundary C on the deformation result of the curved surface Sd.
[0130] As described above, by using the execution result of FFD on the boundary C defined as a closed loop together with the deformation result of the curved surface Sd, it is possible to fit the curved surface model S while maintaining the continuity of the boundary C between the curved surface Sd and the trimmed surface St, the continuity of tangent plane between the curved surface Sd and the trimmed surface St, and the continuity of the curvature between the curved surface Sd and the trimmed surface St.
- Structure related to the trimmed surface including a plurality of curved surfaces -
[0131] Fig. 11 is a diagram illustrating a curved surface model including the plurality of curved surfaces S
_{1} and S
_{2}.
[0132] In general, when a model of a metal mold or the like includes a plurality of curved surfaces, it is desirable to deform the curved surfaces at the same time while maintaining the connection relationship between the curved surfaces. As illustrated in Fig. 11, the curved surface fitting method according to the embodiment can deform a plurality of curved surfaces at the same time.
[0133] That is, the curved surface model S includes a combination of the curved surfaces S
_{1}, S
_{2}, ... set in a three-dimensional space, and the computer 1 as the curved surface fitting device can execute step S2 (control point setting process), step S3 (deformation target point setting process), step S4 (movement amount determination process), and step S5 (FFD execution process) described above so as to deform the plurality of curved surfaces S
_{1}, S
_{2}, ... at the same time.
[0134] Basically, the same processing as when there is one curved surface is executed. However, when there are a plurality of curved surfaces, the processing for selecting a curved surface to be deformed is required for each of the measurement points Q. Specifically, the computer 1 calculates the distances between each of the measurement points Q and all the curved surfaces S
_{1}, S
_{2}, ... before and after step S3 and selects the curved surface for which the calculated distance is the shortest. As described above, the computer 1 executes the process of associating the curved surface having the shortest distance and therefore the closest point H for each of the measurement points Q.
[0135] Then, when the least squares method is executed based on equation (11) or the like, the sum of squares of the distance from the corresponding curved surface is added up for each of the measurement points Q. By appropriately selecting the corresponding curved surface for each of the measurement points Q, it is possible to fit the curved surface model S, which includes a combination of the curved surfaces.
[0136] For example, in the example illustrated in Fig. 11, the distance between the measurement point Q and the curved surface S
_{1} and the distance between the measurement point Q and the curved surface S
_{2} are calculated in sequence, and fitting using FFD can be performed even in the curved surface model S including a plurality of curved surfaces so that the curved surface S
_{1} having a relatively short distance is selected.
- Structure related to extrapolation of a free-form surface -
[0137] Fig. 12 is a diagram for describing a structure in which a curved surface S
_{e} is extrapolated to the curved surface model S.
[0138] In general, the curved surface obtained by fitting may undulate unnaturally in a place that is sufficiently close to the measurement points Q, but is apart from the measurement points Q (particularly near the boundary of the curved surface). Such a situation can occur when, for example, the curved surface model S has a complicated shape or when many measurement points Q are disposed. This is inconvenient for application to a metal mold having a complex and fine shape, such as a metal mold for the outer panel component of a vehicle.
[0139] Accordingly, as illustrated in Fig. 12, the curved surface fitting method according to the embodiment can extrapolate the curved surface S
_{e} to the curved surface model S and set the closest point H that serves as the deformation target point on the extrapolated curved surface (referred to below as "extrapolation surface" denoted by "S
_{e}"). In addition, a measurement point Q
_{e} can be virtually added as needed so as to correspond to the extrapolation surface S
_{e}. Such a process is added, for example, before or after step S1 in Fig. 4.
[0140] Here, the extrapolation surface S
_{e} may have any shape. The extrapolation surface S
_{e} may be, for example, a tangent plane extending from the end of the curved surface model S. In addition, the accuracy of the measurement point Q
_{e} to be added does not need to be considered particularly.
[0141] This structure can achieve smoother fitting by suppressing undulation near the boundary of the curved surface.
<Specific example of the curved surface fitting method>
[0142] In general, since manual work by a craftsman may often intervene in the production of the metal mold of the outer panel component, the efficiency needs to be improved. In particular, when the metal mold degrades and the same the metal mold is manufactured again, it is inefficient to do the same manual work as in the first production. Accordingly, the efficiency of the second and subsequent manual work by the craftsman can be improved by three-dimensionally measuring the so-called first metal mold and feeding back the measurement results to a CAD system.
[0143] Here, in the feedback to the CAD system, the effects of the manual work by the craftsman need to be reflected on, for example, the three-dimensional CAD data used at the time of the production of a new metal mold. Accordingly, after the measurement results of the actual metal mold are assumed to be the measurement point Q and the three-dimensional CAD data before feedback is assumed to be the curved surface model S, the FFD method using the least square method, that is, the curved surface fitting method according to the embodiment is applied. This can determine the movement amount of the control point in FFD systematically and fit the three-dimensional CAD data to the measurement point Q.
[0144] As described above, the curved surface fitting method according to the embodiment can be used for so-called reverse engineering. Since the metal mold for the outer panel component of an automobile has a complicated and fine shape, the curved surface model obtained based on the metal mold may include a plurality of trimmed surfaces or a plurality of curved surfaces. As described above, the curved surface fitting method according to the embodiment can perform systematic fitting while clarifying the theoretical evidence even in such a curved surface model.
[0145] In particular, the conventional method of determining the movement amount of the control point cannot be concluded to have no theoretical evidence or the appropriate theoretical evidence. However, according to the embodiment, it is possible to automatically determine the movement amount without imposing a burden on the user even when the number of control points increases while clarifying the theoretical evidence.
[0146] A specific example of the curved surface fitting method will be described with reference to Figs. 13 to 16. Here, Fig. 13 is a diagram illustrating a curved surface model Sb that models a bead shape, Fig. 14 is a diagram illustrating cross section A-A of the curved surface model Sb, Fig. 15 is a diagram illustrating the deformation result of the curved surface model Sb, and Fig. 16 is a diagram illustrating the result of application of the multi-stage deformation to the curved surface model Sb.
[0147] The curved surface model Sb illustrated in Fig. 13 models the bead shape of the metal mold used to manufacture the outer panel component and includes three-dimensional CAD data at the time of new production. On the other hand, the object points in Fig. 13 include the measurement points representing the surface shape of the actual metal mold after, for example, the manual work by the craftsman.
[0148] At least in the cross section illustrated in Fig. 14, the curved surface model Sb is divided into a first curved surface Sb1, a second curved surface Sb2, a third curved surface Sb3, a fourth curved surface Sb4, and a fifth curved surface Sb5 in the order from the left side in the sheet. In addition, a first extrapolation surface Sx1 is extrapolated from the first curved surface Sb1 toward the left side in the sheet and a second extrapolation surface Sx2 is extrapolated from the second curved surface Sb2 toward the right side of the sheet. Furthermore, the measurement point Q
_{e} is newly added along with the extrapolation of the first extrapolation surface Sx1 and the second extrapolation surface Sx2.
[0149] As illustrated in Fig. 15, curved surfaces having a relatively small curvature such as the first curved surface Sb1 and the fifth curved surface Sb5 are deformed without excess or deficiency as compared with curved surfaces having a relatively large curvature such as the second curved surface Sb2 and the fourth curved Sb4.
[0150] In Fig. 16, the fitting results are compared between the case of deformation in one step (when N = 1 in Fig. 8) and the case of deformation in ten steps (when N = 10 in Fig. 8). As can be seen from the figure, when the curved surface model Sb is deformed in ten steps, the distance between the closest point H on the curved surface model Sb after deformation and the measurement point Q corresponding to the closest point H is generally smaller than in the deformation of the curved surface model Sb in one step. This means that the deformation at multiple stages achieves more accurate fitting.
<Other embodiments>
[0151] Although the structure using the B-Spline surface as the free curved surface has been described in the embodiment described above, the present disclosure is not limited to this structure. For example, a Bezier curved surface, a NURBS curved surface, or the like can be used instead of the B-Spline surface illustrated in formula (1) and the like.
[0152] In addition, although the structure that uses, as the object points, the measurement points Q obtained by measuring the surface shape of the metal mold is illustrated in the embodiment described above, the present disclosure is not limited to this structure. For example, the numerical data used at the time of new production of the metal mold may be used as the object points. That is, the technology disclosed herein can be used for applications other than reverse engineering of the metal mold.
[0153] Furthermore, the metal mold for the outer panel component of an automobile is illustrated as the metal mold in the specific example described above, the application target of the present disclosure is not limited to this example. The present disclosure can be applied to metal molds for inner panel components, metal molds for frame components, and any other metal molds. In addition, the method according to the present disclosure is useful not only at the time of new production of a metal mold but also at the time of maintenance of a metal mold such as a repair of secular change.
[0154] Furthermore, although the structure that uses the closest points H on the curved surface model S are illustrated as the deformation target points in the embodiment described above, the present disclosure is not limited to this structure. Points other than the closest points H can be the deformation target points.
[0155] In addition, although a computer having one CPU 3 is illustrated as an example of the computer 1 in the embodiment described above, the structure of the computer 1 is not limited to this structure. The computer 1 also may be a parallel computer such as a supercomputer or a PC cluster. When the computer 1 is a parallel computer, the curved surface fitting program 29 is executed by a plurality of calculators.
Industrial Applicability
[0156] As described above, the present disclosure is useful for manufacturing and maintaining various metal molds such as metal molds for outer panel components and has industrial applicability.
Reference Signs List
[0157]
1: computer (curved surface fitting device)
3: CPU (calculation unit)
31: control point setting unit
32: deformation target point setting unit
33: movement amount determination unit
34: FFD execution unit
19: storage medium
H: closest point (deformation target point)
R_{ijk}: control point
ΔR_{ijk}: movement amount
Q: measurement point (object point)
Q_{e}: measurement point to be added
S: curved surface model
S_{1}, S_{2}: curved surfaces
Sd: curved surface (curved surface partitioning domain)
St: trimmed surface
S_{e}: extrapolation surface (extrapolated curved surface)
V: volume