Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4005352B2 - 3D shape processing apparatus and curved surface interpolation program - Google Patents
[go: Go Back, main page]

JP4005352B2 - 3D shape processing apparatus and curved surface interpolation program - Google Patents

3D shape processing apparatus and curved surface interpolation program Download PDF

Info

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
Application number
JP2001382182A
Other languages
Japanese (ja)
Other versions
JP2003186925A (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 JP2001382182A priority Critical patent/JP4005352B2/en
Publication of JP2003186925A publication Critical patent/JP2003186925A/en
Application granted granted Critical
Publication of JP4005352B2 publication Critical patent/JP4005352B2/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−スプライン曲線を用いて構成した曲線メッシュにより生成した内挿曲面を滑らかに且つ曲面間に重なりや隙間がないように内挿する内挿曲面生成方法に関する。
なお、このような分野の従来技術としては、例えば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 claim 3, in the invention described in claim 2, the configuration is such that the sides constituting the N-gonal region are on the curved surface generated within the allowable error range specified by the user. Features.
The invention according to claim 4 is characterized in that, in the invention according to claim 2, the range of the region determined by the four boundary planes is made wider than the N-gonal region.
The invention according to claim 5 is characterized in that, in the invention according to claim 2, the number of sides constituting the N-gonal region is not limited.
The invention described in claim 6 is characterized in that, in the invention described in claim 2, the number of vertices constituting the N square region is not limited.
The invention according to claim 7 is characterized in that the program according to any one of claims 2 to 6 is stored in a storage medium storing the program.
[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 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 driving unit 6 drives a removable storage medium such as a CD-ROM or a floppy 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.
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.
[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 storage unit 5.
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 claim 3, in the invention described in claim 2, since the sides constituting the N-gonal region are on the curved surface generated within the tolerance range specified by the user, the curved surface is arranged in the N-gonal region. Can be interpolated neatly with the desired accuracy.
Further, in the invention described in claim 4, in the invention described in claim 2, since the range of the region determined by the four boundary planes is wider than the N-gonal region, the curved surface is neatly contained in the N-gonal region with the desired accuracy. It becomes easy to insert.
In the invention according to claim 5, in the invention according to claim 2, since the number of sides constituting the N-gonal area is not limited, the application range of the curved surface interpolation to the N-gonal area becomes wide.
Further, in the invention described in claim 6, in the invention described in claim 2, since the number of vertices constituting the N square area is not limited, similarly, the range of application of curved surface interpolation to the N square area is widened. .
Further, in the invention according to claim 7, since the program according to any one of claims 2 to 6 is stored in, for example, a removable storage medium, the storage medium has been described in claims 2 to 5 so far. When the information processing apparatus is attached to an information processing apparatus such as a personal computer that has not been able to perform curved surface interpolation into the N-gonal area according to any one of the items 6, the information processing apparatus also includes the information processing apparatus according to claim 2. The effect of the invention described in any one of 6 can be obtained.
[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 Input unit 2 Output unit 3 CPU
4 Memory 5 Storage unit 6 Medium drive unit

Claims (7)

N角形領域に曲面を内挿することができる3次元形状処理装置において、
内挿する曲面の領域の範囲を表す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.
N角形領域に曲面を内挿する曲面内挿プログラムにおいて、内挿する曲面の領域の範囲を表す4つの境界平面を決定し、前記N角形領域の各境界曲線上の複数の点から周辺の前記境界平面へ下ろした線分を生成し、その線分について属する前記境界平面を決定し、線分とその境界平面との交点からN角形領域に内挿する曲面の境界曲線を生成し、その境界曲線と前記各線分上の各点から内挿する曲面を生成することを特徴とする曲面内挿プログラム。In a curved surface interpolation program for interpolating a curved surface in an N-gonal area, four boundary planes representing the range of the curved surface area to be interpolated are determined, and a plurality of points on each boundary curve of the N-gonal area are Generate a line segment down to the boundary plane, determine the boundary plane to which the line segment belongs, generate a boundary curve of the curved surface that is interpolated into the N-gonal area from the intersection of the line segment and the boundary plane, and A curved surface interpolation program for generating a curved surface to be interpolated from a curve and each point on each line segment. 請求項2記載の曲面内挿プログラムにおいて、N角形領域を構成する辺が利用者の指定した許容誤差範囲内で生成された曲面上に乗っていることを特徴とする曲面内挿プログラム。3. The curved surface interpolation program according to claim 2, wherein the sides constituting the N-gonal region are on a curved surface generated within an allowable error range specified by the user. 請求項2記載の曲面内挿プログラムにおいて、4つの境界平面により決定される領域の範囲をN角形領域より広くすることを特徴とする曲面内挿プログラム。3. The curved surface interpolation program according to claim 2, wherein the range of the region determined by the four boundary planes is made wider than the N-gonal region. 請求項2記載の曲面内挿プログラムにおいて、N角形領域を構成する辺の数に制限がないことを特徴とする曲面内挿プログラム。3. The curved surface interpolation program according to claim 2, wherein the number of sides constituting the N-gonal area is not limited. 請求項2記載の曲面内挿プログラムにおいて、N 角形領域を構成する頂点の数に制限がないことを特徴とする曲面内挿プログラム。3. The curved surface interpolation program according to claim 2, wherein the number of vertices constituting the N square region is not limited. プログラムを記憶した記憶媒体において、請求項2乃至請求項6のいずれか1項に記載のプログラムを記憶したことを特徴とする記憶媒体。A storage medium storing a program, wherein the program according to any one of claims 2 to 6 is stored.
JP2001382182A 2001-12-14 2001-12-14 3D shape processing apparatus and curved surface interpolation program Expired - Fee Related JP4005352B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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