JP3148792B2 - 自由曲面生成方法及びその装置 - Google Patents

自由曲面生成方法及びその装置

Info

Publication number
JP3148792B2
JP3148792B2 JP10868394A JP10868394A JP3148792B2 JP 3148792 B2 JP3148792 B2 JP 3148792B2 JP 10868394 A JP10868394 A JP 10868394A JP 10868394 A JP10868394 A JP 10868394A JP 3148792 B2 JP3148792 B2 JP 3148792B2
Authority
JP
Japan
Prior art keywords
boundary
curve
rational
polynomial
patch
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 - Lifetime
Application number
JP10868394A
Other languages
English (en)
Other versions
JPH0798773A (ja
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 JP10868394A priority Critical patent/JP3148792B2/ja
Publication of JPH0798773A publication Critical patent/JPH0798773A/ja
Application granted granted Critical
Publication of JP3148792B2 publication Critical patent/JP3148792B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、自由曲面生成方法及び
その装置に関し、より詳細には、三次元立体形状処理装
置の形状生成に係る自由曲面生成方法及びその装置に関
する。例えば、曲線メッシュで定義される立体的形状で
の自由曲面生成方法に適用されるものである。
【0002】
【従来の技術】CAD(Computer Aided Design)シス
テムを用いた形状設計において、最も重要な課題のひと
つに複雑な自由曲面を持った形状を容易に設計できるこ
とが挙げられる。設計者が自由曲面形状を設計する場合
には、その設計手法に即した直感的でしかも容易な形状
入力機能を持ったCADシステムが望まれる。一般に、
自由曲面を入力する場合には断面線や曲面の境界曲線な
どの曲面を特徴づける特徴線を入力する方法が考えられ
る。これらの方法では、設計者はまず曲面の境界曲線を
表す曲線メッシュを定義し、それから曲線メッシュで囲
まれる領域を自由曲面で内挿する。入力された曲線メッ
シュは、設計したい形状の大まかな形状を表している。
したがって、曲線メッシュを内挿する場合には、設計者
の意図どおりの曲面形状が得られなければならない。
【0003】一般に、曲線メッシュは、Bezier 曲線や
NURBS(Non Uniform RationalB-Spline)曲線など
様々なタイプの曲線で構成されている。また、設計する
形状によっては、3角形や5角形のような非4辺形とな
る領域も含んだ不規則な曲線メッシュが現れる。このよ
うに、様々なタイプの曲線で構成され、かつ不規則な領
域を含んだ曲線メッシュを、設計者が意図した曲面形状
で内挿することが要求される。
【0004】不規則な曲線メッシュを滑らかに内挿する
ための代表的な曲面表現として、Gregory パッチや有
理境界Gregory パッチが挙げられる。これらの曲面表
現を使って、3角形や5角形などの不規則な曲線メッシ
ュをG1連続に内挿することが可能となる。しかしこれ
らの曲面表現では、その境界曲線はBezier 曲線や有理
Bezier 曲線で表現されるために、NURBS曲線のよ
うな複合曲線を境界とすることができなかった。
【0005】Gregory パッチ、有理境界Gregory パッ
チは、不規則な曲線メッシュをG1連続に内挿すること
ができるが、曲面の表現式の制約から、非4辺形面を内
挿する場合には面を分割する内部曲線が内挿の過程で生
成される。この内部曲線によって面は複数の4角形領域
に分割されて、これらの領域がGregory パッチまたは
有理境界Gregory パッチで内挿される。このとき、曲
線メッシュの形状が4角形であっても、各境界曲線が1
本のBezier 曲線または有理Bezier 曲線で表現できな
ければ、このような領域は4角形とはみなされずに非4
辺形として扱われ、内挿の過程で内部曲線が生成され
る。
【0006】特に、自由曲面を切断することで生成され
る干渉線や、オフセット曲面の境界曲線を含んだ曲線メ
ッシュには、複合曲線が現われ、このようなメッシュは
位相的には4角形でも、複数のGregory パッチによっ
て内挿することになる。内部曲線は境界曲線に依存して
生成されるために、境界曲線の形状によっては歪みが発
生し、生成される曲面の形状が意図したものとはならな
い。また、一般的に内部曲線の形状を境界曲線の変形に
よって制御することは困難である。
【0007】一方、NURBS曲面では、境界曲線がN
URBS曲線で表されるので、曲線メッシュ内に複合曲
線が存在しても問題はない。しかしNURBS曲面は、
不規則な曲線メッシュを滑らかに内挿することは困難で
ある。また、NURBS曲面では、曲面内部の連続性は
ノットベクトルと制御点に依存しているために、1枚の
面を
【0008】
【数2】
【0009】連続なパッチの集合として表現することは
一般に困難である。このように、従来技術としては、複
合曲線を含まない不規則な曲線メッシュを滑らかに内挿
する技術と、複合曲線を含んだ不規則でない曲線メッシ
ュを滑らかに内挿する技術がある。しかし、従来技術で
は、複合曲線を含んだ不規則な曲線メッシュをも歪みの
ない自由曲面で内挿することが困難であった。
【0010】
【発明が解決しようとする課題】本発明は、上述のごと
き実情に鑑みてなされたもので、複合曲線を含んだ不規
則な曲線メッシュを歪みのない自由曲面で内挿すること
を可能にする自由曲面生成方法を提供することを目的と
するものである。なお、一般境界Gregory パッチは、
一般Coons パッチを拡張したもので、Gregory パッ
チ、有理境界Gregory パッチ、一般Coons パッチの特
徴を継承した曲面表現である。より具体的には、一般境
界Gregory パッチによる内挿方法によって、例えば、
複合曲線を共有境界とする2枚の曲面間を滑らかに接続
すること、また、曲線メッシュのすべての曲線に対し
て、共有境界を滑らかに内挿する内部制御点を発生し、
該内部制御点から一般境界Gregory パッチを生成する
ので、この結果、隣接する曲面となめらかに接続された
自由曲面を生成すること、また、一般境界Gregory パ
ッチは、任意のタイプの曲線を曲面の境界曲線とするこ
とができ、境界曲線と境界横断導関数を独立して定義で
きる特徴を持っているので、このことから、曲線のタイ
プがBezier または有理Bezier 曲線のときに、隣接す
る曲面をGregoryパッチまたは有理境界Gregory パッ
チで内挿してもこれらのタイプの曲面となめらかに接続
すること、一般境界Gregory パッチは、複合曲線を境
界とすることができるので、複合曲線は区分多項式で表
現され、Bezier 曲線や有理Bezier 曲線の集りと考え
ることができ、このため、複合曲線で囲まれた領域は大
きな曲面となり、従来複雑な曲線メッシュで表現された
形状が、より少ない曲線で表現できるため、形状の把握
を容易にすること、また、複合曲線は自由曲面の切断や
オフセットによって曲線メッシュ内に現れるため、従来
は、複数のパッチによってこのような領域を内挿してい
たが、曲線の形状によっては、歪んだ曲面が生成される
ので、特に、位相的に4角形な領域も複合曲線を境界と
したときには、歪む可能性が高く、このような場合に
も、一般境界Gregory パッチでは1枚の自由曲面でメ
ッシュを内挿できるので歪みが発生しないこと、さら
に、一般境界Gregory パッチは、1つの多項式で表現
されるので、曲線の内部はC〔n〕連続になることが保
証されるようにした自由曲面生成方法及びその装置を提
供することを目的としてなされたものである。
【0011】
【課題を解決するための手段】本発明は、上記目的を達
成するために、(1)隣接する面を構成するすべての複
合曲線での境界横断導関数を計算して記録装置に記憶
し、計算された境界横断導関数が多項式関数かどうかを
判定し、多項式関数と判定されると、前記境界横断導関
数から多項式曲面の制御点を生成し、多項式関数でない
と判定されると、前記境界横断導関数から有理曲面の制
御点を生成すること、更には、(2)前記生成する制御
点は、すべての境界曲線の内部制御点を生成し、該内部
制御点を組み合わせること、更には、(3)前記(1)
または(2)において、前記隣接する面はGregoryパッ
であること、更には、(4)前記(1)または(2)
において、前記隣接する面は有理境界Gregoryパッチ
あること、更には、(5)3次元形状データに対し、面
を構成する2本以上からなるすべての境界曲線での境界
横断導関数を計算して記憶するCBD計算ユニットと、
該CBD計算ユニットで計算された境界横断導関数が多
項式関数かどうかを判定する有理式・非有理式判定ユニ
ットと、該有理式・非有理式判定ユニットにより多項式
関数と判定されると、前記境界横断導関数から多項式曲
面の制御点を生成する多項式曲面生成ユニットと、前記
有理式・非有理式判定ユニットにより多項式関数でない
と判定されると、前記境界横断導関数から有理曲面の制
御点を生成する有理曲面生成ユニットとを有すること、
更には、(6)前記(5)において、前記CBD計算ユ
ニットは、境界曲線の制御点と重み、境界曲線につなが
る曲線の制御点と重みを記憶する3次元境界曲線記憶ユ
ニットと、境界曲線の端点におけるG1連続性を判定す
るG1連続性判定ユニットと、有理曲線か多項式曲線か
を判定する曲線タイプ判定ユニットと、有理曲線とも多
項式曲線とも判定されない場合に、境界の端点での微分
ベクトルから仮想的な多項式曲線を生成する仮想曲線生
成ユニットと、多項式曲線の場合に、多項式曲線を境界
としたときの境界横断導関数を計算する多項式CBD生
成ユニットと、有理曲線の場合に、有理曲線を境界とし
たときの境界横断導関数を計算する有理式CBD生成ユ
ニットとから成ることを特徴としたものである。 以下、
本発明の実施例に基づいて説明する。
【0012】
【0013】
【0014】
【実施例】図1は、本発明による自由曲面生成方法の一
実施例を説明するためのフローチャートで、一般境界G
regoryパッチ(以下GBGパッチと呼ぶ)の生成過程を
示すフローチャートである。なお、本発明の方法を実施
するに際しては、次のの2つの方法が用いられる。 曲線メッシュをGregory パッチまたは有理境界Greg
ory パッチで内挿する方法。 Gregory パッチや有理境界Gregory パッチの境界で
面を連続に接続する方法。 以下、各ステップに従って順に説明する。step1 :まず、面を構成するすべての境界曲線での境界
横断導関数を計算し、記憶装置に蓄える。step2 :前記 step1で計算した境界横断導関数がすべ
て多項式関数かどうかを判定し、ひとつでも有理関数が
存在するならば、次のstep3へ進み、すべて多項式関数
ならば、次のstep4へ進む。step3 :次に、境界横断導関数から有理曲面の制御点を
生成する。step4 :次に、境界横断導関数から多項式曲面の制御点
を生成する。
【0015】図2は、境界横断導関数の計算過程を示す
フローチャートである。以下、各ステップに従って順に
説明する。step11 :まず、境界曲線の制御点と重みを記憶装置に蓄
える。step12 :次に、境界曲線の端点につながっている曲線の
うちで、隣接する面を構成している曲線の制御点と重み
を記憶装置に蓄える。step13 :次に、境界曲線の両端点におけるG1連続性を
調べ、結果を記憶装置に蓄える。step14 :次に、境界曲線が有理曲線かどうかを判定し、
有理曲線ならば、次のstep18に進む。
【0016】step15:次に、境界曲線が、多項式曲線か
どうかを判定し、多項式曲線ならば、step17へ進み、複
合曲線ならば、次のstep16に進む。step16 :前記step11で蓄えられた曲線の制御点と重みを
使って端点での微分ベクトルを計算し、仮想的な多項式
曲線を生成する。その結果を記憶装置に蓄える。 step17 :前記step11及びstep12で蓄えられた曲線の制御
点または前記 step16で生成した曲線と、前記step13で
判定した連続性条件から、境界横断導関数を計算する。step18 :前記step11及びstep12で蓄えられた曲線の制御
点と重みと、前記 step13で判定した連続性条件から、
境界横断導関数を計算する。
【0017】以下、処理の詳細について説明する。な
お、以下の説明において記号化された表現は、表1に示
すとおりの関係を有するものとする。
【0018】
【表1】
【0019】一般境界Gregory パッチ 一般境界Gregory パッチS(u,v)は、4本の境界曲線C
i(i=0,…,3)と各境界での
【0020】
【数4】
【0021】によって次式のように定義される。
【0022】
【数5】
【0023】以降では、Su=∂S/∂u,Sv=∂S
/∂vとする。S〔a〕(u,v)は、向かい合う2本
の境界曲線C3,C1とこれらのCBDであるS〔a,
u〕(0,v),S〔a,u〕(1,v)によって3次
ブレンディングした曲面である。同時に、S〔b〕
(u,v)は、向かい合う2本の境界曲線C0,C2とこ
れらのCBDであるS〔b,v〕(u,0),S〔b,
v〕(u,1)によって3次ブレンディングした曲面で
ある。S〔c〕は、S〔a〕,S〔b〕を加えることに
よって生じる重複した部分を表す曲面で、双3次パッチ
として表現される(図3)。このことから、曲面S
〔a〕(u,v),S〔b〕(u,v)は、それぞれ以
下のような式で表すことができる。
【0024】
【数6】
【0025】P〔a〕,P〔b〕は、CBDが多項式か
有理式かで2通りの表現が可能である。境界曲線が複合
曲線またはBezier 曲線ならば、CBDを多項式として
表現し、有理Bezier 曲線ならばCBDを有理式として
表現することによって、一般境界Gregory パッチ間、
一般境界Gregory パッチとGregory パッチ、一般境界
Gregory パッチと有理境界Gregory パッチを慣らかに
接続することができる。接続の詳細に関しては後述す
る。図3からも分かるように、曲面S〔c〕とP
〔a〕,P〔b〕には依存関係がある。つまり、S
〔c,u〕は曲面S〔b〕をu方向に微分したもので、
S〔c,v〕は曲面S〔a〕をv方向に微分したものと
なる。したがって、P〔a〕,P〔b〕が共に多項式で
表されるならば、S〔c〕も多項式となる。P〔a〕ま
たはP〔b〕が有理式で表されるならば、S〔c〕も有
理式となる。また、S〔c,u〕,S〔c,v〕は2枚
の曲面から制約を受けているので、S〔c〕のCBD
は、u,vパラメタで独立に定義できなければならな
い。したがって、S〔c〕にはGregory パッチまたは
有理境界Gregory パッチの表現式が適していることが
わかる。S〔c〕をGregory パッチまたは有理境界Gr
egory パッチで表現することによって、S〔a,u〕と
S〔a,v〕は、S〔c〕の制御点から計算することが
できる。以上のことからP〔a〕,P〔b〕,S〔c〕
は次式のように表現できる。
【0026】
【数7】
【0027】このことから分かるように、CBD関数は
u,vパラメタで独立に定義できる。したがって、一般
境界Gregory パッチはGregory パッチと同様に不規則
な曲線メッシュをなめらかに内挿することができる。し
かも、CBDは境界曲線に依存しないことがわかる。曲
面S〔c〕は、S〔a〕とS〔b〕を加えることによっ
て生じた重複部分を表す曲面面で次式のように表現され
る。
【0028】
【数8】
【0029】式(4)はGregory パッチの表現式と同
じであるが、内部制御点P〔d,ij〕(ij=11,1
2,21,22)の評価式がGregory パッチと異なっ
ている。以上のことから、CBDが多項式の場合には、
一般境界Gregory パッチは4本の境界曲線とGregory
パッチの表現式で表されることが分かる。
【0030】
【数9】
【0031】ただし、P〔d〕,W〔d〕は、S〔c〕
の制御点とその重みで図5のように配置されているとす
る。式(2)と式(3)を微分すると次式が得られる。
【0032】
【数10】
【0033】このことから分かるように、CBD関数は
u,vパラメタで独立に定義できる。したがって、一般
境界Gregory パッチは有理境界Gregory パッチと同様
に不規則な曲線メッシュをなめらかに内挿することがで
きる。しかも、CBDは境界曲線に依存しないことがわ
かる。曲面S〔c〕は、S〔a〕S〔b〕を加えること
によって生じた重複部分を表す曲面で次式のように表現
される。
【0034】
【数11】
【0035】式(5)は有理境界Gregory パッチと同
じ表現式であるが、制御点P〔d,ij〕の評価式が有理
境界Gregory パッチと異なっている。以上のことか
ら、CBDが有理式の場合には、一般境界Gregory パ
ッチは4本の境界曲線と有理境界Gregory パッチの表
現式で表されることが分かる。このように、一般境界G
regory パッチはS〔c〕(u,v)が多項式かまたは
有理式かに依存して2種類の定義が可能である。また、
S〔c〕(u,v)の次数を上げることによって、境界
を3次以上のブレンディング関数とすることも可能であ
る。
【0036】一般境界Gregory パッチの特徴として以
下〜のものが挙げられる。 境界曲線とCBDを独立に定義できる。これによっ
て、境界曲線のタイプに依存しない曲面式の表現とな
り、例えば、NURBS曲線のような複合曲線を扱うこ
とができる。また、位相的に4角形な領域は1枚の一般
境界Gregory パッチで表現できるので、曲面の歪みが
発生しない。 曲面の重複部分S〔c〕(u,v)を表す多項式に、
任意の多項式をあてはめることができる。本発明では、
Gregory パッチまたは有理境界Gregory パッチをあて
はめている。これによって、不規則な曲線メッシュを滑
らかに内挿することができる。
【0037】4本の境界曲線が3次のBezier 曲線で
表され、S〔c〕がGregory パッチの場合には、一般
境界Gregory パッチとGregory パッチは一致する。同
様に、4本の境界曲線が3次の有理Bezier 曲線で表さ
れ、S〔c〕が有理境界Gregory パッチの場合には、
一般境界Gregory パッチと有理境界Gregory パッチは
一致する。 S〔c〕をGregory パッチまたは有理境界Gregory
パッチの式をあてはめることによって、一般境界Grego
ry パッチとGregory パッチ、有理境界Gregoryパッチ
は滑らかに接続することができる。 一般境界Gregory パッチは、1つの多項式として表
現できるので、曲面の内部はC〔n〕連続となる。
【0038】一般境界Gregory パッチ間の接続 Gregory と一般境界Gregory パッチ、有理境界Grego
ry パッチと一般境界Gregory パッチ、一般境界Grego
ry パッチ間の接続方法について説明する。2枚の曲面
間をG1連続に接続するためには、式(6)を満たす内
部制御点を得る必要がある。
【0039】
【数12】
【0040】k(v),h(v)は任意のスカラー関数とす
る。ここでは次に示すような1次の関数とする。 k(v)=(1−v)k0+vk1 h(v)=(1−v)h0+vh1 ただし、k0,k1は正の実数で、h0,h1は任意の実数
とする。一般境界Gregory パッチとGregory パッチ、
有理境界Gregory パッチ、一般境界Gregory パッチを
この式を満たすように接続する場合、共有する境界曲線
のタイプによって、3種類の方法が考えられる。我々
は、境界曲線のタイプを以下の3種類に分類し、接続方
法を分けることによって、なめらかな曲面を生成した。
【0041】Case1;境界曲線がBezier 曲線である
場合:この場合には、Gregory パッチによる内挿アル
ゴリズムで内部制御点を計算する。 Case2;境界曲線が有理Bezier 曲線である場合:こ
の場合には、有理境界Gregory パッチによる内挿アル
ゴリズムで内部制御点を計算できる。 Case3;境界曲線が複合曲線の場合:複合曲線の端点
における微分ベクトルから、仮想的な曲線を求め、Gre
goryパッチの内挿アルゴリズムで内部制御点を計算でき
る。この場合の詳細については、以下で説明する。
【0042】図6は、2枚の一般境界Gregory パッチ
1とS2を滑らかに接続する様子を表している。共有境
界曲線は、4本の曲線要素を持つ複合曲線とする。ここ
で、式(6)のh(v)の項について考えてみると、h
(v)の項は境界曲線の微分ベクトルを表し、この場合、
区分多項式で表現される。一般境界Gregory パッチで
は境界曲線と境界曲線での微分ベクトルを独立に定義し
ているため、境界におけるu,vの微分ベクトル関数を
S〔c〕で表現できなければならない。ここでは、S
〔c〕がGregory パッチまたは有理境界Gregory パッ
チを仮定しているため、区分多項式を表現できない。し
たがって、h(v)=0と仮定する。このことから、式
(6)は、次式のように書き直すことができる。
【0043】
【数13】
【0044】k(v)=(1−v)k0+vk1 ただし、k0,k1は正の実数とする。式(8)から分か
るように、2枚の一般境界Gregory パッチ間の接続で
は、CBDのみが必要である。したがって、曲面S
〔c〕の制御点を決定すればよいことになる。図6にお
いて、境界曲線の端点V0,V1につながる曲線の接ベク
トルの1/3の大きさのベクトルをそれぞれ、a0,a3,
0,b3,c0,c2とする。ベクトルb0,b3,c0,c2と境
界曲線の端点から、S〔c〕の制御点P〔d,00〕,
P〔d,01〕,P〔d,02〕,P〔d,03〕,P
〔d,10〕,P〔d,13〕が決定できる。ここで、
【0045】
【数14】
【0046】である。また、a0′,a2′,a1′は、
0′=(a0+b0)/|a0+b0|,a2′=(a3
3)/|a3+b3|,a1′=(a0′+a1′)/2で示
すように、基礎パッチ法によってa0,a3から計算する
ことができる。したがって、未知数は、k0,k1,P
〔d,111〕,P〔d,121〕となる。k0,k1は、境界
曲線の端点V0,V1におけるベクトルの関係から求める
ことができ、P〔d,111〕とP〔d,121〕は、次式か
ら計算できる。
【0047】
【数15】
【0048】これは、Gregory パッチ間の接続問題に
対して、h(v)=0とした式と同じである。以上のこと
から、一般境界Gregory パッチ間の接続はGregory パ
ッチ間の接続問題に置き換えることができることがわか
る。
【0049】一般境界Gregory パッチによる曲線メッ
シュの内挿 ここでは、Bezier 曲線、有理Bezier 曲線、複合曲線
を含んだ曲線メッシュを内挿する方法について説明す
る。 1.CBDの定義 なめらかな曲面を生成するためには、境界曲線の種類に
よって2種類の接続のアルゴリズムを使い分ける必要が
ある。境界曲線がBezier 曲線または複合曲線の場合に
は、Gregory パッチによる接続アルゴリズムを有理Be
zier 曲線の場合には有理境界Gregory パッチによる接
続アルゴリズムをそれぞれ用いる。このとき、有理境界
Gregory パッチによる接続アルゴリズムを用いたなら
ば、一般境界Gregory パッチの曲面S〔c〕は、有理
式になる。境界曲線からCBDを定義する過程は、以下
のようになる。図7は、稜線Ei(i=0,…,3)で
囲まれた面F1を表している。面を内挿する場合、まず
各稜線を横切る微分ベクトル関数(CBD)を定義す
る。CBDg0(t)は、稜線E1とE3から定義できる。
このとき、稜線E0の端点につながる稜線E0,E1,E5
と稜線E0,E3,E4の端点での接ベクトルが式(6)
を満たすときには、これらの稜線からCBDg0(t)を
定義する。このことは、境界稜線E0において、2枚の
面F1,F2がG1連続に接続されるときには、CBDg0
(t)=−g4(t)の関係があることを示している。その
他のCBDgi(t)(i=1,…,3)も同様の方法で定
義できる。
【0050】2.内部制御点の決定 境界曲線のタイプに依存したCBDから、Gregory パ
ッチまたは有理境界Gregory パッチの接続アルゴリズ
ムによって内部制御点を決定する。 3.曲面S〔c〕の設定 内挿される面のすべての境界でのCBDのタイプを調
べ、1つでも有理式が存在したならば、S〔c〕は有理
式とする。有理式となるCBDが1つも存在していない
ときには、S〔c〕は多項式とする。S〔c〕のタイプ
が決定したならば、各CBDから求めた内部制御点をS
〔c〕に設定する。CBDの数が4のときには処理を終
了する。
【0051】4.非4辺形面の分割 CBDの数が4でないときには、位相的にも4辺形では
ないので、面を分割する。分割するためのアルゴリズム
は、以下のようになる。面F2のような非四辺形面の場
合には、各境界でのCBDgi(t)を用いて、その面を
幾つかの4角形面に分割する。その後で分割した各面に
対して、一般境界Gregory パッチを生成する(図
9)。内部曲線の生成手順は、以下に示すとおりである
(図8)。 (a)境界曲線Ci(t0)(i=0,…,2)と境界にお
けるCBDgi(t0)から、内部曲線の端点Pを求める。
0は、0.5とする。 (b)PとCi(t0),gi(t0)から2次のBezier 曲線
を生成する。 (c)2次のBezier 曲線を3次に次数上げすることに
よって、内部曲線が生成される。
【0052】5.制御点の設定 内部曲線によって分割された領域内に内部制御点を生成
する。手順は、前記1から3までと同じである。以上の
ような過程で、曲線メッシュを一般境界Gregory パッ
チで内挿することができる。
【0053】一般境界Gregory パッチを使った曲面設
計例 一般境界Gregory パッチを使った曲線メッシュの内挿
例を示す。図10は、曲線メッシュをGregory パッチ
で内挿したときの、等高線を示している。これに対し
て、図11では、内部の境界曲線を除去し、境界曲線を
NURBS曲線で表した曲線メッシュを一般境界Grego
ry パッチで内挿したときの等高線を示している。これ
らの図から、一般境界Gregory パッチを使うことによ
って、少ない境界曲線で曲面を表現できることが分か
る。また、図12では、内挿した一般境界Gregory パ
ッチの制御点を示している。
【0054】図13は、一般境界Gregory パッチ、Gr
egory パッチ、有理境界Gregoryパッチ間を接続した曲
線メッシュを表している。稜線E1は2次の有理Bezier
曲線、E2はNURBS曲線、E3,E4はBezier 曲線
である。このことから、面F1はS〔c〕が有理式の一
般境界Gregory パッチ、面F2はS〔c〕が多項式の一
般境界Gregory パッチ、面F3はGregory パッチ、面
4は有理境界Gregory パッチでそれぞれ内挿される。
図13では、これらのパッチの制御点を表示した。図1
4では、各パッチ間の境界上での法線ベクトルを表示し
ている。共有境界曲線上での法線ベクトルは一致してい
ることから、これらのパッチは滑らかに接続されている
ことがわかる。また、図15では、等高線を表示してい
る。
【0055】図17は、図16で示した曲線メッシュを
Gregory パッチで内挿したときの等高線を示してい
る。また、図18と図19は、図16で示した曲線メッ
シュを一般境界Gregory パッチで内挿したときの制御
点と等高線をそれぞれ示している。Gregory パッチで
内挿したときには、面に歪みが生じているが、一般境界
Gregory パッチで内挿することによって、この歪みは
解消されていることがわかる。
【0056】図20は、本発明による自由曲面生成装置
の一実施例を説明するためのブロック図で、図中、1は
CBD(Cross Boundary Derivative)計算ユニット、
2は3D(3次元)境界曲線記憶ユニット、3はG1
続性判定ユニット、4は曲線タイプ判定ユニット、5は
仮想曲線生成ユニット、6は多項式CBD生成ユニッ
ト、7は有理式CBD生成ユニット、8は有理式・非有
理式判定ユニット、9は多項式曲面生成ユニット、10
は有理曲面生成ユニットである。なお、図中のstep1〜
4は、図1におけるstep1〜4に相当し、また、step11
〜18は、図2におけるstep11〜18に相当している。
【0057】3次元形状データ(3D shape data)が
CBD計算ユニット1に入力されると、3次元境界曲線
記憶ユニットにおいて、境界曲線の制御点と重み、境界
曲線につながる曲線の制御点と重みが記憶され、G1
続性判定ユニット3において、境界曲線の端点における
1連続性を調べる。また、曲線タイプ判定ユニット4
において、有理曲線かどうか、かつ多項式曲線かどうか
を調べる。仮想曲線生成ユニット5は、前記曲線タイプ
判定ユニット4により有理曲線とも多項式曲線とも判断
されなければ、境界の端点での微分ベクトルから仮想的
な多項式曲線を生成する。多項式CBD生成ユニット6
は、前記曲線タイプ判定ユニット4により、多項式曲線
と判定されれば、前記仮想曲線生成ユニット5で生成さ
れた仮想的な多項式曲線に基づき、多項式曲線を境界と
したときの境界横断導関数を計算する。有理CBD生成
ユニット7は、前記曲線タイプ判定ユニット4により有
理曲線と判定されれば、有理曲線を境界としたときの境
界横断導関数を計算する。
【0058】このように、CBD計算ユニット1におい
て、多項式曲線を境界としたときの境界横断導関数、あ
るいは有理曲線を境界としたときの境界横断導関数が計
算されると、有理式・非有理式判定ユニット8におい
て、多項式関数かどうかが判断され、多項式関数であれ
ば、多項式曲線面生成ユニット9において、境界横断導
関数から多項式曲面の制御点を生成する。また、多項式
関数でなければ、有理曲面生成ユニット10において、
境界横断導関数から有理曲面の制御点を生成する。この
ように、自由曲面生成(Free-form Surface)が行われ
る。
【0059】
【発明の効果】以上の説明から明らかなように、本発明
によると、以下のような効果がある。すなわち、複合曲
線を含んだ不規則な曲線メッシュを滑らかに内挿するた
めの曲面表現を提案し、その有効性を確認した。この曲
面表現は、Gregory パッチ、有理境界Gregory パッ
チ、一般Coons パッチの特徴を継承したもので、一般
境界Gregory パッチと呼ばれる。一般境界Gregory パ
ッチで曲線メッシュを内挿したときの利点としては以下
のことが挙げられる。 複合曲線を扱えるので、シンプルな曲線メッシュで複
雑な曲面形状を扱うことができる。 位相的に4角形ならば、1枚のパッチで内挿できるの
で、内部曲線を生成しない。したがって、内部曲線によ
る曲面の歪みがない形状が生成できる。 曲面の内部はC〔n〕連続となる。 境界曲線とCBDを独立に定義でき、境界曲線のタイ
プに依存しない。 オフセット曲面の境界や、曲面間の干渉計算によって
生成される曲線に対応できる。 隣接するGregory パッチ、有理境界Gregory パッ
チ、一般境界Gregory パッチとなめらかに接続でき
る。 制御点をベースにしているので、一般Coons パッチ
よりも直感的に形状変形できる。 一般境界Gregory パッチを用いることで、なるべくシ
ンプルな曲線メッシュでこれまでより複雑な自由曲面形
状を設計でき、Gregory パッチや有理境界Gregory パ
ッチとの混在も可能である。したがって、曲面を設計す
る上で一般境界Gregory パッチは強力なツールとなる
ことが分かった。
【図面の簡単な説明】
【図1】 本発明による自由曲面生成方法の一実施例を
説明するためのフローチャートでGBGパッチの生成過
程を示すフローチャートである。
【図2】 本発明における境界横断導関数の計算過依程
を示すフローチャートである。
【図3】 本発明による一般境界Gregory パッチを示
す図である。
【図4】 本発明における一般境界GregoryパッチのS
〔c〕の制御点(CBDが多項式の場合)を示す図であ
る。
【図5】 本発明における一般境界GregoryパッチのS
〔c〕の制御点(CBDが有理式の場合)を示す図であ
る。
【図6】 本発明における2枚の一般境界Gregory パ
ッチ間の接続を示す図である。
【図7】 本発明における境界横断導関数の設定方法を
示す図である。
【図8】 本発明における非4辺形面の内挿過程を示す
図である。
【図9】 本発明における不規則な曲線メッシュの内挿
を示す図である。
【図10】 本発明におけるGregory パッチによる曲
線メッシュの内挿例を示す図である。
【図11】 本発明における一般境界Gregory パッチ
による曲線メッシュの内挿例を示す図である。
【図12】 本発明における一般境界Gregory パッチ
の制御点を示す図である。
【図13】 本発明における一般境界Gregory パッチ
間の接続例を示す図である。
【図14】 本発明における一般境界Gregory パッチ
の法線ベクトル表示を示す図である。
【図15】 本発明における一般境界Gregory パッチ
の等高線表示を示す図である。
【図16】 本発明における複合曲線を含んだ不規則な
曲線メッシュの内挿を示す図である。
【図17】 Gregory パッチによる内挿での等高線を
示す図である。
【図18】 本発明における一般境界Gregory パッチ
による内挿での制御点を示す図である。
【図19】 本発明における一般境界Gregory パッチ
による内挿での等高線を示す図である。
【図20】 本発明による自由曲面生成装置の一実施例
を説明するためのブロック図である。
【符号の説明】
1…CBD(Cross Boundary Derivative)計算ユニッ
ト、2…3D(3次元)境界曲線記憶ユニット、3…G
1連続性判定ユニット、4…曲線タイプ判定ユニット、
5…仮想曲線生成ユニット、6…多項式CBD生成ユニ
ット、7…有理式CBD生成ユニット、8…有理式・非
有理式判定ユニット、9…多項式曲面生成ユニット、1
0…有理曲面生成ユニット。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 622 G06T 17/40 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 隣接する面を構成するすべての複合曲線
    での境界横断導関数を計算して記録装置に記憶し、計算
    された境界横断導関数が多項式関数かどうかを判定し、
    多項式関数と判定されると、前記境界横断導関数から多
    項式曲面の制御点を生成し、多項式関数でないと判定さ
    れると、前記境界横断導関数から有理曲面の制御点を生
    成することを特徴とする自由曲面生成方法。
  2. 【請求項2】 前記生成する制御点は、すべての境界曲
    線の内部制御点を生成し、該内部制御点を組み合わせる
    とを特徴とする請求項1記載の自由曲面生成方法。
  3. 【請求項3】 前記隣接する面はGregoryパッチである
    ことを特徴とする請求項1または2記載の自由曲面生成
    方法。
  4. 【請求項4】 前記隣接する面は有理境界Gregoryパッ
    であることを特徴とする請求項1または2記載の自由
    曲面生成方法。
  5. 【請求項5】 3次元形状データに対し、面を構成する
    2本以上からなるすべての境界曲線での境界横断導関数
    を計算して記憶するCBD計算ユニットと、該CBD計
    算ユニットで計算された境界横断導関数が多項式関数か
    どうかを判定する有理式・非有理式判定ユニットと、該
    有理式・非有理式判定ユニットにより多項式関数と判定
    されると、前記境界横断導関数から多項式曲面の制御点
    を生成する多項式曲面生成ユニットと、前記有理式・非
    有理式判定ユニットにより多項式関数でないと判定され
    ると、前記境界横断導関数から有理曲面の制御点を生成
    する有理曲面生成ユニットとを有することを特徴とする
    自由曲面生成装置。
  6. 【請求項6】 前記CBD計算ユニットは、境界曲線の
    制御点と重み、境界曲線につながる曲線の制御点と重み
    を記憶する3次元境界曲線記憶ユニットと、境界曲線の
    端点におけるG1連続性を判定するG1連続性判定ユニッ
    トと、有理曲線か多項式曲線かを判定する曲線タイプ判
    定ユニットと、有理曲線とも多項式曲線とも判定されな
    い場合に、境界の端点での微分ベクトルから仮想的な多
    項式曲線を生成する仮想曲線生成ユニットと、多項式曲
    線の場合に、多項式曲線を境界としたときの境界横断導
    関数を計算する多項式CBD生成ユニットと、有理曲線
    の場合に、有理曲線を境界としたときの境界横断導関数
    を計算する有理式CBD生成ユニットとから成ることを
    特徴とする請求項記載の自由曲面生成装置。
JP10868394A 1993-05-28 1994-05-23 自由曲面生成方法及びその装置 Expired - Lifetime JP3148792B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10868394A JP3148792B2 (ja) 1993-05-28 1994-05-23 自由曲面生成方法及びその装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15152693 1993-05-28
JP5-151526 1993-05-28
JP10868394A JP3148792B2 (ja) 1993-05-28 1994-05-23 自由曲面生成方法及びその装置

Publications (2)

Publication Number Publication Date
JPH0798773A JPH0798773A (ja) 1995-04-11
JP3148792B2 true JP3148792B2 (ja) 2001-03-26

Family

ID=26448514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10868394A Expired - Lifetime JP3148792B2 (ja) 1993-05-28 1994-05-23 自由曲面生成方法及びその装置

Country Status (1)

Country Link
JP (1) JP3148792B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3195498B2 (ja) * 1994-09-13 2001-08-06 キャダムシステム株式会社 三次元形状作成方法及びその装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
鳥谷浩志ほか編著 共立出版株式会社発行 3次元CADの基礎と応用 76−89頁「5.10 パッチ間の接続」及び「5.11パッチの内挿」

Also Published As

Publication number Publication date
JPH0798773A (ja) 1995-04-11

Similar Documents

Publication Publication Date Title
US5619625A (en) Method for interpolating smooth free-form surfaces into curve mesh including composite curves
JP4832990B2 (ja) パラメータ化された曲面のアイソトポロジックな集合をメッシュから生成する方法
JP4832991B2 (ja) 所要の幾何的連続を有するパラメトリック曲面を生成するプロセス
JP4991424B2 (ja) 特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法
US7952575B2 (en) Computer-implemented process and system for creating a parametric surface
US20150206342A1 (en) Methods and Systems for Generating Continuous Surfaces from Polygonal Data
JP2015001789A (ja) 曲面生成装置、曲面生成プログラム及び曲面生成方法
US6731280B1 (en) Method and device for designing surfaces with a free form
JP3148792B2 (ja) 自由曲面生成方法及びその装置
JP6495728B2 (ja) 形状変形装置および形状変形用プログラム
JP6449703B2 (ja) 形状変形装置および形状変形用プログラム
JP3463843B2 (ja) 自由曲面生成装置および自由曲面生成方法
JP2875294B2 (ja) 自由曲面生成方式
JP2737127B2 (ja) 物体の表面形状データ作成方法
JP3113314B2 (ja) 自由曲面の生成方式
JPH01120675A (ja) 物体の表面形状データ作成方法
JP2638852B2 (ja) フイレツト曲面の生成方法
JP3187808B2 (ja) 物体の表面形状データ作成装置
JP4005352B2 (ja) 3次元形状処理装置および曲面内挿プログラム
JP2002328958A (ja) メッシュ生成方法、プログラム、記録媒体およびメッシュ生成システム
GB2355634A (en) Area division apparatus and method
JP2767801B2 (ja) 物体の表面形状データ作成方法
JP2600670B2 (ja) 自由曲面作成方法
JP2803975B2 (ja) 立体モデルの作成装置
JPH04279977A (ja) 自由曲面の形状制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 13

EXPY Cancellation because of completion of term