JPWO2009057517A1 - Interpolation processing method and interpolation processing apparatus - Google Patents
Interpolation processing method and interpolation processing apparatus Download PDFInfo
- Publication number
- JPWO2009057517A1 JPWO2009057517A1 JP2009539033A JP2009539033A JPWO2009057517A1 JP WO2009057517 A1 JPWO2009057517 A1 JP WO2009057517A1 JP 2009539033 A JP2009539033 A JP 2009539033A JP 2009539033 A JP2009539033 A JP 2009539033A JP WO2009057517 A1 JPWO2009057517 A1 JP WO2009057517A1
- Authority
- JP
- Japan
- Prior art keywords
- point
- interpolation
- curve
- curved surface
- vector
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Complex Calculations (AREA)
Abstract
補間処理は、B−Spline曲線・曲面や細分割曲面等の制御点で表される曲線・曲面を用いて補間点を補間する際に、点群を構成する補間点の位置情報と、各補間点に設定された単位方向ベクトルのベクトル情報を用いて、制御点を移動させる移動ベクトルを算出し、この移動ベクトルの移動方向に移動量だけ制御点を移動させる。補間点を補間する曲線・曲面の生成と制御点の移動の工程を繰り返すことによって、曲線・曲面を点群の位置および単位方向ベクトルについてフィッティングさせる新たな制御点位置を求める。点群の位置情報と法線情報を用いた補間処理において、制御点の増加を抑制して処理データのデータ量を低減し、また、接線ベクトルの大きさの指定を不要とする。Interpolation processing is performed by interpolating interpolated points using curves / curved surfaces represented by control points such as B-Spline curves / curved surfaces and subdivision curved surfaces, and the position information of the interpolating points constituting each point group and each interpolation. Using the vector information of the unit direction vector set for the point, a movement vector for moving the control point is calculated, and the control point is moved by the movement amount in the movement direction of the movement vector. By repeating the steps of generating a curve / curved surface for interpolating the interpolation point and moving the control point, a new control point position for fitting the curve / curved surface with respect to the position of the point group and the unit direction vector is obtained. In the interpolation process using the position information and normal line information of the point group, the increase in control points is suppressed to reduce the data amount of the processing data, and the specification of the size of the tangent vector is unnecessary.
Description
本発明は、点群データを補間・近似して曲線あるいは曲面を生成するフィッティング処理方法、フィッティング処理装置、およびこのフィッティング処理をCPUに実行させるプログラムに関する。 The present invention relates to a fitting processing method for generating a curve or a curved surface by interpolating and approximating point cloud data, a fitting processing device, and a program for causing a CPU to execute this fitting processing.
自由曲面は、船、自動車、飛行機等、様々な工業製品のボディに用いられており、機能性と美しさの両方を兼ね備えるものであり、家庭電気製品や多くの消費材の外観など意匠的に美しい形状のデザイン設計に用いられる。 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レーザスキャナによって高密度の点群データを高速かつ容易に収集することができるようになり、物体形状を高精度で測定できることが可能と成っている。例えば、3Dモデリングの分野においては、デザイナが手作業で作成したモックアップモデルを3Dレーザスキャナで計測し、コンピュータに取り込んだ点群データやポリゴンデータをもとに製品として生産するために必要な曲面データなどのCADデータを作成していくという、いわゆる形状のリバースエンジニアリングの手法が行われている。 In recent years, it has become possible to collect high-density point cloud data at high speed with a 3D laser scanner, and to measure an object shape with high accuracy. For example, in the field of 3D modeling, curved surfaces necessary for measuring mock-up models created manually by designers with a 3D laser scanner and producing them as products based on point cloud data and polygon data captured by a computer A so-called reverse engineering technique of creating CAD data such as data has been performed.
一般に、3DモデルはポリゴンモデルまたはNURBSやB−Splineなどの曲面パッチによりコンピュータ上で表現される。 In general, a 3D model is represented on a computer by a polygon model or a curved patch such as NURBS or B-Spline.
CAD/CAMにおいて点群の位置情報からB−Spline、NURBS、細分割等の曲線・曲面曲を補間・近似する方法が知られている(非特許文献1、特許文献1)。この補間・近似において、各点の位置情報に加えて法線情報を付加することによって設計の自由度を上げ、オフセット曲線・曲面の近似精度を向上させることが可能である。
法線を含む補間では、制御点の個数が点群の位置のみを補正する場合と比較して増加する。例えば、制御点の点数は、曲線の場合には補間点数の約2倍、曲面の場合には補間点数の約3倍となる。 In the interpolation including the normal line, the number of control points increases as compared with the case where only the position of the point group is corrected. For example, the number of control points is about twice the number of interpolation points in the case of a curve, and about three times the number of interpolation points in the case of a curved surface.
さらに、法線を指定するために用いる接線ベクトルにおいて、方向に係わる情報に加えて大きさの情報についても各補間点で指定する必要がある。この接線ベクトルの大きさの指定は、各補間点での接線ベクトルの大きさの指定と、指定した大きさによって得られる曲線あるいは曲面の補間結果の評価とを人手によって繰り返すことによって行うため、補間処理の多大な時間と負担を要する。 Further, in the tangent vector used for designating the normal line, it is necessary to designate the magnitude information in addition to the direction information at each interpolation point. The size of the tangent vector is specified by manually specifying the size of the tangent vector at each interpolation point and evaluating the interpolation result of the curve or curved surface obtained by the specified size. It takes a lot of processing time and burden.
したがって、点群の位置情報に加えて法線情報を付加することによって行う補間処理では、制御点の増加や、接線ベクトルにおける方向と大きさの指定等によって、設定を要するデータ数が増加するという問題がある。このデータ数の増加は、演算処理の処理時間の増加を招く他、人が行う処理も多大となるという問題がある。 Therefore, in interpolation processing performed by adding normal line information in addition to point cloud position information, the number of data that needs to be set increases due to an increase in control points, designation of the direction and size of a tangent vector, and the like. There's a problem. This increase in the number of data causes an increase in the processing time of the arithmetic processing, and there is a problem that the processing performed by humans becomes enormous.
また、制御点が増加すると、曲線に不要な振動が生じる場合がある。 Further, when the control points increase, unnecessary vibration may occur in the curve.
そこで、本発明は前記した従来の問題点を解決し、点群の位置情報と法線情報を用いた補間処理において、処理データのデータ量を低減することを目的とする。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to solve the above-described conventional problems and to reduce the amount of processing data in interpolation processing using position information and normal information of point clouds.
さらに詳細には、点群の位置情報と法線情報を用いた補間処理において、制御点の増加を抑制することを目的とし、また、接線ベクトルの大きさの指定を不要とすることを目的とする。 More specifically, the purpose is to suppress the increase of control points in the interpolation processing using the position information and normal line information of the point cloud, and to eliminate the need to specify the size of the tangent vector. To do.
本発明は、フィッティング対象となる点群が与えられた状態から、この点群を補間する曲線あるいは曲面を求めるものである。はじめに、フィッティング対象となる点群を初期制御点群とし、この制御点群の制御点を用いて曲線、あるいは曲面を生成する。この制御点で表される曲線は、B−Spline曲線を適用することができ、また、制御点で表される曲面は、B−Spline曲面や細分割曲面を適用することができる。 In the present invention, a curve or a curved surface for interpolating a point group is obtained from a state where a point group to be fitted is given. First, a point group to be fitted is set as an initial control point group, and a curve or a curved surface is generated using the control points of the control point group. A B-Spline curve can be applied to the curve represented by the control points, and a B-Spline curved surface or a subdivision curved surface can be applied to the curved surface represented by the control points.
次に、同じ点群を補間点として、曲線、あるいは曲面の生成時に得られた制御点を移動させることによって、生成した曲線又は曲面を用いて補間点を補間するものである。以下、曲線あるいは曲面を曲線・曲面と表記して説明する。 Next, the interpolation point is interpolated using the generated curve or curved surface by moving the control point obtained at the time of generating the curve or curved surface using the same point group as the interpolation point. Hereinafter, a curve or a curved surface will be described as a curve / curved surface.
本発明による補間処理では、生成した曲線・曲面を用いて補間点を補間する際に、点群を構成する補間点の位置情報と、各補間点に設定された単位方向ベクトルのベクトル情報を用いて、制御点を移動させる移動ベクトルを算出し、この移動ベクトルの移動方向に移動量だけ制御点を移動させる。 In the interpolation processing according to the present invention, when interpolating the interpolation points using the generated curve / curved surface, the position information of the interpolation points constituting the point group and the vector information of the unit direction vector set to each interpolation point are used. Thus, a movement vector for moving the control point is calculated, and the control point is moved by the movement amount in the movement direction of the movement vector.
上記した、補間点を補間する曲線・曲面の生成と制御点の移動の工程を繰り返すことによって、曲線・曲面を点群の位置および単位方向ベクトルについてフィッティングさせる新たな制御点位置を求める。 By repeating the above-described steps of generating a curve / curved surface for interpolating interpolation points and moving the control point, a new control point position for fitting the curve / curved surface with respect to the position of the point group and the unit direction vector is obtained.
本発明は、各点群から最短距離となる曲線・曲面上の点を求める第一の工程と、設定された単位方向ベクトルと曲線・曲面上の接線が垂直となる接線を有する点を求める第二の工程、第二の工程で求めた点から各点群へ向かうベクトルを求め、このベクトル分だけ各制御点を移動させる第三の工程を、補間点に定められた位置と方向について位置誤差と角度誤差が所定した大きさよりも小さくなるまで繰り返す。 The present invention provides a first step for obtaining a point on the curve / curved surface that is the shortest distance from each point group, and a step for obtaining a point having a tangent line in which the set unit direction vector and the tangent on the curve / curved surface are perpendicular to each other. In the second and second steps, a vector heading to each point group is obtained from the points obtained in the second step, and the third step of moving each control point by this vector is the position error for the position and direction determined for the interpolation point. And repeat until the angle error is smaller than a predetermined size.
位置誤差については、点群と曲線・曲面との距離が、しきい値を満たすまで、またそれよりも小さくなるまで繰り返すことで減少させる。また、角度誤差については、曲線・曲面上の点であって、点群から最短距離となる点における法線ベクトルと、補間点に設定された単位方向ベクトルとの角度差が、しきい値を満たすまで、またそれよりも小さくなるまで繰り返すことで減少させる。これによって、点群にフィッティングする曲線・曲面を生成する。 The position error is reduced by repeating until the distance between the point group and the curve / curved surface satisfies the threshold value or becomes smaller than that. Regarding the angle error, the angle difference between the normal vector at the point on the curve / curved surface that is the shortest distance from the point group and the unit direction vector set for the interpolation point is the threshold value. Decrease by repeating until it is satisfied or smaller. As a result, a curve / curved surface to be fitted to the point group is generated.
本発明は、補間処理方法の態様と補間処理装置の態様とを有する。 The present invention has an aspect of an interpolation processing method and an aspect of an interpolation processing apparatus.
補間処理方法の態様は、制御点で定義される曲線または曲面によって点群を補間する補間処理方法であって、点群は、補間点の位置情報と、この補間点における曲線または曲面の方向を定める単位方向ベクトルのベクトル情報とを有する。 An aspect of the interpolation processing method is an interpolation processing method for interpolating a point group by a curve or curved surface defined by a control point, and the point group uses the position information of the interpolation point and the direction of the curve or curved surface at the interpolation point. Vector information of unit direction vectors to be determined.
補間処理は、制御点により定義される曲線・曲面において、補間点の位置情報に基づいて、補間点から曲線・曲面上に下ろした垂線の足を第1の点として求める幾何アルゴリズムの演算を行う第一の補間工程と、ベクトル情報に基づいて、単位方向ベクトルと垂直に交わる曲線の接線または曲面の接平面との接点を第2の点として求める幾何アルゴリズムの演算を行う第二の補間工程と、第1の点から補間点に向かうベクトル、第2の点から前記補間点に向かうベクトル、第2の点から第1の点に向かうベクトルを移動ベクトルとして求め、曲線または曲面を定義する制御点の位置を前記した3つの移動ベクトルから選択した移動ベクトルを用いて移動し、移動後の位置を新たな曲線または曲面の制御点の位置として定める幾何アルゴリズムの演算を行う第三の補間工程とを含んでいる。これら各補間工程を行う演算処理は、幾何アルゴリズムを組み込んだ演算手段により行われる。 In the interpolation process, a geometric algorithm is calculated on the curve / curved surface defined by the control point, based on the position information of the interpolation point, and the perpendicular point dropped from the interpolation point onto the curve / curved surface as the first point. A first interpolation step, and a second interpolation step for performing a geometric algorithm operation for obtaining, as a second point, a contact point of a curved line tangent perpendicular to the unit direction vector or a tangent plane of the curved surface based on the vector information; A control point that defines a curve or a curved surface by obtaining a vector from the first point to the interpolation point, a vector from the second point to the interpolation point, and a vector from the second point to the first point as a movement vector. A geometric algorithm for determining the position after the movement as a position of a control point of a new curve or curved surface by using the movement vector selected from the three movement vectors described above And a third interpolation step of performing an arithmetic operation. The arithmetic processing for performing each of these interpolation steps is performed by arithmetic means incorporating a geometric algorithm.
また、補間処理装置の態様では、制御点で定義される曲線または曲面によって点群を補間する補間処理装置であって、点群は、補間点の位置情報と、この補間点において曲線または曲面の方向および曲率を定める単位方向ベクトルのベクトル情報とを有する。 The aspect of the interpolation processing apparatus is an interpolation processing apparatus that interpolates a point group by a curve or curved surface defined by a control point. The point group includes position information of the interpolation point and the curve or curved surface at the interpolation point. And vector information of a unit direction vector that defines a direction and a curvature.
補間処理装置、補間処理を行う構成として第一〜第三の幾何演算手段を備える。 The interpolation processing apparatus and first to third geometric calculation means are provided as a configuration for performing the interpolation processing.
第一の幾何演算手段は、制御点により定義される曲線あるいは曲面において、補間点の位置情報に基づいて、補間点から曲線上または曲面上に下ろした垂線の足を第1の点として求める幾何アルゴリズムによって第一の補間工程を行う。 The first geometric calculation means obtains, as a first point, a perpendicular line dropped from the interpolation point on the curve or curved surface based on the position information of the interpolation point in the curve or curved surface defined by the control point. A first interpolation step is performed by an algorithm.
第二の幾何演算手段は、ベクトル情報に基づいて、単位方向ベクトルと垂直に交わる曲線の接線または曲面の接平面との接点を第2の点として求める幾何アルゴリズムによって第二の補間工程を行う。 The second geometric operation means performs the second interpolation step by a geometric algorithm that obtains, as a second point, a tangent line of the curve perpendicular to the unit direction vector or a tangent plane of the curved surface based on the vector information.
第三の幾何演算手段は、第1の点から補間点に向かうベクトル、第2の点から補間点に向かうベクトル、第2の点から第1の点に向かうベクトルを移動ベクトルとして求め、曲線または曲面を定義する制御点の位置を何れか一つの移動ベクトルを用いて移動し、移動後の位置を新たな曲線または曲面の制御点の位置として定める幾何アルゴリズムによって第三の補間工程を行う。 The third geometric calculation means obtains a vector from the first point to the interpolation point, a vector from the second point to the interpolation point, and a vector from the second point to the first point as a movement vector, A third interpolation step is performed by a geometric algorithm that moves the position of the control point that defines the curved surface using any one of the movement vectors and determines the position after the movement as the position of the control point of the new curve or curved surface.
ここで、第一の幾何演算手段、第二の幾何演算手段及び第三の幾何演算手段は、各幾何アルゴリズムをソフトウェアで実行するためのCPU及び記憶装置、又は各幾何アルゴリズムをハードウェアで実行するための回路を備える構成とすることができる。 Here, the first geometric calculation means, the second geometric calculation means, and the third geometric calculation means execute a CPU and a storage device for executing each geometric algorithm by software, or execute each geometric algorithm by hardware. For this reason, the circuit may be provided with a circuit for this purpose.
本発明において、曲線・曲面の方向や曲率を定める単位方向ベクトルは、方向のみの情報を有し、大きさについては情報を有していない。また、この単位方向ベクトルは、補間点を補間する曲線又は曲面上における補間点での法線ベクトルとする他、法線ベクトルから所定の角度関係を有した方向ベクトルとしてもよい。 In the present invention, the unit direction vector that determines the direction and curvature of the curve / curved surface has only information on the direction and does not have information on the size. The unit direction vector may be a normal vector at an interpolation point on a curve or curved surface for interpolating the interpolation point, or may be a direction vector having a predetermined angular relationship from the normal vector.
補間処理の終了は、曲線・曲面が補間点を十分に補間したと判断される時点まで繰り返す。この繰り返しによる収斂は、距離と角度差を指標として行うことができる。 The end of the interpolation process is repeated until it is determined that the curve / curved surface has sufficiently interpolated the interpolation points. Convergence by this repetition can be performed using distance and angle difference as indices.
距離を指標として繰り返しを行う場合には、演算処理で得た制御点に基づいて新たな曲線・曲面を求め、補間点と求めた曲線又は曲面との距離としきい値とを比較し、この距離がしきい値を満たすまで、又はしきい値よりも小さくなるまで、第一の補間工程と第二の補間工程と第三の補間工程を繰り返す。 When iterating using the distance as an index, a new curve / curved surface is obtained based on the control point obtained by the calculation process, the distance between the interpolation point and the obtained curve / curved surface is compared with a threshold value, and this distance is calculated. The first interpolation process, the second interpolation process, and the third interpolation process are repeated until the threshold value satisfies the threshold value or becomes smaller than the threshold value.
また、角度を指標として繰り返しを行う場合には、演算処理で得た制御点に基づいて新たな曲線・曲面を求め、各補間点に設定された単位方向ベクトルと、第一の補間工程で求めた垂線の足となる第1の点における曲線または曲面の法線ベクトルとが形成する角度差とを求め、この両ベクトルの角度差としきい値とを比較し、角度差がしきい値を満たすまで、又はしきい値よりも小さくなるまで、第一の補間工程と第二の補間工程と第三の補間工程を繰り返す。 In addition, when iterating using the angle as an index, a new curve / curved surface is obtained based on the control points obtained by the calculation process, and the unit direction vector set for each interpolation point and the first interpolation step are obtained. The angle difference formed by the normal vector of the curved line or curved surface at the first point that becomes the foot of the perpendicular is obtained, the angle difference between these vectors is compared with the threshold value, and the angle difference satisfies the threshold value. The first interpolation process, the second interpolation process, and the third interpolation process are repeated until or until the value becomes smaller than the threshold value.
上記した距離を指標とする収斂と、角度差を指標とする収斂は、それぞれ単独で行う他に、両方を組み合わせて行っても良い。 The convergence using the distance as an index and the convergence using the angle difference as an index may be performed separately or in combination.
また、本発明の補間処理では、はじめに点群が与えられた状態で開始する場合には、第1回目に行う各補間工程では、与えられた点群の補間点を初期制御点として曲線・曲面を生成し、各幾何アルゴリズムの演算を行うことで制御点を生成する。次に、第2回目以降で行う補間工程では、補間工程で得た制御点の位置を新たな制御点の位置として、各幾何アルゴリズムの演算を行うことで制御点を修正し、これを繰り返す。 In addition, in the interpolation processing of the present invention, when starting with a point group given first, in each interpolation step performed for the first time, a curve / curved surface is set with the interpolation point of the given point group as an initial control point. And a control point is generated by calculating each geometric algorithm. Next, in the interpolation process performed after the second time, the control point is corrected by performing each geometric algorithm using the position of the control point obtained in the interpolation process as the position of the new control point, and this is repeated.
本発明による補間処理は、局所的に各制御点を扱うことになるため、線形システム自体を必要としない上に、幾何学的なプロセスのみで点群にフィッティングする曲線・曲面を生成することができる。そのため、本発明の補間処理によれば、従来の手法にくらべ曲線・曲面を定義する制御点の数を、曲線では二分の一、曲面では三分の一に減少させることができる。 Since the interpolation processing according to the present invention treats each control point locally, it does not require a linear system itself and can generate a curve / curved surface that fits a point group only by a geometric process. it can. Therefore, according to the interpolation processing of the present invention, the number of control points defining a curve / curved surface can be reduced to one-half for a curve and one-third for a curved surface, compared to the conventional method.
また、本発明による補間処理では、補間点に設定する単位方向ベクトルはベクトル情報として方向のみを含み、大きさについては不要である。従来の接線ベクトルを用いた処理では、曲線又は曲面上の各点において接線ベクトルの大きさの変更を、曲線又は曲面の形状を目視で観察しながら逐次行ってフィッティングを行う必要があり、多くの労力と時間を有していたが、本発明によれば、プロセスの開始から終了までの間で人の介入なしに曲線・曲面のフィッティングを行うことができる。なお、ここでフィッティングとは補間と近似の両方を含むものとする。 In the interpolation processing according to the present invention, the unit direction vector set to the interpolation point includes only the direction as vector information, and the size is not necessary. In the processing using the conventional tangent vector, it is necessary to perform fitting by sequentially changing the size of the tangent vector at each point on the curve or curved surface while visually observing the shape of the curve or curved surface. Although having labor and time, according to the present invention, it is possible to perform curve / curved surface fitting without human intervention from the start to the end of the process. Here, the fitting includes both interpolation and approximation.
以上説明したように、本発明によれば、点群の位置情報と法線情報を用いた補間処理において、制御点の増加を抑制し、処理データのデータ量を低減することができる。 As described above, according to the present invention, an increase in control points can be suppressed and the amount of processing data can be reduced in interpolation processing using point cloud position information and normal information.
また、点群の位置情報と法線情報を用いた補間処理において、接線ベクトルの大きさの指定を不要とし、自動的な補間を容易とすることができる。 In addition, in the interpolation process using the position information and normal line information of the point group, it is not necessary to specify the size of the tangent vector, and automatic interpolation can be facilitated.
また、制御点の増加に伴って生じていた、補間の際の不必要な振動を抑えることができる。 In addition, unnecessary vibration at the time of interpolation, which has occurred with an increase in control points, can be suppressed.
1…入力手段
2…記憶手段
2a…データ記憶部
2b…演算ツールプログラム記憶部
2c…演算処理プログラム記憶部
2d…一次記憶部
2e…演算結果記憶部
3…演算手段
4…表示手段
5…出力手段DESCRIPTION OF SYMBOLS 1 ... Input means 2 ... Memory | storage means 2a ... Data storage part 2b ... Arithmetic tool program memory | storage part 2c ... Arithmetic processing program memory | storage part 2d ... Primary storage part 2e ... Calculation result memory | storage part 3 ... Arithmetic means 4 ... Display means 5 ... Output means
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。なお、以下では、制御点によって定義される曲線・曲面として、主にB−Spline曲線・曲面について説明するが、本発明は、B−Spline曲線・曲面に限られるものではなく、制御点を用いて表現される細分割曲面等の曲線・曲面についても同様に適用することができる。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description, the B-Spline curve / curved surface is mainly described as the curve / curved surface defined by the control points. However, the present invention is not limited to the B-Spline curve / curved surface, and the control points are used. The present invention can be similarly applied to curves and curved surfaces such as subdivided curved surfaces expressed as follows.
図1は本発明の補間処理を説明するための概略図であり、図2は本発明の補間処理を説明するためのフローチャートであり、図3、図4は、本発明の補間処理を説明するための図である。また、図5は本発明の補間処理装置の概略構成図である。 FIG. 1 is a schematic diagram for explaining the interpolation processing of the present invention, FIG. 2 is a flowchart for explaining the interpolation processing of the present invention, and FIGS. 3 and 4 illustrate the interpolation processing of the present invention. FIG. FIG. 5 is a schematic configuration diagram of the interpolation processing apparatus of the present invention.
図1、図2、図3、図4は、位置情報および単位方向ベクトルのベクトル情報を含む点群Qが与えられ、この点群QからB−Spline曲線を求める手順を概略的に示している。なお、以下では、単位方向ベクトルとして法線ベクトルの例について説明する。単位方向ベクトルが法線ベクトル以外のベクトルである場合には、法線ベクトルに対して所定に角度関係を設定することで、その方向を定めることができる。 1, 2, 3, and 4 schematically show a procedure for obtaining a B-Spline curve from a point group Q including position information and unit direction vector vector information. . Hereinafter, an example of a normal vector as a unit direction vector will be described. When the unit direction vector is a vector other than the normal vector, the direction can be determined by setting a predetermined angular relationship with respect to the normal vector.
また、ここでは、補間対象となる点群を単に点群と呼び、入力で各点群に与える法線ベクトルを単に法線ベクトルと呼ぶ。 Here, the point group to be interpolated is simply called a point group, and the normal vector given to each point group by input is simply called a normal vector.
なお、ここでは主に曲線について説明するが、曲面においても同様に扱うことができる。 Note that although curves are mainly described here, the same can be applied to curved surfaces.
以下、図1の概略図と図2のフローチャートを用いて、与えられた点群QからB−Spline曲線・曲面を生成する手順を説明する。 The procedure for generating a B-Spline curve / curved surface from a given point group Q will be described below using the schematic diagram of FIG. 1 and the flowchart of FIG.
はじめに、与えられた点群Qを初期制御点P0とする。点群Qは、各点の位置情報と、各点に設定された方向情報とを含んでいる。方向情報は、点群を補間する曲線又は曲面の方向や曲率を定めるものであり、単位方向ベクトルで表すことができる。単位方向ベクトルは、方向のみの情報を有し、大きさの情報は有していない。単位方向ベクトルは、例えば、その点における法線ベクトルとする他に、この法線ベクトルに対して所定の角度関係を有したベクトルとしてもよい。以下では、単位方向ベクトルとして法線ベクトルの例について説明する。図1中で(S1)で示す箇所の左方は、点群Qとその点における法線ベクトルN*(図中Nの上に矢印として表記)を示し、右方は、この点群Qを初期制御点とし、これらの初期制御点を直線で繋いだときの形状を示している(S1)。First, the given point group Q is set as an initial control point P 0 . The point group Q includes position information of each point and direction information set for each point. The direction information determines the direction and curvature of a curve or curved surface for interpolating the point group, and can be expressed by a unit direction vector. The unit direction vector has only direction information and does not have size information. For example, the unit direction vector may be a normal vector at the point, or a vector having a predetermined angular relationship with the normal vector. Hereinafter, an example of a normal vector as a unit direction vector will be described. In FIG. 1, the left side of the location indicated by (S1) shows a point group Q and a normal vector N * (shown as an arrow above N in the figure) at that point, and the right side shows this point group Q. The initial control points are shown as shapes when these initial control points are connected by a straight line (S1).
第1回目のB−Spline曲線・曲面の生成では、制御点が設定されていないため、与えられた点群を初期制御点とし、この初期制御点をもとにB−Spline曲線C0を生成する。図1中において、(S2)を付した矢印は、初期制御点を繋いで形成された形状からB−Spline曲線・曲面を生成する状態を示している(S2)。In the first generation of the B-Spline curve / curved surface, since no control points are set, a given point group is used as an initial control point, and a B-Spline curve C 0 is generated based on this initial control point. To do. In FIG. 1, an arrow with (S2) indicates a state in which a B-Spline curve / curved surface is generated from a shape formed by connecting initial control points (S2).
次に、補間処理によって制御点を移動し、補間点をより忠実に補間するB−Spline曲線・曲面を形成する。 Next, a control point is moved by interpolation processing, and a B-Spline curve / curved surface that interpolates the interpolation point more faithfully is formed.
この補間処理では、B−Spline曲線・曲面上の点と補間点との関係から移動ベクトルを求め、求めた移動ベクトルを用いて制御点の位置を移動することで行う。より詳細には、後述するように3つの補間工程(S3a)〜(S3c)によって行う。図1中において、(S3)を付した矢印は、補間工程によって新たな制御点を求めた状態を示している(S3)。 In this interpolation processing, a movement vector is obtained from the relationship between the point on the B-Spline curve / curved surface and the interpolation point, and the position of the control point is moved using the obtained movement vector. More specifically, as will be described later, three interpolation steps (S3a) to (S3c) are performed. In FIG. 1, an arrow with (S3) indicates a state where a new control point is obtained by the interpolation process (S3).
S3の補間処理によって制御点の位置を移動した後、移動した制御点に基づいてB−Spline曲線Cnを生成する。図1中において、(S4)を付した矢印は、移動後の制御点を用いてB−Spline曲線・曲面を生成する状態を示している。(S4)。After moving the position of the control points by interpolation of S3, to generate a B-Spline curve C n on the basis of the moved control points. In FIG. 1, an arrow with (S4) indicates a state in which a B-Spline curve / curved surface is generated using the control point after movement. (S4).
生成したB−Spline曲線・曲面と点群Qとを比較し、B−Spline曲線・曲面が点群Qを良好に補間するまでS3の補間処理を繰り返す。このS3の補間処理の繰り返しは、点群Qの各点と、B−Spline曲線・曲面上で当該点群Qと対応する点との間の距離誤差や、点群Qの各点に付与された法線ベクトルと、B−Spline曲線・曲面上で当該点群Qの対応する点での法線の角度差が収束するまで行う。この収束は距離誤差、法線の角度差がしきい値を満たすまでS3の行程を繰り返すことで行う。 The generated B-Spline curve / curved surface and the point group Q are compared, and the interpolation process of S3 is repeated until the B-Spline curve / curved surface interpolates the point group Q satisfactorily. The repetition of the interpolation processing in S3 is given to each point of the point group Q and a distance error between the point group Q and a corresponding point on the B-Spline curve / curved surface, or to each point of the point group Q. The normal vector and the angle difference between the normals at points corresponding to the point group Q on the B-Spline curve / curved surface are converged. This convergence is performed by repeating the process of S3 until the distance error and the normal angle difference satisfy the threshold value.
上記したB−Spline曲線・曲面の収束は、点間の距離誤差を収束条件と法線間の角度差を収束条件の両収束条件を用いて行う他に、何れか一方の収束条件を用いて行っても良い(S5)。 The convergence of the B-Spline curve / curved surface described above is performed using either one of the convergence conditions in addition to the distance error between the points using the convergence condition and the angle difference between the normals using both convergence conditions. You may go (S5).
以下、上記したS3の補間処理について説明する。S3の補間処理は三つの補間工程S3aとS3bとS3cを備える。 Hereinafter, the interpolation processing in S3 will be described. The interpolation process of S3 includes three interpolation steps S3a, S3b, and S3c.
第一の補間工程S3aでは、補間点からB−Spline曲線・曲面上へ垂線を下ろしたときの垂線の足を求める。この垂線の足は、B−Spline曲線・曲面上において補間点からの距離が最短となる最短距離点として定めることができる。 In the first interpolation step S3a, a perpendicular foot is obtained when a perpendicular is drawn from the interpolation point onto the B-Spline curve / curved surface. The perpendicular foot can be defined as the shortest distance point on the B-Spline curve / curved surface that is the shortest distance from the interpolation point.
第二の補間工程S3bでは、各補間点に与えられた法線ベクトルとB−Spline曲線・曲面上の接線あるいは接平面が垂直に交わるとき、そのような接線あるいは接平面を有する曲線・曲面上の接点を求める。 In the second interpolation step S3b, when the normal vector given to each interpolation point and the tangent or tangent plane on the B-Spline curve / curved surface intersect perpendicularly, on the curve / curved surface having such tangent or tangent plane Find contact points.
第三の補間工程S3cでは、第一の補間工程および第二の補間工程で求めたB−Spline曲線・曲面上の点と補間点との間で形成されるベクトルを求め、求めたベクトルを移動ベクトルとして制御点の位置を移動させて新たな制御点を設定する。 In the third interpolation step S3c, a vector formed between the point on the B-Spline curve / curved surface and the interpolation point obtained in the first interpolation step and the second interpolation step is obtained, and the obtained vector is moved. A new control point is set by moving the position of the control point as a vector.
以下、S3の補間処理について、図3、4を用いて説明する。 Hereinafter, the interpolation processing in S3 will be described with reference to FIGS.
図3(a)は第一の補間工程S3aの工程を説明するための図であり、図3(b)は第二の補間工程S3bの工程を説明するための図であり、図4は第三の補間工程S3cの工程を説明するための図である。 FIG. 3A is a diagram for explaining the first interpolation step S3a, FIG. 3B is a diagram for explaining the second interpolation step S3b, and FIG. It is a figure for demonstrating the process of 3 interpolation process S3c.
また、図3、4では、シフト前の制御点をPa、シフト後の制御点をPbで示し、曲線Cn上で求めた近傍点をFnで示している。また、法線ベクトルをN*(図中Nの上に矢印として表記)として示し、法線ベクトルN*と垂直に交わる接線を有する曲線Cn上の点をGnで示す。また、以下では、B−Spline曲線を用いて説明する。3 and 4, the control point before the shift is indicated by P a , the control point after the shift is indicated by P b , and the neighboring point obtained on the curve C n is indicated by F n . A normal vector is indicated as N * (indicated as an arrow above N in the figure), and a point on the curve C n having a tangent line perpendicular to the normal vector N * is indicated as G n . Moreover, below, it demonstrates using a B-Spline curve.
図3(a)に示す第一の補間工程S3aにおいて、第一回目の補間工程では、制御点Paは与えられた点群の補間点Qと同じ位置の点であり、第二回目以降の補間工程では、前回の補間工程によって位置がシフトされた制御点である。In the first interpolation step S3a shown in FIG. 3 (a), in the first round of the interpolation process, the control point P a is the point at the same position as the interpolation point Q of the given point group, the second and subsequent In the interpolation process, it is a control point whose position has been shifted by the previous interpolation process.
第一の補間工程S3aでは、制御点により定義されるB−Spline曲線Cnにおいて、補間点Qの位置情報に基づいて、補間点QからB−Spline曲線Cn上に下ろした垂線の足を第1の点Fnを幾何アルゴリズムの演算処理によって求める。In the first interpolation step S3a, the B-Spline curve C n defined by the control point, based on the position information of the interpolation point Q, a perpendicular foot drawn from the interpolation point Q on B-Spline curve C n The first point F n is obtained by a geometric algorithm calculation process.
次に、図3(b)に示す第二の補間工程S3bにおいて、法線ベクトルN*は各点群Qに与えられている。 Next, a normal vector N * is given to each point group Q in the second interpolation step S3b shown in FIG.
第二の補間工程S3bでは、法線ベクトルN*と垂直に交わる接線を有する曲線上の接点をFnの近傍で求め、第2の点Gnとする。曲面の場合には、法線ベクトルと垂直に交わる曲面の接平面との接点を第2の点Gnとして、幾何アルゴリズムの演算によって求める。In the second interpolation step S3b, a contact point on a curve having a tangent line perpendicular to the normal vector N * is obtained in the vicinity of F n and set as a second point G n . In the case of a curved surface, the point of contact with the tangent plane of the curved surface that intersects the normal vector perpendicularly is determined as the second point G n by the calculation of the geometric algorithm.
図4は第三の補間工程S3cで行う制御点の移動形態の3例を示している。 FIG. 4 shows three examples of control point movement forms performed in the third interpolation step S3c.
第三の補間工程S3cでは、第一の補間工程で求めた第1のFnと、第二の補間工程で求めた第2の点Gnと、補間点Qとの間で形成されるベクトルを求め、求めたベクトルを移動ベクトルとして制御点の位置を移動させ新たな制御点を設定する。In the third interpolation step S3c, a vector formed between the first F n obtained in the first interpolation step, the second point G n obtained in the second interpolation step, and the interpolation point Q. And the position of the control point is moved using the obtained vector as a movement vector to set a new control point.
図4(a)は、第2の点Gnから補間点Qに向かうベクトルを移動ベクトルとして制御点Pを移動させる移動形態を示し、図4(b)は、第2の点Gnから第1の点Fnに向かうベクトルを移動ベクトルとして制御点Pを移動させる移動形態を示し、図4(c)は、第1の点Fnから補間点Qに向かうベクトルを移動ベクトルとして制御点Pを移動させる移動形態を示している。FIG. 4A shows a movement form in which the control point P is moved using a vector from the second point G n toward the interpolation point Q as a movement vector. FIG. 4B shows the movement form from the second point G n to the second point G n . FIG. 4C shows a movement form in which the control point P is moved using a vector directed to the first point F n as a movement vector. FIG. 4C illustrates the control point P using a vector directed from the first point F n to the interpolation point Q as a movement vector. The movement form which moves is shown.
第三の補間工程S3cでは、これら各移動形態の移動ベクトルの何れかを用いて制御点を移動させることで新たな制御点を求める。この第三の補間工程は幾何アルゴリズムの演算によって実行することができ、この演算処理は幾何アルゴリズムを組み込んだ演算手段により行うことができる。 In the third interpolation step S3c, a new control point is obtained by moving the control point using any of the movement vectors of the respective movement forms. This third interpolation step can be executed by calculation of a geometric algorithm, and this calculation processing can be performed by calculation means incorporating the geometric algorithm.
次に、制御点Paの位置をシフトして新たな位置に制御点Pbを求める第三の補間工程において、図4(a)に示す移動形態では、第二の補間工程S3bの工程で求めた第2の点Gnから対応する補間点Qへ向かうベクトルA(図中の破線で示す)を求め、このベクトルAを移動ベクトルとして制御点Paを移動し、新たな制御点Pbを求める。Then, in the third interpolation step of obtaining the control point P b to a new position by shifting the position of the control point P a, in the moving mode shown in FIG. 4 (a), in the second interpolation step S3b steps obtained vector directed to the interpolation point Q corresponding second point G n a seek (indicated by a broken line in the figure), the vector a to move the control point P a as a motion vector, a new control point P b Ask for.
図4(b)に示す移動形態では、第二の補間工程S3bの工程で求めた第2の点Gnから第一の補間処理S3aの工程で求めた第1の点Fnへ向かうベクトルB(図中の破線で示す)を求め、このベクトルBを移動ベクトルとして制御点Paを移動し、新たな制御点Pbを求める。In the movement form shown in FIG. 4B, a vector B heading from the second point G n obtained in the second interpolation step S3b to the first point F n obtained in the first interpolation processing S3a step. seeking (indicated by a broken line in the figure), the vector B to move the control point P a as a motion vector, determine a new control point P b.
図4(c)に示す移動形態では、第一の補間工程S3aの工程で求めた第1の点Fnから対応する補間点Qへ向かうベクトルC(図中の破線で示す)を求め、このベクトルCを移動ベクトルとして制御点Paを移動し、新たな制御点Pbを求める。In the movement mode shown in FIG. 4C, a vector C (indicated by a broken line in the figure) from the first point F n obtained in the first interpolation step S3a to the corresponding interpolation point Q is obtained. move the control point P a vector C as the movement vector, determine a new control point P b.
これら3つの移動形態から一つを選択して制御点を移動し、新たな制御点の位置を定める。この制御点移動位置の選択は、以下のようにして行うことができる。 One of these three movement forms is selected and the control point is moved to determine the position of the new control point. The selection of the control point moving position can be performed as follows.
図4(a)で示すように、第2の点Gnから対応する補間点Qへ向かうベクトル分だけ移動させた位置にシフトする補間処理を繰り返した際に、補間点Qとの曲線Cnとの距離誤差が小さくなると、法線ベクトルの角度差が制御点Paを移動しても小さくならない場合がある。As shown in FIG. 4A, when the interpolation process for shifting to the position moved from the second point G n by the vector toward the corresponding interpolation point Q is repeated, the curve C n with the interpolation point Q is repeated. the distance error is reduced with, there are cases where the normal vector angular difference is not reduced even when moving the control point P a.
このような状態になった場合に、図4(b)で示すように、第2の点Gnから第1の点Fnへ向かうベクトル分だけ制御点Paを移動させた位置にシフトすることで、角度差を小さくすることができる。In such a state, as shown in FIG. 4B, the control point Pa is shifted to a position where the control point Pa is moved by a vector amount from the second point G n to the first point F n . Thus, the angle difference can be reduced.
また、逆に、角度差が十分小さくなり、距離誤差が制御点Pをシフトさせても小さくならない場合には、制御点Pを第1の点Fnから補間点Qへ向かうベクトル分だけ移動させた位置にシフトすることで、距離誤差を小さくする。これら各移動形態は、状況に合わせて選択することができる。Conversely, if the angle difference is sufficiently small and the distance error does not decrease even when the control point P is shifted, the control point P is moved by the vector from the first point F n to the interpolation point Q. Shifting to a different position reduces the distance error. Each of these movement forms can be selected according to the situation.
補間処理S3はこの第一の補間工程S3aと第二の補間工程S3bと第三の補間工程S3cを繰り返して行われる。この第三の工程で得られた制御点Pbを用いることで前記したS4の工程によりB−Spline曲線・曲面が生成される。The interpolation process S3 is performed by repeating the first interpolation process S3a, the second interpolation process S3b, and the third interpolation process S3c. The third B-Spline curves and surfaces by a process of S4, described above by using the control point P b obtained in step is generated.
S5の工程では、生成したB−Spline曲線・曲面と点群の距離ならびに法線ベクトルを比較し、対応する点間の距離誤差、対応する法線ベクトルの角度差、が収束するまでS3の補間工程を繰り返す。この収束は、距離誤差と法線ベクトルの角度差がそれぞれあらかじめ設定しておいたしきい値を満たすまで、又はしきい値よりも小さくなるまで繰り返す。 In the step S5, the distance between the generated B-Spline curve / curved surface and the point group and the normal vector are compared, and the interpolation of S3 is performed until the distance error between the corresponding points and the angle difference between the corresponding normal vectors converge. Repeat the process. This convergence is repeated until the angle difference between the distance error and the normal vector satisfies a preset threshold value or becomes smaller than the threshold value.
補間処理によって距離誤差ならびに法線ベクトルの角度差が収束したときに得られるB−Spline曲線・曲面は、補間点の位置を補間するとともに、補間点での法線ベクトルが、設定された法線ベクトルと同様となる曲線・曲面となる。 The B-Spline curve / curved surface obtained when the distance error and the angle difference between the normal vectors converge by interpolation processing interpolates the position of the interpolation point, and the normal vector at the interpolation point is set to the normal line. It becomes a curve / curved surface similar to a vector.
図5は、本発明の補間処理のソフトウェアを記憶したプログラムをコンピュータで実行させる場合の一構成例を示している。 FIG. 5 shows an example of the configuration when a computer stores a program storing interpolation processing software of the present invention.
入力手段1は、点群Q、法線ベクトルN*のデータを入力し、記憶手段2中のデータ記憶部2aに記憶する。記憶手段2は、データ記憶部2aの他に、微分幾何学演算を行う演算ツールのプログラムを記憶する演算ツールプログラム記憶部2b、補間処理の微分幾何学演算の他、B−spline曲線・曲面生成処理等の演算処理のプログラムを記憶する演算処理プログラム記憶部2c、途中演算結果等を一時的に記憶する一次記憶部2d、補間処理等によって得られた曲面の演算結果を記憶する演算結果記憶部2e等を備える。 The input unit 1 inputs the data of the point group Q and the normal vector N * and stores it in the data storage unit 2 a in the storage unit 2. The storage means 2 includes, in addition to the data storage unit 2a, a calculation tool program storage unit 2b for storing a calculation tool program for performing differential geometric calculation, differential geometry calculation for interpolation processing, and B-spline curve / curved surface generation An arithmetic processing program storage unit 2c that stores arithmetic processing programs such as processing, a primary storage unit 2d that temporarily stores intermediate calculation results and the like, and an arithmetic result storage unit that stores calculation results of curved surfaces obtained by interpolation processing and the like 2e and the like.
演算手段3は、データ記憶部2aに記憶された点群Qのデータを用い、演算処理プログラム記憶部2cに記憶されるプログラムによる演算手順に従うと共に、このプログラムに指定される演算ツールのプログラムを演算ツールプログラム記憶部2bから逐次読み出して演算処理を行う。 The calculation means 3 uses the data of the point group Q stored in the data storage unit 2a, follows the calculation procedure by the program stored in the calculation processing program storage unit 2c, and calculates the calculation tool program specified by this program. Sequentially reading from the tool program storage unit 2b to perform arithmetic processing.
演算結果記憶部2eに記憶された演算結果は、読み出して表示手段4に表示したり、出力手段5に出力することができる。出力手段5は、演算結果を記録媒体に記録する記録装置、例えば加工装置等の、演算結果を用いて所定動作を実行する外部装置とすることができる。 The calculation result stored in the calculation result storage unit 2 e can be read and displayed on the display unit 4 or output to the output unit 5. The output unit 5 can be an external device that performs a predetermined operation using the calculation result, such as a recording device that records the calculation result on a recording medium, such as a processing device.
なお、上記、ソフトウェア処理を行う構成は、専用のソフトウェア処理装置や、通常のパーソナルコンピュータに適用することができる。 The above-described configuration for performing software processing can be applied to a dedicated software processing apparatus or a normal personal computer.
また、上記構成において、記憶手段を含む演算手段で実施される機能を回路で構成することでハードウェアにより実施することもできる。 Further, in the above configuration, the function implemented by the computing means including the storage means can be implemented by hardware by configuring the circuit with a circuit.
次に、本発明の補間処理の詳細について、二次元の点群(位置、法線情報を含む)からB−Spline曲線を生成する場合と、三次元の点群(位置、法線情報を含む)からB−Spline曲面を生成する場合について説明する。 Next, regarding the details of the interpolation processing of the present invention, a B-Spline curve is generated from a two-dimensional point group (including position and normal information) and a three-dimensional point group (including position and normal information). ) To generate a B-Spline curved surface.
以下、はじめに、二次元の点群(位置、法線情報を含む)からB−Spline曲線を生成する場合を、図6のフローチャート、図7〜9の制御点と曲線の関係を説明する概略図、図10〜12の曲線補間の例の図を用いて説明し、次に、三次元の点群(位置、法線情報を含む)からB−Spline曲面を生成する場合を、図13のフローチャートを用いて説明する。 Hereinafter, first, in the case where a B-Spline curve is generated from a two-dimensional point group (including position and normal line information), a schematic diagram illustrating the relationship between the control point and the curve in FIGS. 10 to 12 will be described with reference to the example of curve interpolation. Next, a case where a B-Spline curved surface is generated from a three-dimensional point group (including position and normal line information) will be described with reference to the flowchart of FIG. Will be described.
はじめに、二次元の点群(位置、法線情報を含む)からB−Spline曲線を生成する場合について説明する。なお、以下のフローチャートは一例であり、本発明の第一の補間工程及び第二の補間工程及び第三の補間工程を実施する工程及び手順であれば他のフローで構成してもよい。 First, a case where a B-Spline curve is generated from a two-dimensional point group (including position and normal line information) will be described. The following flowchart is an example, and any other flow may be used as long as it is a process and procedure for performing the first interpolation process, the second interpolation process, and the third interpolation process of the present invention.
二次元の点群データ(位置、法線ベクトル)を取得し(S11)、点群の位置をQiとて記憶し、法線ベクトルをN*として記憶する(S12)。図7(a)はS12の状態を示している。得られた補間点Qiを初期制御点P0iとして記憶する(S13)。Two-dimensional point group data (position, normal vector) is acquired (S11), the position of the point group is stored as Qi, and the normal vector is stored as N * (S12). FIG. 7A shows the state of S12. The obtained interpolation point Qi is stored as the initial control point P 0 i (S13).
制御点Pk-1iからB−Spline曲線Ck-1を生成する。ここで、上付き文字Kは補間処理の回数を示す。第1回目では、制御点Pが設定されていないため、与えられた補間点補間点Qiを初期制御点P0iとし、この初期制御点P0iを用いてB−Spline曲線・曲面を生成する。図7(b)は初期制御点P0iを用いてB−Spline曲線・曲面を生成した状態を示している(S14)。A B-Spline curve C k-1 is generated from the control point P k-1 i . Here, the superscript K indicates the number of interpolation processes. In the first time, since the control point P is not set, the given interpolation point interpolation point Qi is set as the initial control point P 0 i, and a B-Spline curve / curved surface is generated using the initial control point P 0 i. To do. FIG. 7B shows a state in which a B-Spline curve / curved surface is generated using the initial control point P 0 i (S14).
以下、S15,S16に示す第一の補間工程とS17、S18に示す第二の補間工程とS21〜S23に示す第三の補間工程の中からいずれかの工程を繰り返すことにより点群を位置ならびに法線ベクトルについて補間するB−Spline曲線Cを生成する。 Hereinafter, by repeating any one of the first interpolation process shown in S15 and S16, the second interpolation process shown in S17 and S18, and the third interpolation process shown in S21 to S23, the point group is positioned and A B-Spline curve C that interpolates with respect to the normal vector is generated.
第一の補間工程において、補間点Qから曲線C上に垂線を降ろし、この垂線の足を求め、求めた第1の点Fkiとする。ここで、垂線を下ろす曲線Cは、初回ではS13の工程で得た制御点P0から生成される曲線C0であり、二回目以降はS21〜S23のいずれかの工程でシフトされた制御点Pkiによって生成される曲線CKである(S15)。In the first interpolation step, a perpendicular line is dropped on the curve C from the interpolation point Q, the foot of this perpendicular line is obtained, and it is set as the obtained first point F k i. Here, the curve C that draws the perpendicular line is a curve C 0 generated from the control point P 0 obtained in the step S13 for the first time, and the control point shifted in any one of the steps S21 to S23 after the second time. This is a curve CK generated by P ki (S15).
補間点QiとS14で求めた垂線の足である第1の点Fkiとの距離//Qi−Fki//(=Δd)を求める。垂線および距離を求める演算は、微分幾何学演算により求めることができる。図7(c)は、初回の第一の補間工程のS15、S16の状態を示している(S16)。Distance // Qi-F k i // the first point F k i is the perpendicular foot determined by interpolation point Qi and S14 Request (= [Delta] d). The calculation for obtaining the perpendicular and the distance can be obtained by differential geometric calculation. FIG. 7C shows the state of S15 and S16 in the first first interpolation step (S16).
次に、第二の補間工程において、各補間点Qに与えられた法線ベクトルNi*と垂線の足の第1のFkiにおける曲線Cの法線ベクトルの角度差Δθを求め(S17)、法線ベクトルNi*と垂直に交わる接線と接する曲線上の接点を第2のGkiとして求める。角度差および法線ベクトルと垂直に交わる接線と接する曲線上の点は、微分幾何学演算により求めることができる。図7の(d)は初回の補間工程のS18の状態を示している(S18)。Next, in the second interpolation step, an angle difference Δθ between the normal vector Ni * given to each interpolation point Q and the normal vector of the curve C in the first F k i of the perpendicular foot is obtained (S17). Then, a contact point on a curve that touches a tangent line perpendicular to the normal vector Ni * is obtained as a second G k i. The point on the curve tangent to the tangent perpendicular to the angle difference and normal vector can be determined by differential geometrical operations. FIG. 7D shows the state of S18 in the first interpolation process (S18).
次に、第三の補間工程において、S16で求めた距離ΔdとS18で求めた角度差ΔθからS22〜S24の三つの補正工程の内から一つを選択して実行する。 Next, in the third interpolation step, one of the three correction steps S22 to S24 is selected and executed from the distance Δd obtained in S16 and the angle difference Δθ obtained in S18.
補間点と曲線の距離誤差Δd、および法線ベクトルの角度差Δθは共にしきい値を満たさない場合には(S19、S21)、S18で求めた曲線上の第2の点Gkiから補間点Qiに向かうベクトルAの方向および大きさの分だけ、現在の曲線を定義している制御点Pk-1iの位置をシフトし、シフトした位置を新たな制御点Pkiの位置とする。図8(a)はこの補正工程による移動状態を示している(S22)。When the distance error Δd between the interpolation point and the curve and the angle difference Δθ between the normal vectors do not satisfy the threshold values (S19, S21), the interpolation is performed from the second point G k i on the curve obtained in S18. The position of the control point P k-1 i defining the current curve is shifted by the direction and the magnitude of the vector A toward the point Q i, and the shifted position becomes the position of the new control point P k i. To do. FIG. 8A shows a movement state by this correction process (S22).
補間点と曲線の距離誤差Δdはしきい値を満たすが(S19)、法線ベクトルの角度差Δθがしきい値を満たさない場合には(S20)、S18で求めた曲線上の第2の点GkiからS15で求めた垂線の足の第1の点Fkiへ向かうベクトルBの方向および大きさの分だけ、現在の曲線を定義している制御点Pk-1iの位置をシフトし、シフトした位置を新たな制御点Pkiの位置とする。図8(b)はこの補正工程による移動状態を示している(S24)。The distance error Δd between the interpolation point and the curve satisfies the threshold value (S19), but if the normal vector angle difference Δθ does not satisfy the threshold value (S20), the second error on the curve obtained in S18 is obtained. The position of the control point P k-1 i defining the current curve by the direction and size of the vector B from the point G k i to the first point F k i of the perpendicular foot obtained in S15 And the shifted position is set as the position of a new control point P k i. FIG. 8B shows the movement state by this correction process (S24).
補間点と曲線の距離誤差Δdはしきい値を満たさない(S19)が、法線ベクトルの角度差Δθはしきい値を満たす場合には(S21)、S15で求めた垂線の足である第1の点Fkiから補間点Qiへ向かうベクトルCの方向および大きさの分だけ、現在の曲線を定義している制御点Pk-1iの位置をシフトし、シフトした位置を新たな制御点Pkiの位置とする。図8(c)はこの補正工程による移動状態を示している(S23)。The distance error Δd between the interpolation point and the curve does not satisfy the threshold value (S19), but if the normal vector angle difference Δθ satisfies the threshold value (S21), it is the perpendicular foot obtained in S15. The position of the control point P k-1 i defining the current curve is shifted by the amount and direction of the vector C from the point F k i to the interpolation point Q i, and the shifted position is newly set. Let it be the position of the control point P k i. FIG. 8C shows a movement state by this correction process (S23).
制御点をシフトする演算は、幾何学的演算によって求めることができる。図8(a)は初回の補間処理におけるS21の状態を示している。図8(b)は初回の補間処理におけるS22の状態を示し、図8(c)は初回の補間処理におけるS23の状態を示している。 The operation for shifting the control point can be obtained by a geometric operation. FIG. 8A shows the state of S21 in the first interpolation process. FIG. 8B shows the state of S22 in the first interpolation process, and FIG. 8C shows the state of S23 in the first interpolation process.
また、図9(a),(c)は二回目以降の補間処理のS14によってB−Spline曲線C(1),C(2)を生成した状態を示している。また、図9(b)は二回目以降の補間処理のS21によって制御点P(1)を制御点P(2)に移動させた状態を示している。 FIGS. 9A and 9C show a state in which B-Spline curves C (1) and C (2) are generated by S14 in the second and subsequent interpolation processes. FIG. 9B shows a state in which the control point P (1) is moved to the control point P (2) by S21 of the second and subsequent interpolation processes.
S14で求めた曲線Cが補間点Qiとの距離誤差Δd、法線ベクトルNi*と垂線の足の第1の点Fkiにおける曲線Cの法線ベクトルの角度差Δθ、がそれぞれのしきい値を満たすまでS14〜S23までの工程を繰り返す。距離誤差Δd、角度差Δθのしきい値は、それぞれ点群を補間する曲線に対して許容できる許容距離誤差、および法線の角度差に対して許容できる許容法線ベクトル角度差に相当する。The curve C obtained in S14 has a distance error Δd from the interpolation point Qi, and an angle difference Δθ between the normal vector Ni * and the normal vector of the curve C at the first point F k i of the perpendicular foot. The processes from S14 to S23 are repeated until the value is satisfied. The threshold values of the distance error Δd and the angle difference Δθ correspond to the allowable distance error allowable for the curve interpolating the point group and the allowable normal vector angle difference allowable for the normal angle difference.
したがって、S19、S20、S21の比較工程において距離、法線ベクトルの角度差がしきい値を満たすことを確認することで、曲線Cは点群を与えた位置ならびに法線ベクトルについて許容誤差範囲内で補間するものとする。 Accordingly, by confirming that the angle difference between the distance and the normal vector satisfies the threshold value in the comparison process of S19, S20, and S21, the curve C is within an allowable error range with respect to the position and the normal vector where the point cloud is given. Interpolate with.
図10は、二次元(平面)の曲線補間の一例であり、Bowditch曲線とTrochoid曲線から点群とその点における法線ベクトルを抽出し、点群の位置ならびに法線ベクトルについて補間したものである。図10(a),(c)には、補間対象となる点群の各点と、線分で示した法線ベクトルを示している。図10(b)(d)には、本発明によりそれぞれ点群を位置ならびに法線ベクトルについて三次のB−Spline曲線で補間した結果を示している。 FIG. 10 shows an example of two-dimensional (planar) curve interpolation, in which a point cloud and a normal vector at that point are extracted from the Bowditch curve and the Trochoid curve, and the position of the point cloud and the normal vector are interpolated. . FIGS. 10A and 10C show each point of the point group to be interpolated and the normal vector indicated by the line segment. FIGS. 10B and 10D show the results of interpolating the point group with the cubic B-Spline curve for the position and normal vector, respectively, according to the present invention.
本発明の手法における計算結果を表1に、点の位置のみについて従来の手法(非特許文献1)で補間した結果を表2に示す。ここで、距離誤差については各モデルにおけるbounding boxの対角線を基準として%で示す。距離誤差について結果を見るとほぼゼロになっていることがわかる。角度差についてみると本発明の手法を用いた場合では、最大角度差がBowditch曲線で 0.024°程度、Trochoid曲線は0.005°程度となっているのに対し、従来法の場合、Bowditch曲線では2.0°程度、Trochoid曲線では0.14°程度であった。本発明による方が最大角度差を小さく抑えていることがわかる。なお、表2において*印は計算時間が0.01秒未満であったことを示している。 Table 1 shows the calculation result in the method of the present invention, and Table 2 shows the result of interpolation by the conventional method (Non-Patent Document 1) for only the position of the point. Here, the distance error is expressed in% on the basis of the diagonal line of the bounding box in each model. Looking at the results for the distance error, it can be seen that it is almost zero. Regarding the angle difference, when the method of the present invention is used, the maximum angle difference is about 0.024 ° in the Bowditch curve and the Trochoid curve is about 0.005 °, whereas in the conventional method, 2.0 ° in the Bowditch curve. It was about 0.14 ° in the Trochoid curve. It can be seen that the present invention reduces the maximum angle difference smaller. In Table 2, * indicates that the calculation time was less than 0.01 seconds.
次に、Trochoid曲線について、図11(a)に本発明による補間を行った曲線の曲率線図を、図11(b)に従来の手法(非特許文献1)で補間を行ったものを、図11(c)に従来の手法(エルミート補間)で補間を行ったものを示している。 Next, with respect to the Trochoid curve, FIG. 11 (a) shows the curvature diagram of the curve obtained by interpolation according to the present invention, and FIG. 11 (b) shows the result of interpolation performed by the conventional method (Non-Patent Document 1). FIG. 11C shows a result obtained by performing interpolation by a conventional method (Hermitian interpolation).
従来の手法(非特許文献1)は補間点に対し制御点を曲線で約二倍、曲面で約三倍にする必要があり、制御点が多くなるために曲線が不必要な振動を起こしている(図11(b))。その点、本発明による補間では、制御点は補間点とほぼ同数であるためそのような不必要な振動を抑えることができる(図11(a))。 The conventional method (Non-Patent Document 1) requires that the control points be approximately twice as large as the curve and approximately three times as large as the curved surface with respect to the interpolation point, and because the control points increase, the curve causes unnecessary vibration. (FIG. 11B). On the other hand, in the interpolation according to the present invention, since the number of control points is almost the same as the number of interpolation points, such unnecessary vibration can be suppressed (FIG. 11A).
また、従来法では、各点での接線ベクトルの大きさを入力する必要があったが、本発明ではそのような必要はなく、人の介入なしに補間処理の一切をおこなうことができ、処理の自動化ができる。 Further, in the conventional method, it is necessary to input the size of the tangent vector at each point. However, in the present invention, this is not necessary, and interpolation processing can be performed without human intervention. Can be automated.
図12(a)に、図11(a)に示した本発明による補間を行った曲線の曲率線図の一部を拡大したものを示し、図12(b)に、図11(c)で示した従来の手法(エルミート補間)で補間を行った曲線の曲率線図の一部を拡大したものを示す。 FIG. 12 (a) shows an enlarged part of the curvature diagram of the curve subjected to the interpolation according to the present invention shown in FIG. 11 (a), and FIG. 12 (b) shows in FIG. 11 (c). An enlarged view of a part of the curvature diagram of the curve interpolated by the conventional method shown (Hermitian interpolation) is shown.
本発明による補間は三次のB−Spline曲線を用いており、三次のB−Spline曲線はC2連続まで保障されるため曲率が連続になっている(図12(a))(ここで、C2とは曲率連続性を示し、上記曲線をあらわすCと区別する)。従来の手法(エルミート補間)は曲率の連続を保証していないために、図中の丸で囲んだ箇所で示すように、曲線の所々で曲率が不連続になっている(図12(b))。The interpolation according to the present invention uses a cubic B-Spline curve. Since the cubic B-Spline curve is guaranteed up to C 2 continuity (FIG. 12 (a)) (where C 2 indicates curvature continuity and is distinguished from C representing the above curve). Since the conventional method (Hermitian interpolation) does not guarantee the continuity of curvature, the curvature is discontinuous at various points of the curve as shown by the circled portions in the figure (FIG. 12B). ).
上記したように本発明による補間は従来方法に比べ曲率が連続で滑らかなな曲線を生成することができる。 As described above, the interpolation according to the present invention can generate a smooth curve having a continuous curvature compared to the conventional method.
次に、三次元の点群(位置、法線情報を含む)よりB−Spline曲面を生成する場合について、図13のフローチャートを用いて説明する。なお、以下の図13に示すフローチャートは一例であり、本発明の第一の補間処理及び第二の補間処理及び第三の補間処理を実施する工程及び手順であれば他のフローで構成してもよい。 Next, a case where a B-Spline curved surface is generated from a three-dimensional point group (including position and normal line information) will be described with reference to the flowchart of FIG. Note that the flowchart shown in FIG. 13 below is an example, and any other flow may be used as long as it is a process and procedure for performing the first interpolation process, the second interpolation process, and the third interpolation process of the present invention. Also good.
点群から位置をQ、法線ベクトルをN*として記憶する(S31、S32)。得られた補間点Qiを初期制御点P0iとして記憶する(S33)。制御点Pk-1iからB−Spline曲面Sk-1を生成する。ここで、上付き文字Kは補間処理の回数を示している。From the point group, the position is stored as Q and the normal vector is stored as N * (S31, S32). The obtained interpolation point Qi is stored as the initial control point P 0 i (S33). A B-Spline curved surface S k-1 is generated from the control point P k-1 i. Here, the superscript K indicates the number of interpolation processes.
以下、S35,S36に示す第一の補間処理とS37、S38に示す第二の補間処理とS42〜S44に示す第三の補間処理の中からいずれかの工程を繰り返すことにより点群を位置ならびに法線ベクトルについて補間するB−Spline曲面Sを生成する。 Hereinafter, by repeating any one of the first interpolation process shown in S35 and S36, the second interpolation process shown in S37 and S38, and the third interpolation process shown in S42 to S44, the point group is positioned and A B-Spline curved surface S that interpolates with respect to the normal vector is generated.
第一の補間処理において、補間点から曲面S上に垂線を降ろし垂線の足となる第1の点Fkiを求める。なお、曲面Sは、初回の補間処理ではS33の工程で得た制御点P0から生成される曲面S0であり、二回目以降の補間処理ではS41〜S43のいずれかの工程でシフトされた制御点Pkiから生成される曲面Skである(S35)。補間点Qiと垂線の足の第1のFkiとの距離//Qi−Fki//(=Δd)を求める(S36)。垂線および距離を求める演算は、微分幾何学演算により求めることができる。In the first interpolation processing, a perpendicular line is dropped on the curved surface S from the interpolation point to obtain a first point F k i that becomes a foot of the perpendicular line. The curved surface S is a curved surface S 0 generated from the control point P 0 obtained in the step S33 in the first interpolation process, and is shifted in any of the steps S41 to S43 in the second and subsequent interpolation processes. A curved surface S k generated from the control point P k i (S35). A distance // Qi−F k i // (= Δd) between the interpolation point Q i and the first F k i of the perpendicular foot is obtained (S36). The calculation for obtaining the perpendicular and the distance can be obtained by differential geometric calculation.
次に、第二の補間処理において、各補間点に与えられた法線ベクトルNi*と垂線の足の第1の点Fkiにおける曲面Sの法線ベクトルの角度差Δθを求める(S37)。法線ベクトルNi*と垂直に交わる接平面と接する曲面上の接点Gkiを第2の点として求める(S38)。角度差Δθ、および法線ベクトルと垂直に交わる接平面と接する曲面上の点は、微分幾何学演算により求めることができる。Next, in the second interpolation processing, the angle difference Δθ between the normal vector Ni * given to each interpolation point and the normal vector of the curved surface S at the first point F k i of the perpendicular foot is obtained (S37). . A contact point G k i on the curved surface that is in contact with the tangent plane perpendicular to the normal vector Ni * is obtained as the second point (S38). The point on the curved surface that is in contact with the tangent plane perpendicular to the angle difference Δθ and the normal vector can be obtained by differential geometric calculation.
次に、第三の補間処理において、S36で求めた距離誤差ΔdとS38で求めた角度差ΔθからS41〜S43の三つの工程の内から一つを選択し実行する。補間点Qと曲線との距離誤差Δd、法線ベクトル角度差Δθが共にしきい値を満たさない場合には(S39,S41)、S18で求めた曲面上の点Gkiから補間点Qiに向かうベクトル分だけ、現在の曲面を定義している制御点Pk-1iの位置をシフトし、シフトした位置を新たな制御点Pkiの位置とする(S42)。Next, in the third interpolation process, one of the three steps S41 to S43 is selected and executed from the distance error Δd obtained in S36 and the angle difference Δθ obtained in S38. When the distance error Δd between the interpolation point Q and the curve and the normal vector angle difference Δθ do not satisfy the threshold values (S39, S41), the point G k i on the curved surface obtained in S18 is changed to the interpolation point Qi. The position of the control point P k-1 i that defines the current curved surface is shifted by the amount of the vector that is headed, and the shifted position is set as the position of the new control point P k i (S42).
補間点Qと曲面の距離誤差Δdはしきい値を満たすが(S39)、法線ベクトルの角度差Δθはしきい値を満たさない場合には(S40)、S38で求めた曲面上の点GkiからS35で求めた垂線の足の第1の点Fkiへ向かうベクトル分だけ、現在の曲面を定義している制御点Pk-1iの位置をシフトし、シフトした位置を新たな制御点Pkiの位置とする(S44)。When the distance error Δd between the interpolation point Q and the curved surface satisfies the threshold value (S39), but the angle difference Δθ between the normal vectors does not satisfy the threshold value (S40), the point G on the curved surface obtained in S38. vector component from k i toward the first point F k i of perpendicular foot determined in S35 only shifts the position of the control point P k-1 i that defines the current curved, new shift position The position of the control point P k i is set (S44).
補間点Qと曲面の距離誤差Δdはしきい値を満たさないが(S39)、法線ベクトルの角度差はしきい値を満たす場合(S41)、S35で求めた垂線の足の点Fkiから補間点Qiへ向かうベクトル分だけ、現在の曲面を定義している制御点Pk-1iの位置をシフトし、シフトした位置を新たな制御点Pkiの位置とする(S43)。制御点をシフトする演算は、幾何学的演算によって求めることができる。The distance error Δd between the interpolation point Q and the curved surface does not satisfy the threshold value (S39), but the normal vector angular difference satisfies the threshold value (S41), the perpendicular foot point F k i obtained in S35. The position of the control point P k-1 i defining the current curved surface is shifted by the vector from the point to the interpolation point Q i, and the shifted position is set as the position of the new control point P k i (S43). The operation for shifting the control point can be obtained by a geometric operation.
S34で求めた曲面Sが補間点Qiとの距離誤差Δd、法線ベクトルNi*と垂線の足の第1の点Fkiにおける曲面Sの法線ベクトルの角度差Δθ、がそれぞれのしきい値を満たすまでS34〜S44までの工程を繰り返す。距離誤差、角度差のしきい値は、それぞれ点群を補間する曲面に対する距離誤差に対して許容できる許容距離誤差、法線の角度差に対して許容できる許容法線ベクトル角度差に相当する。The threshold S is the distance error Δd between the curved surface S obtained in S34 and the interpolation point Qi, the normal vector Ni *, and the angle difference Δθ between the normal vector of the curved surface S at the first point F k i of the perpendicular foot. The steps from S34 to S44 are repeated until the value is satisfied. The threshold values of the distance error and the angle difference correspond to an allowable distance error and an allowable normal vector angle difference allowable for the normal angle difference with respect to the distance error for the curved surface interpolating the point group.
したがって、S39、S40、S41の比較工程において距離誤差、法線ベクトルの角度差がしきい値を満たすことを確認することで、曲面Sは点群を与えた位置ならびに法線ベクトルについて許容誤差範囲内で補間するものとする。 Accordingly, by confirming that the distance error and the angle difference between the normal vectors satisfy the threshold value in the comparison process of S39, S40, and S41, the curved surface S has an allowable error range for the position and the normal vector to which the point cloud is given. Is to be interpolated.
本発明の一適用例としてオフセット曲線・曲面への適用がある。本発明を利用することにより、オフセット曲線・曲面をB−Spline曲線・曲面で表現する場合の精度向上が図ることができる。 As an application example of the present invention, there is application to an offset curve / curved surface. By using the present invention, it is possible to improve the accuracy when the offset curve / curved surface is expressed by a B-Spline curve / curved surface.
オフセット曲線・曲面とは、ある曲線・曲面を法線方向へ一定の距離シフトした曲線・曲面である。一般的に市販されているCAD/CAMソフトウェアには必ずプルダウンメニューとしてオフセット機能が装備されており、現実にNC切削加工などで入力したCAD/CAMデータから工具半径を考慮した工具中心の軌跡すなわちツールパスを求めるときに、CAD/CAMデータ上の曲線・曲面のオフセット曲線・曲面が用いられる。ここで、一般にオフセット曲線・曲面は多項式で表現できないため、区分多項式で表現されるB−Spline曲線・曲面では直接表現することができない。この場合、オフセット曲線・曲面を一定の点群としてサンプリングを行い、得られた点群をB−Spline曲線・曲面で補間するという作業が必要である。このとき、オフセット曲線・曲面はその性質上容易にサンプリングした点での法線が取り出せるので、位置のみではなく法線ベクトルについてもB−Spline曲線・曲面で補間することで、よりオフセット曲線・曲面に近いB−Spline曲線・曲面を得ることや、必要なサンプリング点を減少させることができる。この法線を含めたB−Spline曲線・曲面の補間を行うときに、本発明を用いることで不必要な振動の少ない高品質の曲線が得られ、CAD/CAMソフト上のオフセット機能の精度の向上が図られる。また、接線ベクトルの大きさを必要としないので、人の介入なく自動で補間処理を行うことができる。 The offset curve / curved surface is a curve / curved surface obtained by shifting a certain curve / curved surface by a certain distance in the normal direction. In general, commercially available CAD / CAM software always has an offset function as a pull-down menu, and the tool center trajectory taking into account the tool radius from CAD / CAM data actually input by NC cutting or the like, that is, the tool When a path is obtained, a curve / curved surface offset curve / curved surface on CAD / CAM data is used. Here, since the offset curve / curved surface cannot generally be expressed by a polynomial, it cannot be directly expressed by a B-Spline curve / curved surface expressed by a piecewise polynomial. In this case, it is necessary to sample the offset curve / curved surface as a fixed point group and to interpolate the obtained point group with the B-Spline curve / curved surface. At this time, since the normal line at the sampled point can be easily extracted from the offset curve / curved surface, interpolation of the normal vector as well as the position by the B-Spline curve / curved surface can be performed. It is possible to obtain a B-Spline curve / curved surface close to, and to reduce the required sampling points. When interpolating a B-Spline curve / curved surface including this normal, a high-quality curve with less unnecessary vibration is obtained by using the present invention, and the accuracy of the offset function on the CAD / CAM software is improved. Improvement is achieved. In addition, since the size of the tangent vector is not required, interpolation processing can be automatically performed without human intervention.
別の適用例として、CAD/CAM上でモデリングを行うときに、位置のほかその位置における法線を指定する機能の実装に導入することがあげられる。現在CAD/CAMモデルを作成するプロセスでは、位置指定のみを行うのが一般的である。よって、位置情報のみを操作してデザインや仕様の変更を行う必要がある。ここで、位置のみならず法線に対して曲線・曲面を補間することができれば、法線情報を指定する機能を付加することができ、操作可能なパラメータを増やすことができるため、設計の自由度をあげることができる。 As another application example, when modeling is performed on CAD / CAM, it may be introduced to the implementation of a function for designating a position and a normal at that position. In the process of creating a CAD / CAM model at present, it is common to specify only the position. Therefore, it is necessary to change the design and specifications by operating only the position information. Here, if a curve / curved surface can be interpolated not only with respect to the position but also with respect to the normal, a function for specifying normal information can be added, and the number of operable parameters can be increased. You can raise the degree.
本発明を用いることで、人の介入なく自動で補間処理を行うことができ、また、曲線・曲面を曲率連続で不必要な振動の少ない高品質なものとすることができる。 By using the present invention, interpolation processing can be performed automatically without human intervention, and the curve / curved surface can have high quality with continuous curvature and less unnecessary vibration.
本発明は、CAD・CAMモデリングの分野、NC加工等に適用することができる。 The present invention can be applied to the field of CAD / CAM modeling, NC machining, and the like.
Claims (12)
前記点群は、補間点の位置情報と、当該補間点における曲線または曲面の方向および曲率を定める単位方向ベクトルのベクトル情報とを有し、
前記補間処理は、制御点により定義される前記曲線あるいは前記曲面において、
前記補間点の位置情報に基づいて、補間点から前記曲線上または前記曲面上に下ろした垂線の足を第1の点として求める幾何アルゴリズムの演算を行う第一の補間工程と、
前記ベクトル情報に基づいて、単位方向ベクトルと垂直に交わる前記曲線の接線または前記曲面の接平面との接点を第2の点として求める幾何アルゴリズムの演算を行う第二の補間工程と、
前記第1の点から前記補間点に向かうベクトル、前記第2の点から前記補間点に向かうベクトル、前記第2の点から前記第1の点に向かうベクトルを移動ベクトルとして求め、前記曲線または前記曲面を定義する制御点の位置を前記移動ベクトルから選択した何れか一つの移動ベクトルを用いて移動し、移動後の位置を新たな曲線または曲面の制御点の位置として定める幾何アルゴリズムの演算を行う第三の補間工程とを含み、
前記各補間工程を行う演算処理を、前記幾何アルゴリズムを組み込んだ演算手段により行うことを特徴とする、補間処理方法。In an interpolation processing method for interpolating a point group by a curve or curved surface represented using control points,
The point group includes position information of an interpolation point, and vector information of a unit direction vector that determines the direction and curvature of a curve or a curved surface at the interpolation point,
The interpolation processing is performed on the curve or the curved surface defined by control points.
A first interpolation step for performing a geometric algorithm calculation based on the position information of the interpolation point to obtain a first leg of a perpendicular line drawn from the interpolation point on the curve or the curved surface;
A second interpolation step of performing a geometric algorithm operation based on the vector information to obtain a tangent of the curve perpendicularly intersecting a unit direction vector or a contact point with a tangent plane of the curved surface as a second point;
Obtaining a vector from the first point to the interpolation point, a vector from the second point to the interpolation point, a vector from the second point to the first point as a movement vector, the curve or the The position of the control point defining the curved surface is moved using any one of the movement vectors selected from the movement vectors, and the geometric algorithm is calculated to determine the position after the movement as the position of the control point of the new curve or curved surface. A third interpolation step,
An interpolation processing method, wherein the arithmetic processing for performing each interpolation step is performed by arithmetic means incorporating the geometric algorithm.
前記点群の補間点を初期制御点とし、前記各幾何アルゴリズムの演算を行い、
第2回目以降に行う第一の補間工程、第二の補間工程及び第三の補間工程において、
補間工程で得た制御点の位置を新たな制御点の位置とし、前記幾何アルゴリズムの演算を行うことを特徴とする、請求項1から請求項4のいずれか一つに記載の補間処理方法。In the first interpolation process, the second interpolation process, and the third interpolation process performed in the first time,
The interpolation point of the point group is used as an initial control point, and calculation of each geometric algorithm is performed.
In the first interpolation step, the second interpolation step, and the third interpolation step performed after the second time,
The interpolation processing method according to any one of claims 1 to 4, wherein the geometric algorithm is calculated with the position of the control point obtained in the interpolation step as the position of a new control point.
前記点群は、補間点の位置情報と、当該補間点において曲線または曲面の方向および曲率を定める単位方向ベクトルのベクトル情報とを有し、
制御点により定義される前記曲線あるいは前記曲面において、
前記補間点の位置情報に基づいて、補間点から曲線上または曲面上に下ろした垂線の足を第1の点として求める幾何アルゴリズムによって第一の補間工程を行う第一の幾何演算手段と、
前記ベクトル情報に基づいて、単位方向ベクトルと垂直に交わる前記曲線の接線または前記曲面の接平面との接点を第2の点として求める幾何アルゴリズムによって第二の補間工程を行う第二の幾何演算手段と、
前記第1の点から前記補間点に向かうベクトル、前記第2の点から前記補間点に向かうベクトル、前記第2の点から前記第1の点に向かうベクトルを移動ベクトルとして求め、曲線または曲面を定義する制御点の位置を前記何れか一つの移動ベクトルを用いて移動し、移動後の位置を新たな曲線または曲面の制御点の位置として定める幾何アルゴリズムによって第三の補間工程を行う第三の幾何演算手段とを備え、
前記第一の幾何演算手段、第二の幾何演算手段及び第三の幾何演算手段は、各幾何アルゴリズムをソフトウェアで実行するためのCPU及び記憶装置、又は各幾何アルゴリズムをハードウエアで実行するための回路を備えることを特徴とする、補間処理装置。In an interpolation processing apparatus that interpolates a point group by a curve or a curved surface expressed using control points,
The point group includes position information of an interpolation point, and vector information of a unit direction vector that determines the direction and curvature of a curve or a curved surface at the interpolation point,
In the curve or the curved surface defined by the control points,
A first geometric calculation means for performing a first interpolation step by a geometric algorithm for obtaining, as a first point, a perpendicular line drawn from the interpolation point on the curve or curved surface based on the position information of the interpolation point;
Second geometric operation means for performing a second interpolation step by a geometric algorithm that obtains, as a second point, a tangent of the curve that intersects the unit direction vector perpendicularly or a tangent plane of the curved surface as a second point based on the vector information When,
A vector from the first point to the interpolation point, a vector from the second point to the interpolation point, a vector from the second point to the first point are obtained as movement vectors, and a curve or a curved surface is obtained. The third interpolation step is performed by a geometric algorithm that moves the position of the control point to be defined using any one of the movement vectors and defines the position after the movement as the position of the control point of a new curve or curved surface. Geometric calculation means,
The first geometric operation means, the second geometric operation means, and the third geometric operation means are a CPU and a storage device for executing each geometric algorithm by software, or for executing each geometric algorithm by hardware. An interpolation processing apparatus comprising a circuit.
前記比較結果に基づいて、前記距離がしきい値を満たす、又はしきい値よりも小さくなるまで、前記第一の幾何演算手段と第二の幾何演算手段と第三の幾何演算手段とを繰り返して行わせるプログラム又は回路構成を有した制御手段を備えることを特徴とする、請求項7又は8に記載の補間処理装置。Comparing means for obtaining a curve or a curved surface based on the control point obtained by the arithmetic processing, and comparing a distance between the interpolation point and the obtained curve or curved surface with a threshold value;
Based on the comparison result, the first geometric calculation means, the second geometric calculation means, and the third geometric calculation means are repeated until the distance satisfies the threshold value or becomes smaller than the threshold value. The interpolation processing apparatus according to claim 7, further comprising a control unit having a program or a circuit configuration to be executed.
前記角度差がしきい値を満たす、又はしきい値よりも小さくなるまで、前記第一の幾何演算手段と第二の幾何演算手段と第三の幾何演算手段を繰り返して行わせるプログラム又は回路構成を有した制御手段を備えることを特徴とする、請求項7又は8に記載の補間処理装置。A curve or a curved surface is obtained based on the control point obtained by the arithmetic processing, and the angle difference between the normal vector given to each interpolation point and the normal vector of the curved or curved surface at the point that becomes the foot of the obtained perpendicular. A comparison means for comparing the threshold value;
Program or circuit configuration for repeatedly performing the first geometric calculation means, the second geometric calculation means, and the third geometric calculation means until the angular difference satisfies a threshold value or becomes smaller than the threshold value The interpolation processing apparatus according to claim 7, further comprising: a control unit having
第1回目に行う演算において、前記点群を初期制御点とし前記幾何アルゴリズムの演算を行い、
第2回目以降に行う演算において、前記第1回目の演算で得た制御点位置を新たな制御点位置とし、前記幾何アルゴリズムの演算を行うことを特徴とする、請求項7から請求項10のいずれか一つに記載された補間処理装置。The first geometric calculation means, the second geometric calculation means and the third geometric calculation means are:
In the first calculation, the geometric algorithm is calculated using the point group as an initial control point,
11. The calculation performed in the second and subsequent times, the control point position obtained in the first calculation is set as a new control point position, and the calculation of the geometric algorithm is performed. The interpolation processing apparatus described in any one.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009539033A JP5218993B2 (en) | 2007-10-30 | 2008-10-24 | Interpolation processing method and interpolation processing apparatus |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007282122 | 2007-10-30 | ||
JP2007282122 | 2007-10-30 | ||
PCT/JP2008/069306 WO2009057517A1 (en) | 2007-10-30 | 2008-10-24 | Interpolation processing method and interpolation processor |
JP2009539033A JP5218993B2 (en) | 2007-10-30 | 2008-10-24 | Interpolation processing method and interpolation processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009057517A1 true JPWO2009057517A1 (en) | 2011-03-10 |
JP5218993B2 JP5218993B2 (en) | 2013-06-26 |
Family
ID=40590908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009539033A Expired - Fee Related JP5218993B2 (en) | 2007-10-30 | 2008-10-24 | Interpolation processing method and interpolation processing apparatus |
Country Status (6)
Country | Link |
---|---|
US (1) | US8350853B2 (en) |
EP (1) | EP2216753A4 (en) |
JP (1) | JP5218993B2 (en) |
KR (1) | KR101443949B1 (en) |
CN (1) | CN101796546B (en) |
WO (1) | WO2009057517A1 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292941B2 (en) * | 2009-09-04 | 2016-03-22 | Adobe Systems Incorporated | Methods and apparatus for specifying and interpolating hierarchical procedural models |
CN103176428B (en) * | 2013-04-16 | 2015-01-21 | 易兴 | CNC (computerized numerical control) system interpolating algorithm based on spherical coordinates and device for realizing same |
US9405994B2 (en) | 2013-05-08 | 2016-08-02 | The University Of British Columbia | Methods and systems for characterizing concept drawings and estimating three-dimensional information therefrom |
US9965893B2 (en) * | 2013-06-25 | 2018-05-08 | Google Llc. | Curvature-driven normal interpolation for shading applications |
CN103605854B (en) * | 2013-11-26 | 2016-12-07 | 上海宏盾防伪材料有限公司 | A kind of manufacture method of the vector holographic geometrical curve about laser ablation |
CN103646422B (en) * | 2013-12-19 | 2016-03-09 | 哈尔滨工程大学 | Based on the 3 D displaying method of hereditary Multi-B Spline interpolation algorithm |
WO2015157868A1 (en) | 2014-04-18 | 2015-10-22 | The University Of British Columbia | Methods and systems for estimating three-dimensional information from two-dimensional concept drawings |
CN106530838B (en) * | 2016-10-25 | 2019-04-09 | 飞友科技有限公司 | A kind of method of aircraft flight profiles jump removal |
US10460482B2 (en) * | 2017-07-26 | 2019-10-29 | Robert Bosch Gmbh | Method and system for automated generation of constrained curves in computer graphics |
CN107272758B (en) * | 2017-08-01 | 2020-08-07 | 深圳市雷赛控制技术有限公司 | Method and device for improving efficiency and stability of winding equipment |
JP7113654B2 (en) * | 2018-04-20 | 2022-08-05 | Biprogy株式会社 | Curved surface generation device and program for curved surface generation |
JP7446579B2 (en) * | 2019-09-02 | 2024-03-11 | マツダ株式会社 | Curved surface fitting processing method, fitting processing device, fitting processing program, and computer-readable storage medium storing the fitting processing program |
CN110908337B (en) * | 2019-12-18 | 2021-04-13 | 湘潭大学 | Method for predicting inverse control point of NURBS |
CN111161409B (en) * | 2019-12-27 | 2023-10-13 | 中国航空工业集团公司沈阳飞机设计研究所 | Aircraft guarantee equipment verification system |
CN112330770B (en) * | 2020-10-21 | 2023-06-02 | 同济大学 | Automatic generation system for engineering curve group |
CN117351109B (en) * | 2023-09-05 | 2024-06-07 | 中交第二公路勘察设计研究院有限公司 | Method for reconstructing section curve of shield tunnel |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3246617B2 (en) * | 1992-09-30 | 2002-01-15 | ソニー株式会社 | Free-form surface machining data creation method |
JP3054108B2 (en) * | 1997-08-15 | 2000-06-19 | 理化学研究所 | Free-form surface measurement data synthesis method |
JPH11345344A (en) * | 1998-06-01 | 1999-12-14 | Matsushita Electric Ind Co Ltd | Method and device for giving cubic curve |
JP2004192209A (en) | 2002-12-10 | 2004-07-08 | Kinichi Inagaki | Nc data creating method for surface processing by controlling physical process with computer |
JP4934789B2 (en) | 2006-01-23 | 2012-05-16 | 国立大学法人横浜国立大学 | Interpolation processing method and interpolation processing apparatus |
-
2008
- 2008-10-24 US US12/738,890 patent/US8350853B2/en not_active Expired - Fee Related
- 2008-10-24 CN CN2008801044048A patent/CN101796546B/en not_active Expired - Fee Related
- 2008-10-24 EP EP08845595.1A patent/EP2216753A4/en not_active Withdrawn
- 2008-10-24 KR KR1020107004217A patent/KR101443949B1/en not_active IP Right Cessation
- 2008-10-24 WO PCT/JP2008/069306 patent/WO2009057517A1/en active Application Filing
- 2008-10-24 JP JP2009539033A patent/JP5218993B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20100074113A (en) | 2010-07-01 |
CN101796546A (en) | 2010-08-04 |
EP2216753A1 (en) | 2010-08-11 |
EP2216753A4 (en) | 2015-06-03 |
CN101796546B (en) | 2012-12-12 |
JP5218993B2 (en) | 2013-06-26 |
US20100220099A1 (en) | 2010-09-02 |
WO2009057517A1 (en) | 2009-05-07 |
KR101443949B1 (en) | 2014-09-23 |
US8350853B2 (en) | 2013-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5218993B2 (en) | Interpolation processing method and interpolation processing apparatus | |
JP4934789B2 (en) | Interpolation processing method and interpolation processing apparatus | |
KR100707841B1 (en) | Nurbs surface deformation apparatus and the method using 3d target curve | |
CN113228115A (en) | Transformation of grid geometry into watertight boundary representation | |
CN105844711B (en) | Engraving 2D images on subdivision surfaces | |
KR101250163B1 (en) | Process for creating from a mesh an isotopologic set of parameterized surfaces | |
WO2012115827A1 (en) | Global deformation for a modeled object | |
JP4301791B2 (en) | CAD system and CAD program | |
US20210133365A1 (en) | A method of operating a cad system model for modelling an article to be manufactured | |
JP6242539B1 (en) | Numerical controller | |
CN114341942A (en) | Fitting method, fitting device, fitting program for curved surface, and computer-readable storage medium storing fitting program | |
JP2020077311A (en) | Numerical controller, processing route setting method, and program | |
US20160004790A1 (en) | Seam modification for 3d cad models | |
CN107526859B (en) | Method, device and system for designing the outer surface of a composite part for producing a mould | |
JP6495728B2 (en) | Shape deformation apparatus and shape deformation program | |
Kudabalage et al. | Postprocessor for five-axis machining of STL surfaces based on Nagata interpolation and optimization of rotation angles | |
Kim et al. | A symbolic approach to freeform parametric surface blends | |
JP6449703B2 (en) | Shape deformation apparatus and shape deformation program | |
Muraki et al. | Curve Mesh Modeling Method of Trimmed Surfaces for Direct Modeling | |
JP6026949B2 (en) | Curved surface drawing apparatus and curved surface drawing program | |
JP2737127B2 (en) | Object surface shape data creation method | |
JP2001067391A (en) | Three-dimenisonal form processing method and recording medium recording program for executing the processing method | |
JP6021690B2 (en) | Numerical controller | |
JPH10269371A (en) | Free curved line generating method, free curved surface generating method and its recording medium | |
JP2022545629A (en) | A computer-implemented method for modifying the model geometry of an object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121113 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130225 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5218993 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |