JP4163446B2 - Curved surface interpolation method, curved surface interpolation program and storage medium - Google Patents

Curved surface interpolation method, curved surface interpolation program and storage medium Download PDF

Info

Publication number
JP4163446B2
JP4163446B2 JP2002141953A JP2002141953A JP4163446B2 JP 4163446 B2 JP4163446 B2 JP 4163446B2 JP 2002141953 A JP2002141953 A JP 2002141953A JP 2002141953 A JP2002141953 A JP 2002141953A JP 4163446 B2 JP4163446 B2 JP 4163446B2
Authority
JP
Japan
Prior art keywords
curved surface
boundary
line segment
curve
generating
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.)
Expired - Fee Related
Application number
JP2002141953A
Other languages
Japanese (ja)
Other versions
JP2003330979A (en
Inventor
喜政 徳山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002141953A priority Critical patent/JP4163446B2/en
Publication of JP2003330979A publication Critical patent/JP2003330979A/en
Application granted granted Critical
Publication of JP4163446B2 publication Critical patent/JP4163446B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、専用の3次元形状処理装置やパーソナルコンピュータなど情報処理装置などに実施されるN角形領域に曲面を内挿する技術に関し、特に、N角形領域に重なりや隙間がないように内挿可能な曲面を生成することができる曲面内挿技術に関するものである。
【0002】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたCAD/CAM装置など3次元形状処理装置では、従来より、3次元立体形状を生成したり、生成されている3次元立体形状を変形させたり、その他、様々な処理を行っている。なお、3次元立体形状とは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により3次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
本発明は、このような3次元形状処理装置などにおいて従来より行われている3次元形状処理の一つである曲面生成に関し、より詳細には、複数本のB−スプライン曲線を用いて構成した曲線メッシュにより生成した内挿曲面を滑らかに且つ曲面間に重なりや隙間がないように内挿する内挿曲面生成方法に関する。
【0003】
なお、このような分野の従来技術としては、例えばGregoryパッチなどを用いた自由曲面の内挿方法がある。この従来技術では、境界横断導関数を指定し、これを用いて曲面の形状を変形し、曲面同士を接続したり、曲面を内挿したりする。また、有理境界Gregoryパッチを用いてなめらかな曲面形状を生成する方法なども公知である。
例えば特開平7−282117号公報に示された自由曲面生成方法は、前記したような従来技術の一つであり、有理B−スプライン曲線を共有境界とする2枚の曲面を生成する場合に、境界曲線とその境界曲線につながる曲線から境界における連続性を判定し、その連続性から境界における接続条件を求め、求められた接続条件から面の内部制御点を生成することにより、隣り合う2枚の自由曲面形状を滑らかに接続する方法である。
また、曲線メッシュを用いて曲面を生成する方法では、例えば、“鳥谷浩志,千代倉弘明,3次元CADの基礎と応用,1991.”記載の技術によれば、N角形領域をN個の四辺形面で内挿する方法である。
【0004】
【発明が解決しようとする課題】
しかしながら、前記した特開平7−282117号公報に示された自由曲面生成方法では、滑らかな接続を実現するために、内挿曲面として使えない曲面を生成してしまうというような問題があり、また、前記した曲線メッシュを用いて曲面を生成する方法では、図15に示すように、N角形領域Aの複数の境界曲線(曲面の境界を表す曲線)のそれぞれの長さが極端に異なる場合、内挿面のN角形領域の境界曲線以外の曲線C(内部曲線と呼ぶ)がうねりやすいので、内挿した曲面がうねったり、曲面同士が互いに干渉したりする可能性がある。
また、N角形領域を構成する連続の頂点が存在しない場合や、1個のみ存在する場合、例えば、円形領域には曲面を内挿できないという問題もある。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、N角形領域を覆うような1枚のB−スプライン曲面を生成することにより、N角形領域に綺麗に内挿可能な曲面を生成することができる曲面内挿方法を提供することにある。
【0005】
【課題を解決するための手段】
前記の課題を解決するために、請求項1記載の発明では、N角形領域に曲面を内挿する曲面内挿方法において、平面決定手段が、内挿する内挿曲面の領域の範囲を表す4つの境界平面を決定するステップと線分生成手段が、前記N角形領域の各境界曲線上の複数の点から、前記N角形領域の境界曲線における隣接面の境界導関数を用いて定めた方向で周辺の前記境界平面へ下ろした線分を生成するステップと境界曲線生成手段が、各線分について属する前記境界平面を決定し、各線分と各境界平面との交点から前記内挿曲面の境界曲線を生成するステップと内挿曲面生成手段が、前記境界曲線と前記各線分上の各点とから内挿する曲面を生成するステップと、から構成されることを特徴とする。
また、請求項2記載の発明では、N角形領域に曲面を内挿する曲面内挿方法において、平面決定手段が、内挿する内挿曲面の領域の範囲を表す4つの境界平面を決定するステップと線分生成手段が、前記N角形領域の各境界曲線上の複数の点から、前記N角形領域内の任意の点における法線ベクトルと前記N角形領域の境界曲線の接線ベクトルとの外積により得られたベクトルの方向で周辺の前記境界平面へ下ろした線分を生成するステップと境界曲線生成手段が、各線分について属する前記境界平面を決定し、各線分と各境界平面との交点から前記内挿曲面の境界曲線を生成するステップと内挿曲面生成手段が、前記境界曲線と前記各線分上の各点とから内挿する曲面を生成するステップと、から構成されることを特徴とする。
また、請求項3記載の発明では、請求項1又は請求項2記載の曲面内挿方法をコンピュータに実行させるためのプログラム特徴とする。
また、請求項4記載の発明では、請求項3記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体を特徴とする。
【0006】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図1は本発明が実施例されるシステムの一例を示すコンピュータシステムの構成ブロック図である。図示したように、この実施例のコンピュータシステムは、入力部1、出力部2、CPU3、メモリ(例えばRAM)4、記憶部(例えばハードディスク装置)5、および媒体駆動部6などを備えている。
前記において、入力部1は、出力部2を構成している表示装置に表示されたN角形領域を受け付けるマウスや、キーボードのような入力装置を有している。なお、N角形領域は、これらの形状を構成する点や曲線などの幾何形状データと、この幾何形状データの相関関係を示す位相データとからなっている。
また、出力部2は、記憶部5に記憶された形状データを読み出して出力する出力手段であり、ディスプレイのような表示装置やプリンタのような出力装置を有している。また、記憶部5は、設計対象物の形状を示す複数の形状データやプログラムなどを記憶し、媒体駆動部6は例えばCD−ROMやフレキシブルディスクなど着脱可能な記憶媒体を駆動し、本発明に係わるプログラムなどをその記録媒体から読み込む。なお、この実施例では、請求項1記載の平面決定手段、線分生成手段、境界曲線生成手段、および内挿曲面生成手段が、プログラムを記憶したメモリ4およびそのプログラムに従って動作するCPU3などにより実現される。
【0007】
このような構成で、この実施例では、プログラムに従って、まず、CPU3が、対象とする3次元形状モデルを表示装置に表示させ、利用者にN角形領域を指定させ、指定されたN角形領域に係わるデータを取得し、そのデータを記憶部5に格納する。例えば、図2においては、対象とする稜線に対して、それぞれ異なる丸め半径で丸めることによって生成された3角形領域AがN角形領域である(丸め処理により生成された曲面はその処理を施した元の面と滑らかに接しているとは限らない)。操作対象となるこのようなN角形領域と一辺を、利用者はマウスなどにより指定するのである。図2におけるN角形領域と一辺をマウスなどでクリックして選択すると、最終的に生成されるB−スプライン曲面の一つの境界曲線が指定した辺にほぼ平行になる。
【0008】
図3に、この実施例の動作フローを示す。以下、図2に示した例を用い、図3に従って、この実施例の動作を説明する。
この実施例では、最初に、指定されたN角形領域に対応する内挿曲面領域の範囲を表す4つの境界平面を決定する(S1)。生成しようとする曲面の大まかな大きさを決める。そのため、まず、N角形領域の境界曲線列の中心と平均法線ベクトルを求める。なお、境界曲線列の中心は曲線の制御点(自由曲線の2つの端点の間にある点列で、曲線の形状はこの複数の制御点と2つの端点により表現することができる)の座標値の平均値である。また、平均法線ベクトルとは、境界曲線を境界とする滑らかな任意の曲面上で、面の単位ベクトルを積分したものであり、この面積分の結果で得られるベクトルは境界曲線のみに依存する。このような平均法線ベクトルを境界曲線を用いて公知の方法により算出する。
【0009】
続いて、境界曲線列の中心と平均法線ベクトルを利用して一つの平面を生成する。その平面の原点と法線ベクトルはそれぞれ境界曲線列の中心と平均法線ベクトルである。さらに、境界曲線列をその平面へ射影して射影境界曲線列を生成し、平面上に座標系を構成する。座標系のZ軸の方向は平面の法線ベクトルの方向と一致する。X軸の方向は前記中心(前記原点)から最初に利用者が指定したN角形領域の一辺の射影曲線の中心位置へ向かうベクトルの方向である。また、Y軸の方向はZ軸とX軸との外積ベクトルの方向である。こうして、そのような座標系における射影曲線列のバウンディングボックス(射影曲線列に外接する境界箱)を得る。バウンディングボックスはX,Y軸に平行な四辺形である。なお、バウンディングボックスは多少大きくする(例えば一辺の長さを5パーセントくらい大きくする)。なぜなら、バウンディングボックスの大きさは最終的に生成される曲面の大きさに影響し、多少大きくすることにより、N角形領域に所望の精度で綺麗に曲面を内挿することが容易になる。
続いて、バウンディングボックスからZ軸に平行な4つの境界平面を生成する。後で、内挿するB−スプライン曲面の境界を規定するときにこの4つの境界平面を利用するためである。図4に、Z軸から見たときのバウンディングボックスBを示す。
【0010】
次に、N角形領域の境界曲線に基づいた線分を生成する(S2)。そのため、まず、各境界曲線上に複数個のサンプリング点を生成する。なお、サンプリング点の数は例えば境界曲線の次数の2倍にする。そして、サンプリング点における境界曲線を横切る方向のベクトルを決める。決め方としては複数の方法があるが、2つの例を以下に示す。
一つは、N角形領域の境界曲線における隣接面の境界導関数を利用する方法で、この方法によれば生成される内挿面と隣接面との接続がより滑らかになる。図5に、発生した線分群を示す。但し、この方法では、N角形領域が図6に示した円柱の上面であるような場合、N角形領域の隣接面との境界曲線を横切る方向の偏微分ベクトルがすべて円柱の中心軸方向を向いているので、平面との交点が求まらない。
他の一つはN角形領域の境界曲線の接線ベクトルを利用する方法で、N角形領域のサンプリング点における法線ベクトルと境界曲線の接線ベクトルとの外積で得られたベクトルを利用する。なお、2本の境界曲線の共有点においては、共有点におけるそれぞれの境界曲線についての単位接線ベクトルの和ベクトルを利用する。したがって、図6に示したように2本の境界曲線が滑らかに接続してもベクトルを特定できる。図6に示した線分はこのような方法で求めた線分である。なお、サンプリング点における境界曲線を横切る方向のベクトルの決め方を変更することにより、生成する曲面形状のバリエーションを増やすことができる。続いて、決まったベクトルと前記4つの境界平面との交点を求め、最も近い交点と境界曲線上の点で決まった線分を求める。最も近い交点をもつ境界平面はその線分の属する境界平面である。これらの線分は後で点群を発生させるときに利用される。
【0011】
前記において、境界曲線上のすべてのサンプリング点の線分が同じ境界平面に属さない場合には、線分群と交点群をそれぞれの属する境界平面に分け、さらに、2つの境界平面のどちらの線分にもなる共通線分を決める必要がある。例えば、図11に示したような例では、稜線(境界曲線)を分割する必要があるのである。
そのため、次に、以下のようにして、境界曲線を分割して線分の属する境界平面を決め、共通線分を求める(S3)。
まず、境界曲線と線分方向を用いてル−ルド曲面を生成し、ル−ルド曲面と2つの境界平面とが交叉する交線を求める。そして、ル−ルド曲面における交線の、交叉する境界平面が変る位置の単方向パラメータ(uまたはv)を境界曲線の分割用パラメータとして境界曲線を分割する。さらに、分割点における線分が乗る直線と2つの境界平面の交線との干渉点を求め、分割点と干渉点で決まった線分を2つの境界平面の共通線分とする。なお、干渉点は交点だけに限定せず、2つの直線がねじれの位置にある場合も、それらの直線が互いにもっとも近い点を干渉点として計算する。こうして、最終的には、一つの境界曲線上のすべてのサンプリング点の線分が同じ境界平面に属する状態となる。
【0012】
これまでの説明で明らかなように、ステップS2において生成した各線分の一方の端点はサンプリング点であり、もう一方の端点は境界平面上の点であるが、次に、その境界平面上の複数の端点から、最小2乗法を用いて曲線を生成し、その曲線を内挿する曲面の境界曲線とする(図7参照)(S4)。なお、この境界曲線の生成に際して、その生成の元になる点列は近似したい曲線の始点から終点に向かって整列されていなければならない。また、ある境界平面に属する境界曲線が存在しない場合は、その平面の両側の境界平面上に生成されるそれぞれの境界曲線の端点を利用して直線(近似曲線)を生成する。その際、近似曲線の端点とするための境界曲線が隣合う平面に存在しない場合には、近似曲線を接線方向に直線形状でさらに隣りの境界平面まで延長する。
前記において、内挿する曲面の4本の境界曲線の端点同士が必ず一致するとは限らない。そこで、次に、端点同士の位置を一致させるように調整する。
【0013】
最後に、内挿する曲面を生成する(S5)。生成される曲面の4本の境界曲線となる前記4本の境界曲線を拘束条件として曲面を生成するのである。そのため、まず、前記した各線分について、線分のもう一方の端点と中間のサンプリング点から構成される点群を求める。図8に、発生した線分上の点群を示す。なお、中間のサンプリング点の数は、多ければ多いほど生成される曲面のNサイド(N側)の領域外の形状が周りの面の形状に近付く半面、制御点の数が増え、処理速度が低下する。そのため、この実施例では、中間のサンプリング点の数を3にする。但し、N角形領域を構成する各辺が、そのサンプリング点の数に依存して生成された内挿曲面上に利用者の指定した許容誤差範囲内で乗らない場合には、サンプリング点の数を増やし、制御点の数を増やす。
【0014】
次に、前記4本の境界曲線から双1次ブレンドのCoons曲面を定義する。また、この曲面上にける各点から境界曲線へ射影した点のパラメータを各点の初期パラメータとする。そして、境界曲線を境界とする最小2乗法により近似曲面をB−スプライン曲面として生成する。図9に、生成した曲面の制御点(曲面を表現する複数の点であり、ほぼその曲面に沿って存在する)を示す。また、図10に、最終的に生成される曲面の等高線を示す。さらに、内挿する曲面の生成例として、前記N角形領域が3角形領域の例を図11に、4角形領域の例を図12に、5角形領域の例を図13に、6角形領域の例を図14に示す。このように、本発明によるN角形領域への曲面内挿はN角形領域を構成する辺の数に制限がないし、N角形領域を構成する頂点の数にも制限がない。
最後に、このようにして生成した曲面の形状データを記憶部5へ書き込む。
【0015】
以上、本発明の一実施例について説明したが、説明したようなN角形領域への曲面内挿方法に従ってプログラミングしたプログラムを例えば着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によったN角形領域への曲面内挿を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、その情報処理装置においても本発明によったN角形領域への曲面内挿を行うことができる。
【0016】
【発明の効果】
以上説明したように、本発明によれば、請求項1記載の発明では、N角形領域を覆うような1枚のB−スプライン曲面を生成することができ、それにより、曲面をN角形領域に綺麗に内挿することができる。
また、請求項2記載の発明では、生成する曲面形状のバリエーションを増やすことができ、したがって、より適切な内挿曲面を得ることができる。
また、請求項3記載の発明では、請求項1または請求項2記載の曲面内挿方法に従ってプログラミングしたプログラムを情報処理装置上で実行させることができるので、情報処理装置を用いて請求項1または請求項2記載の発明の効果を得ることができる。
また、請求項4記載の発明では、請求項3記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項1または請求項2記載の発明によったN角形領域への曲面内挿を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、その情報処理装置においても請求項1または請求項2記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明が実施例されるシステムの一例を示すコンピュータシステムの構成ブロック図である。
【図2】本発明の一実施例に係わるN角形領域を示す説明図である。
【図3】本発明の一実施例を示す曲面内挿プログラムのフロー図である。
【図4】本発明の一実施例を示す曲面内挿方法の説明図である。
【図5】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図6】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図7】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図8】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図9】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図10】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図11】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図12】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図13】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図14】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図15】従来技術および本発明に係わる曲面内挿方法の説明図である。
【符号の説明】
1 入力部、2 出力部、3 CPU、4 メモリ、5 記憶部、6 媒体駆動部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique for interpolating a curved surface in an N-gonal area implemented in an information processing apparatus such as a dedicated three-dimensional shape processing apparatus or a personal computer, and in particular, interpolating so that there is no overlap or gap in the N-gonal area. The present invention relates to a curved surface interpolation technique capable of generating a possible curved surface.
[0002]
[Prior art]
Conventionally, in a 3D shape processing apparatus such as a CAD / CAM device using a graphics display device and a computer, a 3D solid shape is generated, the generated 3D solid shape is deformed, and various other Processing is in progress. The three-dimensional solid shape refers to, for example, a shape generated as solid model data in a boundary representation format. The solid model in the boundary representation format is defined in a three-dimensional space by elements such as edges, vertices, and faces. It defines a closed area and expresses a solid solid.
The present invention relates to curved surface generation, which is one of the three-dimensional shape processing conventionally performed in such a three-dimensional shape processing apparatus, and more specifically, is configured using a plurality of B-spline curves. The present invention relates to an interpolation curved surface generation method for smoothly interpolating an interpolation curved surface generated by a curved mesh so that there is no overlap or gap between curved surfaces.
[0003]
As a conventional technique in such a field, there is a free-form surface interpolation method using, for example, a Gregory patch. In this prior art, a cross-boundary derivative is specified, and the shape of the curved surface is deformed by using this, and the curved surfaces are connected to each other or the curved surface is interpolated. In addition, a method of generating a smooth curved surface shape using a rational boundary Gregory patch is also known.
For example, the free curved surface generation method disclosed in Japanese Patent Laid-Open No. 7-282117 is one of the prior arts as described above, and when generating two curved surfaces having a rational B-spline curve as a common boundary, By determining the continuity at the boundary from the boundary curve and the curve connected to the boundary curve, obtaining the connection condition at the boundary from the continuity, and generating the internal control points of the surface from the obtained connection condition, two adjacent sheets This is a method of smoothly connecting the free-form surface shapes.
In the method of generating a curved surface using a curved mesh, for example, according to the technique described in “Hiroshi Toritani, Hiroaki Chiyokura, Basics and Applications of 3D CAD, 1991.”, N square regions are divided into N quadrilaterals. This is a method of interpolating with a surface.
[0004]
[Problems to be solved by the invention]
However, the free curved surface generation method disclosed in Japanese Patent Laid-Open No. 7-282117 has a problem that a curved surface that cannot be used as an interpolated curved surface is generated in order to realize a smooth connection. In the method of generating a curved surface using the curved mesh described above, as shown in FIG. 15, when the lengths of a plurality of boundary curves (curves representing the boundary of the curved surface) of the N-gonal region A are extremely different, Since the curve C (referred to as an internal curve) other than the boundary curve of the N-shaped area of the interpolated surface tends to swell, the interpolated curved surfaces may swell or the curved surfaces may interfere with each other.
Further, when there are no continuous vertices constituting the N-gonal area or when there is only one vertex, for example, there is a problem that a curved surface cannot be interpolated in a circular area.
An object of the present invention is to solve such a problem of the prior art. Specifically, by generating a single B-spline curved surface that covers the N-gonal region, it is possible to clean the N-gonal region. Another object of the present invention is to provide a curved surface interpolation method capable of generating a curved surface that can be interpolated into a curved surface.
[0005]
[Means for Solving the Problems]
In order to solve the above problems, in the first aspect of the present invention, represented in the curved surface in the interpolation method interpolating a curved surface N rectangular region, the plane determining means, the range of the area on the inner挿曲surface interpolating 4 A step of determining two boundary planes and a direction determined by the line generation means using a boundary derivative of an adjacent surface in the boundary curve of the N-gonal region from a plurality of points on each boundary curve of the N-gonal region A step of generating a line segment down to the surrounding boundary plane, and a boundary curve generating means determines the boundary plane to which each line segment belongs , and the boundary of the interpolation curved surface from the intersection of each line segment and each boundary plane generating a curve, the inner挿曲surface generating means, characterized in that consists of the steps of generating a curved surface interpolating the color and each point on the line segment and the boundary curve.
Further, in the invention described in claim 2, in curved surface in interpolation method interpolating curved surfaces in N rectangular region, the plane determining means determines the four boundary plane representing the range of the area on the inner挿曲surface interpolating step And a line segment generating unit calculates a cross product of a normal vector at an arbitrary point in the N-gonal region and a tangent vector of the boundary curve in the N-gonal region from a plurality of points on each boundary curve of the N-gonal region. Generating a line segment drawn down to the surrounding boundary plane in the direction of the vector obtained by the step, and a boundary curve generating means determines the boundary plane belonging to each line segment, and an intersection of each line segment and each boundary plane generating a boundary curve of the inner挿曲plane from the inner挿曲plane generation unit, and generating a curved surface interpolating the color and each point on the line segment and the boundary curve, that consists of Features.
The invention according to claim 3 is a program feature for causing a computer to execute the curved surface interpolation method according to claim 1 or claim 2 .
The invention according to claim 4 is characterized by a computer-readable storage medium storing the program according to claim 3.
[0006]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a configuration block diagram of a computer system showing an example of a system in which the present invention is implemented. As illustrated, the computer system of this embodiment includes an input unit 1, an output unit 2, a CPU 3, a memory (for example, RAM) 4, a storage unit (for example, a hard disk device) 5, a medium driving unit 6, and the like.
In the above description, the input unit 1 has an input device such as a mouse or a keyboard that accepts an N-gon area displayed on the display device constituting the output unit 2. Note that the N-gon area includes geometric data such as points and curves constituting these shapes, and phase data indicating the correlation between the geometric data.
The output unit 2 is an output unit that reads out and outputs the shape data stored in the storage unit 5 and includes a display device such as a display and an output device such as a printer. The storage unit 5 stores a plurality of shape data and programs indicating the shape of the design object, and the medium drive unit 6 drives a removable storage medium such as a CD-ROM or a flexible disk, for example. The related program is read from the recording medium. In this embodiment, the plane determining means, line segment generating means, boundary curve generating means, and interpolated curved surface generating means described in claim 1 are realized by the memory 4 storing the program and the CPU 3 operating according to the program. Is done.
[0007]
With such a configuration, in this embodiment, according to the program, first, the CPU 3 displays the target three-dimensional shape model on the display device, causes the user to designate the N-gonal area, and sets the designated N-gonal area to the designated N-gonal area. The related data is acquired, and the data is stored in the storage unit 5. For example, in FIG. 2, the triangular area A generated by rounding the target ridgeline with different rounding radii is an N-gonal area (the curved surface generated by the rounding process has been subjected to the processing). It may not be in smooth contact with the original surface). The user designates such an N-shaped area and one side to be operated with a mouse or the like. When the N-gonal area and one side in FIG. 2 are selected by clicking with a mouse or the like, one boundary curve of the finally generated B-spline curved surface becomes substantially parallel to the designated side.
[0008]
FIG. 3 shows an operation flow of this embodiment. The operation of this embodiment will be described below with reference to FIG. 3 using the example shown in FIG.
In this embodiment, first, four boundary planes representing the range of the interpolated curved surface area corresponding to the designated N-gonal area are determined (S1). Determine the approximate size of the surface to be generated. Therefore, first, the center of the boundary curve row of the N-gonal region and the average normal vector are obtained. Note that the center of the boundary curve row is the coordinate value of the curve control point (a sequence of points between the two end points of the free curve, and the shape of the curve can be expressed by the plurality of control points and the two end points). Is the average value. The average normal vector is obtained by integrating the unit vector of a surface on a smooth arbitrary curved surface bounded by the boundary curve, and the vector obtained as a result of this area depends only on the boundary curve. . Such an average normal vector is calculated by a known method using a boundary curve.
[0009]
Subsequently, one plane is generated using the center of the boundary curve row and the average normal vector. The origin and normal vector of the plane are the center of the boundary curve sequence and the average normal vector, respectively. Further, a boundary curve sequence is projected onto the plane to generate a projected boundary curve sequence, and a coordinate system is constructed on the plane. The direction of the Z axis of the coordinate system coincides with the direction of the normal vector of the plane. The direction of the X axis is the direction of a vector from the center (the origin) toward the center position of the projection curve on one side of the N-gonal area specified by the user first. The direction of the Y axis is the direction of the outer product vector of the Z axis and the X axis. In this way, a bounding box of the projection curve sequence (boundary box circumscribing the projection curve sequence) in such a coordinate system is obtained. The bounding box is a quadrilateral parallel to the X and Y axes. Note that the bounding box is slightly larger (for example, the length of one side is increased by about 5%). This is because the size of the bounding box affects the size of the finally generated curved surface, and by slightly increasing the size, it becomes easy to insert the curved surface neatly with a desired accuracy in the N-gonal region.
Subsequently, four boundary planes parallel to the Z axis are generated from the bounding box. This is because the four boundary planes are used later when defining the boundary of the B-spline curved surface to be interpolated. FIG. 4 shows the bounding box B when viewed from the Z-axis.
[0010]
Next, a line segment based on the boundary curve of the N-gon area is generated (S2). Therefore, first, a plurality of sampling points are generated on each boundary curve. Note that the number of sampling points is, for example, twice the order of the boundary curve. Then, a vector in a direction crossing the boundary curve at the sampling point is determined. There are a plurality of methods for determination, but two examples are shown below.
One is a method that uses the boundary derivative of the adjacent surface in the boundary curve of the N-gonal region. According to this method, the connection between the generated interpolation surface and the adjacent surface becomes smoother. FIG. 5 shows the generated line segment group. However, in this method, when the N-gonal region is the upper surface of the cylinder shown in FIG. 6, all the partial differential vectors in the direction crossing the boundary curve with the adjacent surface of the N-gonal region are directed to the central axis direction of the cylinder. Therefore, the intersection with the plane cannot be obtained.
The other is a method using the tangent vector of the boundary curve of the N-gonal region, and uses a vector obtained by the outer product of the normal vector at the sampling point of the N-gonal region and the tangent vector of the boundary curve. Note that, at the common point of two boundary curves, the sum vector of unit tangent vectors for each boundary curve at the common point is used. Therefore, as shown in FIG. 6, even if two boundary curves are smoothly connected, the vector can be specified. The line segment shown in FIG. 6 is a line segment obtained by such a method. In addition, the variation of the curved surface shape to produce | generate can be increased by changing how to determine the vector of the direction which crosses the boundary curve in a sampling point. Subsequently, an intersection between the determined vector and the four boundary planes is obtained, and a line segment determined by the closest intersection and a point on the boundary curve is obtained. The boundary plane having the closest intersection is the boundary plane to which the line segment belongs. These line segments are used later when generating point clouds.
[0011]
In the above, when the line segments of all sampling points on the boundary curve do not belong to the same boundary plane, the line segment group and the intersection group are divided into the boundary planes to which they belong, and further, which line segment of the two boundary planes It is necessary to determine the common line segment that also becomes. For example, in the example as shown in FIG. 11, it is necessary to divide the ridgeline (boundary curve).
Therefore, next, as described below, the boundary curve is divided to determine the boundary plane to which the line segment belongs, and the common line segment is obtained (S3).
First, a ruled surface is generated using the boundary curve and the line segment direction, and an intersection line where the ruled surface and two boundary planes intersect is obtained. Then, the boundary curve is divided using the unidirectional parameter (u or v) at the position where the intersecting boundary plane of the intersecting line on the ruled curved surface changes as a boundary curve dividing parameter. Further, an interference point between a straight line on which the line segment at the division point rides and an intersection line between the two boundary planes is obtained, and a line segment determined by the division point and the interference point is set as a common line segment of the two boundary planes. Note that the interference point is not limited to the intersection point, and even when two straight lines are in a twisted position, the point where the straight lines are closest to each other is calculated as the interference point. In this way, finally, the line segments of all sampling points on one boundary curve belong to the same boundary plane.
[0012]
As apparent from the above description, one end point of each line segment generated in step S2 is a sampling point, and the other end point is a point on the boundary plane. A curve is generated from the end points using the least square method, and the curve is set as a boundary curve of the curved surface to be interpolated (see FIG. 7) (S4). When generating this boundary curve, the point sequence from which the boundary curve is generated must be aligned from the start point to the end point of the curve to be approximated. When there is no boundary curve belonging to a certain boundary plane, a straight line (approximate curve) is generated using the end points of the boundary curves generated on the boundary planes on both sides of the plane. At this time, if the boundary curve for making the end point of the approximate curve does not exist in the adjacent plane, the approximate curve is further extended to the adjacent boundary plane in a tangential direction in a straight line shape.
In the above, the end points of the four boundary curves of the curved surface to be interpolated do not always match. Then, it adjusts so that the position of end points may correspond next.
[0013]
Finally, a curved surface to be interpolated is generated (S5). A curved surface is generated using the four boundary curves, which are the four boundary curves of the generated curved surface, as constraint conditions. Therefore, first, for each line segment described above, a point group composed of the other end point of the line segment and an intermediate sampling point is obtained. FIG. 8 shows a point group on the generated line segment. As the number of intermediate sampling points increases, the number of control points increases as the shape outside the N-side (N side) area of the curved surface approaches the shape of the surrounding surface, and the processing speed increases. descend. Therefore, in this embodiment, the number of intermediate sampling points is set to 3. However, if each side constituting the N-gonal area does not ride within the tolerance range specified by the user on the interpolation surface generated depending on the number of sampling points, the number of sampling points is Increase the number of control points.
[0014]
Next, a Coons surface of bilinear blend is defined from the four boundary curves. Further, the parameters of the points projected from the points on the curved surface to the boundary curve are set as the initial parameters of the points. Then, an approximate curved surface is generated as a B-spline curved surface by the least square method with the boundary curve as a boundary. FIG. 9 shows the generated curved surface control points (a plurality of points representing the curved surface, which exist substantially along the curved surface). FIG. 10 shows contour lines of a curved surface that is finally generated. Further, as an example of generating a curved surface to be interpolated, the N-gonal region is a triangular region as shown in FIG. 11, a quadrangular region as an example in FIG. 12, a pentagonal region as an example in FIG. An example is shown in FIG. As described above, the curved surface interpolation to the N-gonal area according to the present invention has no limitation on the number of sides constituting the N-gonal area, and no limitation on the number of vertices constituting the N-gonal area.
Finally, the curved surface shape data generated in this way is written into the storage unit 5.
[0015]
Although one embodiment of the present invention has been described above, a program programmed in accordance with the curved surface interpolation method into the N-gonal area as described above is stored in, for example, a removable storage medium, and the storage medium is used in the present invention so far. By mounting it on an information processing device such as a personal computer that could not perform curved surface interpolation to the N-gonal region, or by transferring such a program to such an information processing device via a network, Also in the information processing apparatus, curved surface interpolation into an N-gonal area according to the present invention can be performed.
[0016]
【The invention's effect】
As described above, according to the present invention, according to the first aspect of the present invention, it is possible to generate a single B-spline curved surface that covers an N-gonal region, thereby converting the curved surface into an N-gonal region. Can be interpolated neatly.
In the invention according to claim 2, variations of the curved surface shape to be generated can be increased, and therefore a more appropriate interpolated curved surface can be obtained.
In the invention according to claim 3, since the program programmed according to the curved surface interpolation method according to claim 1 or claim 2 can be executed on the information processing apparatus, The effect of the invention of claim 2 can be obtained.
In the invention according to claim 4, since the program according to claim 3 can be stored in a removable storage medium, the storage medium according to the invention according to claim 1 or claim 2 can be used. By mounting the information processing apparatus such as a personal computer that cannot perform curved surface interpolation on the square region, the effect of the invention according to claim 1 or 2 can be obtained in the information processing apparatus.
[Brief description of the drawings]
FIG. 1 is a configuration block diagram of a computer system showing an example of a system in which the present invention is implemented.
FIG. 2 is an explanatory diagram showing an N-gonal region according to an embodiment of the present invention.
FIG. 3 is a flowchart of a curved surface interpolation program showing an embodiment of the present invention.
FIG. 4 is an explanatory diagram of a curved surface interpolation method according to an embodiment of the present invention.
FIG. 5 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 6 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 7 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 8 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 9 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 10 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 11 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 12 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 13 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 14 is another explanatory diagram of a curved surface interpolation method showing an embodiment of the present invention.
FIG. 15 is an explanatory diagram of a curved surface interpolation method according to the prior art and the present invention.
[Explanation of symbols]
1 input unit, 2 output unit, 3 CPU, 4 memory, 5 storage unit, 6 medium drive unit

Claims (4)

N角形領域に曲面を内挿する曲面内挿方法において、
平面決定手段が、内挿する内挿曲面の領域の範囲を表す4つの境界平面を決定するステップと
線分生成手段が、前記N角形領域の各境界曲線上の複数の点から、前記N角形領域の境界曲線における隣接面の境界導関数を用いて定めた方向で周辺の前記境界平面へ下ろした線分を生成するステップと
境界曲線生成手段が、各線分について属する前記境界平面を決定し、各線分と各境界平面との交点から前記内挿曲面の境界曲線を生成するステップと
内挿曲面生成手段が、前記境界曲線と前記各線分上の各点とから内挿する曲面を生成するステップと、
から構成されることを特徴とする曲面内挿方法。
In a curved surface interpolation method for interpolating a curved surface in an N-gonal region,
Plane determining means, determining the four boundary plane representing the range of the area on the inner挿曲surface interpolating,
The line segment generation means descends from a plurality of points on each boundary curve of the N-gonal region to the surrounding boundary plane in a direction determined using boundary derivatives of adjacent surfaces in the boundary curve of the N-gonal region. generating a line segment,
A boundary curve generating means determining the boundary plane belonging to each line segment, and generating a boundary curve of the interpolated curved surface from the intersection of each line segment and each boundary plane;
An interpolation curved surface generating means generating a curved surface to be interpolated from the boundary curve and each point on each line segment ;
A curved surface interpolation method characterized by comprising:
N角形領域に曲面を内挿する曲面内挿方法において、
平面決定手段が、内挿する内挿曲面の領域の範囲を表す4つの境界平面を決定するステップと
線分生成手段が、前記N角形領域の各境界曲線上の複数の点から、前記N角形領域内の任意の点における法線ベクトルと前記N角形領域の境界曲線の接線ベクトルとの外積により得られたベクトルの方向で周辺の前記境界平面へ下ろした線分を生成するステップと
境界曲線生成手段が、各線分について属する前記境界平面を決定し、各線分と各境界平面との交点から前記内挿曲面の境界曲線を生成するステップと
内挿曲面生成手段が、前記境界曲線と前記各線分上の各点とから内挿する曲面を生成するステップと、
から構成されることを特徴とする曲面内挿方法。
In a curved surface interpolation method for interpolating a curved surface in an N-gonal region,
Plane determining means, determining the four boundary plane representing the range of the area on the inner挿曲surface interpolating,
The line segment generating means is obtained from a plurality of points on each boundary curve of the N-gonal region by an outer product of a normal vector at an arbitrary point in the N-gonal region and a tangent vector of the boundary curve of the N-gonal region. generating a line segment drawn to the boundary plane around in the direction of the resulting vector,
A boundary curve generating means determining the boundary plane belonging to each line segment, and generating a boundary curve of the interpolated curved surface from the intersection of each line segment and each boundary plane;
An interpolation curved surface generating means generating a curved surface to be interpolated from the boundary curve and each point on each line segment ;
A curved surface interpolation method characterized by comprising:
請求項1又は請求項2記載の曲面内挿方法をコンピュータに実行させるためのプログラム。A program for causing a computer to execute the curved surface interpolation method according to claim 1 or 2. 請求項3記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。A computer-readable storage medium storing the program according to claim 3.
JP2002141953A 2002-05-16 2002-05-16 Curved surface interpolation method, curved surface interpolation program and storage medium Expired - Fee Related JP4163446B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002141953A JP4163446B2 (en) 2002-05-16 2002-05-16 Curved surface interpolation method, curved surface interpolation program and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002141953A JP4163446B2 (en) 2002-05-16 2002-05-16 Curved surface interpolation method, curved surface interpolation program and storage medium

Publications (2)

Publication Number Publication Date
JP2003330979A JP2003330979A (en) 2003-11-21
JP4163446B2 true JP4163446B2 (en) 2008-10-08

Family

ID=29702400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002141953A Expired - Fee Related JP4163446B2 (en) 2002-05-16 2002-05-16 Curved surface interpolation method, curved surface interpolation program and storage medium

Country Status (1)

Country Link
JP (1) JP4163446B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4952322B2 (en) * 2007-03-20 2012-06-13 マツダ株式会社 Curved surface generator

Also Published As

Publication number Publication date
JP2003330979A (en) 2003-11-21

Similar Documents

Publication Publication Date Title
JP3597360B2 (en) Modeling method and recording medium
JP4934789B2 (en) Interpolation processing method and interpolation processing apparatus
US7643026B2 (en) NURBS surface deformation apparatus and the method using 3D target curve
WO2000002165A1 (en) Method for generating polygon data and image display using the same
US10535182B2 (en) Method of rendering computer graphics curves
US20120206457A1 (en) Methods and Systems for Generating Continuous Surfaces from Polygonal Data
CN111581776A9 (en) Geometric reconstruction model-based isogeometric analysis method
JP2004127099A (en) Cad system and cad program
US20050078109A1 (en) Three-dimensional shape display program, three-dimensional shape display method, and three-dimensional shape display apparatus
US6201542B1 (en) Three-dimensional polygon display apparatus using progressive polygon data
CN106960469B (en) A kind of smooth free-form deformation of Fast Segmentation triangle
US20120206456A1 (en) Methods and Systems for Generating Continuous Surfaces from Polygonal Data
JP4163446B2 (en) Curved surface interpolation method, curved surface interpolation program and storage medium
JP4005352B2 (en) 3D shape processing apparatus and curved surface interpolation program
JP5458440B2 (en) Curved surface generation device and curved surface generation program
CN106981095B (en) A kind of improved smooth free-form deformation
JP4175470B2 (en) CAD system, curved surface analyzing apparatus, curved surface reproducing apparatus, method and program thereof
JPH11195139A (en) Sculptured surface generating device, method therefor and providing medium
JP3463843B2 (en) Free-form surface generation apparatus and free-form surface generation method
Cong et al. Local geometric indexing of high resolution data for facial reconstruction from sparse markers
Freitag et al. Enhancements in blending algorithms
Hui et al. Generating subdivision surfaces from profile curves
JP4397548B2 (en) Three-dimensional shape processing apparatus, skinning three-dimensional shape generation method, and recording medium
JP4027646B2 (en) 3D shape processing apparatus, polyline generation program, and polygon generation program
JP3641856B2 (en) Method for generating fillet surface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041220

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20071127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080411

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: 20080701

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080724

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110801

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120801

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130801

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees