WO2009142037A1 - 近似処理方法、および近似処理装置 - Google Patents
近似処理方法、および近似処理装置 Download PDFInfo
- Publication number
- WO2009142037A1 WO2009142037A1 PCT/JP2009/053252 JP2009053252W WO2009142037A1 WO 2009142037 A1 WO2009142037 A1 WO 2009142037A1 JP 2009053252 W JP2009053252 W JP 2009053252W WO 2009142037 A1 WO2009142037 A1 WO 2009142037A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- curved surface
- approximate
- control
- control point
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Definitions
- the present invention relates to an approximation processing method and an approximation processing device for generating a curve or a curved surface by approximating point cloud data.
- Free curved surfaces are used in the bodies of various industrial products such as ships, automobiles, airplanes, etc., and have both functionality and beauty, and they are designed for home appliances and the appearance of many consumer products. Used for designing beautiful shapes.
- 3D models are represented on a computer by polygonal models or curved patches such as NURBS and B-Spline.
- This polygon model is efficient in performing shape processing such as phase change, but because it is composed of flat surfaces, it cannot express a smooth surface, and the amount of data becomes enormous as the shape is expressed in detail. There are problems such as becoming.
- the curved surface patch can express a smooth curved surface with a small number of control parameters, but has a problem that the patch shape is limited to a square and it is difficult to maintain continuity between patches. Therefore, a subdivision method having the advantages of a polygon model and a curved surface patch is attracting attention as an effective method for free geometric modeling, and has already been actively used in the field of animation.
- the subdivision method is a method of smoothing the shape by repeatedly performing regular division on the initial polygon mesh, and ultimately obtaining a smooth curved surface.
- the curved surface by the division is called a subdivision surface (SubdivisionfaceSurface), and the ultimate curved surface is called a limit surface.
- the subdivision method has a feature that a smooth curved surface can be easily generated even for a model having an arbitrary phase. Further, since the curved surface is defined smoothly in any part, a wide use such as modeling is progressing.
- Non-Patent Document 1 a Catmull-Clark subdivision curved surface interpolation method for a polyhedral mesh proposed by Halsted et al. Is known (Non-Patent Document 1). This method not only needs to solve a large-scale linear system, but also needs to solve a minimization problem for correcting a curved surface called fairing, which greatly increases the calculation cost.
- Non-Patent Document 2 Non-Patent Document 2
- Non-Patent Document 2 The method of Hoppe et al. (Non-Patent Document 2) performs parameterization on a linearly approximated surface, whereas Marinov and Kobbelt perform parameterization on a limit surface using Stam's theory. However, calculation of the control points requires a great deal of time because it solves a large-scale linear system. (Non-patent document 8)
- the method using the linear system solution method such as solving the determinant for the approximation or interpolation operation
- the number of operations increases as the number of data points and control points in the point group increases due to the nature of the operation of the linear system.
- the operation for generating a curved surface from the point group is an operation for solving a large-scale linear system, and a large amount of calculation time is required. There is a problem that it takes.
- An object of the present invention is to propose a method and an apparatus for generating a curved or curved surface.
- the present invention provides a control point by selecting a feature point holding a shape feature from a polygonal line or a mesh formed by data points of a point group in an approximation process for approximating the shape of a data point of a point group by a curve or a curved surface.
- the curve or curved surface is approximated by this control point.
- the corrected control points are calculated by a simple geometric algorithm without requiring much calculation time for solving the linear system. The approximation is possible in a short time.
- Interpolation and approximation methods are known for fitting by control points, but interpolation methods fit point group data points with the same number of data points as the number of data points, whereas approximation methods use data points.
- the point data points are fitted by the number of control points smaller than the number of data points.
- QEM Surface simplification using quadric errors ⁇ metrics: Non-Patent Document 3
- QEM Surface simplification using quadric errors ⁇ metrics: Non-Patent Document 3
- the present invention uses a point cloud data point as start data, obtains a control point from this data point by processing such as QEM, sequentially corrects the control point by a calculation process, and selects from the point cloud data point and this data point If the control points are known, they may be corrected sequentially from the known control points by the calculation process. If this control point is known, the process of selecting the control point from the data points of the point group can be omitted.
- control point is moved by calculating the nearest point on the curve or curved surface closest to each data point of the given point group by the Newton method, and an error vector connecting the calculated nearest point to each data point. Is approximated by sequentially moving the control points based on the error vector. Since the process of moving the control point can be performed by the process of the geometric algorithm without solving the linear system, high-speed processing can be performed.
- the linear system itself is not required, and an approximate curve or an approximate curved surface can be generated only by a geometric process. Therefore, the processing speed can be increased as compared with the conventional method.
- the present invention is not limited to three dimensions and can be similarly applied to two dimensions.
- it can also be applied to the generation of curves approximating data points.
- the present invention can be an aspect of a method and an apparatus regarding approximation processing.
- the approximation processing device includes means for executing this approximation processing method by software or hardware.
- the approximation processing method of the present invention is an approximation processing method that approximates data points of a point group by a curve or curved surface defined by control points, and forms an approximate curve or approximate curved surface by using control points that preserve shape characteristics. And a calculation step of calculating a correction position of the control point.
- the calculation step for calculating the correction position of the control point includes an approximate curve or a first calculation step for calculating the closest point to the data point on the approximate curve, and a data point from the closest point calculated in the first calculation step.
- the process of forming an approximate curve or approximate curved surface and each calculation process can be performed by a calculation means incorporating a geometric algorithm.
- the approximate curve or approximate curved surface is approximated to the curve or curved surface formed by the data points as targets.
- the data points of the point group used in the approximation processing method of the present invention can be acquired by, for example, a three-dimensional shape measuring instrument.
- the first control point can be obtained by connecting the data points of a given point cloud to form a polygonal line or mesh, and selecting a point that preserves the shape characteristics by processing such as QEM from this polygonal line or mesh. it can. With this point as the initial control point, the position of the control point is corrected by the first to third calculation steps.
- the nearest point closest to the data point on the approximate curve or the approximate curve can be calculated by the Newton method.
- the second calculation step is a step of calculating an error vector connecting the data point and the nearest point for each data point in all data points of the point group.
- the third calculation step is a step of calculating control points corrected by moving each control point based on the error vector calculated in the second calculation step, and a plurality of errors calculated in the second calculation step.
- the error vector calculated for the nearest point around the control point to be corrected is weighted, this weighted error vector is added to the vector, and the addition vector obtained by vector addition is used as the movement vector to be corrected.
- the error vector used for the movement of the control point is obtained by vector addition of the error vector calculated at the nearest point around the control point in the second calculation step.
- this vector addition by weighting the error vector, the number of computations until the control point converges can be reduced.
- the weighting process in the third calculation step can be performed by an arithmetic process that multiplies each error vector by a coefficient.
- This coefficient is determined according to the distance between the control point and the nearest point, and weighting is performed by setting a larger value at the nearest point near the control point and setting a smaller value at the nearest point far from the control point. It is assumed that the closest point closer to the control point is more relevant to the control point, and the number of operations until the control point converges by weighting the error vector of the closest point close to the control point with a large coefficient. Can be reduced.
- the weighting coefficient can be determined according to the barycentric coordinate system.
- the approximation processing of the present invention calculates an approximation error of an approximate curve or approximate curved surface based on the distance between the data point and the nearest point corresponding to the data point, and controls the control point until the calculated approximation error becomes less than a predetermined value. Repeat the calculation process.
- the mesh formed by the control points is divided into planes to increase the number of control points. Or re-mesh the mesh formed by the control points locally. The control point calculation process, the increase of control points by surface division, and local remeshing are repeated until the approximation error becomes less than a predetermined value.
- the approximation error does not become less than a predetermined value even if the approximation process by moving the control points is repeated a predetermined number of times, the number of control points is increased by inserting knots. The control point calculation process and the control point increase are repeated until the approximation error becomes less than a predetermined value.
- the approximation processing device of the present invention is an approximation processing device that approximates a data point of a point group by a curve or curved surface defined by control points, and forms an approximate curve or approximate curved surface by using control points that store shape characteristics.
- a first calculating step for calculating the nearest point closest to the data point on the approximate curve or the approximate curved surface, and a first calculating step for calculating an error vector connecting the data points from the nearest point obtained in the first calculating step.
- a calculation means for performing each step of the second calculation step and the third calculation step of moving the control point based on the error vector obtained in the second calculation step and calculating the corrected control point.
- the computing means is constituted by a process for forming an approximate curve or an approximate curved surface, a CPU and a storage device for executing a geometric algorithm for performing each calculation process by software, or a circuit for executing each geometric algorithm by hardware. can do.
- the approximate curve or approximate curved surface is approximated to the curve or curved surface formed by the data points of interest.
- Curved surfaces include loop subdivision using triangle mesh (Non-patent Document 4), B-Spline, NURBS, Catmull-Clark subdivision using quadrilateral mesh (Non-patent Document 5), Doo-Sabin subdivision (Non-patent Document 6), etc. It can be defined by control points determined by subdivision or the like.
- the curve can be defined by a control point determined by a B-Spline curve or Chaikin subdivision (Non-patent Document 7). Note that Chaikin subdivision converges to a second-order B-Spline curve, and generally an n-order B-Spline curve can also be approximated.
- calculation time can be reduced in generating a curve or curved surface that approximates a data point of a point group.
- FIG. It is a figure for demonstrating error vector e (k) i, j around a control point. It is a figure for demonstrating the increase in the control point P.
- FIG. It is a figure for demonstrating an example of local remeshing. It is a figure for demonstrating an example of local remeshing. It is a figure which shows the example of a result by this invention. It is a figure which shows one Example of the approximation process of this invention. It is a figure for demonstrating the weighting in the approximation of the B-Spline curve of this invention.
- FIG. 1 is a schematic diagram for explaining the outline of the approximation processing of the present invention
- FIG. 2 is a flowchart for explaining the outline of the approximation processing of the present invention
- FIG. 3 is a schematic configuration diagram of the approximation processing apparatus of the present invention. .
- FIG. 1 and 2 schematically show a procedure for obtaining the approximate curved surface S ⁇ from the data points p i of the point group P.
- 3D laser scanner 3-dimensional shape measuring instrument
- high density and irregular point cloud obtained from such P is formed by the data points p i of the point group P that seek control points representing the characteristic shape by techniques such as QEM from the mesh shows the procedure for obtaining a final approximated surface S ⁇ from the control point.
- the data point of the point group and the control point selected from the data point are known, it may be applied to the procedure for obtaining the approximate curved surface S ⁇ by sequentially correcting using the known control point.
- an object is measured by a three-dimensional measuring instrument such as a 3D laser scanner to obtain a data point p i of the point group p (FIG. 1A) (S1).
- Data points p i of the point group p obtained by measurement are connected and meshed.
- FIG. 1B an example of a triangular mesh is shown (FIG. 1B) (S2).
- control points are simplified while retaining the shape characteristics of the original object.
- a control mesh is formed by these control points.
- a triangular mesh or a quadrilateral mesh can be used.
- an existing method such as QEM can be used for the simplification processing of the mesh that leaves this feature.
- the mesh formed from the first control point P (0) is defined as the initial control mesh M (0) n
- the mesh obtained by changing the control points is defined as the control mesh M n thereafter.
- the subscript 0 represents the initial stage
- n represents the number of control points (FIG. 1 (c)) (S3).
- An initial approximate curved surface S (0) is generated using the control point P (0) of the initial control mesh M (0) n (FIG. 1 (d)) (S4).
- An initial nearest point S (0) (t i ) corresponding to each data point p i of the point group p is obtained on the initial approximate curved surface S (0) generated in S4 (S5).
- the position of the initial control point P (0) is moved by the obtained movement vector d, and the control point whose position is corrected is set as the control point P (k) (S7).
- the subscript (k) of the control point P (k) represents the number of repetitions, and the control point obtained in the (k) -th step is represented by P (k) .
- the initial control point P (0) is represented by a superscript (0), and the subscript (k) of the control point P (k) obtained repeatedly thereafter is repeatedly increased by “1” for each repetition.
- the number of times can be represented by a numerical value of “k” in the subscript (k).
- An approximate curved surface S (k) is generated using the control point P (k) obtained by moving by the movement vector d (FIG. 1 (g)) (S8).
- a nearest point S (k) (t i ) corresponding to each data point p i of the point group p is obtained on the approximate curved surface S (k) generated in S8 (S9).
- the approximate curved surface S (k) is approximated to the shape of the object by sequentially moving and correcting the control point P (k) .
- Whether or not the approximate curved surface S (k) approximates the shape of the object is evaluated by the following steps S10 to S11, and the degree of approximation of the approximate curved surface S (k) does not satisfy a predetermined allowable value. For this purpose, control points are moved by repeating the steps S6 to S9, or the control points are increased by dividing the mesh in steps S13 to S15.
- the error E is obtained from the nearest point S (k) (t i ), the data point p i and the absolute value error (S10).
- the error E is compared with a predetermined allowable value (S11). If the error is not within the allowable value, the degree of approximation is improved by repeating the steps S6 to S9 and moving the control point. In addition, the control points are increased by inserting knots in steps S13 to S15.
- the mesh division by the steps S13 to S15 is performed when the error does not fall within the allowable value even if the steps S6 to S9 are repeated for the set number of times (S12).
- the nearest point S (t i ) is obtained for the obtained approximate curved surface S m (FIG. 1 (k)) (S15), and the process returns to S6 to calculate the movement vector d of the control mesh M m .
- the approximate curved surface S ⁇ obtained when the distance error converges within the allowable range by the approximation processing is an approximate curved surface that approximates the data point p i of the point group p.
- the process of the present invention is performed by a geometric algorithm operation.
- ) (t i ) is calculated by the Newton method, and in step S7, an error vector e i between the data point p i and the nearest point S (k) (t i ) is obtained, and control is performed using this error vector e i.
- a control vector d for moving the point P (k) is obtained.
- the control point P (k) is moved by the obtained control vector d, and the approximate curved surface S (k + 1) is obtained by using the moved control point P (k + 1) in the step S8.
- Loop subdivision using a triangular mesh For example, Loop subdivision using a triangular mesh, Catmull-Clark subdivision using a quadrilateral mesh, Doo-Sabin subdivision, etc. can be used. Can be applied.
- Chaikin subdivision can be used, and an n-order B-Spline curve can also be applied. Chaikin subdivision converges to a quadratic B-Spline curve.
- the approximation processing of the present invention has the following advantages in terms of calculation cost and generality of calculation.
- it is not necessary to solve the linear system by correcting the control points with a geometric algorithm, so that the calculation speed of the processing can be improved.
- the approximation algorithm of the present invention generates a curved surface by a simple geometric process, and is applied not only to subdivided curved surfaces but also to curves and curved surfaces defined by control points such as B-Spline curved surfaces and curved lines. It has generality for curved surface generation.
- FIG. 3 shows an example of the configuration when a computer stores a program storing the approximation processing software of the present invention.
- the input unit 1 inputs data points p i of the point group p and stores them in the data storage unit 2 a in the storage unit 2.
- the storage means 2 stores, in addition to the data storage unit 2a, a calculation tool storage unit 2b for storing a calculation tool program for performing geometric processing calculation, a calculation processing program such as subdivision processing in addition to the calculation of approximation processing.
- the data storage unit 2a stores the data points p i of the point group p, and also forms an initial control mesh M (0) n formed from the data points p i of the point group p and generated from the mesh by QEM or the like. May be stored.
- the computing means 3 follows the computation procedure by the program stored in the computation processing program storage unit 2c, and sequentially reads out the computation tool program designated by this program from the computation tool storage unit 2b to perform computation processing.
- the calculation performed by the calculation means 3 includes, for example, calculation processing for forming a triangular mesh from the data points p i of the point group p stored in the data storage unit 2a, and initial control by obtaining an initial control point P (0) from the mesh.
- Arithmetic processing for generating mesh M (0) n Arithmetic processing for generating mesh M (0) n , arithmetic processing for generating initial approximate curved surface S (0) performed using initial control mesh M (0) n , approximate curved surface S (k for performing control mesh M n ) Calculation processing for generating n , calculation processing for calculating the initial nearest point S (0) (t i ) closest to the data point p i on the initial approximate surface S (0 ) by the Newton method, approximate surface S (k ) An arithmetic process for calculating the nearest point S (k) (t i ) closest to the data point p i on n by the Newton method, and an error vector between the data point p i and the initial nearest point S (0) (t i ) e i, determine the error vector e i of the data points p i and the closest point S (k) (t i) , this error vector e i Arithmetic processing of performing a vector operation of
- the calculation result stored in the calculation result storage unit 2e can be read and displayed on the display means 4 or output to the output means 5.
- the output means 5 can be an external device such as a recording device that records the calculation result on a recording medium or a processing device that performs a predetermined operation using the calculation result.
- the function implemented by the computing means including the storage means can be implemented by hardware by configuring the circuit with a circuit.
- the flow of the approximation algorithm is to generate an initial control mesh that retains shape characteristics from a triangular mesh of a given point cloud by QEM or the like, and generate an initial approximate curved surface from this initial control mesh.
- the closest point on the approximate surface generated from the control point (the first control mesh is the first control mesh and the control mesh that has moved the control point after the first) is obtained from the data point, and the nearest point is obtained from this data point.
- a new approximate curved surface is generated by moving the control point using the error vector.
- the approximate curved surface approximated by the original shape is obtained by repeating the process of generating the approximate curved surface by the movement of the control point and the control point after the movement.
- Data points p i of the point group p are obtained by a three-dimensional measuring instrument, and the data points p i are connected and meshed with, for example, a triangular mesh.
- 4A and 4B schematically show a triangular mesh formed by meshing data points p i of the point group p.
- a triangular mesh may be obtained in advance from the data points p i and stored in the storage means, and read from the storage means.
- the three-dimensional control mesh may be a quadrilateral mesh in addition to the triangular mesh.
- Loop subdivision Non-Patent Document 4
- Catmull-Clark subdivision Non-patent Document 5
- Doo-Sabin subdivision Non-patent Document 6
- An initial control mesh M (0) n consisting of initial control points P (0) is generated from a triangular mesh by a processing method such as well-known QEM (Surface simplification using quadric error metrics: Non-Patent Document 3), and initial control is performed.
- the control point P (0) of the mesh M (0) n is stored in the storage unit 2a.
- An initial approximate curved surface S (0) is generated using the stored initial control point P (0) .
- the initial approximate curved surface generated by the initial control mesh M (0) n is represented by the approximate curved surface S (0) .
- the approximate curved surface generated by the control mesh M n generated by moving the control point is expressed by the approximate curved surface S (k) n .
- FIG. 4A shows the data points p i of the point group p
- FIG. 4B shows the data points p i of the point group p and the control mesh M n generated from the data points p i
- FIG. 4C shows the control mesh M n generated from the data points p i of the point group p and the approximate curved surface S (k) n generated by the control mesh M n
- the solid line indicates the control mesh M n
- the white circle “ ⁇ ” indicates the control point P of the control mesh M n
- a broken line indicates a curved surface to be approximated
- a data point p i (not shown in FIG. 4C) is a point on the curved surface to be approximated.
- FIG. 4C shows a state where there is an error between the approximate curved surface S (k) and the approximation target curved surface.
- FIGS. 5A and 5B show a state in which the approximate curved surface S (k) approaches the approximate target curved surface.
- the data point p i is indicated by a black circle “ ⁇ ” in FIG.
- the approximate curved surface S (k) is formed so as to approximate the curved surface to be approximated by the control point P.
- the approximate curved surface S (k + 1) is obtained by moving the control point P.
- the error between the approximate curved surface S (k + 1) and the approximation target curved surface is reduced, and the approximation target curved surface is gradually approached.
- Figure 5 shows the data points p i, the relationship between the approximated surface S (k) closest point closest to the data point p i on S (k) (t i) .
- the closest point S (k) (t i ) is the point closest to the data point p i on the approximate curved surface S (k) , and is indicated by a cross in the figure.
- the nearest point S (k + 1) (t i ) is the closest point to the data point p i on the approximate curved surface S (k + 1) , and is indicated by a cross in the figure. ing.
- FIG. 5A shows the control point P (k) before movement and the approximate curved surface S (k) by this control point P (k)
- FIG. 5B shows the control point P (k + 1) after movement.
- an approximate curved surface S (k + 1) by the control point P (k + 1) is approximated.
- FIG. 6 is a diagram for explaining the nearest point S (k) (t i ) on the approximate curved surface S (k) .
- T p is a tangent plane
- p i is a data point
- S (v, w) is a point on the approximate curved surface in the parameter (v, w)
- i is a data point number.
- v and w are parameters of the curved surface
- Sv and Sw indicate the differentiation of the subdivision curved surface S in the v and w directions.
- i is a data point number
- j is the number of iterations of Newton's method in parameterization
- ( ⁇ v, ⁇ w) is a surface update parameter.
- the error between the data point p i and the nearest point S (k) (t i ) can be represented by a vector.
- it is represented by an error vector e i from the data point p i to the nearest point S (k) (t i ).
- this error vector e i is indicated by a straight line connecting the data point p i and the nearest point S (k) (t i ) or S (k + 1) (t i ).
- the present invention obtains an error vector e i between the data point p i and the nearest point S (k) (t i ) for the data point p i existing around the control point P, and a plurality of error vectors e i are obtained. In some cases, these error vectors e i are added together to obtain a movement vector d, and a new control point P (k + 1) is obtained by moving the control point P by the movement vector d.
- the movement state of the control point is shown in FIG.
- FIG. 5A shows the control point P (k) before the movement and the approximate curved surface S (k) by the control point P (k)
- FIG. 5B shows the control point P (k + 1) after the movement. And an approximate curved surface S (k + 1) by the control point P (k + 1) .
- the error vector by weighting each error vector e i obtained by each data point p i and the closest point S (k) (t i) , weighted
- the movement vector d is obtained by vector addition of e i .
- the nearest point S (k) (t i ) corresponding to this one data point p i is obtained, the error vector e i performing the weighted error vector e i between the data points p i and the closest point S (k) (t i) and motion vector d.
- an error vector e i for performing weighting exists around the control point P.
- the surroundings of the control point P can be, for example, within an approximate curved surface generated by a mesh having the control point P (k) as a common vertex, and these meshes form a loop around the control point P (k). is doing.
- the error vector e i Since the mesh existing around the control point P (k) differs depending on each control point, and the error vector e i existing corresponding to each mesh also differs depending on each mesh, the error vector e to be weighted Although the number of i is not constant, the data point p i and the nearest point S (k) (t i ) that form the error vector e i are determined by the number of data points in the point group, so that all the control points P The number of error vectors e i used for is constant.
- the degree of weighting can be determined according to the distance between the control point P and the nearest point S (k) (t i ).
- the degree of weighting is set large, and the error vector e related to the data point p i existing far from the control point P is set.
- the degree of weighting is set small. By performing this weighting, the number of repetitions for obtaining the approximate curved surface S can be reduced.
- FIG. 8 shows one triangular mesh (a triangle in which a thick solid line in FIG. 8 is formed) among a plurality of triangular meshes formed around the control point P (k) .
- the triangular mesh is indicated by a thick solid line, and the approximate curved surface S corresponding to this triangular mesh is shown with shading.
- a data point p i indicated by a black circle “ ⁇ ” is a point on the curved surface to be approximated
- a closest point S (k) (t i ) indicated by a cross is a point closest to the data point p i .
- the arrow between the data point p i and the nearest point S (k) (t i ) indicates the error vector e (k) i, J.
- FIG. 8 shows only one set of the data point p i , the nearest point S (k) (t i ), and the error vector e (k) i, J in the triangular mesh and the approximate curved surface S.
- “J” represents the J-th closest point S (k) (t i ) existing around the control point P.
- the error vector e (k) i, J is weighted according to the distance between the nearest point S (k) (t i ) and the control point P (k) .
- the weighting process can be performed by multiplying the error vector e (k) i, J by a weighting coefficient u (k) i, J.
- the error vector e (k) i, J existing near the control point P is multiplied by a large value of the weighting coefficient u (k) i, J and is moved far from the control point P.
- the existing error vector e (k) i, J is multiplied by setting the value of the weighting coefficient u (k) i, J small.
- the weighting coefficient u (k) i, J by this barycentric coordinate system is represented by a curve on the approximate curved surface S (k) in FIG.
- the weighting factor u (k) i at the control point P * (k), J is "1"
- the control point P * (k) weighted at the edge of the approximated surface S remote from the coefficient u (k) i , J is “0” (S6a).
- FIG. 9 is a diagram for explaining the error vector e (k) i, J around the control point.
- a single control point P (k) has a plurality of triangular meshes having the control point P (k) as a common vertex, and the nearest point S (k ) on the approximate curved surface S (k) formed by each triangular mesh. ) Since a weighted error vector e * (k) i is generated for (t i ), a plurality of weighted error vectors e * (k) i, J are generated for one control point P (k) . At the control point P (k) , these weighted error vectors e * (k) i, J are added to obtain a control vector d (k) that moves the control point.
- the evaluation function E calculates an absolute value error between the data point p i and the nearest point S (k) (t i ). As the evaluation function E, an average error Eave and a maximum error Emax can be determined.
- ⁇ p i ⁇ S (k) (t i ) ⁇ 2 represents the root mean square of (p i ⁇ S (k) (t i )).
- FIG. 10 is a diagram for explaining an increase in control points P due to mesh division.
- FIG. 10A shows an example of 13 triangular meshes.
- one triangular mesh is divided into four triangular meshes by adding a new control point (indicated by a white circle “ ⁇ ” in the figure) to the center of the three control points in the central triangular mesh. Further, the control points added in order not to break the compatibility are connected to the control points of the outer triangular mesh, and each of the outer three triangular meshes is divided into two triangular meshes.
- the degree of approximation can be increased by local remeshing.
- 11 and 12 are examples of local remeshing.
- FIG. 11 is a diagram for explaining the phase adjustment of the control point P.
- FIG. It is known to evaluate the quality of the mesh by the order d (v) of the control points.
- the optimum order d opt (v) at the vertex of the boundary is 4, and the optimum order d opt (v) at the other vertex is 6.
- the evaluation function R (M) When the value of the evaluation function R (M) is compared between the mesh shown in FIG. 11A and the mesh shown in FIG. 11B, the value of the evaluation function R (M) of the mesh shown in FIG. The value is lower than the value of the mesh evaluation function R (M) shown in FIG. Therefore, the evaluation function R (M) can be lowered by changing the connection state of the mesh, which indicates that the quality of the mesh is increased.
- FIG. 12 shows an example in which the elongated mesh is removed by adjusting the control points.
- the angle of the triangular mesh is increased by changing from the connection state of the control points shown in FIG. 12A to the connection state of the control points shown in FIG. 12B, thereby removing the elongated mesh.
- FIG. 13 shows changes in error and calculation time due to repetition.
- the average error Eave reached 0.01% at the 16th iteration, and the maximum error Emax reached 0.05% at the 30th iteration.
- the peak of the maximum error Emax that appears every fifth time is due to the adjustment of the control point.
- Table 1 below shows the error and calculation time of each model example, and examples of the present invention and other methods. Other methods used for comparison are [Marinov and Kobbelt 2005] (Non-Patent Document 8) and [Cheng etl 2007] (Non-Patent Document 9).
- the approximation processing of the present invention is performed using a Pentium (registered trademark) IV 3.0 GHz PC and 2 GB RAM with an average error of 0.01% and a maximum error of 0.05%.
- Non-patent Document 8 ⁇ Comparison of the approximation processing of the present invention and the method of [Marinov and Kobbelt 2005] (Non-patent Document 8), it can be evaluated that the processing speed is about 6 times according to the present invention.
- [Marinov and Kobbelt 2005] (Non-patent Document 8) uses a Pentium (registered trademark) 2.8 GHz PC and 2 GB RAM, and uses the mean square error instead of the mean error.
- Non-Patent Document 9 ⁇ Comparison of the approximate processing of the present invention and the method of [Cheng et al. 2007] (Non-Patent Document 9) According to the present invention, it can be evaluated that the processing speed is about 6 times. In [Cheng et al. 2007] (Non-Patent Document 9), this is implemented using a Xeon 2.8GHz PC and 2GB RAM.
- FIG. 14 is a diagram showing an embodiment of the approximation process of the present invention.
- FIG. 14A shows an image of the target object to be approximated
- FIG. 14B shows the data point superimposed on the image of the target object
- FIG. 14C shows a triangular mesh by QEM.
- FIG. 14D shows an error vector and a control vector
- FIG. 14E shows an approximate curved surface obtained by the approximation process.
- the feature point S is selected from the n + 1 point group while maintaining the shape.
- a Douglas-Peucker Algorithm which is a method for simplifying the approximate curve.
- This Douglas-Poiker algorithm is a method for simplifying approximate curves, and is widely used in computer graphics and geographic information systems. It can be simplified with a single edge connecting the start and end points of approximate curves. Start, find the distance to the remaining vertices for that edge, and if there are vertices whose distance from the edge is farther than the threshold, divide the approximate curve by the farthest vertex and The process of simplifying the edge is performed inductively.
- a perpendicular line is drawn from the input point group to the curve defined by the control point P, and the vector directed to the foot input point of the perpendicular line when the perpendicular line is dropped to the music is used as the error vector.
- the perpendicular corresponds to the closest point from the input point to the curve, and can be obtained by the Newton method.
- the approximation method differs from the interpolation method in that the number of control points is smaller than the number of input points, so the error vector and the control point do not correspond one-to-one, and the error vector and the movement vector match. Not. Therefore, for each input point, the error vector is weighted based on the B-spline basis function for each control point that affects the span where the perpendicular falls. Each control point P is moved by a weighted movement vector to obtain a new control point P.
- the error vector is weighted based on the B-spline basis function.
- This weighting is performed by paying attention to k control points constituting one span.
- a motion vector is defined by weighting the error vector based on the B-spline basis function for each control point that affects the span where the perpendicular falls.
- FIG. 15 is a diagram for explaining weighting in the approximation of the B-spline curve.
- the span s in which the perpendicular line descending from the input point Q to the curve falls is searched.
- the error vector weighted by the B-spline basis function is added to each of k control points constituting the span s.
- the control points P s ⁇ 1 , P s , P s + 1 , and P s + 2 constituting the span s are added together.
- the above process is performed for all data points of the input point group, and the sum vector is normalized to obtain the direction vector of movement. Normalization can be performed by dividing the magnitude of the weighted error vector by the scalar amount added for each control point. Further, the movement amount is obtained by dividing the sum of the sizes (the scalar amount) by the total number of the sums and averaging.
- the present invention can be applied not only to the subdivided curved surface and B-Spline as described above but also to NURBS and the like.
- the present invention can be applied to reverse engineering in the field of 3D modeling.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
2…記憶手段
2a…データ記憶部
2b…演算ツールプログラム記憶部
2c…演算プログラム処理プログラム部
2d…一次記憶部
2e…演算記憶部
3…演算手段
4…表示手段
5…出力手段
[(p-S(v,w))・Sv (v,w)]=0
[(p-S(v,w))・Sw (v,w)]=0 …(1)
[p-(S(v,w)+Sv(v,w)Δv+Sw(v,w)Δw)]・Sw(v,w)]i j=0 …(2)
e*(k) i,J=u(k) i,J・e(k) i,J …(3)
J=1,…,m
で表される。なお、mは制御点P(k)を共通の頂点としてその周囲に形成される複数の近似曲面S上に存在する最近点S*(k)(ti)の個数である。また、制御点P*(k)における重み付け係数u(k) i,Jは“1”であり、制御点P*(k)から離れた近似曲面Sの縁部における重み付け係数u(k) i,Jは“0”である(S6a)。
d(k)=ΣJe*(k) i,J/Σu(k) i,J …(4)
で表される。Σu(k) i,Jは重み付け係数u(k) i,Jの加算値であり、この加算値で誤差ベクトルe*(k) i,Jの加算値(ΣJe*(k) i,J)を除算することで正規化する。
平均誤差Eave=Σn i=1∥pi-S(k)(ti)∥2/n …(5)
最大誤差Emax=max1≦i≦n∥pi-S(k)(ti)∥2 …(6)
R(M)=Σ(d(v)-dopt(v))2 …(7)
が知られ、この評価値が低いほどメッシュの質が高いことを示している。なお、vはMの要素である。
Claims (10)
- 制御点により定義される曲線又は曲面によって点群のデータ点を近似する近似処理方法において、
形状の特徴を保存する制御点を用いて近似曲線又は近似曲面を形成する工程と、
前記近似曲線又は近似曲面上において、前記データ点に最も近い最近点を算出する第1の算出工程と、
前記第1の算出工程で求めた最近点から前記データ点を結ぶ誤差ベクトルを算出する第2の算出工程と、
前記第2の算出工程で求めた誤差ベクトルに基づいて前記制御点を移動し修正後の制御点を算出する第3の算出工程とを備え、
前記近似曲線又は近似曲面を形成する工程および各算出工程は、幾何アルゴリズムを組み込んだ演算手段により行い、
前記近似曲線又は近似曲面の形成工程と前記第1~第3の算出工程を繰り返すことによって、前記近似曲線又は近似曲面をそれぞれ対象とするデータ点が構成する曲線又は曲面に近似させることを特徴とする近似処理方法。 - 前記第1の算出工程は、ニュートン法によって近似曲線又は近似曲面上において前記データ点に最も近い最近点を算出することを特徴とする請求項1に記載の近似処理方法。
- 前記第3の算出工程は、前記第2の算出工程で算出した複数の誤差ベクトルの内、修正を行う制御点の周囲にある最近点について算出した誤差ベクトルに重み付け処理を行い、当該重み付けした誤差ベクトルをベクトル加算し、当該ベクトル加算された加算ベクトルを移動ベクトルとして前記制御点を移動し、移動後の制御点を修正後制御点として算出することを特徴とする請求項1又は2に記載の近似処理方法。
- 前記第3の算出工程における重み付け処理は、前記制御点の周囲の最近点について求めた誤差ベクトルに係数を乗じる演算処理であり、
前記係数は制御点と最近点との距離に応じて、制御点に近い程ほど大きな値を設定することを特徴とする請求項3に記載の近似処理方法。 - 前記係数は、重心座標系(barycentric coordinate)に従って定めることを特徴とする請求項4に記載の近似処理方法。
- 前記データ点と当該データ点に対応する近似曲線又は近似曲面上の最近点との距離に基づいて、近似曲線又は近似曲面の近似誤差を算出し、
前記近似誤差が所定値未満となるまで前記第1~第3の算出工程を繰り返すことを特徴とする請求項1から5の何れか一つに記載の近似処理方法。 - 前記制御点の算出処理の繰り返し回数が所定回数を超えた場合には、面分割による制御点の個数を増加させ、
前記近似誤差が所定値未満となるまで前記制御点の算出工程と前記面分割による制御点の増加を繰り返すことを特徴とする請求項6に記載の近似処理方法。 - 前記曲面は、三角形メッシュによるLoop細分割、四角形メッシュによるCatmull-Clark,Doo-Sabin細分割、NURBS、B-Splineの何れか一つにより定められる制御点により定義されることを特徴とする請求項1から請求項7の何れか一つに記載の近似処理方法。
- 点群のデータ点を結んで折れ線又はメッシュを形成する工程と、
当該折れ線又はメッシュの特徴をとらえた頂点を求め、当該頂点を初期制御点とする工程とを備え、
前記近似曲線又は近似曲面を形成する工程は、前記初期制御点を用いて第1回目の近似曲線又は近似曲面の形成を行うことを特徴とする請求項1から請求項8の何れか一つに記載の近似処理方法。 - 制御点により定義される曲線又は曲面によって点群を近似する近似処理装置において、
形状の特徴点を保存する制御点を用いて近似曲線又は近似曲面を形成する工程と、
前記近似曲線又は近似曲面上において、前記データ点に最も近い最近点を算出する第1の算出工程と、
前記第1の算出工程で求めた最近点から前記データ点を結ぶ誤差ベクトルを算出する第2の算出工程と、
前記第2の算出工程で求めた誤差ベクトルに基づいて前記制御点を移動し修正後の制御点を算出する第3の算出工程の各工程を行う演算手段を備え、
前記演算手段は、前記近似曲線又は近似曲面を形成する工程、および前記各算出工程を行う幾何アルゴリズムをソフトウエアで実行するためのCPU及び記憶装置、又は各幾何アルゴリズムをハードウエアで実行するための回路を備え、前記近似曲線又は近似曲面の形成工程と前記第1~第3の算出工程を繰り返すことによって、前記近似曲線又は近似曲面をそれぞれ対象とする曲線又は曲面に近似させることを特徴とする近似処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010512954A JP5436416B2 (ja) | 2008-05-23 | 2009-02-24 | 近似処理方法、および近似処理装置 |
US12/994,011 US8805908B2 (en) | 2008-05-23 | 2009-02-24 | Approximation processing method and approximation processing device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008135643 | 2008-05-23 | ||
JP2008-135643 | 2008-05-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009142037A1 true WO2009142037A1 (ja) | 2009-11-26 |
Family
ID=41339976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/053252 WO2009142037A1 (ja) | 2008-05-23 | 2009-02-24 | 近似処理方法、および近似処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8805908B2 (ja) |
JP (1) | JP5436416B2 (ja) |
WO (1) | WO2009142037A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629292A (zh) * | 2012-03-26 | 2012-08-08 | 河北省送变电公司 | 连接管钢梁不同平面间的斜角钢制弯计算方法 |
JP2014059672A (ja) * | 2012-09-14 | 2014-04-03 | Mitsutoyo Corp | 三次元モデル生成方法、システム及びプログラム |
JP6180587B1 (ja) * | 2016-05-31 | 2017-08-16 | 株式会社セルシス | 2つの画像を対応づける方法、及びプログラム |
JP2019145083A (ja) * | 2017-12-22 | 2019-08-29 | ダッソー システムズDassault Systemes | 実オブジェクトのスキンを表すファセットの集合の決定 |
JP2020113811A (ja) * | 2019-01-08 | 2020-07-27 | セイコーエプソン株式会社 | 測色方法、画像表示方法、測色装置、画像表示装置及び画像表示システム |
WO2021044891A1 (ja) * | 2019-09-02 | 2021-03-11 | マツダ株式会社 | 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336628B2 (en) * | 2008-05-08 | 2016-05-10 | United Technologies Corporation | Systems and methods involving surface fitting |
US8669983B2 (en) * | 2010-08-31 | 2014-03-11 | Microsoft Corporation | Buffer construction with geodetic circular arcs |
CN103136431B (zh) * | 2013-03-26 | 2015-07-15 | 山东大学 | 一种自由曲面的保面积参数特性优化方法 |
CN104392021B (zh) * | 2014-10-24 | 2016-04-06 | 山东大学 | 一种层次自由曲面的保角参数特性优化方法 |
US10115226B2 (en) * | 2016-07-21 | 2018-10-30 | Christie Digital Systems Usa, Inc. | System and method for geometric warping correction in projection mapping |
US20240020935A1 (en) * | 2022-07-15 | 2024-01-18 | The Boeing Company | Modeling system for 3d virtual model |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04117572A (ja) * | 1990-09-07 | 1992-04-17 | Ricoh Co Ltd | 3次元立体形状生成装置 |
WO2007083602A1 (ja) * | 2006-01-23 | 2007-07-26 | National University Corporation Yokohama National University | 補間処理方法、補間処理装置、形状評価方法、および形状評価装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084586A (en) * | 1991-10-29 | 2000-07-04 | Sony Corporation | Method and apparatus for forming objects based on free-form curves and free-form surfaces generated by minimizing sum of distances from an input series of points to a free-form curve |
JP3054108B2 (ja) * | 1997-08-15 | 2000-06-19 | 理化学研究所 | 自由曲面の測定データ合成方法 |
WO2004111927A2 (en) * | 2003-06-13 | 2004-12-23 | UNIVERSITé LAVAL | Three-dimensional modeling from arbitrary three-dimensional curves |
US20090027398A1 (en) * | 2007-07-26 | 2009-01-29 | Tufts University | Method for recognizing a shape from a path of a digitizing device |
-
2009
- 2009-02-24 JP JP2010512954A patent/JP5436416B2/ja not_active Expired - Fee Related
- 2009-02-24 WO PCT/JP2009/053252 patent/WO2009142037A1/ja active Application Filing
- 2009-02-24 US US12/994,011 patent/US8805908B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04117572A (ja) * | 1990-09-07 | 1992-04-17 | Ricoh Co Ltd | 3次元立体形状生成装置 |
WO2007083602A1 (ja) * | 2006-01-23 | 2007-07-26 | National University Corporation Yokohama National University | 補間処理方法、補間処理装置、形状評価方法、および形状評価装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102629292A (zh) * | 2012-03-26 | 2012-08-08 | 河北省送变电公司 | 连接管钢梁不同平面间的斜角钢制弯计算方法 |
JP2014059672A (ja) * | 2012-09-14 | 2014-04-03 | Mitsutoyo Corp | 三次元モデル生成方法、システム及びプログラム |
JP6180587B1 (ja) * | 2016-05-31 | 2017-08-16 | 株式会社セルシス | 2つの画像を対応づける方法、及びプログラム |
JP2017215729A (ja) * | 2016-05-31 | 2017-12-07 | 株式会社セルシス | 2つの画像を対応づける方法、及びプログラム |
JP2019145083A (ja) * | 2017-12-22 | 2019-08-29 | ダッソー システムズDassault Systemes | 実オブジェクトのスキンを表すファセットの集合の決定 |
JP7256005B2 (ja) | 2017-12-22 | 2023-04-11 | ダッソー システムズ | 実オブジェクトのスキンを表すファセットの集合の決定 |
JP2020113811A (ja) * | 2019-01-08 | 2020-07-27 | セイコーエプソン株式会社 | 測色方法、画像表示方法、測色装置、画像表示装置及び画像表示システム |
JP7326742B2 (ja) | 2019-01-08 | 2023-08-16 | セイコーエプソン株式会社 | 測色方法、画像表示方法、測色装置、画像表示装置及び画像表示システム |
WO2021044891A1 (ja) * | 2019-09-02 | 2021-03-11 | マツダ株式会社 | 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体 |
JP7446579B2 (ja) | 2019-09-02 | 2024-03-11 | マツダ株式会社 | 曲面のフィッティング処理方法、フィッティング処理装置およびフィッティング処理プログラム、並びに、該フィッティング処理プログラムを記憶したコンピュータ読取可能な記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2009142037A1 (ja) | 2011-09-29 |
US8805908B2 (en) | 2014-08-12 |
JP5436416B2 (ja) | 2014-03-05 |
US20110078223A1 (en) | 2011-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5436416B2 (ja) | 近似処理方法、および近似処理装置 | |
JP4934789B2 (ja) | 補間処理方法および補間処理装置 | |
Suzuki et al. | Subdivision surface fitting to a range of points | |
KR100707841B1 (ko) | 3차원 목표곡선을 이용한 곡면 변형 장치 및 그 방법 | |
CN111581776B (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN109683552B (zh) | 一种基面曲线导向的复杂点云模型上的数控加工路径生成方法 | |
CN106384384B (zh) | 一种三维产品模型的形状优化方法 | |
CN111462328B (zh) | 一种基于渐进插值细分曲面的多个三维网格模型插值方法 | |
Sieger et al. | A comprehensive comparison of shape deformation methods in evolutionary design optimization | |
Abdul-Rahman et al. | Freeform texture representation and characterisation based on triangular mesh projection techniques | |
Knopf et al. | Adaptive reconstruction of free-form surfaces using Bernstein basis function networks | |
Krause et al. | Reconstruction of freeform objects with arbitrary topology using neural networks and subdivision techniques | |
JP2007156604A (ja) | 曲面作成方法及び曲面作成プログラム並びに3次元形状処理装置 | |
Hormann | From scattered samples to smooth surfaces | |
Bock et al. | Generation of high-order polynomial patches from scattered data | |
JP2005149245A (ja) | Cadシステム、曲面解析装置、曲面再生装置、その方法及びそのプログラム | |
Kuriyama et al. | Discrete parameterization for deforming arbitrary meshes | |
CN114937110B (zh) | 一种gpu加速的引流线建模方法、系统、设备及介质 | |
CN117315196B (zh) | 一种模型的构建方法、装置、设备和存储介质 | |
Gandotra et al. | Representation of model for efficient collision detection in virtual reality environment | |
CN116229005B (zh) | 三维巷道模型的测地线确定方法和装置 | |
Knopf et al. | Intelligent systems for interactive design and visualization | |
Hube et al. | Seamless integration of analysis and design: Automatic CAD reconstruction of post-analysis geometries | |
Huang et al. | Research on insertion points planning of head model | |
Qiu et al. | Curvature estimation of point set data based on the moving-least square surface |
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: 09750399 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010512954 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12994011 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09750399 Country of ref document: EP Kind code of ref document: A1 |