WO2021044891A1 - 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体 - Google Patents

曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体 Download PDF

Info

Publication number
WO2021044891A1
WO2021044891A1 PCT/JP2020/031894 JP2020031894W WO2021044891A1 WO 2021044891 A1 WO2021044891 A1 WO 2021044891A1 JP 2020031894 W JP2020031894 W JP 2020031894W WO 2021044891 A1 WO2021044891 A1 WO 2021044891A1
Authority
WO
WIPO (PCT)
Prior art keywords
curved surface
deformation
fitting processing
surface model
fitting
Prior art date
Application number
PCT/JP2020/031894
Other languages
English (en)
French (fr)
Inventor
又治 岡田
憲二郎 三浦
優人 中村
Original Assignee
マツダ株式会社
国立大学法人静岡大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マツダ株式会社, 国立大学法人静岡大学 filed Critical マツダ株式会社
Priority to US17/639,256 priority Critical patent/US20220335170A1/en
Priority to EP20861852.0A priority patent/EP4027303A4/en
Priority to CN202080059631.4A priority patent/CN114341942A/zh
Publication of WO2021044891A1 publication Critical patent/WO2021044891A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C33/00Moulds or cores; Details thereof or accessories therefor
    • B29C33/38Moulds or cores; Details thereof or accessories therefor characterised by the material or the manufacturing process
    • B29C33/3835Designing moulds, e.g. using CAD-CAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29KINDEXING SCHEME ASSOCIATED WITH SUBCLASSES B29B, B29C OR B29D, RELATING TO MOULDING MATERIALS OR TO MATERIALS FOR MOULDS, REINFORCEMENTS, FILLERS OR PREFORMED PARTS, e.g. INSERTS
    • B29K2905/00Use of metals, their alloys or their compounds, as mould material
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Definitions

  • the techniques disclosed herein relate to a curved surface fitting processing method, a fitting processing apparatus and a fitting processing program, and a computer-readable storage medium that stores the fitting processing program.
  • FFD Free-Form Deformation
  • Patent Document 1 discloses an FFD method (GFFD) based on a Gaussian function.
  • control points In a general FFD, a plurality of grid points (so-called control points) are set in the volume described above, and the control points are moved to realize the deformation of the volume.
  • the number of control points is increased as compared with the case where a simpler deformation is sufficient.
  • the number of control points became large, it was not possible to systematically determine the amount of movement of each control point after clarifying the rationale.
  • the technology disclosed here was made in view of this point, and the purpose is to systematically determine the amount of movement of each control point in the FFD after clarifying the rationale. is there.
  • the technology disclosed here is a curved surface fitting processing method in which a computer executes free-form deformation to fit a curved surface model set in a three-dimensional space to a plurality of target points set in a three-dimensional space.
  • the curved surface fitting processing method includes a control point setting step of setting a plurality of control points in the free-form deformation so as to surround at least a part of the curved surface model, and a method of setting the plurality of target points on the curved surface model.
  • the integrated value obtained by integrating the deformation target point setting process for setting a plurality of deformation target points corresponding to each and the square of the distance between the deformation target point and the target point corresponding to the deformation target point is minimized.
  • a movement amount determination step of determining the movement amount of each of the plurality of control points, and by executing the free-form deformation based on the movement amount, the curved surface model can be obtained. It includes an FFD execution step of fitting to the plurality of target points.
  • the amount of movement of each control point in free-form deformation can be determined by the least squares method using the sum of squares of the distances between the deformation target point and a plurality of target points. By doing so, it is possible to systematically determine the amount of movement of each control point while clarifying the rationale.
  • the plurality of target points may be composed of a plurality of measurement points obtained by measuring the surface shape of the mold.
  • the amount of movement of each control point can be appropriately calculated even when a measurement point that may contain noise or the like is set as a target point.
  • the deformation target point may be set as the nearest nearest point to the target point on the curved surface model.
  • the curved surface model is a combination of a plurality of curved surfaces
  • the fitting processing method of the curved surface includes the control point setting step, the deformation target point setting step, and the movement so that the plurality of curved surfaces are deformed at the same time.
  • the quantity determination step and the FFD execution step may be executed.
  • curved surface models having various forms can be fitted.
  • the curved surface model is composed of a combination of a curved surface that divides the definition area of the curved surface model and a trim curved surface that cuts out the curved surface, and the fitting processing method of the curved surface is a boundary line between the curved surface and the trim curved surface.
  • the control point setting step, the deformation target point setting step, the movement amount determination step, and the FFD execution step may be executed.
  • FFD is executed on the boundary line of the trim curved surface.
  • the continuity of the boundary line between the curved surface and the trim curved surface the continuity of the tangent plane between the curved surface and the trim curved surface, and the continuity of the curvature between the curved surface and the trim curved surface. It is possible to fit a curved surface model while maintaining the properties.
  • the curved surface fitting processing method divides the movement amount determined in the movement amount determination step, and executes the FFD execution step based on each of the divided movement amounts, thereby deforming the free shape. Is repeated multiple times.
  • the curved surface fitting processing method may include a step of extrapolating the curved surface to the curved surface model and a step of setting the deformation target point on the extrapolated curved surface.
  • the curved surface fitting processing method may include a step of adding the target point so as to correspond to the extrapolated curved surface.
  • a volume covering the curved surface model may be set, and the plurality of control points may be arranged in the volume.
  • Another technique disclosed here is composed of a computer having a calculation unit, and the computer executes a free-form deformation to set a curved surface model set on the three-dimensional space on the three-dimensional space.
  • the present invention relates to a curved surface fitting processing device that fits to a plurality of target points.
  • the calculation unit corresponds to a control point setting unit that sets a plurality of control points in the free-form deformation so as to surround at least a part of the curved surface model, and each of the plurality of target points on the curved surface model.
  • the integrated value obtained by integrating the squares of the distances between the deformation target point setting unit that sets a plurality of deformation target points, the deformation target point, and the target point corresponding to the deformation target point is minimized.
  • a movement amount determining unit that determines the movement amount of each of the plurality of control points, and by executing the free-form deformation based on the movement amount, the curved surface model is subjected to the plurality of the curved surface models. It has an FFD execution unit that fits to a target point.
  • the amount of movement of each control point can be systematically determined while clarifying the rationale.
  • the curved surface fitting processing program includes a procedure for setting a plurality of control points in the free-form deformation on the computer so as to surround at least a part of the curved surface model, and the plurality of target points on the curved surface model.
  • the integrated value obtained by integrating the squares of the steps for setting a plurality of deformation target points corresponding to each of the above and the distance between the deformation target point and the target point corresponding to the deformation target point is minimized.
  • the amount of movement of each control point can be systematically determined while clarifying the rationale.
  • Another technique disclosed herein also relates to a computer-readable storage medium characterized in that the fitting processing program is stored.
  • the amount of movement of each control point can be systematically determined while clarifying the rationale.
  • the rationale is clarified and then the rationale is clarified.
  • the amount of movement of each control point can be systematically determined.
  • FIG. 1 is a diagram illustrating a hardware configuration of a curved surface fitting processing device.
  • FIG. 2 is a diagram illustrating a software configuration of a curved surface fitting processing device.
  • FIG. 3 is a diagram for explaining the basic concept of FFD.
  • FIG. 4 is a flowchart illustrating a basic procedure of a curved surface fitting processing method.
  • FIG. 5 is a diagram for explaining a process of covering the curved surface model with a volume.
  • FIG. 6 is a flowchart illustrating a procedure for searching for the nearest nearest point.
  • FIG. 7 is a diagram for explaining a procedure for searching for the nearest nearest point.
  • FIG. 8 is a flowchart illustrating the procedure of multi-step deformation in FFD.
  • FIG. 1 is a diagram illustrating a hardware configuration of a curved surface fitting processing device.
  • FIG. 2 is a diagram illustrating a software configuration of a curved surface fitting processing device.
  • FIG. 3 is a diagram for explaining the basic concept
  • FIG. 9 is a diagram for explaining a procedure of multi-step deformation in FFD.
  • FIG. 10 is a diagram illustrating a curved surface model composed of a trim curved surface.
  • FIG. 11 is a diagram illustrating a curved surface model including a plurality of curved surfaces.
  • FIG. 12 is a diagram for explaining a configuration in which a curved surface is extrapolated to a curved surface model.
  • FIG. 13 is a diagram illustrating a curved surface model in which the bead shape is modeled.
  • FIG. 14 is a diagram illustrating an AA cross section of a curved surface model.
  • FIG. 15 is a diagram showing a deformation result of the curved surface model.
  • FIG. 16 is a diagram showing the result of applying the multi-step deformation to the curved surface model.
  • FIG. 17 is a diagram illustrating a configuration of a CPU as a calculation unit.
  • FIG. 1 is a diagram illustrating a hardware configuration of a curved surface fitting processing apparatus (specifically, a computer 1 constituting the processing apparatus) according to the present disclosure
  • FIG. 2 is a diagram illustrating a software configuration thereof. Is.
  • the computer 1 illustrated in FIG. 1 includes a central processing unit (CPU) 3 that controls the entire computer 1 and a read-only memory (ROM) 5 that stores a boot program and the like. , Random Access Memory (RAM) 7 that functions as main memory, hard disk drive (HDD) 9 as secondary storage device, display 11 that displays fitting results, etc., and display 11. It includes a graphics memory (Video RAM: VRAM) 13 that functions as a memory for storing image data to be displayed, and a keyboard 15 and a mouse 17 as input devices. Further, the computer 1 can communicate with an external device via the interface 21.
  • CPU central processing unit
  • ROM read-only memory
  • RAM Random Access Memory
  • HDD hard disk drive
  • VRAM graphics memory
  • VRAM graphics memory 13 that functions as a memory for storing image data to be displayed
  • keyboard 15 and a mouse 17 as input devices.
  • the computer 1 can communicate with an external device via the interface 21.
  • the program memory of the HDD 9 stores an operating system (OS) 19, a curved surface fitting processing program 29, an application program 39, and the like.
  • OS operating system
  • application program 39 application program 39
  • the curved surface fitting processing program 29 is a program for executing the curved surface fitting processing method described later, and corresponds to each step (steps S1 to S5 in FIG. 4) constituting the processing method.
  • the procedure is configured to be executed by the CPU 3.
  • the curved surface fitting processing program 29 is stored in advance in a computer-readable storage medium 19.
  • model data 49 indicating the curved surface model S to be deformed and measurement data 59 indicating a plurality of target points to be deformed of the curved surface model S are stored.
  • a 3D curved surface modeled on a mold can be used as the curved surface model S.
  • a plurality of measurement points Q obtained by measuring the surface shape of the mold can be used.
  • the configuration related to a specific curved surface model such as the curved surface model S composed of a plurality of curved surfaces S 1 and S 2 will be described.
  • the curved surface model after fitting created by executing the fitting processing program 29 and various calculation results created by executing the application program 39 are also stored in the data memory of the HDD 9.
  • the fitting processing program 29 and the application program 39 are activated in response to a command input from the keyboard 15 or the mouse 17. At that time, the fitting processing program 29 and the application program 39 are loaded from the HDD 9 into the RAM 7 and executed by the CPU 3.
  • the CPU 3 executes the fitting processing program 29 and the application program 39, the computer 1 functions as a curved surface fitting processing device.
  • the CPU 3 corresponds to the arithmetic unit referred to in the present disclosure.
  • the CPU 3 as a 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.
  • FIG. 3 is a diagram for explaining the basic concept of FFD
  • FIG. 4 is a flowchart illustrating a basic procedure of a curved surface fitting processing method
  • FIG. 5 shows a curved surface model S covered with a volume V. It is a figure for demonstrating a process.
  • FIG. 6 is a flowchart illustrating a search procedure for the nearest neighbor point H
  • FIG. 7 is a diagram for explaining a search procedure for the nearest neighbor point H.
  • a plurality of curved surface models S set on the three-dimensional space are set on the three-dimensional space by the computer 1 executing Free-Form Deformation (FFD). It fits to the target point (measurement point Q) of.
  • FFD Free-Form Deformation
  • the curved surface model S to be deformed is set.
  • a volume V having a large number of control points is set, and the curved surface model S is covered by the volume V.
  • the coordinate system itself is deformed.
  • the curved surface model S covered with the volume V is also deformed (see FIG. 3).
  • the transformation of the curved surface model S by FFD is executed using the parameter space instead of the global coordinate system.
  • the deformation of the curved surface model S is executed via a two-parameter free curved surface.
  • a case using a B-Spline curved surface will be described as an example of such a free curved surface.
  • the B-Spline curved surface can be defined by the following equation (1).
  • the above equation (1) is a parametric representation of the coordinates on the curved surface model S.
  • (u and v) are variables when the B-Spline curved surface is parametrically expressed, respectively, and define the parameter space (UV space).
  • "n” is the order of the B-Spline curved surface in the u direction
  • "m” is the order of the B-Spline curved surface in the v direction.
  • "N” is a so-called B-Spline basis function. That is, "t” in the equation (2) is a so-called knot sequence.
  • n and m in the equation (2) indicate the order of the B-Spline curved surface in the u direction and the v direction, respectively.
  • Pij indicates the i-th control point in the u direction and the j-th control point in the v direction.
  • 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 on the three-dimensional space, and the curved surface model S to be deformed by the FFD, the plurality of measurement points Q to be the deformation targets of the curved surface model S, and Includes.
  • the curved surface model S is parametrically expressed using the two parameters u and v as described above, and is represented as a B-Spline curved surface developed by the B-Spline basis function.
  • the shape of the curved surface model S can be characterized and coordinates of each control point P ij, and knot sequence defining the shape of the B-Spline basis functions by.
  • the control point setting unit 31 covers at least a part of the curved surface model S and the plurality of measurement points Q with the volume V, and sets a plurality of control points Pijk in the volume V.
  • the volume V can be expanded by using the B-Spline basis function in the same manner as the curved surface model S.
  • volume V V defined by the above equation (3) shows a three-dimensional shape rather than a curved surface
  • three variables using (u, v, w) are used. It becomes.
  • Pijk indicates the i-th control point in the u direction, the j-th control point in the v direction, and the k-th control point in the w direction.
  • the shape of the volume V can be characterized by the coordinates of each control point Pijk and the knot sequence that defines the shape of the B-Spline basis function.
  • the plurality of control points Pijk may be set so as to surround at least a part of the curved surface model S.
  • the volume V covers at least a part of the curved surface model S.
  • the volume V and the control point P ijk are set so as to cover all of the curved surface model S and the plurality of measurement points Q, and at the same time, each control point P ijk forms a simple cubic lattice. They are evenly spaced (see Figure 5).
  • Step S2 illustrated here is an example of the "control point setting step" in the present embodiment.
  • the deformation target point setting unit 32 sets a plurality of deformation target points corresponding to each of the plurality of measurement points Q on the curved surface model S.
  • each deformation target point is set as the nearest neighbor point H with respect to each measurement point Q on the curved surface model S.
  • the nearest nearest point H on the curve C with respect to a certain measurement point Q can be calculated as follows. That is, as shown in the following equation (4), when the line segment connecting the point P and the point on the curve C is orthogonal to each other, the point P and the point on the curve C are closest to each other.
  • the deformation target point setting unit 32 sets the value of the parameter (u, v) in the curved surface model S at the center on the parameter space (UV space).
  • step S32 the transformation target point setting unit 32 determines whether or not the search is an odd number of times, and if this determination is YES, the u direction is selected, while if the determination in step S32 is NO, v. Select a direction.
  • step S33 the deformation target point setting unit 32 fixes the direction selected in step S32, and then changes the direction not selected on the curved surface model S. Then, the parameter having the closest distance to each measurement point Q is found.
  • the process according to step S33 is executed using the above equation (4).
  • the dichotomy method, Newton's method, or the like can be used.
  • step S34 the deformation target point setting unit 32 updates the coordinates of the nearest neighbor point H by substituting the parameters found in step S33 into the coordinates of the nearest neighbor point H.
  • step S35 the transformation target point setting unit 32 determines whether or not the coordinates of the nearest neighbor point H updated in step S34 satisfy a predetermined condition, and if YES, the flow is terminated, while if NO, the flow is terminated. After adding the number of searches for one time, the process returns to step S32.
  • the predetermined condition in step S35 includes the amount of change in the parameter (u, v) during the search and / or whether or not the distance between the nearest neighbor point H and the measurement point Q is less than the predetermined threshold value. Is done.
  • a threshold value may be set for the number of searches for the nearest neighbor point H, and it may be determined whether or not the number of searches exceeds the threshold value.
  • the u direction is fixed and the v direction is changed, and the value of the parameter v closest to the measurement point Q is searched.
  • the coordinates of the nearest neighbor point H are updated with the value of v thus searched, and it is determined whether or not the updated coordinates satisfy a predetermined condition.
  • the value of the parameter u that is closest to the measurement point Q is searched by changing the u direction after fixing the v direction.
  • the coordinates of the nearest neighbor point H are updated with the value of u searched in this way, and it is determined again whether or not the updated coordinates satisfy a predetermined condition.
  • the process shown in FIG. 6 is executed for all the measurement points Q covered by the volume V.
  • the number of measurement points Q is N
  • the coordinates of the nearest neighbor point H are searched for each of the N measurement points Q.
  • the curved surface fitting processing method includes a step of removing the measurement point Q from the fitting target when the distance between the measurement point Q and the nearest neighbor point H exceeds a predetermined threshold value.
  • Step S3 illustrated here is an example of the “deformation target point setting step” in the present embodiment.
  • control point P ijk of the volume V is referred to as “R ijk ” in order to prevent confusion with the control point P ij of the curved surface model S.
  • step S4 following step S3, the movement amount determination unit 33 integrates the square of the distance between the deformation target point (nearest point H) included in the volume V and the measurement point Q corresponding to the nearest point H.
  • the least squares method is executed so that the integrated value is minimized.
  • the CPU 3 determines the movement amount ⁇ R ijk of each of the plurality of control points R ijk in the FFD.
  • the curved surface model S is deformed via the volume V by moving the control point R ijk of the volume V.
  • the shape of the curved surface model S is characterized by the control point Pij.
  • control points P ij of surface model S is denoted as P (I, J), the control point P (I, J) itself, Similar to the equation (3), it can be expanded by using the control point R ijk of the volume V.
  • s, t, w can be determined by I and J, respectively.
  • I and J the control points R ijk of the volume V
  • two parameters (I, J) in the curved surface model S and three parameters (s, t, w) in the volume V can be arranged. Correspondence can be easily calculated.
  • the objective function (Cost Function) can be defined as in the following equation (7).
  • the first term in parentheses in the equation (7) indicates the coordinates of the p-th nearest nearest point H when the control point R ijk of the volume V is moved by a predetermined movement amount ⁇ R ijk. ..
  • the second term in parentheses in the equation (7) indicates the coordinates of the measurement point Q corresponding to the nearest neighbor point H.
  • the objective function F is the sum of the squares of the distances between the nearest neighbor point H and the measurement point Q when the control point R ijk is moved by a predetermined movement amount ⁇ R ijk (integration formed by integrating the squares of the distances). Value) is shown. Therefore, the objective function F can be regarded as the objective function in the least squares method, the movement amount ⁇ R ijk that minimizes the objective function F is searched, and the control point R ijk is moved by the searched movement amount ⁇ R ijk. Then, the sum of squares of the distances between the nearest neighbor point H and the measurement point Q can be minimized.
  • the movement amount determination unit 33 partially differentiates the objective function F with respect to the movement amount ⁇ R ijk , and sets it to 0 to obtain the movement amount ⁇ R ijk that minimizes the objective function F.
  • the matrix A is a (i ⁇ j ⁇ k) -order square matrix.
  • Each element of the matrix A is represented by the following equations (12) to (14).
  • R ijk ' By solving Eq. (11) for R ijk ', it is possible to obtain R ijk ', which minimizes the objective function F, and thus the movement amount ⁇ R ijk.
  • the solution method of the equation (11) for example, the LU decomposition method can be used.
  • the movement amount determination unit 33 calculates the movement amount ⁇ R ijk through numerical calculation using the LU decomposition method or the like.
  • Step S4 illustrated here is an example of the "movement amount determination step" in the present embodiment.
  • step S5 the FFD execution unit 34 fits the curved surface model S to a plurality of measurement points Q by executing FFD based on the movement amount ⁇ R ijk calculated in step S4.
  • FFD execution unit 34 moves the control points R ijk, updates to the new control point R ijk + ⁇ R ijk.
  • the volume V is deformed based on the equation (3).
  • the control points P (I, J) of the curved surface model S are updated based on the equation (5)
  • the curved surface model S is deformed based on the equation (1), and the flow shown in FIG. 4 ends. To do.
  • step S5 illustrated here is an example of the "FFD execution process" in the present embodiment.
  • the movement amount ⁇ R ijk of each control point R ijk in the FFD is the sum of the squares of the distances between the nearest neighbor point H as the deformation target point and each measurement point Q corresponding thereto. It can be determined by the least squares method using. By doing so, it is possible to systematically determine the movement amount ⁇ R ijk of each control point while clarifying the rationale.
  • each control point R ijk The amount of movement ⁇ R ijk of can be appropriately calculated.
  • FIG. 8 is a flowchart illustrating the procedure of multi-step deformation in FFD
  • FIG. 9 is a diagram for explaining the procedure of multi-step deformation in FFD.
  • the flow shown in FIG. 4 may not be sufficient. That is, when FFD by the least squares method is used, whether or not the curved surface model S and each measurement point Q are sufficiently close to each other depends on the search accuracy of the nearest nearest point H as the deformation target point. When the curved surface model S and each measurement point Q are relatively far apart, the parameter obtained as the nearest neighbor point H may not be optimal. Therefore, by repeating the deformation by the FFD a plurality of times and searching for the nearest neighbor point H each time, it is possible to execute the deformation with higher accuracy.
  • the computer 1 as a curved surface fitting processing device divides the movement amount ⁇ R ijk determined in the step S4 (movement amount determination step) described above, and describes the movement amount ⁇ R ijk based on the divided movement amount ⁇ R ijk.
  • step S5 FFD execution step
  • FIG. 8 is a flowchart illustrating the procedure of such multi-step transformation.
  • N indicates the number of times the FFD is repeated.
  • the number of repetitions N is preset and stored in the RAM 7, HDD 9, and the like.
  • the computer 1 executes reading of the model data 49 and setting of the volume V as in steps S1 to S2 of FIG. At this time, the computer 1 also reads the number of repetitions N of the FFD.
  • step S101 of FIG. 8 the CPU 3 sets the variable i to zero.
  • the variable i indicates the number of repetitions at that time.
  • transformation target point setting unit 32 searches for a nearest neighbor H i on surface model S corresponding to each measurement point Q.
  • the subscript i subscript in the neighbors H i recently, shows the number of repetitions i.
  • this step S102 the same process as in step S3 of FIG. 4, that is, the process described with reference to FIG. 6 is executed.
  • i 0, that is, the nearest neighbor point H 0 found during the first search coincides with the nearest neighbor point H obtained in step S3 of FIG.
  • step S103 the movement amount determination unit 33, based on the nearest neighbor H i found in step S102, it obtains the movement amount [Delta] R i of the control points by the least squares method.
  • the subscript i in the movement amount ⁇ R i indicates the number of repetitions i , as in the case of the nearest neighbor point Hi.
  • step S103 the same process as in step S4 of FIG. 4 is executed.
  • the movement amount determination unit 33 divides the movement amount ⁇ R i obtained in step S103 and calculates a new movement amount ⁇ R i'. Specifically, the movement amount [Delta] R i 'is obtained from the following equation (15).
  • step S105 FFD execution unit 34, based on the new shift amount [Delta] R i 'obtained in step S104, the control point of the volume V R, is moved and hence the control points P (I, J) of the surface model S a ..
  • step S106 the CPU 3 determines whether or not the number of repetitions i has reached N-1, that is, whether or not the steps S102 to S105 have been repeated N times. If this determination is YES, the transformation by FFD ends.
  • step S106 determines whether the number of repetitions i is added only once in step S107. If the determination in step S106 is NO, the number of repetitions i is added only once in step S107, and then the process returns to step S102.
  • the nearest neighbor point Hi + 1 will be searched on the curved surface model S after being deformed based on the new movement amount ⁇ R i'. By repeating these steps recursively, nearest neighbor H i, H i + 1, H i + 2 would gradually approaches the measurement point Q (see Figure 9).
  • the new shift amount [Delta] R i ' is a sufficiently small value compared to the original amount of movement [Delta] R i.
  • [Delta] R i ' is a new movement amount, a value close to the original amount of movement [Delta] R i.
  • the new movement amount ⁇ R i ′ coincides with the original movement amount ⁇ R i.
  • FIG. 10 is a diagram illustrating a curved surface model S composed of a trim curved surface St.
  • a 3D curved surface modeled on the mold can be used, and as a plurality of target points, a plurality of measurement points Q indicating the surface shape of the mold can be used.
  • a mold having a complicated and fine shape such as a mold for an automobile outer panel part, it is not a single curved surface as shown in FIG. 3 or the like, but a curved surface combining so-called trim curved surfaces. May be modeled.
  • a combination of a curved surface Sd that divides the domain of the curved surface model S'and a trim curved surface St that cuts out the curved surface Sd may be fitted. is there.
  • the computer 1 is configured to perform fitting by FFD on the boundary line C between the curved surface Sd and the trim curved surface St in addition to the curved surface Sd constituting the curved surface model S'. ..
  • the curved surface Sd is fitted in the same manner as the curved surface model S described above.
  • the boundary line C between the curved surface Sd and the trim curved surface St may be defined as a closed loop in UV space (see FIG. 10), and then FFD using the least squares method may be executed for the closed loop.
  • step S2 control point setting step
  • step S3 deformation target point setting step
  • step S4 movement amount determination step
  • step S5 step S5
  • the continuity of the boundary line C between the curved surface Sd and the trimmed curved surface St, the curved surface Sd and the trim can be fitted while maintaining the continuity of the tangent plane with the curved surface St and the continuity of the curvature between the curved surface Sd and the trim curved surface St.
  • FIG. 11 is a diagram illustrating a curved surface model including a plurality of curved surfaces S 1 and S 2.
  • the curved surface fitting processing method according to the present embodiment can simultaneously deform a plurality of curved surfaces.
  • the curved surface model S is a combination of a plurality of curved surfaces S 1 , S 2 , ... Set in the three-dimensional space
  • the computer 1 as a curved surface fitting processing device has the plurality of curved surfaces S 1 , S 2 and so on.
  • step S2 control point setting step
  • step S3 deformation target point setting step
  • step S4 moving amount determination step
  • step S5 FFD execution step
  • the sum of squares of the distances from the corresponding curved surfaces is integrated for each measurement point Q.
  • the corresponding curved surface for each measurement point Q it is possible to fit the curved surface model S formed by combining a plurality of curved surfaces.
  • the distance to the measurement point Q and the curved surface S 1 the distance between the measurement point Q and the curved surface S 2, but is calculated sequentially, relatively distances shorter curved S 1
  • the curved surface model S composed of a plurality of curved surfaces can be fitted by using the FFD.
  • Figure 12 is a diagram illustrating a configuration extrapolate curved S e to surface model S.
  • the curved surface obtained by fitting may undulate unnaturally at a place deviating from each measurement point Q (particularly near the boundary of the curved surface) while being sufficiently close to each measurement point Q.
  • Such a situation can occur, for example, when the curved surface model S has a complicated shape or when a large number of measurement points Q are arranged. This is inconvenient for application to a mold having a complicated and fine shape such as a mold for a vehicle outer panel part.
  • the curved surface fitting processing method of curved surface according to the present embodiment as illustrated in FIG. 12, the curved surface S e with extrapolated surface model S, the nearest neighbor H as a modified target point, extrapolated (hereinafter, is referred to as "outer ⁇ ", reference numeral "S e") it can also be set on. If necessary, to correspond to the outer ⁇ S e, the measurement point Q e can be added virtually as required. Such steps are added, for example, before and after step S1 in FIG.
  • Outer ⁇ S e may be, for example, the tangent plane that extends from the edge of the surface model S.
  • the measurement point Q e to be added its accuracy is not particularly necessary to take into consideration.
  • the measurement result of the actual mold is used as the measured value Q
  • the three-dimensional CAD data before feedback is used as the curved surface model S
  • the FFD method using the least squares method that is, the curved surface according to the present embodiment. Apply the fitting process.
  • the amount of movement of the control point in the FFD can be systematically determined, and the three-dimensional CAD data can be fitted to the measured value Q.
  • the curved surface fitting processing method according to the present embodiment can be used for so-called reverse engineering.
  • a curved surface model obtained based on the mold may be composed of a plurality of trim curved surfaces or may be composed of a plurality of curved surfaces. It may be configured.
  • the curved surface fitting processing method according to the present embodiment can systematically fit even such a curved surface model while clarifying the theoretical basis.
  • the method for determining the amount of movement of the control point has no theoretical basis or that the theoretical basis is appropriate.
  • the movement amount can be automatically determined without imposing a burden on the user.
  • FIG. 13 is a diagram illustrating a curved surface model Sb that models the bead shape
  • FIG. 14 is a diagram illustrating an AA cross section of the curved surface model Sb
  • FIG. 15 is a diagram showing a deformation result of the curved surface model Sb.
  • FIG. 16 is a diagram showing the result of applying the multi-step deformation to the curved surface model Sb.
  • the curved surface model Sb illustrated in FIG. 13 is a model of the bead shape in the mold for manufacturing the outer panel parts, and is composed of three-dimensional CAD data at the time of new production.
  • the target point in FIG. 13 is, for example, a measurement point showing the surface shape of the actual mold after being manually processed by a craftsman.
  • 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 Sb3, and a fifth curved surface Sb5 in order from the left side of the paper surface.
  • the first extrapolated surface Sx1 is extrapolated from the first curved surface Sb1 toward the left side of the paper surface
  • the second extrapolated surface Sx2 is extrapolated from the second curved surface Sb2 toward the right side of the paper surface.
  • a new measurement point Qe is added along with the extrapolation of the first extrapolation surface Sx1 and the second extrapolation surface Sx2.
  • a curved surface having a relatively small curvature such as the first curved surface Sb1 and the fifth curved surface Sb5 is compared with a curved surface having a relatively large curvature such as the second curved surface Sb2 and the fourth curved surface Sb4. And it is deformed without excess or deficiency.
  • a configuration using a measurement point Q obtained by measuring the surface shape of the mold is illustrated as a target point, but the present disclosure is not limited to the configuration.
  • the numerical data used when the mold is newly manufactured may be used as the target point. That is, the technique disclosed herein can be used for applications other than reverse engineering of molds.
  • the mold for the outer panel parts of the automobile is illustrated as the mold, but the scope of application of the present disclosure is not limited to this.
  • the present disclosure can be applied to molds for inner plate parts, molds for frame parts, and any other mold.
  • the method according to the present disclosure is useful not only at the time of new production of the mold but also at the time of maintenance of the mold such as correction of aging.
  • a configuration using the nearest neighbor point H on the curved surface model S as a deformation target point is illustrated, but the present disclosure is not limited to that configuration.
  • a point other than the nearest neighbor point H can be set as a deformation target point.
  • Computer 1 As an example of the computer 1, a computer having one CPU 3 is illustrated, but the configuration is not limited to such a configuration.
  • Computer 1 also includes parallel computers such as supercomputers and PC clusters. When the computer 1 is a parallel computer, the curved surface fitting processing program 29 is executed by using a plurality of computers.
  • the present disclosure is useful for the manufacture and maintenance of various molds including molds for outer panel parts, and has industrial applicability.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Manufacturing & Machinery (AREA)
  • Mechanical Engineering (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

曲面のフィッティング処理方法は、曲面モデル(S)上に各測定点(Q)と対応する最近傍点(H)を設定する工程と、最近傍点(H)と測定点(Q)との距離の2乗和が最小になるように最小2乗法を実行することによって各制御点(Rijk)の移動量(ΔRijk)を決定する工程と、移動量(ΔRijk)に基づいてFFDを実行することで、曲面モデル(S)を測定点(Q)にフィッティングする工程と、を備える。

Description

曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体
 ここに開示する技術は、曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体に関する。
 曲面をフィッティングするための手法として、いわゆる自由形状変形(Free-Form Deformation:FFD)が広く知られている。FFDは、曲面を覆うボリュームを変形することで、このボリュームを介して曲面を変形する手法である。
 例えば特許文献1には、ガウス関数に基づくFFDの手法(GFFD)が開示されている。
特開2004-78309号公報
 一般的なFFDにおいては、前述のボリューム内に複数の格子点(いわゆる制御点)を設定し、それら制御点をそれぞれ移動させることで、ボリュームの変形を実現する。
 ここで、例えば自動車の外板部品のように、曲面をきめ細かく変形する場合には、より簡素な変形で足る場合と比較して、制御点の数は増えることになる。これまでは、制御点が多数となった場合に、理論的根拠を明確にした上で、各制御点の移動量をシステマティックに決定することができなかった。
 ここに開示する技術は、かかる点に鑑みてなされたものであり、その目的とするところは、理論的根拠を明確にした上で、FFDにおける各制御点の移動量をシステマティックに決定することにある。
 ここに開示する技術は、コンピュータが自由形状変形を実行することで、3次元空間上に設定される曲面モデルを、3次元空間上に設定される複数の目標点にフィッティングする曲面のフィッティング処理方法に係る。
 前記曲面のフィッティング処理方法は、前記曲面モデルの少なくとも一部を囲むように、前記自由形状変形における複数の制御点を設定する制御点設定工程と、前記曲面モデル上に、前記複数の目標点の各々と対応する複数の変形対象点を設定する変形対象点設定工程と、前記変形対象点と、該変形対象点に対応する目標点との距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行することにより、前記複数の制御点それぞれの移動量を決定する移動量決定工程と、前記移動量に基づいて前記自由形状変形を実行することで、前記曲面モデルを前記複数の目標点にフィッティングするFFD実行工程と、を備える。
 この方法によれば、自由形状変形(FFD)における各制御点の移動量を、変形対象点と複数の目標点との距離の2乗和を用いた最小2乗法によって決定することができる。そのことで、理論的根拠を明確にしつつ、各制御点の移動量をシステマティックに決定することができる。
 また、前記複数の目標点は、金型の表面形状を測定することにより得られる複数の測定点からなる、としてもよい。
 この方法によれば、ノイズ等が含まれ得る測定点を目標点とした場合にあっても、各制御点の移動量を適切に算出することができる。
 また、前記変形対象点は、前記曲面モデル上における、前記目標点に対する最近傍点として設定される、としてもよい。
 この方法によれば、変形対象点を適切に設定し、ひいては各制御点の移動量をシステマティックに決定する上で有利になる。
 また、前記曲面モデルは、複数の曲面を組み合わせてなり、前記曲面のフィッティング処理方法は、前記複数の曲面が同時に変形されるように、前記制御点設定工程、前記変形対象点設定工程、前記移動量決定工程および前記FFD実行工程を実行する、としてもよい。
 この方法によれば、様々な形態を有する曲面モデルをフィッティングすることができる。
 また、前記曲面モデルは、該曲面モデルの定義域を区画する曲面と、該曲面を切り抜くトリム曲面と、を組み合わせてなり、前記曲面のフィッティング処理方法は、前記曲面と前記トリム曲面との境界線に対し、前記制御点設定工程、前記変形対象点設定工程、前記移動量決定工程および前記FFD実行工程を実行する、としてもよい。
 この方法によれば、トリム曲面の境界線に対してFFDを実行することになる。ここで、曲面に対する変形結果を併用することで、曲面とトリム曲面との境界線の連続性、曲面とトリム曲面との接平面の連続性、および、曲面とトリム曲面との間の曲率の連続性を保ちつつ、曲面モデルをフィッティングすることができる。
 また、前記曲面のフィッティング処理方法は、前記移動量決定工程において決定された移動量を分割し、かつ該分割された各移動量に基づいて前記FFD実行工程を実行することで、前記自由形状変形を複数回にわたり繰り返し実行する。
 この方法によれば、FFDを多段階で実行することで、曲面の広がりを抑制するとともに、より高精度な変形を実現することができる。
 また、前記曲面のフィッティング処理方法は、前記曲面モデルに曲面を外挿する工程と、前記外挿された曲面上に、前記変形対象点を設定する工程と、を備える、としてもよい。
 この方法によれば、曲面の境界付近のうねりを抑制し、よりスムースなフィッティングを実現することができる。
 また、前記曲面のフィッティング処理方法は、前記外挿された曲面と対応するように、前記目標点を追加する工程を備える、としてもよい。
 また、前記制御点設定工程は、前記曲面モデルを覆うボリュームを設定し、該ボリューム内に前記複数の制御点を配置する、としてもよい。
 ここに開示する別の技術は、演算部を有するコンピュータによって構成され、該コンピュータが自由形状変形を実行することで、3次元空間上に設定される曲面モデルを、3次元空間上に設定される複数の目標点にフィッティングする曲面のフィッティング処理装置に係る。前記演算部は、前記曲面モデルの少なくとも一部を囲むように、前記自由形状変形における複数の制御点を設定する制御点設定部と、前記曲面モデル上に、前記複数の目標点の各々と対応する複数の変形対象点を設定する変形対象点設定部と、前記変形対象点と、該変形対象点に対応する目標点との距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行することにより、前記複数の制御点それぞれの移動量を決定する移動量決定部と、前記移動量に基づいて前記自由形状変形を実行することで、前記曲面モデルを前記複数の目標点にフィッティングするFFD実行部と、を有する。
 この構成によれば、理論的根拠を明確にしつつ、各制御点の移動量をシステマティックに決定することができる。
 ここに開示する別の技術は、コンピュータに自由形状変形を実行させることで、3次元空間上に設定される曲面モデルを、3次元空間上に設定される複数の目標点にフィッティングする曲面のフィッティング処理プログラムに係る。前記曲面のフィッティング処理プログラムは、前記コンピュータに、前記曲面モデルの少なくとも一部を囲むように、前記自由形状変形における複数の制御点を設定する手順と、前記曲面モデル上に、前記複数の目標点の各々と対応する複数の変形対象点を設定する手順と、前記変形対象点と、該変形対象点に対応する目標点との距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行することにより、前記複数の制御点それぞれの移動量を決定する手順と、前記移動量に基づいて前記自由形状変形を実行することで、前記曲面モデルを前記複数の目標点にフィッティングする手順と、を実行させる。
 このプログラムによれば、理論的根拠を明確にしつつ、各制御点の移動量をシステマティックに決定することができる。
 ここに開示する別の技術は、前記フィッティング処理プログラムを記憶していることを特徴とするコンピュータ読取可能な記憶媒体にも係る。
 この記憶媒体によれば、理論的根拠を明確にしつつ、各制御点の移動量をシステマティックに決定することができる。
 以上説明したように、前記曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体によれば、理論的根拠を明確にした上で、各制御点の移動量をシステマティックに決定することができる。
図1は、曲面のフィッティング処理装置のハードウェア構成を例示する図である。 図2は、曲面のフィッティング処理装置のソフトウェア構成を例示する図である。 図3は、FFDの基本概念を説明するための図である。 図4は、曲面のフィッティング処理方法の基本的な手順を例示するフローチャートである。 図5は、曲面モデルをボリュームで覆う工程を説明するための図である。 図6は、最近傍点の探索手順を例示するフローチャートである。 図7は、最近傍点の探索手順を説明するための図である。 図8は、FFDにおける多段階変形の手順を例示するフローチャートである。 図9は、FFDにおける多段階変形の手順を説明するための図である。 図10は、トリム曲面によって構成される曲面モデルを例示する図である。 図11は、複数の曲面からなる曲面モデルを例示する図である。 図12は、曲面モデルに曲面を外挿する構成について説明するための図である。 図13は、ビード形状をモデル化した曲面モデルを例示する図である。 図14は、曲面モデルのA-A断面を例示する図である。 図15は、曲面モデルの変形結果を示す図である。 図16は、曲面モデルに多段階変形を適用した結果を示す図である。 図17は、演算部としてのCPUの構成を例示する図である。
 以下、本開示の実施形態を図面に基づいて説明する。以下の説明は、例示である。
 《装置構成》
 図1は、本開示に係る曲面のフィッティング処理装置(具体的には、その処理装置を構成するコンピュータ1)のハードウェア構成を例示する図であり、図2は、そのソフトウェア構成を例示する図である。
 図1に例示されるコンピュータ1は、コンピュータ1全体の制御を司る中央処理装置(Central Processing Unit:CPU)3と、ブートプログラム等を記憶しているリードオンリーメモリ(Read Only Memory:ROM)5と、メインメモリとして機能するランダムアクセスメモリ(Random Access Memory:RAM)7と、2次記憶装置としてのハードディスクドライブ(Hard Disk Drive:HDD)9と、フィッティング結果等を表示するディスプレイ11と、ディスプレイ11に表示する画像データを蓄積するメモリとして機能するグラフィックスメモリ(Video RAM:VRAM)13と、入力装置としてのキーボード15およびマウス17と、を備えている。また、このコンピュータ1は、インターフェース21を介して外部機器と通信を行うことができる。
 図2に例示するように、HDD9のプログラムメモリには、オペレーティングシステム(Operating System:OS)19、曲面のフィッティング処理プログラム29、アプリケーションプログラム39等が格納される。
 このうち、曲面のフィッティング処理プログラム29は、後述される曲面のフィッティング処理方法を実行するためのプログラムであって、同処理方法を構成する各工程(図4のステップS1~ステップS5)に対応した手順を、CPU3に実行させるように構成されている。図1に例示するように、曲面のフィッティング処理プログラム29は、コンピュータ読取可能な記憶媒体19に予め記憶されている。
 一方、HDD9のデータメモリには、変形対象とされる曲面モデルSを示すモデルデータ49と、曲面モデルSの変形目標とされる複数の目標点を示す測定データ59と、が格納される。
 なお、曲面モデルSとしては、金型をモデル化した3D曲面を用いることができる。この場合、複数の目標点としては、金型の表面形状を測定することにより得られる複数の測定点Qを用いることができる。本実施形態では、曲面モデルS一般に関連した構成について説明した後に、複数の曲面S,Sからなる曲面モデルSなど、特定の曲面モデルに関連した構成について説明する。
 この他、フィッティング処理プログラム29の実行によって作成されるフィッティング後の曲面モデルや、アプリケーションプログラム39の実行によって作成される各種計算結果も、HDD9のデータメモリに記憶される。
 前記構成において、フィッティング処理プログラム29およびアプリケーションプログラム39は、キーボード15やマウス17から入力される指令に応じて起動される。その際、フィッティング処理プログラム29およびアプリケーションプログラム39は、HDD9からRAM7にロードされ、CPU3によって実行されることになる。CPU3がフィッティング処理プログラム29およびアプリケーションプログラム39を実行することで、このコンピュータ1は、曲面のフィッティング処理装置として機能することになる。ここで、CPU3は、本開示でいうところの演算部に対応している。演算部としてのCPU3は、図17に例示するように、制御点設定部31、変形対象点設定部32、移動量決定部33およびFFD実行部34を有してなる。
 《曲面のフィッティング処理方法》
 図3は、FFDの基本概念を説明するための図であり、図4は、曲面のフィッティング処理方法の基本的な手順を例示するフローチャートであり、図5は、曲面モデルSをボリュームVで覆う工程を説明するための図である。また、図6は、最近傍点Hの探索手順を例示するフローチャートであり、図7は、最近傍点Hの探索手順を説明するための図である。
 図4に示すフィッティング手順は、コンピュータ1が自由形状変形(Free-Form Deformation:FFD)を実行することで、3次元空間上に設定される曲面モデルSを、3次元空間上に設定される複数の目標点(測定点Q)にフィッティングするものである。
 ここで、FFDでは、まず、変形対象となる曲面モデルSを設定する。次いで、多数の制御点を有するボリュームVを設定し、そのボリュームVによって曲面モデルSを覆う。そして、各制御点を移動させることで、その制御点が定義されたボリュームV、ひいては座標系自体を変形せしめる。座標系の変形に伴って、ボリュームVに覆われた曲面モデルSも変形することになる(図3を参照)。
 また、FFDによる曲面モデルSの変形は、グローバル座標系ではなく、パラメータ空間を用いて実行される。特に本実施形態では、曲面モデルSの変形は、2パラメータの自由曲面を介して実行される。以下の記載では、そうした自由曲面の一例として、B-Spline曲面を用いたケースについて説明する。
 具体的に、B-Spline曲面は、下式(1)によって定義することができる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 上式(1)は、曲面モデルS上の座標をパラメトリック表現したものである。式(1)において、(u,v)は、それぞれ、B-Spline曲面をパラメトリック表現したときの変数であり、パラメータ空間(UV空間)を規定している。そして、“n”はu方向におけるB-Spline曲面の次数であり、“m”はv方向におけるB-Spline曲面の次数である。また、式(2)に示すように、“N”はいわゆるB-Spline基底関数である。すなわち、式(2)の“t”は、いわゆるノット列である。また、式(2)における上付の添字n,mは、それぞれ、u方向およびv方向におけるB-Spline曲面の次数を示している。また、Pijは、u方向においてi番目、かつv方向においてj番目の制御点を示している。
 (フィッティング処理方法の基本概念)
 以下、図4の各ステップについて順番に説明をする。
 -ステップS1-
 最初のステップS1では、コンピュータ1は、プログラムメモリに格納されたモデルデータ49と測定データ59を読み込む。モデルデータ49および測定データ59は、前述のように、3次元空間上に設定され、かつFFDによる変形対象となる曲面モデルSと、この曲面モデルSの変形目標となる複数の測定点Qと、を含んでいる。
 このうち、曲面モデルSは、前述のように、2つのパラメータu,vを用いてパラメトリック表現するとともに、B-Spline基底関数によって展開されたB-Spline曲面として表される。曲面モデルSの形状は、各制御点Pijの座標と、B-Spline基底関数の形状を定めるノット列と、によって特徴付けることができる。
 -ステップS2-
 続くステップS2では、制御点設定部31は、曲面モデルSおよび複数の測定点Qの少なくとも一部をボリュームVで覆い、かつ該ボリュームV内に複数の制御点Pijkを設定する。下式(3)に示すように、ボリュームVは、曲面モデルSと同様に、B-Spline基底関数を用いて展開することができる。
Figure JPOXMLDOC01-appb-M000003
 上式(3)によって定義されるB-Splineボリューム(以下、単に「ボリュームV」ともいう)Vは、曲面ではなく立体形状を示しているため、(u、v、w)を用いた3変数となる。
 ここで、曲率連続性を保証するためには、u方向、v方向およびw方向の全てにおいて3次以上のB-Spline基底関数を用いる必要がある。本実施形態では、3次のB-Spline基底関数を用いたケースについて説明する。
 また、上式(3)において、Pijkは、u方向においてi番目、かつv方向においてj番目、かつw方向においてk番目の制御点を示す。ボリュームVの形状は、各制御点Pijkの座標と、B-Spline基底関数の形状を定めるノット列と、によって特徴付けることができる。
 ここで、複数の制御点Pijkは、曲面モデルSの少なくとも一部を囲むように設定すればよい。その場合、ボリュームVは、曲面モデルSの少なくとも一部を覆うことになる。特に本実施形態では、曲面モデルSおよび複数の測定点Qの全てを覆うようにボリュームVおよび制御点Pijkが設定されていると同時に、各制御点Pijkは、単純立方格子をなすように等間隔で並んでいる(図5を参照)。
 ボリュームVおよび制御点Pijkの設定が完了すると、ステップS2からステップS3へ進む。ここに例示したステップS2は、本実施形態における「制御点設定工程」の例示である。
 -ステップS3-
 続くステップS3では、変形対象点設定部32は、曲面モデルS上に、複数の測定点Qの各々と対応する複数の変形対象点を設定する。本実施形態では、各変形対象点は、曲面モデルS上での、各測定点Qに対する最近傍点Hとして設定される。
 例えば、ある測定点Qに対する曲線C上の最近傍点Hは、次のように計算することができる。すなわち、下式(4)に示すように、点Pと曲線C上の点を結ぶ線分が直交するときに、点Pと曲線C上の点が最も近付くことになる。
Figure JPOXMLDOC01-appb-M000004
 よって、上式(4)を用いた探索を、u方向とv方向の双方について実施することで、各測定点Qに対する曲面モデルS上の最近傍点Hを見つけ出すことができる。この処理を具体的に例示したのが、図6に示すフローチャートである。
 まず、図6のステップS31において、変形対象点設定部32は、曲面モデルSにおけるパラメータ(u,v)の値を、パラメータ空間(UV空間)上の中心に設定する。
 続くステップS32において、変形対象点設定部32は、奇数回目の探索であるか否かを判定し、この判定がYESの場合はu方向を選択する一方、ステップS32の判定がNOの場合はv方向を選択する。
 続くステップS33において、変形対象点設定部32は、ステップS32で選択された方向を固定した上で、選択されなかった方向を曲面モデルS上で変化させる。そして、各測定点Qとの距離が最も近いパラメータを発見する。ステップS33に係る処理は、上式(4)を用いて実行される。なお、上式(4)を数値計算する際には、二分法、ニュートン法等を用いることができる。
 続くステップS34において、変形対象点設定部32は、ステップS33で発見されたパラメータを最近傍点Hの座標に代入することで、最近傍点Hの座標を更新する。
 続くステップS35において、変形対象点設定部32は、ステップS34で更新された最近傍点Hの座標が所定条件を満たすか否かを判定し、YESの場合はフローを終了する一方、NOの場合は、探索回数を1回分加算した上でステップS32に戻る。
 なお、ステップS35における所定条件には、探索時におけるパラメータ(u,v)の変化量、および/または、最近傍点Hと測定点Qとの距離が所定の閾値未満になったかを否かが含まれる。これに加えて、または、これに代えて、最近傍点Hの探索回数に閾値を設定し、探索回数がその閾値を超えたか否かを判定してもよい。
 例えば図7に示すように、1回目の探索時には、u方向を固定した上でv方向を変化させ、測定点Qとの距離が最も近いパラメータvの値を探索する。そうして探索されたvの値で最近傍点Hの座標を更新し、更新された座標が所定条件を満たすか否かを判定する。ここで、更新された座標が所定条件を満たさなかった場合は、v方向を固定した上でu方向を変化させ、測定点Qとの距離が最も近いパラメータuの値を探索する。そうして探索されたuの値で最近傍点Hの座標を更新し、更新された座標が所定条件を満たすか否かを再度判定する。
 こうした工程を繰り返し実行し、所定条件が満たした時点におけるパラメータ(u,v)の値を、最終的な最近傍点Hの座標に設定する。
 また、図6に示す処理は、ボリュームVによって覆われた全ての測定点Qに対して実行される。例えば測定点Qの数がN個であった場合は、N個の測定点Qのそれぞれについて、最近傍点Hの座標が探索されることになる。
 以下、N個の最近傍点Hのうち、p番目の最近傍点Hの座標を(u,v)と表記する。以下の記載では、この最近傍点Hに対応する測定点Qの座標を、特にQ(u,v)と表記する場合がある。
 なお、測定点Qと、これに対応する最近傍点Hとが大きく離れている場合、後述の最小2乗法でフィッティングするには不適切であるため、取り除く必要がある。そこで、本実施形態に係る曲面のフィッティング処理方法は、測定点Qと最近傍点Hとの距離が所定の閾値を上回る場合は、その測定点Qをフィッティングの対象から取り除く工程を備えている。
 図6に示す処理を全ての測定点Qに対し実行すると、図6に係るフローを終了し、図4のステップS3からステップS4へ進む。ここに例示したステップS3は、本実施形態における「変形対象点設定工程」の例示である。
 -ステップS4-
 以下、曲面モデルSの制御点Pijとの混同を防ぐべく、ボリュームVの制御点Pijkを“Rijk”と表記することに留意されたい。
 ステップS3から続くステップS4では、移動量決定部33は、ボリュームV内に含まれる変形対象点(最近傍点H)と、その最近傍点Hに対応する測定点Qとの距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行する。最小2乗法を実行することにより、CPU3は、FFDにおける複数の制御点Rijkそれぞれの移動量ΔRijkを決定する。
 FFDを用いた場合、ボリュームVの制御点Rijkを移動させることで、このボリュームVを介して曲面モデルSを変形させるようになっている。一方、曲面モデルSの形状は、制御点Pijによって特徴付けられている。
 よって、FFDによって曲面モデルSを変形させるためには、ボリュームVの制御点Rijkと、曲面モデルSの制御点Pijとの対応関係が必要になる。ここで、ボリュームVの制御点Rijkにおける添字との混合を防ぐべく、曲面モデルSの制御点PijをP(I,J)と表記すると、この制御点P(I,J)自体を、式(3)と同様に、ボリュームVの制御点Rijkを用いて展開することができる。
Figure JPOXMLDOC01-appb-M000005
 s,t,wは、それぞれ、I,Jによって決定することができる。前述のように、ボリュームVの制御点Rijkを格子状に配置することで、曲面モデルSにおける2つのパラメータ(I,J)と、ボリュームVにおける3つのパラメータ(s,t,w)との対応関係を容易に算出することができる。
 そして、式(1)におけるn,mをそれぞれL,Mに置き換えた上で、式(5)を式(1)に代入することで、曲面モデルSは、下式(6)のように表すことができる。
Figure JPOXMLDOC01-appb-M000006
 これを用いて、下式(7)のように目的関数(Cost Function)を定義することができる。
Figure JPOXMLDOC01-appb-M000007
 ここで、式(7)の括弧内の第1項は、ボリュームVの制御点Rijkを所定の移動量ΔRijkだけ移動させたときのp番目の最近傍点Hの座標を示したものである。一方、式(7)の括弧内の第2項は、その最近傍点Hに対応する測定点Qの座標を示したものである。
 すなわち、目的関数Fは、制御点Rijkを所定の移動量ΔRijkだけ移動させたときの、最近傍点Hと測定点Qとの距離の2乗和(距離の2乗を積算してなる積算値)を示している。したがって、目的関数Fは、最小2乗法における目的関数とみなすことができ、目的関数Fを最小とする移動量ΔRijkを探索し、探索された移動量ΔRijkの分だけ制御点Rijkを移動させれば、最近傍点Hと測定点Qとの距離の2乗和を最小とすることができる。
 具体的に、移動量決定部33は、目的関数Fを移動量ΔRijkによって偏微分し、それを0とおくことで、目的関数Fを最小とする移動量ΔRijkを求める。
 ここで、簡潔に表記するべく、
Figure JPOXMLDOC01-appb-M000008
とする。目的関数FをRijk’によって偏微分すると、
Figure JPOXMLDOC01-appb-M000009
となる。式(9)の左辺を0とおくと、下式(10)が得られる。
Figure JPOXMLDOC01-appb-M000010
 式(10)を行列形式で記載すると、下式(11)が得られる。
Figure JPOXMLDOC01-appb-M000011
 式(11)において、行列Aは(i×j×k)次の正方行列である。行列Aの各要素は、下式(12)~(14)のように示される。
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
 式(11)をRijk’について解くことで、目的関数Fを最小とするRijk’ひいては移動量ΔRijkを求めることができる。式(11)の解法としては、例えばLU分解法を用いることができる。移動量決定部33は、LU分解法等を用いた数値計算を通じて、移動量ΔRijkを算出する。
 移動量ΔRijkの算出が終了すると、図3のステップS4からステップS5へ進む。ここに例示したステップS4は、本実施形態における「移動量決定工程」の例示である。
 -ステップS5-
 ステップS4から続くステップS5では、FFD実行部34は、ステップS4で算出された移動量ΔRijkに基づいてFFDを実行することで、曲面モデルSを複数の測定点Qにフィッティングする。
 具体的に、FFD実行部34は、制御点Rijkを移動させ、新たな制御点Rijk+ΔRijkに更新する。これにより、式(3)に基づいてボリュームVが変形される。そして、式(5)に基づいて曲面モデルSの制御点P(I,J)が更新されると同時に、式(1)に基づいて曲面モデルSが変形されて、図4に示すフローが終了する。
 なお、ここに例示したステップS5は、本実施形態における「FFD実行工程」の例示である。
 このように、本実施形態によれば、FFDにおける各制御点Rijkの移動量ΔRijkを、変形対象点としての最近傍点Hと、これに対応した各測定点Qとの距離の2乗和を用いた最小2乗法によって決定することができる。そのことで、理論的根拠を明確にしつつ、各制御点の移動量ΔRijkをシステマティックに決定することができる。
 また、複数の目標点として、金型の表面形状を示す複数の測定点Qを用いることで、ノイズ等が含まれ得る測定点Qを目標点とした場合にあっても、各制御点Rijkの移動量ΔRijkを適切に算出することができる。
 -多段階変形に関連した構成-
 図8は、FFDにおける多段階変形の手順を例示するフローチャートであり、図9は、FFDにおける多段階変形の手順を説明するための図である。
 ところで、曲面モデルSと各測定点Qとが比較的離れていた場合には、図4のフローだけでは不十分となる可能性がある。すなわち、最小2乗法によるFFDを用いた場合、曲面モデルSと各測定点Qとが十分に近付くか否かは、変形対象点としての最近傍点Hの探索精度に依存する。曲面モデルSと各測定点Qとが相対的に大きく離れているときには、最近傍点Hとして得られたパラメータが最適ではない場合がある。そこで、FFDによる変形を複数回にわたり繰り返すとともに、その都度、最近傍点Hを探索することで、より高精度な変形を実行することができる。
 具体的に、曲面のフィッティング処理装置としてのコンピュータ1は、前述のステップS4(移動量決定工程)において決定された移動量ΔRijkを分割し、かつ該分割された移動量ΔRijkに基づいて前述のステップS5(FFD実行工程)を実行することで、FFDを複数回にわたり繰り返し実行する。
 図8は、そうした多段階変形の手順を例示したフローチャートである。図8において、“N”は、FFDの繰り返し回数を示している。この繰り返し回数Nは、予め設定されており、RAM7、HDD9等に記憶されている。
 まず、図8では省略したが、コンピュータ1は、図4のステップS1~S2のように、モデルデータ49の読み込みと、ボリュームVの設定と、を実行する。このとき、コンピュータ1は、FFDの繰り返し回数Nも読み込む。
 それに続いて、図8のステップS101に示すように、CPU3は、変数iをゼロに設定する。変数iは、その時点での繰り返し回数を示している。
 続くステップS102において、変形対象点設定部32は、各測定点Qに対応する曲面モデルS上の最近傍点Hを探索する。ここで、最近傍点Hにおける下付の添字iは、繰り返し回数iを示している。具体的に、このステップS102では、図4のステップS3と同様の処理、すなわち、図6を用いて説明した処理が実行される。ここで、i=0の場合、つまり、一回目の探索時に発見される最近傍点Hは、図4のステップS3で得られる最近傍点Hと一致する。
 続くステップS103において、移動量決定部33は、ステップS102で発見された最近傍点Hに基づいて、最小2乗法によって制御点の移動量ΔRを求める。移動量ΔRにおける下付の添字iは、最近傍点Hと同様に、繰り返し回数iを示している。具体的に、このステップS103では、図4のステップS4と同様の処理が実行される。
 続くステップS104において、移動量決定部33は、ステップS103で求めた移動量ΔRを分割し、新たな移動量ΔR’を算出する。具体的に、移動量ΔR’は、下式(15)より得られる。
Figure JPOXMLDOC01-appb-M000015
 続くステップS105において、FFD実行部34は、ステップS104で求めた新たな移動量ΔR’を基に、ボリュームVの制御点R、ひいては曲面モデルSの制御点P(I,J)を移動させる。
 続くステップS106において、CPU3は、繰り返し回数iがN-1に達したか否か、つまり、ステップS102からステップS105をN回にわたって繰り返したか否かを判定する。この判定がYESの場合はFFDによる変形を終了する。
 一方、ステップS106の判定がNOの場合は、ステップS107において繰り返し回数iを1回分だけ加算した上で、ステップS102へ戻る。ステップS102に戻った場合、最近傍点Hi+1は、新たな移動量ΔR’を基に変形された後の曲面モデルS上で探索されることになる。こうした工程を再帰的に繰り返すことで、最近傍点H,Hi+1,Hi+2は、測定点Qに徐々に近付いていくことになる(図9を参照)。
 なお、上式(15)から見て取れるように、繰り返し回数iが相対的に小さいときには、新たな移動量ΔR’は、元の移動量ΔRに比して十分に小さな値となる。一方、繰り返し回数iが大きくなるにつれて、新たな移動量ΔR’は、元の移動量ΔRに近接した値となる。特に、繰り返し回数iがN-1に達した場合、新たな移動量ΔR’は、元の移動量ΔRと一致することになる。
 このように、曲面モデルSを多段階で変形することで、曲面の広がりを抑制するとともに、より高精度な変形を実現することができる。
 《特定の曲面モデルに関連した構成》
 -トリム曲面に関連した構成-
 図10は、トリム曲面Stによって構成される曲面モデルSを例示する図である。
 前述のように、曲面モデルSとして、金型をモデル化した3D曲面を用いるとともに、複数の目標点として、金型の表面形状を示す複数の測定点Qを用いることができる。ここで、自動車の外板部品用の金型のように、複雑かつ微細な形状を有する金型の場合、図3等に示すような単一の曲面ではなく、いわゆるトリム曲面を組み合わせた曲面としてモデル化される可能性がある。
 すなわち、図10に例示するように、曲面モデルS’として、その曲面モデルS’の定義域を区画する曲面Sdと、該曲面Sdを切り抜くトリム曲面Stと、を組み合わせたものをフィッティングする場合がある。
 しかし、曲面モデルSの制御点P(I,J)のみを移動対象としてボリュームVの制御点Rijkの移動量ΔRijkを決定した場合には、トリム曲面Stの制御点を移動させることができない。
 そこで、本実施形態に係るコンピュータ1は、曲面モデルS’を構成する曲面Sdに加え、その曲面Sdとトリム曲面Stとの境界線Cに対し、FFDによるフィッティングを実行するように構成されている。
 詳しくは、曲面Sdは、前述の曲面モデルSと同様にフィッティングされる。一方、曲面Sdとトリム曲面Stとの境界線Cは、UV空間上における閉ループ(図10を参照)として定義した上で、その閉ループに対し、最小2乗法を用いたFFDを実行すればよい。
 さらに詳しくは、まず、UV空間上のトリム曲面Stに基づいて、このトリム曲面Stと曲面Sdとの境界線Cに沿うように、曲面Sd上に適当な間隔でサンプリングした点を配置する。そうして配置されたサンプリング点に対して前述のステップS2(制御点設定工程)、ステップS3(変形対象点設定工程)、ステップS4(移動量決定工程)およびステップS5(FFD実行工程)を実行することで、境界線CをFFDによって変形することができる。そして、境界線Cの変形結果を曲面Sdの変形結果に反映させることで、トリム曲面Stについても間接的にフィッティングすることできる。
 このように、閉ループとして定義される境界線Cに対するFFDの実行結果と、曲面Sdに対する変形結果とを併用することで、曲面Sdとトリム曲面Stとの境界線Cの連続性、曲面Sdとトリム曲面Stとの接平面の連続性、および、曲面Sdとトリム曲面Stとの間の曲率の連続性を保ちつつ、曲面モデルSをフィッティングすることができる。
 -複数曲面のトリム曲面に関連した構成-
 図11は、複数の曲面S,Sからなる曲面モデルを例示する図である。
 一般に、金型等のモデルが複数の曲面から構成される場合、それら曲面同士の接続関係を保ちながら同時に変形することが望ましい。図11に例示するように、本実施形態に係る曲面のフィッティング処理方法は、複数曲面を同時に変形することができる。
 すなわち、曲面モデルSは、3次元空間上に設定される複数の曲面S,S,…を組み合わせてなり、曲面のフィッティング処理装置としてのコンピュータ1は、それら複数の曲面S,S,…が同時に変形されるように、前述のステップS2(制御点設定工程)、ステップS3(変形対象点設定工程)、ステップS4(移動量決定工程)およびステップS5(FFD実行工程)を実行することができる。
 ここで、基本的には曲面が1つであるときと同一の処理が実行されるが、曲面が複数のときには、各測定点Qについて、変形対象とする曲面を選択する処理が必要となる。具体的に、コンピュータ1は、ステップS3と前後して、各測定点Qと、全ての曲面S,S,…と、の距離を算出し、算出された距離が最も短い曲面を選択する。このように、測定点Qごとに、最短となる曲面、ひいては最近傍点Hを関連付ける工程を実行する。
 そして、式(11)等に基づき最小2乗法を実行する際には、測定点Qごとに、対応する曲面との距離の2乗和を積算する。測定点Qごとに対応する曲面を適切に選択することで、複数の曲面を組み合わせてなる曲面モデルSをフィッティングすることができる。
 例えば、図11に示す例では、測定点Qと曲面Sとの距離と、測定点Qと曲面Sとの距離と、が順番に計算されて、相対的に距離が短い曲面Sが選択されることになる
 このように、複数の曲面から構成される曲面モデルSであっても、FFDを用いてフィッティングすることができる。
 -自由曲面の外挿に関連した構成-
 図12は、曲面モデルSに曲面Sを外挿する構成について説明するための図である。
 また一般に、フィッティングにより得られた曲面が、各測定点Qと十分に近接しながらも、各測定点Qから外れたところ(特に、曲面の境界付近)で不自然にうねる可能性がある。こうした状況は、例えば、曲面モデルSが複雑な形状を有していたり、各測定点Qが多量に配置されていたりした場合に生じ得る。このことは、車両の外板部品用の金型のように、複雑かつ微細な形状を有する金型に応用するには不都合である。
 そこで、本実施形態に係る曲面のフィッティング処理方法は、図12に例示するように、曲面モデルSに曲面Sを外挿するとともに、変形対象点としての最近傍点Hを、外挿された曲面(以下、「外挿面」と呼称し、符号“S”を付す)上にも設定することができる。また、必要に応じて、外挿面Sと対応するように、必要に応じて測定点Qを仮想的に追加することもできる。こうした工程は、例えば、図4におけるステップS1の前後に追加される。
 ここで、外挿面Sの形状は不問である。外挿面Sは、例えば、曲面モデルSの端から延長した接平面としてもよい。また、追加される測定点Qについても、その精度は特に考慮する必要はない。
 このように構成することで、曲面の境界付近のうねりを抑制し、よりスムースなフィッティングを実現することができる。
 《曲面のフィッティング処理方法の具体例》
 一般に、外板部品の金型の製作は、職人の手作業が介入する要素が多く、効率化が望まれている。特に、金型が劣化し、再び同じ金型を製造する際には、最初に製造したときと同様の手作業を行ったのでは非効率的である。そこで、いわゆる1番型を3次元測定し、その測定結果をCADシステムにフィードバックすることで、2番型以降の職人による手作業を効率化することができる。
 ここで、CADシステムへのフィードバックに際しては、職人による手作業の影響を、例えば金型新製時に用いた3次元CADデータに反映させる必要がある。そこで、現物金型の測定結果を測定値Qとするとともに、フィードバック前の3次元CADデータを曲面モデルSとした上で、最小2乗法を用いたFFDの手法、すなわち本実施形態に係る曲面のフィッティング処理方法を適用する。これにより、FFDにおける制御点の移動量をシステマティックに決定し、3次元CADデータを測定値Qにフィッティングさせることができる。
 このように、本実施形態に係る曲面のフィッティング処理方法は、いわゆるリバースエンジニアリングに用いることができる。特に、自動車の外板部品用の金型は、複雑かつ繊細な形状を有していることから、金型を基に得られる曲面モデルは、複数のトリム曲面から構成されたり、複数の曲面から構成されたりする可能性がある。前述のように、本実施形態に係る曲面のフィッティング処理方法は、そうした曲面モデルであっても、理論的根拠を明確にしつつ、システマティックにフィッティングすることができる。
 特に、制御点の移動量の決定方法は、これまでは、理論的根拠が全くない、或いは、理論的根拠が適切であるとは断定できなかった。しかし、本実施形態によれば、理論的根拠を明確にしつつ、たとえ制御点の数が増えたとしても、ユーザに負担を与えることなく自動的に移動量を決定することができる。
 以下、曲面のフィッティング処理方法の具体例について、図13~図16を用いて説明する。ここで、図13はビード形状をモデル化した曲面モデルSbを例示する図であり、図14は曲面モデルSbのA-A断面を例示する図であり、図15は曲面モデルSbの変形結果を示す図であり、図16は曲面モデルSbに多段階変形を適用した結果を示す図である。
 図13に例示する曲面モデルSbは、外板部品を製造するための金型におけるビード形状をモデル化したものであり、新製時の3次元CADデータからなる。一方、図13における目標点は、例えば、職人が手作業で加工した後の、現物金型の表面形状を示す測定点からなる。
 少なくとも図14に例示した断面においては、曲面モデルSbは、紙面左側から順に、第1曲面Sb1、第2曲面Sb2、第3曲面Sb3、第4曲面Sb3、第5曲面Sb5に分割されている。また、第1曲面Sb1からは紙面左側に向って第1外挿面Sx1が外挿されており、第2曲面Sb2からは紙面右側に向って第2外挿面Sx2が外挿されている。さらに、第1外挿面Sx1と第2外挿面Sx2の外挿に伴って、新たに測定点Qeが追加されている。
 図15に示すように、第1曲面Sb1および第5曲面Sb5のように相対的に曲率が小さい曲面については、第2曲面Sb2および第4曲面Sb4のように相対的に曲率が大きい曲面に比して、過不足なく変形されている。
 また、図16は、1段階で変形した場合(図8においてN=1とした場合)と、10段階で変形した場合(図8においてN=10とした場合)と、でフィッティングの結果を比較して示した図である。図から見て取れるように、10段階で曲面モデルSbを変形した場合は、1段階で曲面モデルSbを変形した場合に比して、変形後の曲面モデルSb上の最近傍点Hと、その最近傍点Hに対応する測定点Qと、の距離が概ね小さくなっている。このことは、多段階での変形が、より高精度なフィッティングを実現することを意味している。
 《他の実施形態》
 前記実施形態では、自由曲面としてB-Spline曲面を用いた構成について説明したが、本開示は、その構成に限定されない。例えば、式(1)等で例示したB-Spline曲面の代わりに、ベジエ曲面、NURBS曲面等を用いることもできる。
 また、前記実施形態では、目標点として、金型の表面形状を測定することにより得られる測定点Qを用いた構成を例示したが、本開示は、その構成に限定されない。例えば、金型の新製時に用いられる数値データを目標点としてもよい。すなわち、ここに開示する技術は、金型のリバースエンジニアリング以外の用途に用いることができる。
 さらに、前述の具体例では、金型として、自動車の外板部品用の金型を例示したが、本開示の適用対象は、これに限定されない。本開示は、内板部品用の金型、骨格部品用の金型、および他のあらゆる金型に適用することができる。また、本開示に係る方法は、金型の新製時ばかりでなく、経年変化の修正等、金型のメンテナンス時においても有用である。
 また、前記実施形態では、変形対象点として、曲面モデルS上の最近傍点Hを用いた構成を例示したが、本開示は、その構成に限定されない。最近傍点H以外の点を変形対象点とすることができる。
 また、前記実施形態では、コンピュータ1の一例として、1つのCPU3を有するものを例示したが、そうした構成には限られない。コンピュータ1には、スーパーコンピュータ、PCクラスター等の並列計算機も含まれる。コンピュータ1を並列計算機とした場合、曲面のフィッティング処理プログラム29は、複数の計算機を用いて実行されることになる。
 以上説明したように、本開示は、外板部品用の金型をはじめとする種々の金型の製造、および、そのメンテナンスに有用であり、産業上の利用可能性がある。
1    コンピュータ(曲面のフィッティング処理装置)
3    CPU(演算部)
31   制御点設定部
32   変形対象点設定部
33   移動量決定部
34   FFD実行部
19   記憶媒体
H    最近傍点(変形対象点)
ijk  制御点
ΔRijk 移動量
Q    測定点(目標点)
   追加される測定点
S    曲面モデル
,S2 複数の曲面
Sd   曲面(定義域を区画する曲面)
St   トリム曲面
   外挿面(外挿された曲面)
V    ボリューム

Claims (12)

  1.  コンピュータが自由形状変形を実行することで、3次元空間上に設定される曲面モデルを、3次元空間上に設定される複数の目標点にフィッティングする曲面のフィッティング処理方法であって、
     前記曲面モデルの少なくとも一部を囲むように、前記自由形状変形における複数の制御点を設定する制御点設定工程と、
     前記曲面モデル上に、前記複数の目標点の各々と対応する複数の変形対象点を設定する変形対象点設定工程と、
     前記変形対象点と、該変形対象点に対応する目標点との距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行することにより、前記複数の制御点それぞれの移動量を決定する移動量決定工程と、
     前記移動量に基づいて前記自由形状変形を実行することで、前記曲面モデルを前記複数の目標点にフィッティングするFFD実行工程と、を備える
    ことを特徴とする曲面のフィッティング処理方法。
  2.  請求項1に記載された曲面のフィッティング処理方法において、
     前記複数の目標点は、金型の表面形状を測定することにより得られる複数の測定点からなる
    ことを特徴とする曲面のフィッティング処理方法。
  3.  請求項1または2に記載された曲面のフィッティング処理方法において、
     前記変形対象点は、前記曲面モデル上における、前記目標点に対する最近傍点として設定される
    ことを特徴とする曲面のフィッティング処理方法。
  4.  請求項1から3のいずれか1項に記載された曲面のフィッティング処理方法において、
     前記曲面モデルは、複数の曲面を組み合わせてなり、
     前記複数の曲面が同時に変形されるように、前記制御点設定工程、前記変形対象点設定工程、前記移動量決定工程および前記FFD実行工程を実行する
    ことを特徴とする曲面のフィッティング処理方法。
  5.  請求項1から4のいずれか1項に記載された曲面のフィッティング処理方法において、
     前記曲面モデルは、該曲面モデルの定義域を区画する曲面と、該曲面を切り抜くトリム曲面と、を組み合わせてなり、
     前記曲面と前記トリム曲面との境界線に対し、前記制御点設定工程、前記変形対象点設定工程、前記移動量決定工程および前記FFD実行工程を実行する
    ことを特徴とする曲面のフィッティング処理方法。
  6.  請求項1から5のいずれか1項に記載された曲面のフィッティング処理方法において、
     前記移動量決定工程において決定された移動量を分割し、かつ該分割された各移動量に基づいて前記FFD実行工程を実行することで、前記自由形状変形を複数回にわたり繰り返し実行する
    ことを特徴とする曲面のフィッティング処理方法。
  7.  請求項1から6のいずれか1項に記載された曲面のフィッティング処理方法において、
     前記曲面モデルに曲面を外挿する工程と、
     前記外挿された曲面上に、前記変形対象点を設定する工程と、を備える
    ことを特徴とする曲面のフィッティング処理方法。
  8.  請求項7に記載された曲面のフィッティング処理方法において、
     前記外挿された曲面と対応するように、前記目標点を追加する工程を備える
    ことを特徴とする曲面のフィッティング処理方法。
  9.  請求項1から8のいずれか1項に記載された曲面のフィッティング処理方法において、
     前記制御点設定工程は、前記曲面モデルを覆うボリュームを設定し、該ボリューム内に前記複数の制御点を配置する
    ことを特徴とする曲面のフィッティング処理方法。
  10.  演算部を有するコンピュータによって構成され、該コンピュータが自由形状変形を実行することで、3次元空間上に設定される曲面モデルを、3次元空間上に設定される複数の目標点にフィッティングする曲面のフィッティング処理装置であって、
     前記演算部は、
      前記曲面モデルの少なくとも一部を囲むように、前記自由形状変形における複数の制御点を設定する制御点設定部と、
      前記曲面モデル上に、前記複数の目標点の各々と対応する複数の変形対象点を設定する変形対象点設定部と、
      前記変形対象点と、該変形対象点に対応する目標点との距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行することにより、前記複数の制御点それぞれの移動量を決定する移動量決定部と、
      前記移動量に基づいて前記自由形状変形を実行することで、前記曲面モデルを前記複数の目標点にフィッティングするFFD実行部と、を有する
    ことを特徴とする曲面のフィッティング処理装置。
  11.  コンピュータに自由形状変形を実行させることで、3次元空間上に設定される曲面モデルを、3次元空間上に設定される複数の目標点にフィッティングする曲面のフィッティング処理プログラムであって、
     前記コンピュータに、
      前記曲面モデルの少なくとも一部を囲むように、前記自由形状変形における複数の制御点を設定する手順と、
      前記曲面モデル上に、前記複数の目標点の各々と対応する複数の変形対象点を設定する手順と、
      前記変形対象点と、該変形対象点に対応する目標点との距離の2乗を積算してなる積算値が最小になるように最小2乗法を実行することにより、前記複数の制御点それぞれの移動量を決定する手順と、
      前記移動量に基づいて前記自由形状変形を実行することで、前記曲面モデルを前記複数の目標点にフィッティングする手順と、を実行させる
    ことを特徴とする曲面のフィッティング処理プログラム。
  12.  請求項11に記載されたフィッティング処理プログラムを記憶している
    ことを特徴とするコンピュータ読取可能な記憶媒体。
PCT/JP2020/031894 2019-09-02 2020-08-24 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体 WO2021044891A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/639,256 US20220335170A1 (en) 2019-09-02 2020-08-24 Curved surface fitting method, curved surface fitting device, curved surface fitting program, and computer-readable storage medium storing curved surface fitting program
EP20861852.0A EP4027303A4 (en) 2019-09-02 2020-08-24 CURVED SURFACE ADJUSTMENT PROCESSING METHOD, ADJUSTMENT PROCESSING DEVICE, ADJUSTMENT PROCESSING PROGRAM, AND COMPUTER READABLE STORAGE MEDIUM IN WHICH AN ADJUSTMENT PROGRAM IS STORED
CN202080059631.4A CN114341942A (zh) 2019-09-02 2020-08-24 曲面的拟合处理方法、拟合处理装置和拟合处理程序以及存储有该拟合处理程序的计算机可读存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-159915 2019-09-02
JP2019159915A JP7446579B2 (ja) 2019-09-02 2019-09-02 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体

Publications (1)

Publication Number Publication Date
WO2021044891A1 true WO2021044891A1 (ja) 2021-03-11

Family

ID=74848842

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/031894 WO2021044891A1 (ja) 2019-09-02 2020-08-24 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体

Country Status (5)

Country Link
US (1) US20220335170A1 (ja)
EP (1) EP4027303A4 (ja)
JP (1) JP7446579B2 (ja)
CN (1) CN114341942A (ja)
WO (1) WO2021044891A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948949A (zh) * 2021-04-07 2021-06-11 讯飞智元信息科技有限公司 水利枢纽工程动态建模方法、装置以及设备
CN114357629A (zh) * 2022-01-12 2022-04-15 江苏科技大学 基于嵌套ffd控制体的几何外形曲面变形方法和系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113324502A (zh) * 2021-05-24 2021-08-31 深圳依时货拉拉科技有限公司 车厢内货物体积的测量方法、系统和计算机设备
US20240020935A1 (en) * 2022-07-15 2024-01-18 The Boeing Company Modeling system for 3d virtual model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078309A (ja) 2002-08-09 2004-03-11 Japan Science & Technology Corp 3次元モデル変形システム
WO2009142037A1 (ja) * 2008-05-23 2009-11-26 国立大学法人横浜国立大学 近似処理方法、および近似処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076489A (ja) * 1998-08-31 2000-03-14 Sony Corp 曲線変形処理方法、曲線変形処理装置、曲線変形用処理プログラムが記憶された記憶媒体、曲面変形処理方法、曲面変形処理装置および曲面変形用処理プログラムが記憶された記憶媒体
KR101443949B1 (ko) * 2007-10-30 2014-09-23 내셔널 유니버서티 코포레이션 요코하마 내셔널 유니버서티 보간처리방법, 및 보간처리장치
CN102938008A (zh) * 2012-11-21 2013-02-20 大连工业大学 一种人体建模中曲面拟合的进化算法
CN108389243B (zh) * 2018-02-24 2021-11-16 武汉大学 一种矢量线要素多尺度Bézier曲线分段拟合方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078309A (ja) 2002-08-09 2004-03-11 Japan Science & Technology Corp 3次元モデル変形システム
WO2009142037A1 (ja) * 2008-05-23 2009-11-26 国立大学法人横浜国立大学 近似処理方法、および近似処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP4027303A4
YAHARA HIROKI, HIGUMA NAOKI, FUKUI YUKIO, NISHIHARA SEIICHI, MOCHIMARU MASAAKI, KOUCHI MAKIKO: "Estimation of anatomical landmark positions from model of 3-dimensional foot by the FFD method", SYSTEMS & COMPUTERS IN JAPAN, vol. 36, no. 6, 15 June 2005 (2005-06-15), US , pages 26 - 38, XP055897954, ISSN: 0882-1666, DOI: 10.1002/scj.20270 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948949A (zh) * 2021-04-07 2021-06-11 讯飞智元信息科技有限公司 水利枢纽工程动态建模方法、装置以及设备
CN114357629A (zh) * 2022-01-12 2022-04-15 江苏科技大学 基于嵌套ffd控制体的几何外形曲面变形方法和系统

Also Published As

Publication number Publication date
US20220335170A1 (en) 2022-10-20
CN114341942A (zh) 2022-04-12
JP2021039520A (ja) 2021-03-11
EP4027303A4 (en) 2023-09-13
JP7446579B2 (ja) 2024-03-11
EP4027303A1 (en) 2022-07-13

Similar Documents

Publication Publication Date Title
WO2021044891A1 (ja) 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体
CN109063275B (zh) 基于feap的三维多晶微观结构材料模型的构建方法
US7324103B2 (en) System and method of direct mesh manipulation
US5731816A (en) System and method for direct modeling of fillets and draft angles
US7038700B2 (en) Morphing method for structure shape, its computer program, and computer-readable storage medium
JP5561975B2 (ja) 表面加工データの作成方法および装置
US7275023B2 (en) System and method of interactively generating a family of mesh models
JP4633625B2 (ja) メタルシート成形段階のジオメトリモデルの決定
WO2011111680A1 (ja) 表面加工データの作成方法および装置
JP4721764B2 (ja) コンピュータ利用設計モデル(cad)の変形
WO2005066852A1 (ja) 三次元cadデータの近似および表示方法、その方法を実行するシステム
Urick et al. Watertight Boolean operations: A framework for creating CAD-compatible gap-free editable solid models
US10346554B2 (en) System and method for isogeometric analysis
Mole et al. A 3D forming tool optimisation method considering springback and thinning compensation
EP2393027A2 (en) Curve matching for parameter identification
US7920140B2 (en) System for controlling deformation
Wang et al. A robust and accurate geometric model for automated design of drawbeads in sheet metal forming
EP2116976A2 (en) Systems and methods involving surface fitting
US20240273849A1 (en) Deformation-based generation of curved meshes
JP6495728B2 (ja) 形状変形装置および形状変形用プログラム
Biermann et al. Direct free-form deformation of NC programs for surface reconstruction and form-error compensation
JP2007172180A (ja) 設計データ生成装置及び設計データ生成プログラム
JPH1145352A (ja) 三次元ソリッドモデリング方法
US20180108177A1 (en) Optimization of an automatically meshable shapes
CN112530016B (zh) 一种道具吸附的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20861852

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020861852

Country of ref document: EP

Effective date: 20220404