JP4005352B2 - 3D shape processing apparatus and curved surface interpolation program - Google Patents
3D shape processing apparatus and curved surface interpolation program Download PDFInfo
- Publication number
- JP4005352B2 JP4005352B2 JP2001382182A JP2001382182A JP4005352B2 JP 4005352 B2 JP4005352 B2 JP 4005352B2 JP 2001382182 A JP2001382182 A JP 2001382182A JP 2001382182 A JP2001382182 A JP 2001382182A JP 4005352 B2 JP4005352 B2 JP 4005352B2
- Authority
- JP
- Japan
- Prior art keywords
- curved surface
- boundary
- gonal
- line segment
- curve
- 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
Links
Images
Landscapes
- Image Generation (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、専用の3次元形状処理装置やパーソナルコンピュータなど情報処理装置などに実施されるN角形領域に曲面を内挿する技術に関し、特に、N角形領域に綺麗に内挿可能な曲面を生成することができる曲面内挿技術に関する。
【0002】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたCAD/CAM装置など3次元形状処理装置では、従来より、3次元立体形状を生成したり、生成されている3次元立体形状を変形させたり、その他、様々な処理を行っている。なお、3次元立体形状とは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により3次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
本発明は、このような3次元形状処理装置などにおいて従来より行われている3次元形状処理の一つである曲面生成に係わり、より詳細には、複数本のB−スプライン曲線を用いて構成した曲線メッシュにより生成した内挿曲面を滑らかに且つ曲面間に重なりや隙間がないように内挿する内挿曲面生成方法に関する。
なお、このような分野の従来技術としては、例えばGregoryパッチなどを用いた自由曲面の内挿方法がある。この従来技術では、境界横断導関数を指定し、これを用いて曲面の形状を変形し、曲面同士を接続したり、曲面を内挿したりする。また、有理境界Gregoryパッチを用いてなめらかな曲面形状を生成する方法なども公知である。
例えば特開平7−282117号公報に示された自由曲面生成方法は前記したような従来技術の一つであり、有理B−スプライン曲線を共有境界とする2枚の曲面を生成する場合に、境界曲線とその境界曲線につながる曲線から境界における連続性を判定し、その連続性から境界における接続条件を求め、求められた接続条件から面の内部制御点を生成することにより隣り合う2枚の自由曲面形状を滑らかに接続する。
また、曲線メッシュを用いて曲面を生成する方法では、例えば、“鳥谷浩志,千代倉弘明,3次元CADの基礎と応用,1991.”記載の技術によれば、N角形領域をN個の四辺形面で内挿する。
【0003】
【発明が解決しようとする課題】
しかしながら、前記した特開平7−282117号公報に示された自由曲面生成方法では、滑らかな接続を実現するために、内挿曲面として使えない曲面を生成してしまうというような問題があるし、前記した曲線メッシュを用いて曲面を生成する方法では、図14に示したように、N角形領域Aの複数の境界曲線(曲面の境界を表す曲線)のそれぞれの長さが極端に異なる場合、内挿面のN角形領域の境界曲線以外の曲線C(内部曲線と呼ぶ)がうねりやすいので、内挿した曲面がうねったり、曲面同士が互いに干渉したりする可能性がある。
また、N角形領域を構成する連続の頂点が存在しない場合や、1個のみ存在する場合には、内挿曲面を生成できないという問題もある。例えば、円形領域には曲面を内挿できないのである。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、N角形領域を覆うような1枚のB−スプライン曲面を生成することにより、N角形領域に綺麗に内挿可能な曲面を生成することができる曲面内挿方法を提供することにある。
【0004】
【課題を解決するための手段】
前記の課題を解決するために、請求項1記載の発明では、N角形領域に曲面を内挿することができる3次元形状処理装置において、内挿する曲面の領域の範囲を表す4つの境界平面を決定する平面決定手段と、前記N角形領域の各境界曲線上の複数の点から周辺の前記境界平面へ下ろした線分を生成する線分生成手段と、その線分について属する前記境界平面を決定し、線分とその境界平面との交点からN角形領域に内挿する曲面の境界曲線を生成する境界曲線生成手段と、その境界曲線と前記各線分上の各点から内挿する曲面を生成する内挿曲面生成手段とを備えたことを特徴とする。
また、請求項2記載の発明では、N角形領域に曲面を内挿する曲面内挿プログラムにおいて、内挿する曲面の領域の範囲を表す4つの境界平面を決定し、前記N角形領域の各境界曲線上の複数の点から周辺の前記境界平面へ下ろした線分を生成し、その線分について属する前記境界平面を決定し、線分とその境界平面との交点からN角形領域に内挿する曲面の境界曲線を生成し、その境界曲線と前記各線分上の各点から内挿する曲面を生成する構成にしたことを特徴とする。
また、請求項3記載の発明では、請求項2記載の発明において、N角形領域を構成する辺が利用者の指定した許容誤差範囲内で生成された曲面上に乗っている構成にしたことを特徴とする。
また、請求項4記載の発明では、請求項2記載の発明において、4つの境界平面により決定される領域の範囲をN角形領域より広くする構成にしたことを特徴とする。
また、請求項5記載の発明では、請求項2記載の発明において、N角形領域を構成する辺の数に制限がない構成にしたことを特徴とする。
また、請求項6記載の発明では、請求項2記載の発明において、N 角形領域を構成する頂点の数に制限がない構成にしたことを特徴とする。
また、請求項7記載の発明では、プログラムを記憶した記憶媒体において、請求項2乃至請求項6のいずれか1項に記載のプログラムを記憶したことを特徴とする。
【0005】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図1は本発明が実施例されるシステムの一例を示すコンピュータシステムの構成ブロック図である。図示したように、この実施例のコンピュータシステムは、入力部1、出力部2、CPU3、メモリ(例えばRAM)4、記憶部(例えばハードディスク装置)5、および媒体駆動部6などを備えている。
前記において、入力部1は、出力部2を構成している表示装置に表示されたN角形領域を受け付けるマウスや、キーボードのような入力装置を有している。なお、N角形領域は、これらの形状を構成する点や曲線などの幾何形状データと、この幾何形状データの相関関係を示す位相データとからなっている。
また、出力部2は、記憶部5に記憶された形状データを読み出して出力する出力手段であり、ディスプレイのような表示装置やプリンタのような出力装置を有している。また、記憶部5は、設計対象物の形状を示す複数の形状データやプログラムなどを記憶し、媒体駆動部6は例えばCD−ROMやフロッピーディスクなど着脱可能な記憶媒体を駆動し、本発明に係わるプログラムなどをその記録媒体から読み込む。なお、この実施例では、請求項1記載の平面決定手段、線分生成手段、境界曲線生成手段、および内挿曲面生成手段が、プログラムを記憶したメモリ4およびそのプログラムに従って動作するCPU3などにより実現される。
このような構成で、この実施例では、プログラムに従って、まず、CPU3が、対象とする3次元形状モデルを表示装置に表示させ、利用者にN角形領域を指定させ、指定されたN角形領域に係わるデータを取得し、そのデータを記憶部5に格納する。例えば、図2においては、対象とする稜線に対して、それぞれ異なる丸め半径で丸めることによって生成された3角形領域AがN角形領域である(丸め処理により生成された曲面はその処理を施した元の面と滑らかに接しているとは限らない)。操作対象となるこのようなN角形領域と一辺を、利用者はマウスなどにより指定するのである。図2におけるN角形領域と一辺をマウスなどでクリックして選択すると、最終的に生成されるB−スプライン曲面の一つの境界曲線が指定した辺にほぼ平行になる。
【0006】
図3に、この実施例の動作フローを示す。以下、図2に示した例を用い、図3に従って、この実施例の動作を説明する。
この実施例では、最初に、指定されたN角形領域に対応する内挿曲面領域の範囲を表す4つの境界平面を決定する(S1)。生成しようとするの曲面の大まかな大きさを決めるのである。そのため、まず、N角形領域の境界曲線列の中心と平均法線ベクトルを求める。なお、境界曲線列の中心は曲線の制御点(自由曲線の2つの端点の間にある点列で、曲線の形状はこの複数の制御点と2つの端点により表現することができる)の座標値の平均値である。また、平均法線ベクトルとは、境界曲線を境界とする滑らかな任意の曲面上で、面の単位ベクトルを積分したものであり、この面積分の結果で得られるベクトルは境界曲線のみに依存する。このような平均法線ベクトルを境界曲線を用いて公知の方法により算出する。
続いて、境界曲線列の中心と平均法線ベクトルを利用して一つの平面を生成する。その平面の原点と法線ベクトルはそれぞれ境界曲線列の中心と平均法線ベクトルである。さらに、境界曲線列をその平面へ射影して射影境界曲線列を生成し、平面上に座標系を構成する。座標系のZ軸の方向は平面の法線ベクトルの方向と一致する。X軸の方向は前記中心(前記原点)から最初に利用者が指定したN角形領域の一辺の射影曲線の中心位置へ向かうベクトルの方向である。また、Y軸の方向はZ軸とX軸との外積ベクトルの方向である。こうして、そのような座標系における射影曲線列のバウンディングボックス(射影曲線列に外接する境界箱)を得る。バウンディングボックスはX,Y軸に平行な四辺形である。なお、バウンディングボックスは多少大きくする(例えば一辺の長さを5パーセントくらい大きくする)。なぜなら、バウンディングボックスの大きさは最終的に生成される曲面の大きさに影響し、多少大きくすることにより、N角形領域に所望の精度で綺麗に曲面を内挿することが容易になる。
続いて、バウンディングボックスからZ軸に平行な4つの境界平面を生成する。後で、内挿するB−スプライン曲面の境界を規定するときにこの4つの境界平面を利用するためである。図4に、Z軸から見たときのバウンディングボックスBを示す。
【0007】
次に、N角形領域の境界曲線に基づいた線分を生成する(S2)。そのため、まず、各境界曲線上に複数個のサンプリング点を生成する。なお、サンプリング点の数は例えば境界曲線の次数の2倍にする。そして、サンプリング点における境界曲線を横切る方向のベクトルを決める。決め方は、例えば次に示す2通りのいずれかである。
一つは、N角形領域の境界曲線における隣接面の境界導関数を利用する方法で、この方法によれば生成される内挿面と隣接面との接続がより滑らかになる。他の一つはN角形領域の境界曲線の接線ベクトルを利用する方法で、N角形領域のサンプリング点における法線ベクトルと境界曲線の接線ベクトルとの外積で得られたベクトルを利用する。なお、2本の境界曲線の共有点においては、共有点におけるそれぞれの境界曲線についての単位接線ベクトルの和ベクトルを利用する。したがって、2本の境界曲線が滑らかに接続してもベクトルを特定できる。そして、決まったベクトルと前記4つの境界平面との交点を求め、最も近い交点と境界曲線上の点で決まった線分を求める。最も近い交点をもつ境界平面はその線分の属する境界平面である。これらの線分は後で点群を発生させるときに利用される。図5に、発生した線分群を示す。
【0008】
前記において、境界曲線上のすべてのサンプリング点の線分が同じ境界平面に属さない場合には、線分群と交点群をそれぞれの属する境界平面に分け、さらに、2つの境界平面のどちらの線分にもなる共通線分を決める必要がある。例えば、図11に示したような例では、稜線(境界曲線)を分割する必要があるのである。
そのため、次に、以下のようにして、境界曲線を分割して線分の属する境界平面を決め、共通線分を求める(S3)。
まず、境界曲線と線分方向を用いてル−ルド曲面を生成し、ル−ルド曲面と2つの境界平面とが交叉する交線を求める。そして、ル−ルド曲面における交線の、交叉する境界平面が変る位置の単方向パラメータ(uまたはv)を境界曲線の分割用パラメータとして境界曲線を分割する。さらに、分割点における線分が乗る直線と2つの境界平面の交線との干渉点を求め、分割点と干渉点で決まった線分を2つの境界平面の共通線分とする。なお、干渉点は交点だけに限定せず、2つの直線がねじれの位置にある場合も、それらの直線が互いにもっとも近い点を干渉点として計算する。こうして、最終的には、一つの境界曲線上のすべてのサンプリング点の線分が同じ境界平面に属する状態となる。
これまでの説明で明らかなように、ステップS2において生成した各線分の一方の端点はサンプリング点であり、もう一方の端点は境界平面上の点であるが、次に、その境界平面上の複数の端点から、最小2乗法を用いて曲線を生成し、その曲線を内挿する曲面の境界曲線とする(図6参照)(S4)。なお、この境界曲線の生成に際して、その生成の元になる点列は近似したい曲線の始点から終点に向かって整列されていなければならない。また、ある境界平面に属する境界曲線が存在しない場合は、その平面の両側の境界平面上に生成されるそれぞれの境界曲線の端点を利用して直線(近似曲線)を生成する。その際、近似曲線の端点とするための境界曲線が隣合う平面に存在しない場合には、近似曲線を接線方向に直線形状でさらに隣りの境界平面まで延長する。
前記において、内挿する曲面の4本の境界曲線の端点同士が必ず一致するとは限らない。そこで、次に、端点同士の位置を一致させるように調整する。
最後に、内挿する曲面を生成する(S5)。生成される曲面の4本の境界曲線となる前記4本の境界曲線を拘束条件として曲面を生成するのである。そのため、まず、前記した各線分について、線分のもう一方の端点と中間のサンプリング点から構成される点群を求める。図7に、発生した線分上の点群を示す。なお、中間のサンプリング点の数は、多ければ多いほど生成される曲面のNサイド(N側)の領域外の形状が周りの面の形状に近付く半面、制御点の数が増え、処理速度が低下する。そのため、この実施例では、中間のサンプリング点の数を3にする。但し、N角形領域を構成する各辺が、そのサンプリング点の数に依存して生成された内挿曲面上に利用者の指定した許容誤差範囲内で乗らない場合には、サンプリング点の数を増やし、制御点の数を増やす。
【0009】
次に、前記4本の境界曲線から双1次ブレンドのCoons曲面を定義する。また、この曲面上にける各点から境界曲線へ射影した点のパラメータを各点の初期パラメータとする。そして、境界曲線を境界とする最小2乗法により近似曲面をB−スプライン曲面として生成する。図8に、生成した曲面の制御点(曲面を表現する複数の点であり、ほぼその曲面に沿って存在する)を示す。また、図9に、最終的に生成される曲面の等高線を示す。さらに、内挿する曲面の生成例として、前記N角形領域が3角形領域の例を図10に、4角形領域の例を図11に、5角形領域の例を図12に、6角形領域の例を図13に示す。このように、本発明によるN角形領域への曲面内挿はN角形領域を構成する辺の数に制限がないし、N角形領域を構成する頂点の数にも制限がない。
最後に、このようにして生成した曲面の形状データを記憶部5へ書き込む。
以上、本発明の一実施例について説明したが、説明したようなN角形領域への曲面内挿方法に従ってプログラミングしたプログラムを例えば着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によったN角形領域への曲面内挿を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、その情報処理装置においても本発明によったN角形領域への曲面内挿を行うことができる。
【0010】
【発明の効果】
以上説明したように、本発明によれば、請求項1および請求項2記載の発明では、N角形領域に曲面を内挿する際、内挿する曲面の領域の範囲を表す4つの境界平面が決定され、前記N角形領域の各境界曲線上の複数の点から周辺の前記境界平面へ下ろした線分が生成され、その線分について属する境界平面が決定され、線分とその境界平面との交点からN角形領域に内挿する曲面の境界曲線が生成され、その境界曲線と前記各線分上の各点から内挿する曲面が生成されるので、N角形領域を覆うような1枚のB−スプライン曲面を生成することができ、それにより、曲面をN角形領域に綺麗に内挿することができる。
また、請求項3記載の発明では、請求項2記載の発明において、N角形領域を構成する辺が利用者の指定した許容誤差範囲内で生成された曲面上に乗るので、曲面をN角形領域に所望の精度で綺麗に内挿することができる。
また、請求項4記載の発明では、請求項2記載の発明において、4つの境界平面により決定される領域の範囲がN角形領域より広いので、曲面をN角形領域に所望の精度で綺麗に内挿することが容易になる。
また、請求項5記載の発明では、請求項2記載の発明において、N角形領域を構成する辺の数に制限がないので、N角形領域への曲面内挿の適用範囲が広くなる。
また、請求項6記載の発明では、請求項2記載の発明において、N 角形領域を構成する頂点の数に制限がないので、同様に、N角形領域への曲面内挿の適用範囲が広くなる。
また、請求項7記載の発明では、請求項2乃至請求項6のいずれか1項に記載のプログラムが例えば着脱可能な記憶媒体に記憶されるので、その記憶媒体をこれまで請求項2乃至請求項6のいずれか1項に記載の発明によったN角形領域への曲面内挿を行えなかったパーソナルコンピュータなど情報処理装置に装着することにより、その情報処理装置においても請求項2乃至請求項6のいずれか1項に記載の発明の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明が実施例されるシステムの一例を示すコンピュータシステムの構成ブロック図である。
【図2】本発明の一実施例に係わるN角形領域を示す説明図である。
【図3】本発明の一実施例を示す曲面内挿プログラムのフロー図である。
【図4】本発明の一実施例を示す曲面内挿方法の説明図である。
【図5】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図6】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図7】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図8】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図9】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図10】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図11】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図12】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図13】本発明の一実施例を示す曲面内挿方法の他の説明図である。
【図14】従来技術および本発明に係わる曲面内挿方法の説明図である。
【符号の説明】
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, generates a curved surface that can be neatly inserted into the N-gonal area It relates to a curved surface interpolation technique.
[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 curve mesh so that there is no overlap or gap between curved surfaces.
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-form surface generation method disclosed in Japanese Patent Laid-Open No. 7-282117 is one of the conventional techniques as described above, and when generating two curved surfaces having a rational B-spline curve as a common boundary, the boundary is generated. Determine the continuity at the boundary from the curve and the curve connected to the boundary curve, obtain the connection condition at the boundary from the continuity, and generate the internal control points of the surface from the obtained connection condition, then free two adjacent sheets Connect curved shapes smoothly.
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. Interpolate at the face.
[0003]
[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 interpolation 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. 14, when the lengths of a plurality of boundary curves (curve 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.
There is also a problem that an interpolation curved surface cannot be generated when there are no continuous vertices constituting the N-gonal region or when there is only one vertex. For example, 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.
[0004]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, in the invention according to claim 1, in the three-dimensional shape processing apparatus capable of interpolating a curved surface in an N-gonal region, four boundary planes representing the range of the curved surface region to be interpolated A plane determining means for determining a line segment, a line segment generating means for generating a line segment drawn from a plurality of points on each boundary curve of the N-gonal region to the surrounding boundary plane, and the boundary plane belonging to the line segment. And a boundary curve generating means for generating a boundary curve of a curved surface to be interpolated into an N-gonal region from an intersection of the line segment and its boundary plane, and a curved surface to be interpolated from the boundary curve and each point on each of the line segments An interpolation curved surface generating means for generating is provided.
According to a second aspect of the present invention, in a curved surface interpolation program for interpolating a curved surface in an N-gonal region, four boundary planes representing the range of the curved surface region to be interpolated are determined, and each boundary of the N-gonal region is determined. A line segment drawn from a plurality of points on the curve to the surrounding boundary plane is generated, the boundary plane belonging to the line segment is determined, and interpolation is performed from the intersection of the line segment and the boundary plane to an N-gonal region A boundary curve of a curved surface is generated, and a curved surface that is interpolated from the boundary curve and each point on each line segment is generated.
Further, in the invention described in
The invention according to claim 4 is characterized in that, in the invention according to
The invention according to
The invention described in claim 6 is characterized in that, in the invention described in
The invention according to claim 7 is characterized in that the program according to any one of
[0005]
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
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
The
With such a configuration, in this embodiment, according to the program, first, the
[0006]
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). It determines the rough size of the surface you are trying to generate. 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.
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.
[0007]
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. The determination method is, for example, one of the following two methods.
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. 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, a vector can be specified even if two boundary curves are smoothly connected. Then, the intersection of the determined vector and the four boundary planes is obtained, and the line segment determined by the closest intersection and the 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. FIG. 5 shows the generated line segment group.
[0008]
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.
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 used as a boundary curve of the curved surface (see FIG. 6) (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.
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. 7 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.
[0009]
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. 8 shows the generated curved surface control points (a plurality of points representing the curved surface, which exist substantially along the curved surface). FIG. 9 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 in FIG. 10, a quadrangular region in FIG. 11, a pentagonal region in FIG. 12, and a hexagonal region. 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
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.
[0010]
【The invention's effect】
As described above, according to the present invention, when the curved surface is interpolated into the N-gonal region, the four boundary planes representing the range of the curved surface region to be interpolated are provided. A line segment is generated from a plurality of points on each boundary curve of the N-gonal region to the surrounding boundary plane, a boundary plane belonging to the line segment is determined, and the line segment and the boundary plane are A boundary curve of a curved surface that is interpolated from the intersection point into the N-gonal area is generated, and a curved surface that is interpolated from the boundary curve and each point on each line segment is generated. -A spline curved surface can be generated, whereby the curved surface can be nicely interpolated into an N-gonal region.
Further, in the invention described in
Further, in the invention described in claim 4, in the invention described in
In the invention according to
Further, in the invention described in claim 6, in the invention described in
Further, in the invention according to claim 7, since the program according to any one of
[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 an explanatory diagram of a curved surface interpolation method according to the prior art and the present invention.
[Explanation of symbols]
1
4
Claims (7)
内挿する曲面の領域の範囲を表す4つの境界平面を決定する平面決定手段と、前記N角形領域の各境界曲線上の複数の点から周辺の前記境界平面へ下ろした線分を生成する線分生成手段と、
その線分について属する前記境界平面を決定し、線分とその境界平面との交点からN角形領域に内挿する曲面の境界曲線を生成する境界曲線生成手段と、
その境界曲線と前記各線分上の各点から内挿する曲面を生成する内挿曲面生成手段とを備えたことを特徴とする3次元形状処理装置。In a three-dimensional shape processing apparatus capable of interpolating a curved surface in an N-gonal region,
Plane determining means for determining four boundary planes representing the range of the area of the curved surface to be interpolated, and a line for generating a line segment descending from a plurality of points on each boundary curve of the N-gonal area to the surrounding boundary plane A minute generating means;
A boundary curve generating means for determining the boundary plane belonging to the line segment and generating a boundary curve of a curved surface to be interpolated from the intersection of the line segment and the boundary plane into an N-gonal region;
A three-dimensional shape processing apparatus, comprising: an interpolated curved surface generating means for generating a curved surface to be interpolated from the boundary curve and each point on each line segment.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001382182A JP4005352B2 (en) | 2001-12-14 | 2001-12-14 | 3D shape processing apparatus and curved surface interpolation program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001382182A JP4005352B2 (en) | 2001-12-14 | 2001-12-14 | 3D shape processing apparatus and curved surface interpolation program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003186925A JP2003186925A (en) | 2003-07-04 |
| JP4005352B2 true JP4005352B2 (en) | 2007-11-07 |
Family
ID=27592635
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001382182A Expired - Fee Related JP4005352B2 (en) | 2001-12-14 | 2001-12-14 | 3D shape processing apparatus and curved surface interpolation program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4005352B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014002696A (en) * | 2012-06-21 | 2014-01-09 | Toyota Motor Corp | Design data generation apparatus and method, and program |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2008024869A2 (en) * | 2006-08-23 | 2008-02-28 | Mental Images Gmbh | Computer graphics methods and systems for generating images with rounded corners |
-
2001
- 2001-12-14 JP JP2001382182A patent/JP4005352B2/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014002696A (en) * | 2012-06-21 | 2014-01-09 | Toyota Motor Corp | Design data generation apparatus and method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003186925A (en) | 2003-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3597360B2 (en) | Modeling method and recording medium | |
| US7643026B2 (en) | NURBS surface deformation apparatus and the method using 3D target curve | |
| US5619625A (en) | Method for interpolating smooth free-form surfaces into curve mesh including composite curves | |
| JP4301791B2 (en) | CAD system and CAD program | |
| US10535182B2 (en) | Method of rendering computer graphics curves | |
| CN110489778A (en) | Pattern segmentation method and laser etching control system for laser etching processing | |
| 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 | |
| JP5458440B2 (en) | Curved surface generation device and curved surface generation program | |
| US8264487B2 (en) | Method for converting polygonal surfaces to levelsets | |
| US8994724B2 (en) | Methods and systems for generating continuous surfaces from polygonal data | |
| JP4005352B2 (en) | 3D shape processing apparatus and curved surface interpolation program | |
| JP4163446B2 (en) | Curved surface interpolation method, curved surface interpolation program and storage medium | |
| JP2005149245A (en) | Cad system, curved surface analysis device, curved surface reproducing device, and method and program therefor | |
| CN106981095B (en) | An Improved Smooth Free Deformation Method | |
| JPH11195139A (en) | Free-form surface generation apparatus and method, and provided medium | |
| JP7645484B2 (en) | Information processing method and information processing device | |
| Freitag et al. | Enhancements in blending algorithms | |
| JP2671652B2 (en) | 3D shape modeling device | |
| JP3148792B2 (en) | Method and apparatus for generating free-form surface | |
| JP2875294B2 (en) | Free-form surface generation method | |
| JP4397548B2 (en) | Three-dimensional shape processing apparatus, skinning three-dimensional shape generation method, and recording medium | |
| JP3641856B2 (en) | Method for generating fillet surface | |
| JPH068988B2 (en) | Spline interpolation method | |
| JP2001022962A (en) | Device and method for processing area division |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041104 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041109 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
| 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: 20070814 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070823 |
|
| 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: 20100831 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100831 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110831 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120831 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130831 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |