JP2003505800A - Geometric design and modeling system using control geometry - Google Patents

Geometric design and modeling system using control geometry

Info

Publication number
JP2003505800A
JP2003505800A JP2001513115A JP2001513115A JP2003505800A JP 2003505800 A JP2003505800 A JP 2003505800A JP 2001513115 A JP2001513115 A JP 2001513115A JP 2001513115 A JP2001513115 A JP 2001513115A JP 2003505800 A JP2003505800 A JP 2003505800A
Authority
JP
Japan
Prior art keywords
contour
curve
geometric object
geometric
points
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.)
Pending
Application number
JP2001513115A
Other languages
Japanese (ja)
Inventor
リー,ジョン,エヌ.
ロツクウツド,エイリン
ヘイゲン,ランス
ヘイゲン,スコツト
Original Assignee
カーヴエンタ ソフトワークス,エルエルシー
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 カーヴエンタ ソフトワークス,エルエルシー filed Critical カーヴエンタ ソフトワークス,エルエルシー
Publication of JP2003505800A publication Critical patent/JP2003505800A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Geometry (AREA)
  • Algebra (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 表面等の幾何学的対象(30,34)を設計するためのコンピュータ援用設計(CAD)用の方法およびシステムである。本発明では、初期の複数の幾何学的対象(62)の間で補間および/または融合(B1(u,v)、B2(u,v))を行う。融合は充分に高速であって、変形データを入力しながら、このような融合対象がリアルタイムで変形される。したがって、本発明を用いて設計を行う利用者は、修正を入力すれば、上述の変形を実行する命令を別々に入力しなくとも、直ちにフィードバックが得られる。幾何学的対象(30,34)の間で融合を行うための新たなコンピュータ技法が使用される;これは、幾何学的対象上の点の加重和を用いて、新たな融合された幾何学的対象(62a,604)を導くものである。本発明は、たとえば、瓶、車両、船舶の設計などの様々な設計分野に応用できると共に、顔の表現などの動画対象の表面を繰返し修正する動画用途にも効率的に利用できる。 SUMMARY A method and system for computer aided design (CAD) for designing geometric objects (30, 34) such as surfaces. In the present invention, interpolation and / or fusion (B1 (u, v), B2 (u, v)) are performed between the initial geometric objects (62). The fusion is fast enough that such a fusion target is transformed in real time while the transformation data is being input. Therefore, a user who designs using the present invention can immediately obtain feedback by inputting a correction without having to separately input commands for executing the above-described deformation. A new computer technique is used to perform the fusion between geometric objects (30, 34); this uses a weighted sum of the points on the geometric objects to create The target object (62a, 604) is derived. INDUSTRIAL APPLICABILITY The present invention can be applied to various design fields such as design of bottles, vehicles, ships, and the like, and can also be efficiently used for moving image applications that repeatedly correct the surface of a moving object such as a facial expression.

Description

【発明の詳細な説明】 【0001】 【技術分野】 本発明は、コンピュータ援用設計を行うためのシステムおよび方法、より詳し
くは、幾何学的対象の間の融合を行うための効率的コンピュータ技法、に関する
。 【0002】 【背景技術】 コンピュータ援用設計(CAD:computer aided desig
n)用コンピュータシステムを利用する設計者は、幾何学的対象の自由形状(た
とえば、表面)の設計を行うに際しては、まず、この対象をして通過すべく束縛
する幾何学的対象の特徴的および/または必須な部分要素を指定することから始
めるのが普通である。次に、与えられた束縛部分要素に整合する幾何学的対象を
生成するプロセスが起動される。 【0003】 より詳しくは、このような部分要素は、点、曲線、表面、および/または、よ
り高次元の幾何学的対象、であっても良い。たとえば、表面を設計する設計者は
、意図する表面が通過すべき複数の曲線を構成して配置して良い(本明細書にお
いては、これらの曲線を「特徴直線」または「特徴曲線」と呼ぶ)。 【0004】 こうして、意図した表面が有する幾何学的特性(たとえば、微分可能性や曲率
)は、一般に、この表面上に配置された複数の曲線による束縛に従うに必要な程
度においてのみ実質的に変化するものと予期される。 【0005】 つまり、設計者は、当業者が「適正」と、通常、呼ぶような表面が生成される
ことを予期する。したがって、設計者は、このような特徴曲線を構成して配置す
る際には、通常、既に設計した表面のその他の部分要素から容易には補間できな
い部分において、意図する表面の幾何学的形状が変化するように操作を行う。 【0006】 より詳細な例を挙げれば、瓶などの容器を設計する際には、瓶の外表面を意図
する面を、(a)瓶表面の高曲率部分に配置した特性曲線や、(b)瓶のラベル
を滑らかに添付できるような形状ないし輪郭を有する等の特有の幾何学的特性を
有する部分表面、等の部分要素により、まず指定して良い。 【0007】 こうして、瓶表面の設計を意図する設計者は、当人が入力した束縛条件を満た
すと共に適正でもある瓶の設計を行う。さらに、設計者は、把手として穴を開け
ることを望んでも良く、また、瓶表面を適正な形状に保ったまま瓶表面の各部を
変形させることによって、より使いやすい形状の把手を作成しても良い。 【0008】 しかし、幾何学的対象の設計者(より一般的には、利用者)が束縛条件を入力
することにより当人の設計意図を容易かつ効率的に表現し、これにより、適正な
形状の幾何学的対象を得ることができるCADシステムは、従来、存在しなかっ
た。 【0009】 すなわち、設計者ないし利用者は、演算についての相当のオーバーヘッドに起
因する長い遅れを経験し、およびまたは設計者ないし利用者は、実際的に使用で
きるようになるまでには相当の経験を必要とするような、非直覚的な幾何学的対
象の定義方式や変形技法を使用したりすることがあった。 【0010】 たとえば、従来技術に係るCADシステムの多数においては、「制御点(コン
トロールポインツ)」と呼ばれる特定の点を指定および/または操作することに
より表面を設計および/または変形することのできる方法が提供されている。し
かし、このような方法では、多くの計算時間を必要とすると共に、直覚的でなく
、また、そのような各制御点に付随する表面を局所的に変形する以上のことは容
易には行えない。 【0011】 さらに、従来技術に係るCADシステムのいくつかにおいては、個別に指定し
た制御ベクトル(コントロールベクトル)と呼ぶべきものにより表面を定義およ
び/または変形する技法が提供されている。すなわち、これらのベクトルの方向
が、付随する表面の形状ないし輪郭を定義するために使用されても良い。 【0012】 しかし、各制御ベクトルは、通常、それぞれ対応する制御ベクトルを有してい
る表面上のその他の点とは独立して単一の点にのみ対応しているので、設計者の
意図は、このような制御ベクトルを使用する表面設計技法とはうまく対応しない
ことがある。このように、これらの技法では、せいぜい、制御ベクトルに対応す
る点の近傍の表面を局所的に変形することができるのみである。 【0013】 また、従来技術に係るこのようなCADシステムには、融合操作およびトリム
操作を精密に行うという点に関して問題がある。たとえば、共通の境界に沿って
相互に当接させようとする2つの幾何学的対象の場合には、この境界において相
互に対する充分な許容度がない。 【0014】 すなわち、これらの幾何学的対象の間に充分大きな空隙が存在して、「水密性
(ウォータータイト)」と考慮されないこともあり、この場合には、機械加工操
作や、立体のブール演算などのその他の操作において問題を生じることがある。 【0015】 したがって、CADを使用する設計者ないし利用者が、より容易、効率的、か
つ精密に、幾何学的対象を設計することが可能となる1以上の幾何学的設計技法
を備えたCADシステムを構築することが強く望まれる。また、利用者が、コン
ピュータ上の幾何学的対象を定義および/または変形する際の制御性を向上させ
、特に、コンピュータ上で設計した幾何学的対象の形状ないし輪郭を、広範囲に
渡って、より直覚的に制御することを可能にするような、幾何学的対象をグラフ
ィック表示するためのシステムおよび/またはコンピュータ技法が求められてい
る。 【0016】 <定義> 本節では、本発明の説明に用いる基本的用語の定義を行う。これらの定義は、
図15および図16にも図示されている。 【0017】 「パラメータ化幾何学的対象」Sとは、関数fの像として定義される幾何学的
対象である;ここで、fの定義域は、座標系(「パラメータ空間」と呼ぶ)内に
埋込まれた幾何学的形状内にあり、fの値域(レインジ)は、別の幾何学的空間
(「対象空間」と呼ぶ)内にある。 【0018】 典型的には、Sのような幾何学的対象の逆すなわち原像(プレイメージ)f-1 は、対象空間における自身の像より幾何学的に単純な対象である。たとえば、対
象空間における曲線170の原像は、パラメータ空間における単純な線分172
,Lであっても良い。そして、Sが対象空間における曲線を表わすとすれば、f
およびSは、表現上、同一視されることがあり、その場合には、u∈Lに対応す
る曲線S上の点はS(u)と表現される。 【0019】 同様に、対象空間における表面204(図16)の原像は、パラメータ空間に
おける単純な有界領域180であっても良い。そして、Sが表面204を表わす
とすれば、(u,v)∈f-1(S)については表面204上の点はS(u,v)と表
現される。 【0020】 「輪郭(側面)」200(図16)とは、付随する対象空間において幾何学的
モデル化対象(たとえば、表面204)が通るべき幾何学的対象(たとえば、対
象空間における曲線)である。つまり、このようなプロファイル(輪郭)200
は、幾何学的モデル化対象を生成する際に使用される。 【0021】 したがって、プロファイル(輪郭)は、アーティストや設計者が対象を幾何学
的に設計する際の共通の自然な方法となる;つまり、このような設計者が、設計
中の幾何学的対象(表面)の特徴的形状を規定する際には、特徴曲線すなわち輪
郭曲線を用いて考えて良い。 【0022】 たとえば、表面上の輪郭曲線が、結果として得られる幾何学的対象の幾何学的
形状、すなわち、その連続性、曲率、形状、境界、縮れ、等を実質的に規定して
も良い。ここで、多くの設計用途において、輪郭は、通常、連続かつ微分可能で
あることに留意されたい。 【0023】 しかし、このような制約は必須ではない。たとえば、輪郭は、これを通過する
幾何学的対象の全体的形状ないし全体的形態を与えることに加えて、この幾何学
的対象の材質感を与える。 【0024】 したがって、輪郭がフラクタルないしフラクタル類似であれば、得られた幾何
学的対象の輪郭の近傍の表面に、或る程度のフラクタル的輪郭線が付与されて良
い。なお、より高次元(≧2)の輪郭を使用することも、本発明の範囲内に含ま
れることに留意されたい。 【0025】 すなわち、輪郭は、表面または立体であっても良い。したがって、輪郭が表面
であれば、この輪郭の幾何学的特性の少なくも一部を局所的に(すなわち、輪郭
の近傍で)有する立体が得られる。 【0026】 さらに、輪郭(および/または、その一部分)は、線形表現(たとえば、超平
面表現)、楕円表現、NURBS表現、ベジェ表現、等の様々なコンピューテイ
ショナル表現であって良い。しかし、どのコンピューテイショナル表現であって
も、各輪郭を変形ないし再成形する方法(たとえば、補間)を備えていることが
望ましいことに留意されたい。 【0027】 より詳しく言えば、このような方法により得られる輪郭が、1以上の所定点を
通る(または、実質的に通る)、連続である、微分可能である、最小曲率を有す
る、等の或る種の幾何学的束縛条件を満たすことが望ましいことがある。 【0028】 さらに、このような変形方法には、輪郭を部分輪郭に分解し、その際、これら
の部分輪郭の間の共通境界(たとえば、点)を、本来の輪郭に沿って「スライド
可能」であるような機能を備えても良いことに留意されたい。 【0029】 「マーカ」208(図16)とは、このマーカの近傍の領域における輪郭20
0の形状を変化させるために移動させることのできる、輪郭上の点である。マー
カは、また、輪郭を有する幾何学的対象の形状を変形させることのできる輪郭上
の位置を指定するためにも使用される。 【0030】 「輪郭ハンドル」212(図16)は、輪郭200に正接する幾何学的対象で
ある。このような輪郭ハンドルを用いれば、マーカ208位置における輪郭の傾
斜(導関数)を変化させることにより、輪郭の形状を局所的に制御することがで
きる。あるいは、微分不可能な輪郭に関しては、輪郭ハンドルを用いて、対応す
る輪郭の全体的な方向および傾きを示すことにより輪郭の全体的形状を制御する
ことができる。 【0031】 たとえば、輪郭がフラクタル、または、その他の微分不可能な幾何学的対象、
である場合には、輪郭ハンドルにより、たとえば、この輪郭が閉じ込められるべ
き対象空間内の範囲を指定しても良い;つまり、この範囲は管状の領域であって
、輪郭がこの管状領域内に閉じ込められるものとしても良い。なお、輪郭ハンド
ルの長さを変化させることにより、輪郭ハンドル212は、輪郭200の全体(
たとえば、この輪郭上のマーカの間の直線からのずれである凸度)に影響を与え
ることに留意されたい。 【0032】 「等傾境界(アイソクリニックバウンダリー)」220とは、等傾リボン21
6上で輪郭200に対向する境界曲線である。一実施例においては、輪郭200
上の各点に対して、等傾境界200上にこれと対をなす対応点が存在するのであ
り、このような点の対は、輪郭上のその点での正接ベクトルに、通常、直交する
ベクトル224(「ピケット(Picket)」と呼ぶ)を規定する。 【0033】 より詳しくは、パラメータ化した輪郭に対して、等傾境界220は、この輪郭
200の全ての可能なパラメータ値におけるピケットの集合と捉えることもでき
る。 【0034】 「等傾リボン(アイソクリニックリボン)」(または、単に「等傾」(アイソ
クライン))とは、輪郭200における、幾何学的対象(たとえば、表面)20
4(より一般的には、幾何学的対象204)の傾斜を規定するための表面216
等の幾何学的対象である。または、等傾リボンは、輪郭200と、等傾ハンドル
218a,218b(後述)と、等傾境界220とによって規定される幾何学的
対象の表現と捉えても良い。 【0035】 換言すれば、幾何学的対象204は、その輪郭200に沿って、等傾リボン2
16と「踵を接して」いることになる。さらに換言すれば、一実施例においては
、幾何学的対象204は、等傾216において連続であると共に、輪郭200全
体に沿って連続的に微分可能でなければならない。 【0036】 別の実施例においては、「輪郭」の用語の説明に際して上述したのと同様の方
法で対象204の存在し得る幾何学的範囲を指定することにより、幾何学的対象
204が等傾216により束縛されても良い。なお、各輪郭200に対して2つ
の等傾リボン216が付随しても良いことに留意されたい。 【0037】 特に、当接する2つの表面(たとえば、2つの当接面204)の境界である輪
郭に関しては、2つの表面の各々に対して輪郭に沿った等傾リボンが存在し得る
。この場合には、右側等傾リボンおよび左側等傾リボンなどと呼ぶことができる
。 【0038】 「等傾ハンドル」228とは、マーカ208位置における等傾リボン216の
形状を制御するための幾何学的対象(たとえば、ベクトル)であって、このマー
カ位置における輪郭ハンドルと等傾ハンドルが、表面204に正接する平面を規
定しても良い。したがって、等傾ハンドルは、マーカ近傍での表面204(また
は、その他の、基礎にある幾何学的対象)の形状を決定するために使用される。 【0039】 特に、等傾ハンドル228は、利用者が操作可能なピケット224である。全
ての輪郭ハンドル212および等傾ハンドル228(たとえば、2以上の当接面
に対するもの)がマーカ208位置において平面を共有している場合には、表面
204はこのマーカ位置において滑らかであり(表面は連続的に微分可能と仮定
)、そうでない場合には、表面は、ひだや尖端を有することになる。 【0040】 ここで、マーカ位置において、或るハンドル(等傾ハンドルまたは輪郭ハンド
ル)を別のハンドルの平面から引き起こせば、輪郭200に沿って表面204に
ひだを意図的に生成することができることに留意されたい。 【0041】 2つのマーカ208の間の輪郭200の部分を「部分輪郭」232と呼ぶ。同
様に、2つの等傾ハンドル228の間の等傾リボン216の部分を「部分リボン
」240と呼ぶ。 【0042】 「部分境界」244とは、2つの等傾ハンドル228の間の境界220の部分
である。 等傾ハンドル228位置において等傾境界220に正接する導関数であるベク
トル246を、「リボンタンジェント(リボン正接)」と呼ぶ。なお、本発明に
おいては、リボン正接に対する修正も、表面204等の、基礎にある幾何学的対
象の形状を制御および/または変化させるために使用できることに留意されたい
。 【0043】 等傾ハンドル228を、表面204の曲率を指定するために一般化しても良い
。すなわち、等傾ハンドルが直線ベクトルである代りに、このハンドルが曲がっ
ても良く、これを「等傾リブ(rib)」248と呼ぶ。したがって、これらの
リブにより、共通の輪郭境界に沿って付随する等傾リボンを有する表面の間の曲
率の連続性を保存することが可能になる;これは、等傾リボンが等傾リブから構
成されているからである。 【0044】 したがって、このような表面の曲率は、対応する等傾リブの曲率と整合すると
共に、正接性も確保されることになる。 【0045】 「展開可能表面」とは、概念的に、破れや縮みなしに平らに引き出すことがで
きる、すなわち、展開可能な、表面である。これは「目盛付き表面(ルールドサ
ーフェイス)」の特別な場合である;なお、この後者の表面は、この表面上の任
意の点において定規(ルーラー)(の直線端)を沿わせることができると共に、
この定規の全体に沿って、定規を表面に接触させられるような向きを見い出すこ
とができる表面として定義される。展開可能表面においては、目盛に沿った方向
における法線(サーフェイスパーペンデイキュラー)は全て等しい。 【0046】 「ラベル表面」とは、容器などにラベルを添付するといったことが可能な、特
別な2次元の(展開可能な、または、近似的に展開可能な)表面である。ラベル
表面上には、破れや縮みなしに転写ステッカを使用することができる。この表面
に対する制約は非常にきつく、通常、等傾リボン216の幾何学的変形によって
変形することはできない。 【0047】 「トリム輪郭」は、その他の幾何学的対象(たとえば、表面)をトリムするた
めの輪郭として使用する幾何学的対象(曲線)である。トリム輪郭は単一の対応
する等傾リボン216のみを有しても良い;しかし、トリムすべき表面がラベル
表面である場合には、これは変形できないので、形状を修正するために等傾リボ
ンを使用することはできない。 【0048】 トリム輪郭(曲線)は、ラベル表面を除いた任意の表面を限定するために使用
できる。トリム輪郭に沿って1以上の別の表面と融合される表面Sは、表面Sが
トリム輪郭に覆い被さる場合には、「重ね(オーバービルト)表面」と呼ぶ。た
とえば、図12において、表面130は重ね表面であり、領域134の外側の表
面部分は、通常、トリム後には設計者に対して明示されない。 【0049】 引数Fiの「凸結合」とは、和分ΣiciFiである;ここで、ciはスカラー係
数であり、Fiについてのスカラー倍は十分定義されているものとし(Fiは、た
とえば、ベクトル、関数、または、微分演算子とする)、また、ci≧0かつΣi
ci=1とする。もしFiが、たとえば、空間内の点である場合に、これらの全て
の可能な結合の集合がFiの凸包を構成することが当業者には明らかである。 【0050】 「前進評価」とは、幾何学的対象を評価する技法の1つであり、関数f(x)
からのサンプル値の集合を生成するために、引数値xを順次増分しながらfを評
価する方法である。この種の評価方法は、通常、高速かつ効率的であるが、増分
の中間の位置における関数値は得られない。 【0051】 「陰関数(インプリシットファンクション)」とは、f(x)=0の形式に表
現される関数である。 X∈RH 。パラメータ曲線またはパラメータ表面
を陰形式に変換することを「陰形式化(インプリシタイゼイション)」と呼ぶ。
たとえば、パラメータ形式による f(t)=(sin(t),cos(t))
は、f(x,y)=x2+y2−1=0 と陰形式化されうる。どちらの形式も、
円を表している。 【0052】 ベクトルは、自身の長さで除することにより「正規化」される。したがって、
正規化されたベクトルは単位長さを有する。ベクトル関数を自身の勾配で除して
も良く、これが単位長さを近似することは、当業者には明らかである。 【0053】 pi(t)が加重関数であってΣipi(t)Fi(t)と定義される関数が与え
られれば、全てのt値に対してΣipi(t)=1ならば、piは「1の分割」を
構成すると称される。 【0054】 「G1」連続性とは、本明細書においては、パラメータにより規定された幾何
学的対象上の連続したパラメータ経路に沿った方向ベクトルが、たとえば、正接
ベクトルの大きさを考慮しないで、連続であるという幾何学的連続性の条件を指
す。 【0055】 【発明の開示】 本発明は、利用者が対象変形入力を与えた際に表面などの対象のリアルタイム
の変形が可能となる程度に充分効率的な計算の能力を有する、コンピュータによ
る幾何学的設計システムである。したがって、幾何学的対象の修正ないし変形の
ための入力を利用者が与えた後にこの入力の処理の開始を明示的に要求しなけれ
ばならない通常のCADシステムと比較すれば、本発明は、通常のCADシステ
ムからの大きな変革をもたらす。 【0056】 このような従来技術に係るCADシステムにおいては、利用者の設計に対する
フィードバックは、利用者が個別に要求する毎に得られる。これに対し、本発明
においては、更新処理を行うよう利用者が明示的に指示しなくとも、入力が受信
されると直ちにリアルタイムで更新処理が行われる。 【0057】 本発明により計算効率が向上するので、本発明の利用者は、設計中の幾何学的
対象への繰返し近似をより効率的に行うことができる。精度をそれほど必要とし
ない対象の部分に関する設計上の幾何学的特性の計算を高精度で行う必要がない
ので、利用者は迅速に設計を進めることができる。 【0058】 つまり、修正の容易さと修正の際の計算速度とにより、利用者が幾何学的対象
をより迅速に近似および/または試行することができるので、利用者が「最初か
ら正確に」行うことに留意する必要が軽減される。 【0059】 したがって、本発明は、多数の幾何学的設計対象(機械加工部品を含む)の実
質的な部分の幾何学的特性を広範囲に渡って満足の行く程度に設計できるという
点で、著しい効率上の利点を有している。 【0060】 本発明に係るCADシステムは、表面などの2つのパラメータ化幾何学的対象
の間の融合を行う新たなコンピュータ技法を提供する;これににより、新たな設
計技法が可能となる。本発明の一実施例においては、この新たな融合技法では、
たとえば、パラメータ空間としてそれぞれ単位正方形を有する2つのパラメータ
化表面S1(u,v)およびS2(u,v)の間の融合を行う。 【0061】 それぞれがuおよびvの範囲として、たとえば、(0,1)を採る(さらに、
その他の後述の性質をも満たす)ような融合関数B1(u,v)およびB2(u,
v)を表面S1およびS2がそれぞれ有するものとすれば、新たな表面Sは下式に
より規定される。 【0062】 【数1】 【0063】 ここで、得られる融合表面Sが、S1の境界上ではS1に等しくなり、S2の境
界上ではS2に等しくなるように、融合関数B1およびB2が、通常、選択される
ことに留意されたい。この条件は、S1の境界上ではB1=1かつB2=0であり
、S2の境界上ではB2=1かつB1=0であるように、B1およびB2を設定すれ
ば、満たされる。 【0064】 より一般的な実施例においては、本発明を、複数の幾何学的対象Si(ただし
、i=1,…,N)の間の融合を行うために使用することができる;ここで、各
幾何学的対象は、対応する関数fSiによりパラメータ化されており、この関数の
定義域は全てのfSiに共通のパラメータ空間PSを含んでいる。したがって、得
られる融合表面Sにおいて、PSの各点qに対応する各点S(q)は、fSi(q
)から得られる各点の加重和を用いて決定される。 【0065】 さらに、Sを各Siの部分境界Piに融合させることが望ましいので、Sを、P
Sから幾何学的対象Siを有する共通の幾何学的空間GSへの関数と解釈すれば
、S(fSi-1(Pi))⊆Piとなる。さらに、Sも、各fSi-1(Pi)において
連続となり得る。 【0066】 上式(1)は、融合表面(より一般的には、融合幾何学的対象)Sを生成する
ための様々な計算式の代表例であることに留意されたい;このような計算式のそ
の他の実施例は、「詳細な説明」の節において後述する。また、上式(1)のパ
ラメータ空間座標(u,v)を、3次元座標(u,v,w)や1次元座標uなど
の別のパラメータ空間座標の表現に置換えることにより、この計算式を一般化で
きることに留意されたい。 【0067】 さらに、融合関数B1およびB2も、そのような別のパラメータ空間に対応して
定義される。また、このような融合関数B1およびB2を、表面(より一般的には
、幾何学的対象)S1およびS2から選択された点の加重和の重みと解釈すること
ができることは重要である。さらに、この加重和の考えは様々な方法で拡張でき
る。 【0068】 たとえば、複数の幾何学的対象Si(ただし、i=1,…,N)を有する、よ
り一般的な実施例においては、対応する加重/融合関数Biは、iの各値に対し
て、次のような、式(1)の変形が得られるように定めても良い。つまり、Si
に対する共通パラメータ空間の点qに対して、 【0069】 S(q)=Σi=1N Bi(q)Si(q) 【0070】 本発明の別の観点においては、Sを生成するために使用するSi幾何学的対象
の少なくもいくつかが2より高い次元を有する態様で、融合幾何学的対象Siを
生成することも本発明の範囲内に含まれる。たとえば、S1およびS2がパラメー
タ化立体である場合には、式(1)の別の変形を用いてS1およびS2から融合さ
れた立体としてSを生成できることは、当業者には明らかである。 【0071】 したがって、表面S1のP1および表面S2のP2がSの境界ともなるようにして
SがS1およびS2の間で伸展しても良く、この場合には、Sは、式(1)と同様
にS1およびS2の点の加重和として表される。 【0072】 本発明の更に別の観点においては、式(1)(または、その変形である式(2
)、(4)、(5)、(5.2)、(5.03)等、これらは「詳細な説明」の
節において後述)の1以上のパラメータ化幾何学的対象Siが、ベジェ表現、N
URBUS表現、または、本明細書の説明において例示のために使用する等傾リ
ボン等に代る何らかの別の多変数パラメータ化コンピュータ表現、の内の1つを
有していても良い。 【0073】 さらに、当業者には明らかであるように、各Siを規定する基礎の幾何学的対
象(たとえば、Siが等傾リボンである場合には、基礎の幾何学的対象は、マー
カ、輪郭、等傾ハンドル、輪郭ハンドル、である)が、コンピュータ表現ごとに
異なって良いことは本発明の範囲内に含まれる。 【0074】 たとえば、Siのベジェ表現やNURBUS表現においては、「制御点」およ
び/またはこれから導かれた幾何学的存在を使用してSiの形状を変化させ、こ
れにより、これから導かれる結果の幾何学的対象Sの形状を変化させても良い。 【0075】 本発明の別の観点においては、1以上の等傾リボンS1,…,SN (ただし、
N≧2)から融合表面Sが生成される場合には、等傾リボンSiの幾何学的特性
を変化させることにより表面Sを変形することができる。より詳しくは、ある1
つのSiの等傾リボン境界の形状を変化させることにより点Si(u,v)が変化
し、これにより、これらの点の加重和である融合表面Sが変化する。 【0076】 特に、Sの幾何学的特性(曲率、正接ベクトル、および/または、正接平面、
等)の変化率が、等傾リボンSiの形状により決定される。より詳しくは、各等
傾ピケットに沿って実質的に線形的パラメータ化が為されているとすれば、特定
の等傾リボンにおけるこのようなピケットの相対的長さが長いほど、Sの形状は
このピケットの方向に、より強く変形される。 【0077】 さらに、これらのピケットの方向を変化させれば、Sの曲率が変化する。すな
わち、式(1)等の加重和がSをして常に表面Siと踵を接することを強制する
ので、方向の変化したピケットを有する等傾リボンSiにSが踵を接するように
Sの形状が変化する。 【0078】 したがって、(a)1以上のSiの1以上の幾何学的特性を変化させる(ここ
で、形状とは、連続性、微分可能性、曲率、高次の連続性、等の複数の幾何学的
特性を意味するものとし、この変化は、Siの形状の変化を含んで良いものとす
る)、または、(b)Siのパラメータ化を変更する、という何れかのユーザイ
ンタラクティブな技法により融合表面Sの形状を変化させることができる。 【0079】 融合表面を変形するためのこのようなユーザインタラクティブな技法を、より
高次元の幾何学的対象に対して使用しても良いことに留意されたい。たとえば、
幾何学的対象Siが表面ではなく立体である場合には、Sを決定するために使用
した1以上の立体Siの形状を変化させることにより、得られる融合立体Sを変
形することができる。 【0080】 融合幾何学的対象Sを生成するために使用した幾何学的対象Siが、Si自身が
生成され得る別の幾何学的対象を通して間接的に修正できる態様のものであって
も良いことも、本発明の範囲内に含まれる。 【0081】 たとえば、Sが、等傾リボンS1およびS2(それぞれ、対応する輪郭P1およ
びP2を有している)から融合された表面であり、このリボンS1が、P1の両端
点における輪郭ハンドル、等傾ハンドル、およびリボン正接から補間される場合
には、本発明によれば、このようなハンドルおよび/またはリボン正接を修正す
ることにより融合表面Sを修正するためのユーザインタラクティブな技法が得ら
れる。 【0082】 さらに、ユーザインターフェース技法の一例においてはハンドルのみが表示さ
れても良く、その際、このハンドルは融合表面Sに接続されているものとして表
示される。したがって、このハンドルを変化させることにより融合表面が変化す
る。なお、このようなユーザインタラクティブな技法は、利用者によるハンドル
および/またはリボン正接の変化に対してリアルタイムで応答できることに留意
されたい。 【0083】 したがって、利用者がこのような変化を入力すると、利用者の設計意図が直ち
に表示される。したがって、本発明を使用すれば、設計過程における利用者との
やりとりは、従来技術に係るCADのユーザインタラクティブ技法とは異なり、
実際に幾何学的モデルを構築する技法における状況に近くなる。 【0084】 本発明の別の観点においては、本発明において生成される幾何学的対象に対し
て、様々な幾何学的束縛条件を課すことが可能である。より詳しくは、幾何学的
対象O0の特性および/または部分幾何は、別の幾何学的対象O1内に閉じ込める
ことができ、その場合、O1を変形させると、O0の特性および/または部分幾何
もこれに対応して変形し、結果としてO0も変形する。 【0085】 たとえば、本発明によれば、対象空間内の点pを、所与の幾何学的対象O1内
またはこの上に留まるように規定(すなわち、パラメータ化)することができる
;ここでO1は、曲線、表面、容積、または立体であって良い。そして、O1を変
形すればO0も変形する。また、点pの代りに、曲線、表面、立体、等の別の幾
何学的部分対象を同様の方法で束縛しても良い。 【0086】 さらに、制御点、ハンドル(輪郭ハンドルや等傾ハンドル等の様々なハンドル
)、法線、ねじれベクトル、等の幾何学的対象O0の性質を本発明による同様の
方法で束縛しても良く、その場合、O1を変形すればO0も変形する。たとえば、
式(1)やその変形などの本発明に係る幾何学的対象補間技法を用いれば、O1
の変形に伴ってO0の束縛された性質および/または部分幾何が変形される際に
、幾何学的対象O0が実質的にリアルタイムで効率的に生成(たとえば、再補間
)できる。 【0087】 より詳しくは、本発明のこの観点においては、親である幾何学的対象に対する
幾何学的変形操作が、これに依存する子の幾何学的対象における対応する幾何学
的変化を惹起することにより、様々な幾何学的対象を階層的に結合することがで
きる。 【0088】 たとえば、大きな表面の微細目盛を表面片で表わす場合には、この微細な表面
片をその大きな表面に取り付けることにより、利用者が大きな表面の形状を制御
することで微細な表面片の形状を自動的に制御できるようにすることが有用であ
る。さらに、曲線、点、3次元変形空間、等のその他の種類の幾何学的対象に対
しても同様の階層的制御を行うことができる。 【0089】 このような階層的制御は、変形と、元の変形しない状態への復帰と、を繰り返
し行ないたい幾何学的対象の場合に必要となる永続的変形空間と共に使用されて
も良いことに留意されたい。このような制御を、1回限りの変形を繰り返し行う
ことによってリアルタイムで実現することが困難であることに留意されたい。 【0090】 したがって、本発明の階層的制御を使用すれば、このような3次元変形空間に
埋込まれた幾何学的対象、および/または、その埋込まれた幾何学的対象の制御
構造により、その3次元変形空間の変形に伴ってその幾何学的対象を変形するこ
とが可能となる。さらに、1以上のこのような変形空間が、表面や曲線などの、
より単純な幾何に依存する場合には、幾何学的対象が複雑であっても、この形状
に対する実質的な制御は、この単純な幾何の形状を操作することにより行うこと
ができる。 【0091】 本発明のこの他の特徴および利点は、「詳細な説明」の節において添付図面を
参照しながら説明する。 【0092】 【詳細な記述】 <1.序論> 図1は、半円筒表面30および表面34の間などの何らかの2つのパラメータ
化表面を補間する表面62を設計するために使用する本発明の一実施例を示す図
である。すなわち、表面62は、新たな表面補間処理により生成される;ここで
、表面62の形状に対する束縛条件は、特徴曲線54,58,60およびこれら
に付随する新たな制御幾何(たとえば、等傾リボン)により与えられる。より詳
しくは、表面62は以下の束縛条件を満たす。 【0093】 (a)特徴曲線54に沿った表面30の1以上の幾何学的特性が表面62に付
与される。 (b)特徴曲線58に沿った表面34の1以上の幾何学的特性が表面62に付
与される。 【0094】 (c)表面62は特徴曲線60を通って補間する;ここで、曲線60の範囲に
沿った表面62の正接は、等傾リボン61,63から導かれる(たとえば、これ
らに等しくなるように)。 【0095】 したがって、本発明を用いれば、設計者は、(a)注意深く構築され位置設定
された比較的少数の特徴曲線と、(b)これらの特徴曲線の範囲に沿った表面の
所望の傾斜と、を用いて(等傾リボンを介して)指定される表面を設計すること
ができる。さらに、本発明を用いれば、このように設計された表面は特徴曲線の
間を適正に補間するのみならず、凸性、凹性、および/または所定の曲率範囲な
どの、設定された束縛条件に従うことができる。 【0096】 さらに、本発明を、表面領域を設計中の対象に融合させるために使用すること
ができる。たとえば、図2は、円盤66を円筒表面30に融合させる例を示す図
である。さらに、本発明を、ボス、ディンプル、ロゴ、およびエンボスの構築や
、表面を再帰的に設計することにも、用いることができることは、本明細書の開
示から当業者には明らかであろう。 【0097】 本発明の少なくも1つの実施例は、以下の点において、従来のコンピュータ援
用設計(CAD:computer aided design)のアプローチ
と異なっている。すなわち、本発明においては、所望の幾何学的対象(たとえば
、表面)は、幾何学的および計算上、相互に無関係な複数の小片(たとえば、3
辺、4辺、5辺、等を有する有界な表面)として生成されて良く、次いで、これ
らの小片の間の境界において所定の束縛条件が満たされる態様でこれらの小片が
接合されて良い。 【0098】 したがって、所望の幾何学的対象は、これらの間の境界および/または領域の
両側で、連続性、微分可能性、および/または曲率などの束縛条件が満たされる
態様でこれらの部分対象を補間、融合、および/またはトリムする方法を用いて
、複数の無関係な幾何学的部分対象(部分表面)を接合することにより設計する
ことができる。 【0099】 これは、以下の点において、従来のCADのアプローチと本質的に異なってい
る。すなわち、従来技術に係るシステムにおいては、陰表面の4辺を有するNU
RBUS、ベジェ、エルミート、コーン(Coons)、コードン、またはブー
ルのみが共に接合されるのである。 【0100】 <2.幾何学的対象の間の融合> 本発明において本質的である幾何学的対象設計技法は、表面などの2つのパラ
メータ化幾何学的対象の間の融合、特に、そのような融合を行う方法、である。
「定義」の節で定義したように、「パラメータ化幾何学的対象」(たとえば、表
面)は、有界平面などの(単純な)座標化された幾何学的対象(パラメータ空間
)から別の(通常、より複雑な)幾何学的対象(対象空間)への写像の結果とし
て定義され得る。 【0101】 このパラメータ空間が有界平面である場合には、例として、2つの座標すなわ
ちパラメータ(u,vと記す)を用いて、パラメータ空間内の各点を一意に識別
することができる。パラメータ空間が3次元である場合には、有界平面パラメー
タ空間における各(u,v)点に対して、関数が、対象空間内の点(x,y,z
)に付随しても良い。 【0102】 慣例では、平面のパラメータ空間は、通常、単位正方形と仮定する;この場合
、u,vはどちらも0〜1の間で変化する;なお、これとは別のパラメータ空間
配置および座標範囲を用いることも本発明の範囲内に含まれる。 【0103】 本発明一実施例において、パラメータ空間としてそれぞれ単位正方形を有する
2つのパラメータ化表面S1(u,v)およびS2(u,v)の間の融合を行うた
めには、各表面S1およびS2は、それぞれ、融合関数B1(u,v)およびB2(
u,v)を付随している;各融合関数は範囲として、たとえば、(0,1)を採
る(さらに、その他の後述の性質をも満たす)。これにより、新たな表面が下式
により規定される。 【0104】 【数2】 【0105】 ここで、得られる融合表面Sが、S1の境界上ではS1に等しくなり、S2の境
界上ではS2に等しくなるように、融合関数B1およびB2が、通常、選択される
ことに留意されたい。この条件は、S1の境界上ではB1=1かつB2=0であり
、S2の境界上ではB2=1かつB1=0であるように、B1およびB2を設定すれ
ば、満たされる。 【0106】 図3において、たとえば、S1が表面30であり、S2が帯34であり、1つの
境界が表面30の鉛直線54であり、他方の境界が帯34の曲線58である場合
には、表面62aがSであり、これは、これら2つの境界の間を走ると共に、境
界においてS1およびS2に正接する。 【0107】 <2.1.融合関数> 融合関数は、様々な種類の幾何学的対象の間を融合するために準備することが
できる。たとえば、幾何学的対象を充填している2つの容積の間を融合するため
の融合関数を準備しても良い。しかし、本発明の新たな融合処理およびこれに付
随する融合関数の説明を容易(かつ明快)に行うために、本明細書における議論
を、本質的に、2つの曲線の間の融合、または、2つの表面の間の融合、に限定
する。 【0108】 したがって、共に融合させるべき2つの表面S1およびS2に対して、それぞれ
、融合関数B1(u,v)およびB2(u,v)は、本発明において生成される融
合表面の境界上で0または1となるよう適切に設定される。 【0109】 図4において、パラメータ空間における境界78a,78bが、対象空間にお
ける輪郭54,58に対応するものと仮定すると、表面62a等の融合表面上の
何れかの曲線80に対して、パラメータ空間内に規定される対応する原像(たと
えば、直線86)が存在する。なお、簡単のために、境界78a,78bおよび
曲線80の原像を直線としたが、そうでなくとも良い。 【0110】 融合関数B1(u,v)およびB2(u,v)が、単位正方形である定義域を有
するとすれば(これも、簡単のためである)、このパラメータ空間における何れ
かの点(u,v)に対して、この点(u,v)が境界曲線(たとえば、境界曲線
78a,78b)、より一般的には、輪郭曲線の原像、にどの程度「近いか」を
示す何らかの測度を決定することが重要である。このような、近さないし距離的
測度を、融合関数および/またはその結果の値を特定するために使用しても良い
。 【0111】 なお、このような、パラメータ空間におる近さないし距離的測度を計算する方
法には様々なものがあることに留意されたい。たとえば、境界78(または、輪
郭原像)が直線であれば、(u,v)点へのこのようなパラメータ化距離は、こ
の点を通ると共に境界直線に垂直な線分の長さとして容易に計算できる。パラメ
ータ化距離を計算するためのその他の技法は、本明細書で後述する(たとえば、
2.3節および2.4節)。 【0112】 パラメータ空間が、やはり、(u,v)点の2次元空間であるとすれば、融合
関数Bi(ここで、1≦i≦Nであり、Nは境界曲線数である定数)は、1変
数の距離的関数の関数Bi(Di)として計算できる;ここで、Diもまた(u
,v)の関数であり、Bi(Di)= Bi(Di(u,v))= Bi(u,v
)であり、Di(u,v)は、表面Sの境界曲線Ci(対象空間におけるもの)の
原像Ci-1までの距離的関数である。 【0113】 ここで、このような距離的関数は、(u,v)がi番めの境界曲線原像Ci-1
に(たとえば、通常のユークリッド距離で測って)限りなく近づいた時にはDi
(u,v)が限りなくゼロに近づくという条件を満たさねばならないことに留意
されたい。このような融合関数Biおよびは距離的関数Diの例は、本明細書で
後述する。 【0114】 有用な融合関数Biの多くはBi(Di)の形式であるので、特に区別する必
要のない限り、以下の本明細書においては、(a)最初に説明した融合関数Bi
(u,v)、および(b)或る距離的関数Diに対する融合関数Bi(Di)、
の両方に対して、Biを使用する。 【0115】 しかし、融合関数(a)および(b)の間の明確な区別が必要な場合には、融
合関数の定義域を記すことにより、どちらの融合関数が意図されているかを示す
ことができる。さて、式(1)は、融合関数Bi(Di)(ただし、i=1,2
)に対しても同様に成り立ち、以下のようになることに留意されたい。 【0116】 【数3】 【0117】 点(u,v)がi番めの原像境界(ただし、i=1,2)に近ければ、Bi
(Di)は小さいことが予期されると共に、この点は(対象空間内において)i
番めの境界の近くに写像される。 【0118】 融合関数Biの良性の集合は、融合表面の写像Sが所望の外周(輪郭)曲線と
一致することを可能にするのみならず、たとえば、異なる初期表面の2以上のこ
のような外周曲線の間に得られる融合表面が、これら2つの初期表面の曲率の連
続性などの特性を保存する態様で、可能にする。 【0119】 すなわち、融合表面は、初期表面の各々に「踵を接する」。また、融合関数B
iは新たな表面を適正なものにすることが望ましい。図5は、Bi(ただし、i=
1,2)として望ましい融合関数の1対を示すグラフである。 【0120】 2つの表面S1,S2の輪郭曲線P1,P2に関して、P1とP2の間に融合表面を
生成したい場合であって、輪郭P1,P2は、単位正方形{(u,v)|0≦u≦
1かつ0≦v≦1}の=0およびu=1にそれぞれ対応するパラメータ化原像を
有するものとすれば、以下のような、融合関数B1,B2に関する有用な性質が得
られる。 【0121】 (1.1) u=0においてB1=1、かつ、u=1においてB1=0。u=0
においてB2=0、かつ、u=1においてB2=1。 (1.2) Di(u,v)=0およびDi(u,v)=1(ただし、i=1,
2)である場合には、導関数B1', B2'はゼロ。これにより、融合表面Sと初
期表面S1,S2の間は滑らかに(正接連続性)推移することになる。より高次の
導関数もゼロである場合には、表面の間のより高次の連続性が実現され、適正さ
が向上する。 【0122】 (1.3) 全ての点(u,v)についてB1+B2=1。これは「1の分割」
と呼ばれ、新たな融合表面が当接する表面S1,S2の凸結合の生成を準備する。
なお、これは、新たな融合表面が初期表面S1,S2から離れ過ぎないようにする
効果がある。融合関数の定義には、様々な実施例が存在する。1つの有用な例は
以下の通りである。 【0123】 【数4】 【0124】 これは、融合関数に対して任意に高い次数の連続性を与えると共に、初期融合
表面の間の高次連続性と同じ連続性を実現するために必要である。別の例は、上
述の性質(1.1)〜(1.3)を有する多項式関数を選択することである。た
とえば、D=0およびD=1において2次導関数がゼロとなる5次多項式を選択
して、有用な曲率特性を実現することもできる(4.4節を参照)。 【0125】 上述の融合関数の他に、以下のような融合関数が例として挙げられる。 一例は、以下の束縛条件を満たす多項式B1(x)およびB2(x)である。 【0126】 【数5】 【0127】 ここで、高次導関数に関する追加の束縛条件(たとえば、x =0および/ま
たは1において0に等しい)を更に課しても良いことに留意されたい。たとえば
、Bi''(0)=Bi''(1)=0(ただし、i=1,2)の場合には、補間およ
び/または融合を行った対象にC2連続性が得られる。 【0128】 これらの束縛条件を満たす多項式融合関数の一例としては、以下のものがある
。 【0129】 【数6】 【0130】 ここで、B1(x)は、図6Dに示したように、6つの制御点P1,…,P6を
有するベジェ曲線として導かれても良いことに留意されたい。さらに、下のよう
になることに留意されたい。 【0131】 【数7】 【0132】 (c) 全単射(たとえば、1対1かつ上への写像)パラメータ化関数P:[
0.1]→[0,1]を用いた上述の融合関数の構成においては、別の融合関数
を求めるための融合関数を用いて構成しても良い。1つの具体例では、P(x)
=2c(x−x2)+x2とし、ここで、cは一定の「ねじれ」因子であるとすれ
ば、新たな融合関数はB(P(x))として求められる。 【0133】 したがって、c=1/2の場合には、P(x)=xとなる。さらに、c が変
化するに伴って、P(x)のグラフの屈曲点は、図6A〜図6Cに示したように
移動する。なお、図6Bの融合関数(ここではc>1/2)は、融合曲線(およ
び/または融合表面またはその他の幾何学的対象)をして、図6Bのグラフのx
=0軸に対応する融合に使用される対象の幾何学的特性を表面の大部分において
保持せしめることに留意されたい。 【0134】 融合関数を評価する際に生じるリアルタイムの計算オーバーヘッドを低減する
ために、一実施例においては、融合関数のための値を、設計セッションに先立っ
て充分な分解能で作表すると共に、実際の融合関数値に対して最も近い近似値が
効率的に索引検索されるべくメモリに記憶しても良い。 【0135】 <2.2.融合をN辺領域に拡張すること> 本発明の一実施例においては、パラメータ化表面Si(ただし、i=1,…,
NかつN≧2)の各縁eiにより境界づけられている領域上で融合を行うための
新たな一般的形式は、以下のような、Si(ui(p),vi(p))の加重和で
ある。 【0136】 【数8】 【0137】 ここで、 (a)pは、表面Siに対する共通パラメータ空間内の点を表す変数、 (b)Di(p)は、共通パラメータ空間におけるi番めの縁eiの原像までの
距離的測度、 (c)Bjは、Djがゼロである時にゼロであると共に、Djが増加する時に単
調増加する関数、 (d)ui,viは、pを、共通パラメータ空間からSiに対する(何らかの)
中間的パラメータ空間へと変換するパラメータ化関数である。 【0138】 なお、融合関数Bjの積の和 【0139】 【数9】 【0140】 で除することにより、式(4)は、融合関数に関して正規化されることに留意さ
れたい。また、N=2の場合には、式(4)は式(1)に類似しており、実際に
その拡張となっていることに留意されたい。すなわち、N=2の場合には、式(
4)のB1は式(1)におけるB2の機能を果たし、式(4)のB2は式(1)に
おけるB1の機能を果たす。つまり、2つの式の間では添字が入れ替わっている
。 【0141】 式(4)の一例として、図14に示した(対象空間内の)3辺領域300を考
察する。式(4)を適用して領域300に対する表面Sを生成すれば、以下の式
が得られる。 【0142】 【数10】 【0143】 ここで、パラメータ化関数であるu,v,wは、pの重心座標である;これは
当業者には明らかである。 【0144】 N辺領域(ただし、N≧4)上に融合表面を規定する別の方法は、図34のR
11,R12を、それぞれ、式(1)のS1,S2として用いて、式(1)に基づく2
辺アプローチを最初に適用して図34のS1を生成することである。さらに、図
35の表面に対して式(1)を適用する;ここで、式(1)のS1,S2は、それ
ぞれ、R11,R12に置き換え、以て、図35のS2を生成する。次いで、図34
,図35にぞれぞれ示した、結果の表面S1,S2は、式(2)を用いて融合され
る;ここで、融合関数B1,B2は、上述したようなものであると共に、これに対
応するDiも、上述したようなものである。たとえば、リボンR11,R12,R21
,R22の各々が共通の原像を有するものとすれば、縁P11,P12,P21,P22(
図34,図35)の対の原像までの距離的測度を計算する式(2)で使用するD
iは、 【0145】 (a)図34のS1に対する(共通)原像の点P1に対しては、D1(P1)=m
in(D(P1,P11),D(P1,P12))である;ここで、Dは、P1とこれ
に対応する輪郭P1iとの間のユークリッド距離、 【0146】 (b)図35のS2に対する(共通)原像の点P2に対しては、D2(P2)=m
in(D(P2,P21),D(P2,P22))である。 したがって、2つの表面S1,S2を、式(2)を用いて相互に融合することがで
き、図36の表面Sが得られる。 4辺融合片を生成するために特に有用である別の実施例においては、以下のよ
うな、輪郭およびリボンを規定するための、制約はあるが汎用性のある方式を仮
定する。 【0147】 (a)全てのハンドルは、区分的に線分であり、 (b)全ての融合は、式(3.1)の関数B1(x), B2(x)を用いて行
われる。 さらに、図37を参照しながらこの小片生成技法を説明する際には、以下の命名
方式を用いる。輪郭Pに対して、 【0148】 mL,mR:それぞれ、輪郭Pの左側マーカおよび右側マーカ、 hL,hR:それぞれ、輪郭Pの左側輪郭ハンドルおよび右側輪郭ハンドル、 sL,sR:それぞれ、輪郭Pの左側等傾ハンドルおよび右側等傾ハンドル、 【0149】 bL,bR:それぞれ、等傾境界Rの左側端点および右側端点における左側リボ
ン正接および右側リボン正接(これらのリボン正接は「境界ハンドル」とも呼ば
れる)。 【0150】 図37の記法を用いれば、SL,SRが規定できる;ここで、SLは、sL,hL
,bL,dL=(sL+bL)−hLに対応する線分により境界づけされていると共
に、SRは、sR,hR,bR,dR=(sR+bR)−hRに対応する線分により境界
づけされている。特に、SL,SRは、当該技術において、「ねじれ平坦面」と呼
ばれており、したがって、SLは左側ねじれ平坦面と呼ばれ、SRは右側ねじれ平
坦面と呼ばれる。また、これらの表面は、下式(5.01a),(5.01b)
を用いて評価することができる。 【0151】 【数11】 【0152】 ここで、パラメータu,vは、u方向矢印およびv方向矢印(図37)で示し
たように、横方向に増加する。 【0153】 【数12】 【0154】 ここでも、パラメータu,vは横方向に増加する;ここで、u方向は、図37
のu方向矢印とは逆方向である。 【0155】 したがって、等傾リボン表面S(図37)を、以下のように規定することがで
きる。 【0156】 【数13】 【0157】 ここで、簡単のために、uパラメータは、式(3.1)のB1,B2に必要な距
離測度である。したがって、v=0のとき、S(u,0)は輪郭、即ち制御ハン
ドル(hL−mL),(hR−mR)の間の融合、である。さらに、v=1のとき、
S(u,1)は、ベクトル(bL−sL),(bR−sR)の融合として導かれるリ
ボン境界であることに留意されたい。 【0158】 また、bLおよびbRが、それぞれ、sL−mLおよびsR−mRに沿ったhLおよ
びhRの並進である場合には、PはRの並進であり、このような類似性により、
本発明におけるデータ記憶の必要性を簡略化できることに留意されたい。 【0159】 各Siが式(5.02)により生成された複数の等傾リボンS1,S2,…,SH
に対して、このようなリボンは、式(4)の変形である下式で表される、より一
般的なN辺表面の形式で使用されても良い。 【0160】 【数14】 【0161】 ここで、式中のDj(s,t)およびui(s,t),vi(s,t)は、それ
ぞれ、距離測度、および、N辺小片パラメータ空間(sおよびt)からリボンS
iのパラメータ空間(uおよびv)への写像である。 N=2,3,4およびN≧5に対して融合リボンSiを用いる場合には、この
リボンに対する式(5.02)は、式(5.03)の特殊な場合であることに、
まず、留意されたい。たとえば、式(5.02)においては、分母は1であり、
距離測度はuパラメータ自身であり、u,vはそのままs,tに対応する。 2辺表面はに対する式は同様であるが、ただし、基底表面は式(5.02)に基
づいて導かれたリボンである(本明細書においては「ねじれリボン」とも呼ぶ)
;したがって、式(5.02)は次のようになる。 【0162】 【数15】 【0163】 ここで、パラメータuは距離測度である。これは、輪郭曲線の方向に沿って変
化する。また、式(5.04)においては、パラメータvが距離測度である。 図38においては、等傾リボンS1,S2は、これらの各リボン上でu方向およ
びv方向の矢印で示したようにパラメータ化されており、これらのリボンを4辺
小片を生成するために用いても良い。uにおいて変化する2つの輪郭P1,P2は
、ねじれリボンS1,S2を用いて融合される。 【0164】 他の2つの辺P3,P4は、等傾ハンドルから導かれる融合リボンである;すな
わち、P3はhR1およびhL1の(式(1)を用いた)融合である;ここで、hR1
およびhL1は、式(1)においては、S1およびS2である;同様に、P4はhR2
およびhL2の融合である。 【0165】 図38の融合表面Sは、テンソル積形式を有することに留意されたい。これは
、式(5.04)をテンソル形式に分解すれば理解できる;ここで、リボンS1
,S2の各々は、式(5.01a)および式(5.01b)から導かれる。すな
わち、S1はSL1およびSR1の融合であり(図38)、S1はSR1およびSR2の融
合であろ。したがって、分解は以下のようになる。 【0166】 【数16】 【0167】 したがって、上の最後の表式からは、最初に、vパラメータにおいてねじれリ
ボンを生成し、次いで、uにおいて融合すれば、同一の表面Sが生成できること
が判る。しかし、u,vの役割は対称的であるので、ねじれリボンは、uパラメ
ータに沿って生成し、次いで、vにおいて融合しても良い。したがって、表面S
L3およびSR3を用いれば、図39のSL4およびSR4は、図38と同様に、同一の
表面Sを与える。 【0168】 したがって、Sを導くどちらの技法においても、入力、すなわちmLi,mRi,
hLi,hRi,sLi,sRi,bLi,bRi、は同一である;ここで、iは、入力を適
用すべき輪郭Pi(i=1,2,3,4)を指定する。なお、様々な入力の間の
対応関係が図40に示してあることに留意されたい。 【0169】 したがって、全体として、式(5.04)の2辺小片は非常に汎用性の高い4
辺小片を提供する。さらに、その評価も効率的に行える。したがって、式(5.
01a)および式(5.01b)を用いて式(5.05)のSLiおよびSRiを展
開すれば、以下の表式が得られる。 【0170】 【数17】 【0171】 ここで、()および()は、式(5.01a)および式(5.0
1b)からの適切な行列である。ここで、この式の値を評価する際には、Biは
多分表から検索されるであろうことに留意されたい。 【0172】 上述の定式化は、数学的に充分なものであるが、これを幾何学的に直覚的な態
様で使用するためには、利用者側の判断も行わねばならない。つまり、縮重など
のある場合には、数学的な支援も必要となる。ありふれた例は、図41に示した
ように、2つの輪郭(プロファイル)(たとえば、P1,P2)が互いに交差する
場合である。この場合には、輪郭P3,P4(図38)が長さゼロであると共に、
端マーカを共有しているので(すなわち、mL3=mL4およびmR4=mL4)、縮重
している。 【0173】 しかし、式(5.04)は、やはり、表面Sを規定していることに留意された
い;しかし、この表面が輪郭の交点でループとなっていても良いことは容易に理
解できる。このループ化を排除しながら、マーカにおけるハンドル的制御を維持
するためには、式(5.04)のねじれリボンをuの関数によりシールしても良
い。u=1/2において1であると共にu=0において0である関数の一つは、
以下のようなものである。 【0174】 【数18】 【0175】 したがって、式(5.01)は以下のように変更される。 【0176】 【数19】 【0177】 このような関数(5.08)は、ループの大多数を除去するものと期待される
。 【0178】 リボンを両端で細くする機能は、他の用途を示唆する。以下のような縮尺関数 【0179】 【数20】 【0180】 はu=1の端においてリボンを細くし、また、 【0181】 【数21】 【0182】 はu=0の端において細くする。これが、三角(3辺)表面を作成するための効
率的な方法であることは、当業者には明らかであろう。 【0183】 <2.2.1. 2つのエッジからのボスおよび窪み> いわゆる「ボス」形状は、2つの輪郭エッジの間の融合から得られる。この輪
郭は、たとえば、それぞれ等傾リボン784a,784bを有する図24の半円
780a,780bであっても良い。リボン784a,784bは、別の平行平
面上に存在する。これらのリボンを融合させると、ボスまたは窪みと見なせる表
面786(図24)が得られる。ここで、ドーム、ロケット先端、台地(メサ)
、りんご上部、等の様々な変形例の形状が同様に生成できる。 【0184】 さらに、上側の半円リボンを回転させれば、ボスをねじることができる。この
方式は、ジョイントの場合などの、チューブの間の移行に使用できることは、当
業者には明らかであろう。 【0185】 別の実施例においては、式(1)または式(4)を用いて融合をする際のデフ
ォルトの等傾リボンとして、(対象空間における)各境界曲線の近傍を用いて融
合を行ってよいことは、当業者には明らかであろう。したがって、値ε>0を定
義し、表面を融合すべき境界に沿った各表面の帯および幅を設定することにより
、これらの帯を等傾リボンとして使用して良い。したがって、表面境界は輪郭曲
線になり、その原像を式(1)または式(4)中で用いて良い。 【0186】 <2.3.輪郭曲線> 本発明においては、少数の良好に位置決めされた様々な種類の(対象空間)輪
郭曲線を採り、これを通る対応する表面を生成して上式(1)に基づく融合表面
とする;したがって、各表面S1,S2に対して2つのパラメータ空間原像曲線が
存在して、これらの曲線は融合関数B1,B2の境界である;すなわち、各融合関
数Biに対してDi=0およびDi=1に存在する曲線である。 【0187】 図7に示したように、実際には8つの曲線が存在し得る;これは融合表面を規
定するために使用できる。すなわち、S1のパラメータ空間に2つの曲線78a
,78bが存在すると共に、S2に対するパラメータ空間に2つの追加の曲線7
8c,78dが存在しても良い(言うまでもなく、多くの場合において、これら
のパラメータ空間は同一である)。さらに、2つの表面30,34への曲線78
の写像が存在して、対応する像曲線90,54,58,91を与える;これらは
、それぞれ、原像78a,78b,78c,78dを有する。 【0188】 S1,S2が、同一のパラメータ空間を有する場合には、輪郭78bは輪郭54
の原像である。さらに、78d(=78b)のS2が輪郭58である場合には、
78bは、S1,S2および融合表面62の各々の原像に含まれる。 【0189】 本発明を表面設計に使用する場合、利用者ないし設計者は、初期表面の1つの
輪郭を連続的に引き伸ばしたり変形したりして、この初期表面と別の初期表面の
輪郭曲線との間に新たな表面を生成することにより、融合表面を設計することも
考えられる。 【0190】 本発明においては、異なる種類の輪郭曲線ないし境界曲線を用いても良いこと
に留意されたい。本発明のいくつかの実施例においては、このような輪郭曲線C
は、通常、パラメータ空間内にパラメータ原像を有して良い;すなわち、C-1(
s)=(u(s),v(s))であり、ここで、sは原像のパラメータ化である
(たとえば、0≦s≦1)。ここで、Cのようなパラメータ化曲線には、(a)
直線、放物線、円、楕円、等の円錐曲線や、ベジェ曲線、エルミート曲線、非一
様有理Bスプライン(NURBUS)曲線、(b)三角関数および指数関数形状
、(c)点などの縮重形状、といった形状を有する曲線が含まれることに留意さ
れたい。 【0191】 さらに、これらの曲線形状は、これとは独立に、開曲線、閉曲線、縮重曲線、
複合曲線、等の別の特性により分類できることに留意されたい;この点は、当業
者には明らかであろう。 【0192】 輪郭曲線には、以下の分類による曲線種類(2.3.1)〜(2.3.5)の
曲線が含まれる。 【0193】 <2.3.1.開曲線> 「開曲線」とは、両端点が互いに一致するという束縛を受けない曲線である;
たとえば、両端点が自由に位置して良い。本発明において(対象空間内に)表面
を生成するために任意の曲線(輪郭)の集合を規定する際に、通常、最も多く用
いられる種類の曲線が開曲線である;なお、この表面は、この曲線の集合を通過
すべく束縛される。 【0194】 <2.3.2.閉曲線> 曲線の両端点が一致するとき、この曲線を「閉曲線」と呼ぶ。これは、曲線の
開始点が、この曲線の終了点と同一であることを意味する。閉曲線は、たとえば
、表面の、領域を限定する;これは、特別の設計領域を分離する際に特に有用で
ある。この一例は、図2の表面66等の、容器に対するラベル表面(「定義」の
節において既述)である。すなわち、ラベル表面は、これに貼ったラベルがしわ
になったり破れたりしないように、展開可能表面と呼ばれる特別の表面種類のも
のとされるべき領域である。このような各ラベル表面は、高度に束縛されている
と共に、通常、閉曲線によって他の設計部分から分離されている(なお、そのよ
うな曲線を、容器の設計において美的目的で使用することもできる)。図8は、
円筒108に融合される楕円領域100を示す図である;ここでは、閉曲線11
0がこの領域を限定している。多くの場合、閉曲線は端点における接触を一致さ
せることができる。 【0195】 <2.3.3.縮重> 縮重輪郭を生成する方法には様々なものがある。或る技法においては、長さゼ
ロの開曲線であっても良く、または、囲む面積がゼロの閉曲線であっても良い。
このような場合に得られる結果は、隣接表面と融合し得る、点である。図9は、
縮重円盤(すなわち、S1と表示した、点)および円筒116(すなわち、S2)
の間の融合により生成された点融合を示す図である。ここでは、単純なボス11
2が円筒116上に形成されている。より詳しくは、適切な融合関数Bi(ただ
し、i=1,2)に対して、式(1)を用いてS1とS2の間の融合表面を得るこ
とができる。さらに、式(1)の代りに式(4)を用いることができるので、複
数の点(すなわち、縮重輪郭)と隣接表面との間を融合する表面を生成すること
もできる。図23および図24は、縮重輪郭に対する追加の融合を示す図である
。 【0196】 図23は、縮重輪郭(点)714と、円筒722の円形端718と、の間に延
在する融合表面710を示す図である。より詳しくは、融合表面710は、等傾
リボン726および730の融合である;ここで、等傾リボン726は、その中
心に縮重輪郭714を有する平面円盤であり、等傾リボン730は、その輪郭と
して円形端718を有する。したがって、式(1)において、S1を等傾リボン
726とし、S2を等傾リボン730とすれば、距離的測度は(それぞれの対応
するパラメータ空間において)、 【0197】 (a)等傾リボン726上においては、縮重輪郭714からの半径方向距離、 (b)等傾リボン730上においては、輪郭718からの距離、 に等しく採ることができる。 【0198】 図24は、縮重輪郭(点)754と、円形曲線760を有する平面円環758
と、の間に延在する別の融合表面750を示す図である(なお、平面円環は、曲
線760をその境界として有すると共にこの平面円環を貫通する中心孔762を
、更に備えていても良い)。 【0199】 より詳しくは、融合表面710は、等傾リボン766(縮重輪郭754に対す
るもの)および円環758(これは、たとえば、曲線760を輪郭とする表面7
70に対する等傾リボンであっても良い)の融合である。したがって、S1を等
傾リボン766とし、S2を円環758とすれば、距離的測度は(それぞれの対
応するパラメータ空間において)、 【0200】 (a)等傾リボン766上においては、縮重輪郭754からの半径方向距離、 (b)円環758上においては、曲線760からの距離、 に等しく採ることができる。 【0201】 <2.3.4.複合曲線> 本発明の新たな幾何学的設計技法は複合曲線に対しても用いることができる。
複合曲線とは、別の曲線を部分曲線として含む形式の一般的曲線である;ここで
、部分曲線は、交差しても良く、また、たとえば、端点において、ねじれていて
も良い。複合曲線を輪郭などとして使用する際には、複合曲線に対する距離的測
度の定義が重要である。図10は、2つの交差する部分曲線124,128を含
む複合曲線120を示す図である。なお、このような複合曲線においては、その
部分曲線の端点どうしで交わっていても良い。 【0202】 複合曲線Cの部分曲線Cj(ただし、j=1,2,…,N)が、パラメータ化
されていると共に共通のパラメータ空間を有するものとすれば、部分曲線Cjの
原像への距離的測度Dを決定する距離計算式(パラメータ空間におけるもの)は
、以下のようになる。 【0203】 【数22】 【0204】 ここで、k=2,…,Nである;???D1(p)???(D(p))=d1(
P)はPとC1との間の距離測度である;Dk(P)はPとCkとの間の距離測度
である。したがって、1以上の表面を複合曲線Cに融合させるための融合関数B
(D)への入力としてD(p)を使用することができる。 【0205】 <2.3.5.トリム曲線> 本発明においては、表面を「トリム」することができる;ここで、トリムとは
、表面を、特定の境界曲線(トリム曲線とも呼ぶ)の片側だけに制約ないし限定
する処理を意味する。より詳しくは、パラメータ化表面に対して、トリム曲線の
原像が、たとえば、表面の(u,v)パラメータ空間において、トリム処理後に
残される表面の原像の範囲を規定する。トリム曲線が輪郭曲線であっても良い;
所望のトリム表面は、トリムされていない元の表面の、通常、トリム曲線の一方
側にのみ存在している部分である。一例を図11に示す;ここで、トリムされて
いない元の表面は矩形部分130の全体である。角を取った表面134が、元の
表面130から曲線138に沿ってトリムした「ラベル」表面である。 【0206】 なお、トリム輪郭138は、1以上の隣接表面(たとえば、表面142)に対
して付随する等傾リボン(図示しない)を備えても良いことに留意されたい;そ
の場合には、この隣接表面が、トリム輪郭138において等傾リボンと踵を接す
る。このような隣接表面の形状を修正するために等傾を使用することは、隣接表
面からトリム表面への滑らかな移行を行う際の重要な技法である。 【0207】 本発明においては、幾何学的対象に孔を開けるためのトリム技法を備えていて
も良いことに留意されたい。幾何学的対象の前側表面にある窪みを、この対象の
後側表面を貫通して突出させ、次いで、前側表面をトリムし、後側表面の対応す
る部分を除去することにより、たとえば、容器の把手として使用することのでき
る、孔を作成することができる。 【0208】 <2.4.距離計量> 距離的測度を計算するいくつかの技法を上述した。本節においては、このよう
な技法を更に追加して説明する。パラメータ空間における点が、パラメータ空間
における1以上の特定の幾何学的対象原像(曲線)にどの程度近いか、を計算す
る効率は、本発明の幾何学的設計およびモデリングの実施例の性能に大きな影響
を与える。一般に、点および曲線の間で、パラメータ空間におけるこのような距
離的測度(これは、一般に、通常のユークリッド距離計量の単調関数である)を
計算する場合には、曲線の複雑さと、これらの測度を如何に効率的に評価できる
か、との間に折り合いが必要である。 【0209】 一般に、曲線が単純であるほど、このような距離はより迅速に決定できる。な
お、パラメータ空間曲線およびその像曲線(対象空間内)に関して、これらの曲
線が同一の種類(たとえば、多項式曲線、超越曲線、開曲線、閉曲線、その他)
である必要はないことに留意されたい。実際、パラメータ空間曲線は、非常に単
純でありながら、対象空間内の複雑な表面曲線の原像であり得る。たとえば、図
1のベジェ曲線58に対応するパラメータ空間曲線が直線であっても良い。パラ
メータ空間曲線を可能な限り単純なものに維持することにより、迅速な距離計算
が可能となる。 【0210】 <2.4.1.融合のためのパラメータ距離計算> 本節においては、パラメータ空間曲線のいくつかの候補までの距離的測度(よ
り一般的には、通常のユークリッド距離計量の単調関数)を計算するための様々
な方法を説明する;なお、これらの方法を、概ね、計算の複雑さが増加する順に
挙げる。 【0211】 融合表面を、それぞれ等傾リボンを有する2つの輪郭曲線P1,P2の間に生成
すべきものとする;ここで、各リボンはパラメータ化されており、リボンに対す
る共通のパラメータ空間として、たとえば、単位正方形平面[0,1]×[0,
1]を、有するものとする。融合のために使用できる距離的関数の1つは、共通
のパラメータ空間における座標対(u,v)により表現される点の一方または他
方の座標のみに依存する関数である。すなわち、等傾リボンの輪郭曲線P1,P2
が、その原像が鉛直線u=k1およびu=k2(ただし、0≦k1≦k2≦1)であ
るようなものである場合には、これに対応する距離的関数を、D1(u,v)=
(u−k2)/(k1−k2)およびD2(u,v)=(u−k1)/(k2−k1)
とすることができる。さらに、原像が、パラメータ空間境界の鉛直線u=0およ
びu=1(すなわち、k1=0およびk2=1)である場合には、これに対応する
距離的関数を、D1(u,v)=1−uおよびD2(u,v)=uとすることがで
きる;このような単純な距離的関数は非常に効率的に計算することができる。 【0212】 2より多くの融合すべき輪郭に対する原像が存在する場合にもパラメータ化距
離計算の望ましい簡易性を維持するためには、パラメータ化距離的測度を計算す
るために用いることのできる方法は3つある。この3つの方法を、それぞれ、以
下に説明する。 【0213】 たとえば、3つの境界曲線原像(これらも曲線である)により境界された、パ
ラメータ空間における三角領域は、束縛条件r+s+t=1を満たす3つの(実
数値)パラメータr,s,tを用いて、三角領域の頂点v1,v2,v3に関して
パラメータ化できる。換言すれば、頂点v1,v2,v3を有する三角領域内の点
pは、p=rv1+sv2+tv3と表される。このパラメータr,s,t
は「重心座標」と呼ばれ、パラメータ空間内の、図14の表面300等の3辺表
面のために使用される。 【0214】 4つの輪郭の原像により境界されるパラメータ空間内領域は(4辺の場合と呼
ぶ)、2つの対向辺上に境界を有する領域(2辺の場合と呼ぶ)の簡単な拡張で
ある。2辺の場合には、適切にパラメータ化すれば、単一のパラメータuのみを
用いて距離的関数を計算することができる。4辺の場合には、2つのパラメータ
u,vを、その補数と同様に、用いることができる(パラメータ空間におる単位
正方形などの適切な表現を仮定して)。こうして、パラメータ空間における4つ
の輪郭原像境界への距離を、u,v,1−u,1−vとできる(つまり、輪郭の
原像をu=0,v=0,v=1,u=1と仮定する)。 【0215】 パラメータ空間領域に対する重心座標を決定するためには、輪郭の原像が、多
角形を形成する線分であると仮定して、図12(頂点v1,v2,v3,v4,v5
を有する5辺多角形148を示す図)に示したアプローチを用いることができる
;ここで、輪郭原像は149a〜149eと記した太線である。距離的関数を決
定するために、まず、この多角形の各辺149a〜149eを、これらが辺14
9をその間に有する別の伸長された辺と交わるまで、伸長することにより、放射
状にする、つまり、原像多角形148から星形を形成する。こうして、交差点1
50a〜150eが、図12の5辺の場合に決定される。結果として、対応する
点150a〜150eから多角形内の点pまでの線分152a〜152eが構築
される。得られた距離的測度は、点pから多角形148の辺149a〜149e
への線分153a〜153eの長さである。したがって、pから多角形148の
i番めの辺149(ただし、i=a,b,c,d,e)までの距離は、pから多
角形148の境界縁までのi番めの線分153に沿った距離である。ここで、得
られた各距離的測度を、点pまでの全ての距離的測度の和で除することにより、
距離的測度を正規化できることに留意されたい。 【0216】 <2.4.2.直線> 直線は式au+bv=cにより表される;ここで、a,b,cは定数である。
直線までの通常の(符号なし)距離は、下式により得られる。 【0217】 【数23】 【0218】 ユークリッド距離に対応する、より直覚的なバージョンとしては、式(6)を
正規化して、つまり、勾配の長さで除することにより、下式が得られる。 【0219】 【数24】 【0220】 <2.4.3.円錐曲線> 円錐曲線には、放物線、双曲線、楕円、が含まれる。円錐曲線の一般形は下式
で表される。 【0221】 【数25】 【0222】 これの符号なし距離は下式により計算できる。 【0223】 【数26】 【0224】 これも、勾配の長さで除することにより正規化でき、より適切な距離的関数が
得られる;なお、これは、円の場合には、ユークリッド距離である。なお、ファ
ラン(Farin)氏の「曲線および表面入門」(アカデミック・プレス社、第
4版、1996年)には、上述の陰形式と有理パラメータ形式との間の変換が与
えられていることに留意されたい。したがって、円錐曲線が陰形式またはパラメ
ータ形式の何れで表現されていても、式(8)を用いることができる。 【0225】 <2.4.4.陰形式およびパラメータ形式での多項式曲線> パラメータ化曲線が、たとえば、上述のファラン氏の参考文献で説明されてい
る方法により、ベジェ形式に変換されているものとする。バイシュナフ(Vai
shnav)氏の「陰形式技法によるパラメータ化対象の融合」(ACM立体モ
デリング会議講演記録、1993年5月)には、曲線を、パラメータ化曲線から
陰形式曲線へと数値的に変更する方法が与えられている;ここで、経験的なオフ
セット計算方法に基づいて、曲線を所与の方向にオフセットすることにより、距
離は、対象空間における陰形式で計測される。 【0226】 オフセットが点を通るように強制するオフセット距離の値は、この点に対する
距離測度である。より詳しくは、ベジェ曲線に対して、この距離的測度は、強力
(すなわち、不良条件とならない)であると共に、評価が充分に高速であり、平
均的に2〜3回のニュートン・ラプソン反復しか必要としない、という点におい
て有用であり得る;これは当業者には明らかであろう。これは、円錐曲線表現の
距離測度の計算より1桁ほど遅いことはあり得るが、垂直距離を計算する従来方
法より充分高速である;また、この従来方法は不安定でもある。 【0227】 <2.4.5.区分的パラメータ化曲線> 本発明は、パラメータ空間における複雑な曲線上の距離的測度を計算するため
の新たな技法をも備えている。 【0228】 図13において、2つの境界曲線156a,156bが、単位正方形パラメー
タ空間158内にあると共に、同じ次数nを有する対応する部分曲線160a,
160bを有する区分的パラメータ化多項式曲線であると仮定する。対応する部
分曲線の端点を線分164(すなわち、次数1曲線)に接続することにより、次
数n×1ベジェ小片168が、パラメータ空間158の単位正方形表現内に構築
される。 【0229】 ここで、各小片168は、座標(s,t)を有する自身の第2のパラメータ空
間と見なせることに留意されたい;ここで、 【0230】 (a)2つのベジェ(Bezier)部分曲線160a,160b(ここでは
、b1(t),b2(t)と表記する;ただし、0≦t≦1)に対して、tの各値
t0は、b1(t0)とb2(t0)の間の線分Lt0に対応する; 【0231】 (b)線分Lt0は、s=0のときにはLt0∈b1(t0)であり、s=1のとき
にはLt0∈b2(t0)となるように、sによってパラメータ化されている;ここ
で、0<s<1のとき、sはb1(t0)とb2(t0)の間の距離に比例して変化
する。したがって、曲線b1(t)とb2(t)(および/または小片境界線分1
64)の間の距離的測度を第2のパラメータ空間において計算する場合には、こ
の小片の内部の任意の(u,v)点に対して、この小片の境界曲線に相対する対
応する(s,t)点を見い出さねばならない;次いで、これを評価することによ
り距離的測度を決定するのである。 【0232】 「s」は線形パラメータ(同一の2つの線分164により端点において結合さ
れている2つの対応する部分曲線160a,160bの間の点の距離に対応する
)であるので、単純な関数f1(s),f2(s)(たとえば、f1(s)=sで
かつf2(s)=1−s)が、それぞれ、b1(t),b2(t)に対する距離関
数として機能する。ここで、パラメータu,vは、どちらも、s,tのベジェ関
数として表現できることに留意されたい。より詳しくは、(s,t)座標から(
u,v)パラメータ空間座標に変換するためには、ニュートン型のアルゴリズム
を用いることができる;この点は当業者には明らかであろう。 【0233】 ある状況の下で用いることのできる、距離的測度を決定するための別のアプロ
ーチは、「前進アルゴリズム」を用いてこのような小片168を評価することで
ある。すなわち、図25においては、たとえば、輪郭812,816(それぞれ
、表面808に踵を接する等傾リボン820,824を有する)の間の融合を行
う対象空間融合表面808が示されている。 【0234】 輪郭812は、その原像曲線160a(パラメータ空間158において)を有
し、また、輪郭816は、その原像曲線160b(パラメータ空間158におい
て)を有している;ここで、表面808に対するパラメータ空間158の部分は
小片168である。s,tにおける追加のパラメータ空間828を、パラメータ
空間158に対する原像パラメータ空間と見なすことができる;ここで、曲線1
60aの原像はs=0における鉛直線であると共に、曲線160bの原像はs=
1における鉛直線である。 【0235】 追加のパラメータ空間828において「×」で示した充分に稠密な点830の
集合を用いて小片168内の点(u,v)を評価(たとえば、最近接点830を
決定することによって)すれば、融合表面808上の対応する点p(u,v)を
効率的に計算することができる;これは、原像曲線160a,160bに対する
距離的関数を、それぞれ、D1(u(s,t),v(s,t))=sおよびD2(
u(s,t),v(s,t))=1−sとできるからである。このアプローチに
よれば、融合表面が容易かつ迅速に生成できる。ここで、表面808を引き続い
てトリム処理する必要がない場合には、本方法は特に有効である。 【0236】 <3.融合プログラム> 図17は、本発明の利用者により実行される設計構築操作の典型的な流れを示
すフローチャートである。ここで、付随する輪郭を構築するために輪郭ハンドル
が必要となっても良い;この輪郭は、付随する等傾リボンを構築するためにため
に必要であり、この等傾リボンは、付随する対象(たとえば、表面)の所望の形
状を得るために必要となっても良い;また、この対象は、所望の幾何学的モデル
を構築するために必要である。 【0237】 図26〜図30は、本発明の一実施例において実行される処理の高いレベルを
説明する図である;この処理は、利用者が当人の設計意図をより効率的かつ直接
的に表現できる態様で、幾何学的対象表現の形状の新たなリアルタイム操作を可
能にするものである。さらに、本発明の基本方針は通常のCADシステムからの
大きな変革であることに留意されたい。 【0238】 すなわち、通常のCADシステムにおいては、利用者は、幾何学的対象の修正
ないし変形のための入力を与ねばならず、その後にこの入力の処理の開始を要求
しなければならない。したがって、利用者の設計に対するフィードバックは、利
用者が個別に要求する毎に得られる。これに対し、本発明においては、更新処理
を行うよう利用者が明示的に指示しなくとも、入力が受信されると直ちにリアル
タイムで更新処理が行われる。 【0239】 したがって、本発明の利用者は、対象の事実上すべての点に対する幾何学的特
性を精密に計算する要求を行うことなく、設計中の幾何学的対象への繰返し近似
を効率的に行うことができる。特に、本発明は、多数の幾何学的設計対象(機械
加工部品を含む)の実質的な部分の幾何学的形状を広範囲に渡って満足の行く程
度に設計できるという点で、著しい効率上の利点を有している。 【0240】 したがって、本発明によれば、精度をそれほど必要としない対象の部分に関し
ては、利用者が設計中の幾何学的対象の精度を指定する必要がなくなる。 【0241】 図26には、第2節において既述した式(1)の1次元の変更例を用いた本発
明に係る補間曲線を計算するためのステップが示してある。ステップ1004で
は、生成すべき補間曲線C(u)に対する両端点、および、両端点における正接
、が得られる。 【0242】 より詳しくは、この曲線の両端点は変数PT1,PT2に割り当てられている
。また、点PT1,PT2における補間曲線C(u)に対する方向ベクトルが、
それぞれ、変数TAN1,TAN2に割り当てられている。ここで、PT1,P
T2,TAN1,TAN2は、様々な方法により与えることができることに留意
されたい。 【0243】 たとえば、これらの変数の1以上が、利用者の割り当てた値を有することがで
き、および/または、1以上が、利用者に利用可能な別の幾何学的対象表現(た
とえば、別の曲線表現、表面表現、または立体表現)から導かれたものであって
も良い。より詳しくは、TAN1,TAN2と名付けた方向正接ベクトルは、点
PT1,PT2が載っている幾何学的対象(たとえば、表面)のパラメータ化に
伴って自動的に決定されても良い。 【0244】 ステップ1008およびステップ1012においては、融合関数B1,B2が、
節(2.1)で説明したようにして選択される。しかし、利用者が明示的に指定
しなくても良いように、融合関数の特定の対に対する融合関数がデフォルトとし
て準備されていても良いことに留意されたい。 【0245】 しかし、このような融合関数が利用者により明示的に選択されてよいことも本
発明の範囲内に含まれる。この点に関しては、本発明は、利用者の幾何学的設計
意図を表現することを目的としているので、様々な受け入れ可能な融合関数が存
在して良い;これは、通常、利用者が高精度の入力を意識的に決定しなくとも、
利用者の意図は概ね適切に表現されるからである。 【0246】 すなわち、最終的幾何学的設計の繰返し近似のためには、非常に様々な融合関
数が受け入れられて良いと考えられる;これは、実質的に同一の融合関数を用い
て設計中の幾何学的対象の比較的小さな部分を徐々に生成および/または修正す
ることにより、徐々に精密な詳細が作成されるからである。 【0247】 別の方法に関しては、本発明は、精密な(幾何学的また別の意味で)束縛条件
にも、また、利用者の意図を徐々に高い拡大率で繰返し的に表現することにも対
応できるので、高精度および/または小縮尺の設計特性をこれが必要な部分にの
み利用者の設計に取り入れることができる。 【0248】 ステップ1016においては、1次元パラメータ空間に適用される式(2)の
変形を用いて、補間曲線C(u)が計算される。点PT1,PT2およびベクト
ルTAN1,TAN2が指定された場合における補間曲線C(u)の例を図32
に示した。 【0249】 図27には、対象S(たとえば、表面)に対する等傾境界R(u)に対する近
似を構築する際に実行されるステップが示されている;ここで、点PT1,PT
2が、生成すべき等傾リボン境界近似に対応する輪郭曲線を限定する。より詳し
くは、このフローチャートにより生成される等傾リボン境界近似は、上述の「定
義」の節にある等傾境界の定義を近似的に満たすよう意図されている。 【0250】 さらに詳しくは、このフローチャートにより決定された等傾リボン境界近似は
、たとえば、PT1とPT2の間に生成された輪郭曲線に沿ってこの対象がどの
程度滑らかであるか、に応じて、対象SのPT1とPT2の間の部分に対する等
傾リボン境界の定義と整合するよう機能する。すなわち、より滑らか(曲率のば
らつきが小さい)ほど、整合がより良くなる。 【0251】 次いで、図27のステップ1104において、図26に示した曲線補間プログ
ラムが、PT1,PT2および対象(表面)Sに対するそれぞれの正接TAN1
,TAN2を用いて起動される。こうして、曲線に隣接するSの輪郭に対する近
似である補間曲線C(u)が返される。 【0252】 ステップ1108およびステップ1112においては、各点PT1,PT2に
おける対象Sのパラメータ化に沿った正接(すなわち、ピケット)が決定され、
それぞれ、変数PICKET1,PICKET2に代入される。ここで、PIC
KET1,PICKET2は、通常、ベクトルTAN1,TAN2に垂直である
ことに留意されたい;しかし、これは必須ではない。次いで、ステップ1116
およびステップ1120において、PT1,PT2に対応する等傾リボン点が決
定され、それぞれ、変数RIBBON_PT1,RIBBON_PT2に代入さ
れる。 【0253】 次に、ステップ1124において、図26の曲線補間プログラムが、値RIB
BON_PT1,RIBBON_PT2,TAN1,TAN2を用いて再び起動
され、これにより、等傾リボン境界近似R(u)が得られる。なお、場合によっ
ては、補間(輪郭)曲線C(u)により境界された等傾リボン近似、これに対応
するピケット(PICKET1,PICKET2)、および新たに生成された等
傾境界R(u)が、必ずしも、表面を形成するのではないことに留意されたい。
実際、曲線C(u)およびR(u)は実質的に同一であり得る(たとえば、PI
CKET1がTAN1に等しく、かつ、PICKET2がTAN2に等しい場合
)。 【0254】 図28Aおよび図28Bには、図27から得られる近似より精密な等傾リボン
境界を構築するためのプログラムのフローチャートを示した。より詳しくは、図
28Aおよび図28Bのフローチャートにおいては、与えられた輪郭曲線の経路
に沿った対象(たとえば、表面)Sの変更に対応して、図27のプログラムが、
繰返し、適応的に起動される。 【0255】 図28Aのステップ1204においては、1以上のマーカMi(ただし、i=
1,2,…,NかつN≧1)の列が変数MARKER_SETに代入される;こ
こで、これらのマーカは、表面S上にあると共に、生成すべき輪郭曲線に沿って
所望の生成順序づけが為されている。なお、典型的な一実施例においては、マー
カは、本発明の利用者により与えられる(たとえば、構築される、および/また
は、選択される)ことに留意されたい。さらに、この説明においては、マーカM i に対応する表面Sの正接は、利用者が入力したSの正接であることを仮定した
。しかし、このような正接ベクトルが、表面Sのパラメータ化の方向の正接を決
定すること等により自動的に与えられて良いことも、本発明の範囲内に含まれる
。 【0256】 図28Aのステップ1208においては、集合MARKER_SET内の最初
のマーカが変数MARKER1に代入される。次いで、ステップ1212におい
て、MARKER_SET内に追加のマーカが存在するかどうかの判定が為され
る。存在する場合には、ステップ1216において、変数INTRVLに、輪郭
曲線上に順次生成すべき点を増分しながら選択するためのパラメータ増分値を代
入する。一実施例においては、INTRVLには、約10-3〜10-6以上の範囲
の値が代入されて良い。 【0257】 ステップ1220においては、MARKER_SETにある次のマーカの値が
変数MARKER2に代入される。次いで、ステップ1224において、MAR
KER1,MARKER2(および、これらに付随する利用者指定の正接ベクト
ル)を用いて図26の曲線補間プログラムが起動され、これにより、2つのマー
カの間の補間曲線Cj(u)が得られる(ただし、j=1,2,…,このステッ
プが行われる回数による)。次いでステップ1228において、MARKER1
,MARKER2、および補間曲線C(u)の値を用いて、図27に基づき等傾
境界近似が決定され、これにより、等傾境界近似曲線Rj(u)が得られる。 【0258】 次いで、ステップ1240において、曲線Cj(u),Rj(u)上の点を選択
するための初期デフォルト値INTRVLが変数u_VALに代入される。これ
に続くステップ1244において、Cj(u_VAL)に対応する点が変数IN
CRMT_PTに代入される。次いで、ステップ1245において、点Cj(u
_VAL)に「最も近い」S上の点が変数S_PTに代入される。 【0259】 より詳しくは、ε>0以内においてSは自身と重なることがないと仮定して、
或るεに対して、Cj のε内の近傍に存在するS上の点が選択される。なお、C j (u_VAL)はS上に存在しなくても良いので、曲線Cj が横切る表面Sの
波打ちの何れかの1.5倍を越えないような、補間曲線Cj に沿った最大長さに
対応するように変数INTRVLの値を設定すれば、補間曲線Cj は表面Sに実
質的に沿うか、または、一致すると考えられることに留意されたい。 【0260】 次いで、ステップ1246において、点INCRMT_PTがS_PTの所定
の距離(たとえば、この所定の距離は10-3〜10-6の範囲であっても良い)内
にあるかどうかの判定が行われる。より詳しくは、この所定の距離は、利用者が
設定しても良く、および/または、本発明が利用される用途に応じて変更される
システムデフォルト値であっても良い。したがって、INCRMT_PTおよび
S_PTが所定の距離内にある場合には、ステップ1248が実行される;この
ステップにおいては、等傾境界近似上の点Rj(u_VAL)が決定され、変数
RIBBON_PTに代入される。次いで、ステップ1252において、Cj
u_VAL)における等傾ピケットに対する近似が決定され、変数PICKET
に代入される。 【0261】 ステップ1254においては、点Cj(u_VAL)における表面(より一般
的には、対象)Sに対する正接が決定され、INCRMT_TANに代入される
;なお、この正接はSのパラメータ化の方向に向く。 ステップ1256においては、ベクトルINCRMT_TANおよびPICK
ETが相互に充分近い(たとえば、画面上の1ピクセル内)かどうかの判定が行
われる。充分近い場合には、ステップ1264においてu_VALを増分するこ
とにより、補間曲線Cj 上の次の新たな点が決定される。これに続くステップ1
268においては、補間曲線Cj(u)の終わりに達した、または、通過したか
どうかの判定が行われる。 【0262】 ここでは、0≦u≦1を仮定していることに留意されたい。したがって、u_
VALが1未満の場合にはステップ1244が再び実行され、次いで、ステップ
1256までの一部または全部が実行される;これにより、上述の「定義」の節
で理論的に規定したように、等傾リボン点近似Rj(u_VAL)が実際のリボ
ン点に充分近いかどうかが判定される。 【0263】 ステップ1246に戻って、INCRMT_PTがSに充分近くない場合には
、Sの実際の点でさらに細かく指定された補間曲線が決定される。すなわち、点
S_PTがマーカ内に入れられ、MARKER_SET内に挿入される;これに
より、Sからのずれがより小さい新たな補間リボン曲線Cj(u)およびRj(u
)が生成される(Sの連続微分可能性を仮定)。 【0264】 すなわち、ステップ1272が実行され、これにより、点S_PTに対するマ
ーカが生成されると共に、この新たなマーカは、MARKER_SET内の、現
時点のマーカ値MARKER1およびMARKER2の間に挿入される。次いで
、現時点でMARKER2と呼ばれているマーカのフラッグを未使用に設定する
(ステップ1276)と共に、ステップ1280においては、最も直前に構築さ
れた補間曲線Cj(u)およびこれに付随する何れかのリボン境界曲線Rj(u)
を削除する。次いで、ステップ1220およびそれに続くステップが再び実行さ
れ、新たな補間曲線Cj(u)およびリボン境界曲線Rj(u)が決定される。 【0265】 ここで、ステップ1256において、INCRMT_TANおよびPICKE
TがSの対象空間において相互に充分近くないと判定された場合には、ステップ
1272〜ステップ1280、およびステップ1220も実行されることに留意
されたい。 【0266】 ステップ1268に戻って、補間曲線Cj(u)の終わりに達した、または、
通過したか場合には、Cj(u)は(MARKER1およびMARKER2の間
の)S上の点に対する充分近い近似であり、かつ、Rj(u)はS上の点に対す
る等傾リボンに充分には近くないと仮定される。したがって、補間曲線Cj(u
)および対応するリボン近似Rj(u)が未だ決定されていない追加のマーカが
存在する場合には、MARKER_SETにある(マーカ順序として)連続した
マーカの次の対が決定され、ステップ1220およびそれに続くステップと同様
の処理が行われる。すなわち、ステップ1284においては、MARKER1に
MARKER2の値が代入され、ステップ1288においては、MARKER_
SET内に次の未使用のマーカが存在するかどうかの判定が行われる。存在する
場合には、上述のように、ステップ1220およびそれに続くステップと同様の
処理が行われる。 【0267】 また、全てのマーカが使用済みとなっている場合には、得られた曲線Cj(u
)およびRj(u)(ただし、j=1,2,…)が、ステップ1292において
、グラフィカルに表示され、引き続く操作のために記憶される。なお、輪郭曲線
j(u)を再パラメータ化することにより、これらの曲線が単一の曲線C
u)(ただし、C(0)=C1(0)かつC(1)=CN(1))として集合
的にパラメータ化されても良いことに留意されたい。 【0268】 図29および図30は、等傾ハンドル、リボン正接、およびこれらに付随する
等傾リボンを修正することにより、1以上の表面(より一般的には、幾何学的対
象)を修正するためのフローチャートを高いレベルで説明する図である。より詳
しくは、簡単のために、これらの図のフローチャートにおいては、1以上の部分
表面Si(ただし、i=1,2,…,NかつN≧1)により(少なくも部分的に
)得られる複合表面S0が存在しており、ここで、これらの部分表面Siは、共通
の境界に沿って相互に連結(たとえば、継ぎ合わせ)されており、これによりS
0は不連続部分を有しない、と仮定している。 【0269】 このような複合表面S0を与えれば、図29および図30のフローチャートを
、以下のように、高いレベルで説明することができる。図29においては、少な
くも1つの変更すべき幾何学的特性(たとえば、長さ、方向、曲率、その他)を
有する等傾ハンドルおよび/またはリボン正接が、この等傾ハンドルおよび/ま
たはリボン正接の変更に伴って修正されるべき部分表面Siと共に決定される。 【0270】 次いで、図30のフローチャートにおいては、選択した等傾ハンドルおよび/
またはリボン正接に対して利用者が修正を入力するに伴って、部分表面に対する
修正がリアルタイムで計算され表示される。なお、表面(より一般的には、幾何
学的対象)の修正のリアルタイム計算は、高次元の幾何学的対象における表面に
対しては、その計算オーバーヘッドが大きくなり過ぎるため、従来、行うことが
できなかったことに留意されたい。そこで、本発明においては、非常に効率的で
あると共に生成された表面が適正であるような、新たな融合表面計算技法を提供
することにより、このオーバーヘッドを低減させた。 【0271】 図29Aおよび図29Bのより詳細な説明を以下に行う。ステップ1400に
おいては、各部分表面Siの全体境界に対応する輪郭および等傾リボンが存在し
ない場合には、各部分表面Siの全体境界を近似する輪郭および等傾リボンを作
成する。これは、図28のフローチャートのプログラムを用いて実行して良いこ
とに留意されたい。ステップ1404においては、表面S0上のマーカに対応す
る等傾ハンドルおよびリボン正接が、利用者に対してグラフィカルに表示される
。 【0272】 ステップ1408においては、1以上の追加の等傾リボンを表面S0に追加す
ること、または、S0上に輪郭曲線を有する既存の等傾リボンを拡張すること、
を利用者が要求しているかどうかが判定される。利用者がこのような要求を行っ
ている場合には、ステップ1412が実行される;このステップでは、利用者が
追加したその他のマーカに加えて、(a)輪郭が部分表面Siの境界と接触する
全ての位置において、(b)輪郭曲線が部分表面Siの境界上で終端するように
それぞれが拡張される態様で、マーカが追加される。 【0273】 さらに、曲線境界の交点においても追加のマーカを追加して良い。したがって
、これらの後者のマーカについては、これに付随する2つの別個のリボン正接が
存在し得る(すなわち、各部分表面に対して1つ)。 【0274】 次いで、ステップ1416においては、各Si(ただし、i=1,2,…,N
)に対して、図28のプログラムが起動され、これにより、所望の追加の輪郭お
よび等傾境界が得られる。なお、図28のプログラムは、新たなマーカが追加さ
れた部分表面Siに対してのみ起動されれば良いことに留意されたい。 【0275】 ステップ1416に続くステップ1420においては、新たに追加された等傾
ハンドルおよびリボン正接が表示される。なお、いくつかの実施例においては、
当初には等傾ハンドルのみが表示されており、利用者が希望すればリボン正接を
選択的に表示させることができることに留意されたい。 【0276】 次いで、ステップ1424においては、既存の輪郭内に1以上の追加のマーカ
を追加することを利用者が要求しているかどうかが判定される。要求がある場合
には、新たな追加のマーカが追加され、少なくもこれに対応する新たな等傾ハン
ドルが、これらの新たなマーカに対して決定される。 【0277】 なお、本発明の一実施例において、既存の輪郭に新たなマーカが追加される場合
には、この輪郭が若干変化することに留意されたい;これは、この輪郭が、その
時点で、別の点において表面S0と正確に同一となり、また、輪郭の連続マーカ
間に(図26によって)生成されていた補間曲線が、新たに追加されたマーカを
用いてその時点で生成されるからである。 【0278】 したがって、1以上の追加のマーカを有する輪郭は、一般に、表面S0の隣接
部分の形状により近く従うことになる。 【0279】 次いで、ステップ1432において、新たな追加のマーカは、場合によっては
、これに対応する等傾ハンドルおよびリボン正接を含めて、利用者に対してグラ
フィカルに表示される。 【0280】 なお、ステップ1408〜ステップ1420と、ステップ1424〜ステップ
1432は、逐次的に実行する必要のないことに留意されたい。イベント起動ユ
ーザインターフェースを用いれば、新たな各マーカの処理が個別に実行され、利
用者から次の新たなマーカ位置が入力される前に表示できることは、コンピュー
タのユーザインターフェース設計分野の当業者には明らかであろう。したがって
、ステップ1408〜ステップ1420の連続実行の途中に、ステップ1424
〜ステップ1432の1以上のステップが実行されても良い。 【0281】 ステップ1436においては、等傾ハンドルおよび/またはリボン正接が、利
用者により修正対象として選択されたかどうかが判定される。なお、修正すべき
等傾ハンドルおよび/またはリボン正接には識別子ISOが与えられることに留
意されたい。 【0282】 ステップ1440においては、ISOに対応するマーカが決定され、これへの
アクセスは、変数MRKRを介して可能となる。次いで、ステップ1444にお
いて、MRKRに隣接する1以上の部分表面S1,…,SNの集合が決定され、こ
れらの隣接部分表面へのアクセスは、変数ADJ_SURFACESを介して可
能となる。 【0283】 ステップ1448〜ステップ1460においては、MRKRに隣接する部分表
面Siの部分の境界表現が決定され(ステップ1452)、MOD_SETと表
記される表面境界表現の集合の中に挿入される(ステップ1456)。より詳し
くは、ADJ_SURFACESにある部分表面の各々に対して、MRKRに隣
接していると共に等傾リボンにより境界されている部分表面の最小部分の境界の
表現データが、集合MOD_SET内に入れられる。 【0284】 最後に、ステップ1464において、図30のプログラムが起動される;これ
により、利用者がISOを変更するのに応じてリアルタイムで、MOD_SET
中に含まれる境界表現内のS0の部分を修正する。 【0285】 図30のフローチャートには、MOD_SET中の表面境界表現により識別さ
れる表面部分をリアルタイムで修正するための高いレベルでのステップが示され
ている;なお、これらの表面部分はマーカMRKRに隣接している。したがって
、ステップ1504においては、マーカMRKRに対応する等傾ハンドルおよび
/またはリボン正接の最初の(次の)修正バージョンが得られ、ISOに代入さ
れる。 【0286】 次いで、ステップ1508において、ISOの修正された等傾ハンドルおよび
/またはリボン正接を備えた全ての等傾リボンが再生成されて、利用者により要
求された最新の修正が反映される。なお、これは式(1)の1次元バージョンを
用いて実行されるのであり、これにより、MRKRを含む各等傾リボン上でMR
KRと隣接マーカとの間の自身の範囲に沿ったこのような各等傾リボンを修正す
るのであることに留意されたい。 【0287】 次いで、ステップ1512において、MOD_SETにある最初の(次の)境
界表現が変数Bに代入される。次いで、ステップ1516においては、Bに含ま
れる(輪郭)境界線分に対する等傾リボンの集合が、変数Rに代入される。ここ
で、Rは、マーカMRKRを含む等傾リボンを少なくも1つ含んでいることに留
意されたい。 【0288】 ステップ1520においては、Rの等傾リボンの輪郭により限定される融合表
面が生成される。このステップにおいて使用される計算式は、式(4)に類似し
たものである。しかし、今回の計算式には追加の関数Qi(p)が含まれている
。なお、一般に、このステップにおいて表面S(p)を生成する際に使用するパ
ラメータ空間の部分は、2、3、4、5、または、これ以上の辺(輪郭原像)を
有していても良いことに留意されたい;なお、各辺も等傾リボン原像を有してい
る。 【0289】 したがって、Rの各等傾リボンRiに対する並進関数Qi(p)に関しては、R
の各等傾リボンRiに対する輪郭Piの原像の内部Iにあるパラメータ空間の点p
に対して、等傾リボンRiの対象空間内の対応する点が決定されると共にこのス
テップにおける融合関数の中で使用できるような態様で、これらの点pが、Ri
に対するパラメータ空間内の点に並進されることが望ましい。ここで、並進関数
Qi(p)は、少なくも以下の束縛条件を満たすことが望ましいことに留意され
たい。 (a)Qi(p)は、連続表面に対して連続である、 【0290】 【数27】 【0291】 すなわち、I内の点列が輪郭点Pi(u)の原像に収束する場合には、Qi(p
)は、等傾リボンパラメータ空間点(u,0)に収束する。 【0292】 次いで、ステップ1524において、表面S(p)が表示され、ステップ15
28においては、追加の融合表面S(p)を生成するための追加の境界表現がM
OD_SET内に存在するかどうかが判定される。存在する場合には、ステップ
1512が再び実行される。これに対し、境界表現が残っていない場合には、ス
テップ1532において、MRKRに対応する等傾ハンドルおよび/またはリボ
ン正接に対する利用者による追加の修正が存在するかどうかが判定される。 【0293】 存在する場合には、少なくもステップ1504〜ステップ1528が再び実行
される。なお、図30の各ステップは、利用者が等傾ハンドルおよび/またはリ
ボン正接に対して連続的に修正を加えながら、利用者が指定したMRKRに対応
する等傾ハンドルおよび/またはリボン正接に対して徐々に行われるリアルタイ
ムの変化が表示できる態様で、充分に効率的に実行できることに留意されたい。 【0294】 <4.幾何学的設計ユーザインターフェース> 上述の一般原則は、コンピュータ援用幾何学的設計のための新たなユーザイン
ターフェースの基礎を成す。 【0295】 本発明のためのユーザインターフェースの一実施例においては、ユーザインタ
ーフェースが等傾を定義するために設けられている。このようなインターフェー
スを用いることにより、設計者は、たとえば、輪郭曲線全体に沿って等傾が所与
の光線方向と垂直になるように要求して、反射光線を作成できる;この点は当業
者には明らかであろう。 【0296】 より一般的には、新たなユーザインターフェースでは、様々な束縛条件の入力
が可能であり、このような束縛条件を満たす等傾リボン、等傾ハンドル、および
/またはリボン正接を生成することができる。特に、光線方向、曲率、接触、レ
ベル輪郭、平面の2面角関数、等の大域的束縛条件の使用を可能にしている;こ
の点は、当業者には明らかであろう。 【0297】 ユーザインターフェースの一実施例においては、利用者は、円筒などの所与の
幾何学的対象から作業を開始する。次いで、利用者は、この円筒の様々な位置に
マーカを配置して、円筒上に輪郭曲線を記入する。円筒からの傾斜情報を採用す
ることにより、輪郭正接および/または等傾ハンドルがデフォルトとして使用さ
れても良い。たとえば、各マーカ位置において、輪郭正接は、このマーカ位置に
おける円筒に正接する平面内にある。 【0298】 次いで、利用者は、マーカを選択して修正し、マーカを追加し、および/また
は、等傾ハンドルおよび/またはリボン正接の位置および方向を修正して良い。
このようにして等傾リボンが修正されるに伴い、円筒(より一般的には、幾何学
的対象)には、等傾リボンの修正による変化が反映される。所望の形状の幾何学
的対象(円筒から導かれる)が得られるまで、追加の輪郭およびマーカをこのよ
うな方法で追加して良い。 【0299】 これらのステップの一例を図31のフローチャートに示す。すなわち、ステッ
プ1904において、利用者は、グラフィカルに表示された表面(より一般的に
は、幾何学的対象)を選択する。次いで、ステップ1908において、利用者は
、選択した表面(対象)上に輪郭曲線を構築する。 【0300】 次いで、ステップ1912において、等傾リボン(または、少なくも等傾境界
)が、この輪郭に対して生成される。なお、このリボン/境界は、望む場合には
、実質的に利用者からの追加の入力なしで生成できることに留意されたい。すな
わち、等傾リボン/境界は、その輪郭が存在する表面の接触特性から生成できる
。より詳しくは、パラメータ化表面(より一般的には、幾何学的対象)に対して
、輪郭上の点における表面上のパラメータ化正接が、輪郭に対する等傾リボン/
境界を生成するために利用できる。 【0301】 したがって、輪郭曲線の一方の側にある表面近傍を、この輪郭を有する第1の
表面に対する第1の等傾リボン/境界を決定するために用いて良い;また、輪郭
が第1の表面と第2の表面との継ぎ目の上に存在する場合には、輪郭曲線の他方
の側にある表面近傍を用いて第2の等傾リボン/境界を決定して良い。 【0302】 さらに、等傾リボン/境界には、その他の表面特性が保持されても良いことに
留意されたい。たとえば、輪郭曲線点におけるパラメータ化正接を保持すること
に加えて、等傾リボン/境界は、曲率や、表面との高次(>=2)導関数連続性
などの表面特性をも保持して良い。なお、等傾リボン/境界が更なる表面特性を
保持できることも本発明の範囲内に含まれることに留意されたい。 【0303】 ステップ1916において、生成された等傾リボン/境界を用いて、この輪郭
曲線を有する表面を修正しても良い;この点については、図29および図30の
フローチャートのプログラムに関連して上述した。 【0304】 ユーザインターフェースのいくつかの実施例においては、2つの対象空間表面
の間に共通の境界が選択できると共に、正接平面連続性より高い次数の連続性要
件(たとえば、曲率連続性)を満たすように自動的に表面に制約を加える操作が
、設計者のために用意されている。 【0305】 たとえば、共通境界において1つの表面から導かれた等傾リボンに高次連続性
束縛条件を課すことにより、共通境界を有する他方の面に対する等傾リボンをも
同様に束縛することができる。したがって、この操作は、ある条件のもとで人間
の眼が曲率の不連続性を認めてしまう、いわゆる「マッハバンド(Mach b
and)」効果を軽減する。 【0306】 本発明において提供されるその他のユーザインターフェース操作には以下のも
のがある。 (a)「丸め(rounderizing)」、これは、ねじり取る処理であ
り、既存の表面を修正する;これによって、尖った端を丸めたり、または、尖っ
た端を拡散させるためのぎざぎざ(すなわち、1点を除いて滑らかな表面;表面
がよじれている)を作ったりする。 【0307】 このような操作を本発明において行うには、輪郭曲線を、尖端の反対側の表面
上に位置決めし、輪郭の間を滑らかに融合させる(たとえば、2.3.5節で説
明した式(1)を用いて);次いで、尖端を含む輪郭の間の表面を除去する。 【0308】 (b)「埋込み」、これはインタラクティブなユーザインターフェース手続き
であり、完成したモデルを取り上げ、これを縮尺変更し、回転や変形を行って別
のモデルの一部分に組み込む。 【0309】 <4.1.マーカ、輪郭、およびユーザインターフェースを用いて等傾を規定す
ること> 明示的輪郭とは、設計者の意図を表現した輪郭曲線である。明示的輪郭は、束
縛されなくても良く(自由形式)、または、部分的に束縛されても良い(トリム
)。陰形式輪郭とは、たとえば、表面不連続性に起因する表面片の間の眼に見え
る境界であっても良い(たとえば、円筒の端面とその円筒形側面との間に形成さ
れる折れ曲がり、すなわち、曲線)。 【0310】 利用者が、表面不連続性を持ち込んだ場合には、陰形式輪郭は自動的に生成さ
れる。モデル中の全ての輪郭は、明示的、または、陰形式である。 【0311】 <4.1.1.マーカの作成> 輪郭マーカおよびハンドルは、以下の方法により作成される。 A.新たな明示的輪郭および陰形式輪郭の端にはマーカが自動的に作成される
。 B.明示的輪郭上に設計者が挿入する(たとえば、点をダブルクリックする
ことにより)。設計者の立場から見れば、輪郭上に点を挿入することになる。こ
の新たに配置したマーカのうち、ごく少数または一部のみが、この新たなマーカ
を含む輪郭線分における輪郭の形状を変化させる。次いで、新たなマーカが付け
られた輪郭および表面の形状に基づいて輪郭ハンドルおよび等傾ハンドルが決定
される。 【0312】 同じ輪郭上の複数の同一点に1つのマーカが指定されても良い(たとえば、ル
ープを形成して戻り、自身に付着する輪郭)。このような、複数の輪郭点へのマ
ーカの指定は、このマーカを削除しない限り、残る。 【0313】 2以上の輪郭が、輪郭マーカを有する共通点で交わる場合には、共通点におい
てマーカを有する各輪郭およびマーカは束縛されて、1つのマーカを移動させれ
ば両方が移動するという態様で一致が維持される。 【0314】 設計者が挿入する輪郭マーカは、輪郭ハンドル点を与えるために、または、特
定の等傾値を設定するために、挿入されて良い。なお、輪郭ハンドル点は、その
等傾ハンドルに対する1組の束縛条件を有していても良い;すなわち、等傾ハン
ドルは、最近接の2つの等傾ハンドルの補間により値を与えられても良い。 【0315】 <4.1.2.マーカおよび輪郭の閲覧> 輪郭ハンドルおよび等傾ハンドルには、様々な束縛条件が課されても良い;そ
の場合に、これらのハンドルは、課された束縛条件に応じて異なる態様で表示さ
れる。より詳しくは、これらのハンドルには以下の束縛条件が課され得る。 【0316】 (a)ハンドルの方向を特定範囲に束縛、 (b)ハンドルの長さを特定範囲に束縛、 (c)ハンドルを別のハンドルと同一平面内に束縛、 (d)ハンドルの曲率を特定範囲に束縛、 (e)ハンドルを別のハンドルの変換に従うように束縛(たとえば、同一の回
転および/または並進)。 【0317】 設計者は、幾何学的対象の性質の表示要求を用いて、束縛条件の表示を選択で
きる。一実施例においては、異なる種類の束縛を受けた輪郭マーカに対して、異
なる色で表示される。たとえば、可変性の無いハンドル(「完全束縛」とも呼ぶ
)が青色で表示されても良い。 【0318】 ユーザインターフェースのいくつかの実施例においては、束縛されたベクトル
は「灰色表示(grayed out)」され、これにより、これらのベクトル
を変更できないことを設計者に明示している。たとえば、一実施例においては、
完全束縛されたハンドルは灰色表示される。 【0319】 <4.1.3.輪郭を相互に結合する> ユーザインターフェースの一実施例においては、同一のX,Y,Z位置で交差
する2以上の輪郭を相互に結合することがサポートされている。輪郭の変形に際
して各輪郭上の点のパラメータ化が不変である場合には、このような交差する点
は「結束点(tie point)」と呼ばれる。なお、このような結束点は、
これに付随するマーカを伴っていても良く、また、伴っていなくても良いことに
留意されたい。このような結束点を修正した場合には、この結束点においてこれ
に付随する全ての対応する輪郭曲線点が、グループとして修正される。このよう
な結束点は、輪郭の端点であっても良く、または、内部の点(すなわち、ノット
(knot))であっても良い。 【0320】 または、第1の輪郭の第1のマーカが、第2の輪郭の対象空間範囲内に存在す
るよう束縛されていても良い(陰に、または、陽に)。たとえば、図42Aおよ
び図42Bにおいては、利用者が輪郭マーカ2002(第1の輪郭2003およ
び第2の輪郭2004上に束縛されている)を第2の輪郭2004に沿ってスラ
イドし、これにより、マーカ2002が輪郭に沿って方向矢印2006の方向に
スライドした際に、図42Aの輪郭2004が図42Bの輪郭2004に変化す
ることを可能とする機能を、ユーザインターフェースが備えていても良い。この
ようなスライド可能なマーカ2002を「スライド点」と呼ぶ。 【0321】 輪郭交点は、「スライド点」または「結束点」の何れかである。また、これら
の異なる種類の点が、異なる色および/または形状により、相互にグラフィカル
に区別されていても良い。なお、輪郭が別の輪郭に沿ってスライドすると共に、
このスライドする輪郭に対する等傾リボンが融合表面Sの計算に使用される場合
には、Sは再計算される。 【0322】 <4.1.4.マーカおよび輪郭の作成> 本ユーザインターフェースは、いくつかの方法により、輪郭曲線の作成をサポ
ートできる。 A.図28のデータ入力による(data driven)技法と同様に、表
面上に輪郭を描く;ここで、この輪郭を表面に所定の許容度内で結束するために
、追加のマーカを加えても良い。または、第2の実施例においては、輪郭に対す
る全てのマーカを利用者に選択させることにより、輪郭を1以上の表面にまたが
って描いても良い。なお、何れの場合にも、輪郭は1以上の表面にまたがって描
いても良いことに留意されたい。さらに、第2の実施例においては、ユーザイン
ターフェースが以下のステップをサポートし、好適な輪郭を作成させる。 【0323】 (A1)表面上に存在するマーカ点を指定する。パラメータ空間における各
点を通る適合曲線を生成する;次いで、この適合曲線を評価して、対象空間にお
ける対応する像を得る。 【0324】 (A2)新たな輪郭が交差する各表面に対しては、利用者が、表面と交差す
る輪郭の部分に対する輪郭種類(自由形式またはトリム)を指定しても良い。表
面上に描いた輪郭に対して、表面の一方側をトリムするか、または、表面を2つ
の新たな表面に分割する。この場合には、表面内部に進入する如何なる(非縮重
の)輪郭も、進入点および退出点において表面の境界と交差しなければならない
ことに留意されたい。 【0325】 すなわち、共通の輪郭境界に沿った2つの表面は常にその輪郭に結合されてい
る;ここで、この輪郭に関しては、これらの表面は以下のように分類される:(
a)1つの表面がトリム表面であると共にもう1つは非トリム表面(「自由形式
表面」とも呼ぶ)である、または、(b)2つとも自由形式表面である。 【0326】 B.輪郭のコピー:利用者が、コピーする輪郭を選択する。この輪郭はバッフ
ァ(クリップボードと呼ぶ)にコピーされる。次いで、利用者はコピーのモード
を選択する(たとえば、輪郭ハンドルを維持する、または、輪郭をコピーすべき
幾何学的対象に輪郭ハンドルを取り付ける)。新たな輪郭の配置を利用者が選択
する(縮尺変更、回転、鏡映、その他)。 【0327】 新たな輪郭のための場所を利用者が選択する。なお、新たな輪郭は、元の輪郭
に課された束縛条件により束縛され得ることに留意されたい。たとえば、新たな
輪郭が、既存の輪郭から或る平面に関して鏡映であっても良く、元の輪郭に対す
る如何なる変更も、コピーに変化をもたらす。新たな輪郭を作成した場合には、
新たな輪郭の両端に輪郭マーカが自動的に生成される。輪郭ハンドルおよび等傾
(リボン正接)ハンドルは、新たな輪郭が分割する表面の幾何学的特性から導か
れる。 【0328】 <4.1.5.マーカおよび輪郭の修正> マーカおよび/または(輪郭、等傾)ハンドルの修正は、そのマーカおよび/
またはハンドルに課された束縛条件に従属する。これらは、以下に挙げる方法の
1つで束縛される。 【0329】 A.特定のマーカmにおいて(輪郭または等傾)ハンドルを選択し、そのハン
ドル端点を、それが垂直平面(すなわち、mを含む輪郭を有する表面に垂直な平
面、または、mにおいて輪郭の等傾ハンドルおよび輪郭ハンドルにより規定され
る平面)上に存在すべく束縛されるように移動することにより、インタラクティ
ブに修正する。選択した輪郭ハンドルおよび/または等傾ハンドルを修正するた
めに長さや角度に対する数値を利用者がキーボードから入力するためには、ポッ
プアップ形式の性質シートも利用できる。 【0330】 B.その原像が輪郭の原像内に存在すべく束縛されているマーカに関しては、
たとえば、このようなマーカ点をドラッグすることによるインタラクティブな修
正によって、親の輪郭に沿ってスライドさせることができる。なお、位置が束縛
されていないマーカに関しては、マーカ点を、このマーカが載っている親の輪郭
に沿って自由に(すなわち、利用者の指示のみにより、他の制約を受けない)移
動できることに留意されたい。 【0331】 さらに、利用者は、各々をクリックすることにより、または、指定した領域(
たとえば、境界づけする矩形)内の全てのマーカを選択することにより、多数の
輪郭マーカ点を選択できることに留意されたい。この場合には、利用者がディス
プレイ指示デバイス(たとえば、マウス)を移動させることにより、選択した全
てのマーカを、ディスプレイ指示デバイスの移動に対応した方向に均一に移動さ
せることができる。 【0332】 しかし、マーカの移動は、これらのマーカに課された束縛条件に従属する。た
とえば、束縛された或るマーカは、それに課された限界内でのみ移動する。した
がって、第1の選択されたマーカが第1の輪郭内のみを移動すると共に、第2の
選択されたマーカが、第1の輪郭に直交して配置された別の第2の輪郭内のみを
移動する場合には、所望の移動方向に応じて、以下の1つが当てはまる。 【0333】 (i)第1のマーカは移動可能、しかし、第2のマーカは移動可能でない、 (ii)第2のマーカは移動可能、しかし、第1のマーカは移動可能でない、 (iii)第1および第2のマーカの両方が移動可能、 (iv)いずれのマーカも移動可能でない。 【0334】 C.マーカおよびハンドルの束縛条件は、利用者が明示的に与える代りにデフ
ォルト値として設定しても良い。ポップアップ形式の性質シートにより、利用者
が特定の束縛条件を設定または削除できる。D.輪郭ハンドルおよび/または等
傾ハンドルに対して、他の幾何学的対象の特性に従属する追加の束縛条件を設定
しても良い。たとえば、輪郭ハンドルおよび/または等傾ハンドルが、選択した
基準平面に対して垂直または平行となるべく束縛しても良い。なお、輪郭マーカ
の位置に対しても、他の幾何学的対象の特性に従属すべく束縛条件を設定しても
良いことに留意されたい。たとえば、マーカを、分割平面上に存在すべく束縛で
きる。なお、分割平面とは、瓶を設計する際の前後の対称性に関する平面のこと
である。このような束縛条件の別の例は、対称的設計を作成する際に見られる;
すなわち、分割平面に関して鏡映な輪郭マーカのコピーは、親の輪郭マーカに対
して対称的であるべく束縛される。 【0335】 E.輪郭に隣接する表面は、C0連続性、C1連続性、またはC2連続性の何
れかを満たさなければならない;ここで、C0連続性は位置連続性であり、C1
連続性は接触連続性であり、C2連続性は滑らかな融合表面となるよう強制する
。或るマーカに対して設定できる1つの束縛条件は、このマーカを囲む表面の間
にC1連続性を要求することである;これは、内部のマーカに対して正接ベクト
ルの長さを等しく維持することにより為される。 【0336】 マーカにおける輪郭ハンドルおよび/または等傾ハンドルを凍結する(修正機
能を削除する)ことにより、このマーカを含む輪郭セグメントは、次の2つの最
近接マーカの輪郭ハンドルに基づいて再構築される;実効的には、このマーカの
ハンドルが、いずれかの側の2つのマーカにより構築された曲線を反映するよう
に変更される。 【0337】 大まかに言えば、輪郭の修正は、輪郭の形状を制御するために輪郭マーカ位置
およびハンドルを修正するためのユーザインターフェース技法の1つの機能であ
る。このようなユーザインターフェース技法の例を以下に挙げる。 【0338】 A.直接法:輪郭が、対象空間(3次元)モデル上で直接に修正される。これ
は、輪郭を構成する輪郭マーカおよびハンドルを修正することにより行われる。 【0339】 設計者がトリム輪郭を修正する場合には、輪郭は、常に、トリムする表面のパ
ラメータ空間内に存在する。すなわち、トリム輪郭は、これが埋込まれている元
の上部構造の表面の状況の中で修正されねばならない。修正するトリム輪郭(ま
たは、その構成要素)を選択すれば、上部構造の構築対象がハイライトされる。
これは、利用者がトリム輪郭を修正する間じゅう、ハイライトされた状態にある
。 【0340】 設計者が、輪郭をオンにして直接法によりこれを修正するというオプションを
有していても良い。たとえば、上部構造の表面を規定する輪郭を修正すれば、上
部構造の表面も更新される。この上部構造の表面をトリムする輪郭は表面のパラ
メータ空間内に存在すべく束縛されているので、トリム輪郭も再計算される。 【0341】 B.設計リボン法:この方法は、輪郭の特定の領域を修正するために使用され
る。これを用いれば、たとえば、或る表示方向では複雑である輪郭を別の表示方
向において修正することにより、設計者の作業を簡略化できる。設計者は、同一
の輪郭上に存在する2つのマーカを指定する。2つのマーカの間の輪郭セグメン
トは、輪郭の少なくも1つのグラフィカル表示方向に突出し、これにより、設計
リボンが作成される(等傾リボンと混同しないこと)。 【0342】 設計リボンは単純な突出した表面である(すなわち、曲線が所与の方向に沿っ
て走査され表面を生成する;たとえば、輪郭の端のマーカについては、対応する
等傾ハンドルを用いて対応する輪郭ハンドルをずらすことにより、境界ハンドル
を得ると共に、たとえば、式(2)の低次元バージョンを用いて、等傾境界を補
間する;輪郭、等傾ハンドル、および等傾境界から成る外周を有する表面は、新
たな突出表面を規定する)。マーカ間に規定された3次元輪郭セグメントは、常
に、この設計リボンの原像内に存在する。利用者は、以下の2つの方法のうちの
何れかにより輪郭を修正する。 【0343】 (B1)設計リボンを引出す2次元のドライブ曲線を修正する;なお、これは
リボンの端にあるものとし、また、デフォルトでは、この曲線は、設計リボンを
規定する3次元輪郭セグメントの2次元表現である。利用者は、2次元点の部分
集合を選択することにより、ドライブ曲線を「簡略化」することができる。 【0344】 利用者がドライブ曲線点を修正する毎に、リボンが更新され、3次元輪郭も修正
されて修正されたリボンのパラメータ空間内に存在する。ドライブ曲線に対する
操作の例は、「輪郭マーカ」の節に挙げてあるものと同じである(点/傾斜修正
、挿入、削除、その他)。 【0345】 (B2)設計リボン内の2次元輪郭点を修正する。利用者は、主要表示方向に
垂直な表示方向において2次元輪郭を直接に修正できる。2次元点は、常に、リ
ボンのパラメータ空間内に存在する。操作の例は、「輪郭マーカ」の節に挙げて
あるものと同じである(点/傾斜修正、挿入、削除、その他)。 【0346】 1つの輪郭セグメント当り、1つの表面あたり、1つの設計リボンのみが存在
し得る。設計リボンは、作成し、修正し、削除することが可能である。一旦作成
されれば、永続する;すなわち、設計者が後でこのセグメントを修正するまで、
変化せずに残る。設計リボンは、設計者がこれを修正するときにのみ表示される
。単一の輪郭が、この輪郭を含んでいる多数の表面に対応する多数のリボンを有
していても良い。 【0347】 なお、直接法を用いて輪郭を修正することにより、修正された点の間に広がる
如何なる設計リボンも削除されることに留意されたい。これにより、リボンは無
効となり、設計者はリボンを再指定せねばならない。 【0348】 C.輪郭の移動:設計者は、2以上の輪郭を選択し、同時に移動させる。すな
わち、このユーザインターフェース命令は、輪郭(または、そのセグメント)上
の全ての輪郭マーカを選択し、これら全体をユニットとして移動させる。 【0349】 D.輪郭の合併:設計者は、新たな輪郭を描き、これを、各輪郭の端点が一致
するように既存の輪郭に取付けることができる。さらに、設計者は、既存の輪郭
のどのセグメントを削除すべきか指定することができる。結果として、新たな輪
郭と、新たな輪郭と一致する端点を有する既存の輪郭の残された接続部分と、が
合併される。なお、輪郭を合併させることにより、2つの一致する端点の各々に
対する輪郭ハンドル、等傾ハンドル、およびリボン正接の集合は、単一の集合に
まとめられる。 E.輪郭の分離:1つの輪郭を単一点pにおいて2つに分離することができる
。2つの新たな輪郭の各々の端点はpにおいて一致すべく束縛される。 【0350】 <4.1.6.マーカおよび輪郭の削除> 輪郭の両端点における場合を除けば、輪郭マーカを削除することは常に可能で
ある。しかし、本発明のいくつかの実施例においては、小片を滑らかに維持した
い場合には、マーカを、束縛条件を有するマーカに置き換えることが必要である
。なお、新たな束縛された置き換えのマーカは、以前のマーカと同一の場所に存
在しても良く、そうでなくても良い、ことに留意されたい。 輪郭全体を削除した場合には、ユーザインターフェースは、何らかの従属する
幾何学的対象をハイライトすると共に、その輪郭およびこれに従属する幾何学的
対象を削除する前に利用者に確認を求める。したがって、本発明においては、モ
デルの幾何学的対象の間の従属性に関する従属性情報は充分に保持される;した
がって、他の対象を導くために使用した対象の修正に際しても、適切な追加の修
正は、これら、他の対象に対しても自動的に実行されることに留意されたい。 【0351】 <4.1.7.輪郭マーカおよび輪郭ハンドル> 輪郭マーカに対して、通常、2つの輪郭ハンドル、2つの等傾ハンドル、およ
び2つのリボン正接が存在することに留意されたい;すなわち、この輪郭を境界
曲線として有する各表面に対して、それぞれ、1つの輪郭ハンドル、1つの等傾
ハンドル、および1つのリボン正接である。しかし、いくつかの輪郭が集まる部
分では、輪郭に付随するハンドルの数はもっと多くなり得る;また、輪郭が表面
の端である場合には、もっと少なくなり得る。 【0352】 <4.2.等傾およびユーザインターフェース> 等傾ハンドルの傾斜は、マーカにおいて、また、マーカを含んでいる輪郭の周
囲部分において、表面接触性を制御する。等傾ハンドルの長さは、従属表面の全
体を制御する。すなわち、表面がどの程度ふくらんでいるかを制御する。或る等
傾ハンドルを、別の等傾ハンドルからオフセットされるべく(たとえば、−10
度だけ向こう側へ)束縛しても良い。等傾ハンドルは、輪郭に沿った任意の点に
おいて計算できる(輪郭上にマーカを挿入することにより)。 【0353】 <4.2.1.等傾ハンドルの作成> ユーザインターフェースは、等傾ハンドルを相互に対して束縛することをサポ
ートしている。このようなハンドルを、常に、正接であり、等しい長さを有し、
あるいは、いくらかオフセットされる、というように束縛することも可能である
。本発明の一実施例においては、ユーザインターフェースは、長さや方向などの
等傾ハンドル束縛条件値を表示し変更するためのポップアップメニューを備えて
いる。 【0354】 <4.2.2.等傾ハンドルの修正> 利用者が輪郭マーカを輪郭に沿ってスライドさせた場合には、利用者はこのマ
ーカに対して等傾ハンドルを固定することにより、この輪郭に隣接(および従属
)する表面を変化させることができる;あるいは、輪郭上の2つの最近接する等
傾ハンドルの間の補間により等傾ハンドルを得ても良い(この場合には、従属表
面は影響を受けないことを仮定している)。 【0355】 <4.2.3.等傾ハンドルの削除> ユーザインターフェースは、等傾ハンドルの削除をサポートしている。等傾を
削除する場合には、以下のステップが適用される。 【0356】 <4.3.特殊な幾何学的対象およびユーザインターフェース> 本発明においては、容器などの対象の設計を実質的に可能にするいくつかの特
殊な種類の幾何学的対象の作成および操作ができる。 【0357】 <4.3.1.ラベル表面> ラベル表面は、トリム表面の特殊な場合である。ラベル表面の特殊な場合の特
徴は以下の通りである。 (i)ラベルの下部から上部に向かって「分水嶺」輪郭が走っている、 (ii)対応するラベル表面がこの間で目盛づけられるのであるラベル曲線が
存在する(たとえば、図11のラベル曲線132)、 (iii)境界(トリム)輪郭が存在する(たとえば、図11のトリム輪郭1
38)。 【0358】 ラベル表面をその他のトリム表面から区別する重要な差異は、元の表面(ラベ
ル表面がトリムされる元の表面)が目盛付き表面であることである。より詳しく
は、ラベル表面を規定する曲線は、目盛付き表面がこれらの規定する曲線の境界
内に維持されるべく束縛されている。 【0359】 その他の表面をラベル用トリム輪郭に融合しても良い、しかし、トリム輪郭は
、これが目盛付き表面を境界することが保証される態様でのみ修正され得ること
に留意されたい。 【0360】 本発明一実施例においては、ラベル表面の2次元の「押し延ばされた」表現が
生成できる。すなわち、表面は、これを平坦に押し延ばすことにより、平面と1
対1に対応できるのである。このような表現は、設計者がラベル表面の上に図案
を描き、次いで、これで容器を包むという状況を表している。 【0361】 <4.3.1.1.ラベル表面の作成> ラベル表面を作成するためには、トリムされるべき上位構造の表面は、目盛付
きであると共に近似的に展開可能な表面、すなわち、何れの目盛線上においても
全ての法線が平行である目盛付き表面、でなければならない。次いで、利用者は
、通常の表面トリムステップを行う;すなわち、目盛付き表面上に輪郭を描き、
輪郭の両側(すなわち、ラベル表面、および、トリムで除去する表面部分)に(
部分)表面を生成し、ラベル表面をトリムし、トリム輪郭のその他の表面と融合
させる。 【0362】 トリムで除去する表面部分は、通常の閲覧時には隠されていることに留意され
たい(すなわち、もはや、見えるモデルの一部ではない)。 【0363】 ラベル表面を生成するために、次のような手続きが準備されていても良い。高
いレベルでは、この手続きの各ステップは、以下のようになる。 (i)表面が目盛付きであることを確認。すなわち、輪郭が4.3.1.節の
(i)および(ii)を満たすようにして、利用者が選択した輪郭を自動的に修
正することをユーザインターフェースがサポートしている。より詳しくは、この
ステップを実行するために、以下のサブステップが実行される。 【0364】 (ii)利用者が、ラベルの境界を規定する表面上に境界輪郭を描く、 (iii)ラベルのグラフィカル表現(すなわち、自身の上に、文字、図案、
および/またはデザインを備えた目盛付き表面)を構築、 【0365】 (iv)利用者に、このラベル表現をラベル表面(すなわち、この表現)上に
グラフィカルに貼付させる。より詳しくは、ラベル表現を貼付するためのユーザ
インターフェースは、グループ化型の操作により、自動的にラベル表現をラベル
に取付けても良く、その場合には、ラベル表現は、ラベル表面の回転、並進、縮
尺変更、等の操作の間にも、ラベル上の自身の位置を維持する。 【0366】 (v)ラベル表面および/またはラベルが満足の行くものでない場合には、利
用者に、設計の取消しを許す。 【0367】 <4.3.1.2.ラベル表面の修正> ラベル表面構成要素の修正は、トリム表面の修正と若干異なる。 直線セグメントである分水嶺輪郭の部分は、直線性を維持すべく束縛される。 【0368】 分水嶺の反対側の境界(親の目盛付き表面の他方の側)は修正できない。上部
境界および下部境界の間は単純な直線セグメントである。上部および下部の境界
輪郭は修正可能である。これらは、自身の上に追加の自由輪郭マーカが挿入でき
ないように束縛されている。また、分水嶺の遠い側の端の輪郭マーカは、目盛付
き表面を維持するためだけに移動すべく束縛されている。これが目盛付き表面で
あり続ける限りは、これは展開可能である(同じ曲率に沿って延長可能)と共に
、その端点の角度は再調整可能である。 【0369】 <4.3.1.3.ラベル表面の削除> ラベル表面の削除により、ラベル表面の作成に使用した全ての輪郭に対する束
縛条件が除去される。さらに、利用者には見えないラベル表面用の全ての構築対
象も削除される。目盛付き表面を維持するという束縛条件も除去される。したが
って、残っている幾何学的対象は、ラベル表面の束縛条件から解放され、それ以
前には可能でなかった方法により修正できるようになる。 【0370】 <4.4.孔あけツールユーザインターフェース> 本発明においては、利用者が、幾何学的モデルに孔を追加することを支援する
新たなコンピュータ技法が提供されて良い(たとえば、把手の無い瓶に把手を追
加するために)。この手続きによってモデルに孔を追加するために必要な情報は
次のようなものである。つまり、手前側表面上の輪郭セグメントのループ、奥側
表面上の輪郭セグメントのループ、輪郭のループの各輪郭の種類(自由形式また
はトリム)、および、孔の内部を形作るオプションの輪郭、である。 【0371】 <4.4.1.孔の作成> 孔作成ツールは、孔を追加するための一連のステップにおいて利用者をガイド
する。図22A〜図22Cは、本発明を用いて幾何学的対象604上に孔600
(図22C)を作成する手続きを示す図である。孔600を作成するために実行
する、これに対応するステップは以下の通りである。 【0372】 (a)手前側表面612上に輪郭ループ608を描く、 (b)奥側表面上に輪郭ループ616を描く(輪郭608を奥側表面に射影し
ても良い)。 輪郭608および616上に等傾ハンドルが自動的に配置されることに留意さ
れたい。 【0373】 (c)輪郭ループ608および616の1つに対する輪郭の1つ以上が、自由
形式輪郭である場合には、利用者が(輪郭ループを完結するために)新たな輪郭
、および/または、このようなループに対応して合併する輪郭、を追加しても良
い;これにより、これらの輪郭は、これらが単一の輪郭であるかのように使用さ
れるべく束縛される。したがって、輪郭ループが構築された後には、ループの間
で表面を剥がし、孔を塞いでいる元の表面を取り去ることができる。 【0374】 トリム輪郭ループが指定された場合には、輪郭ループ内部の表面領域がトリム
される。 指定された場合には、孔作成手続きは、追加の輪郭を使用して孔用の内部境界
上に表面を配置し成形する。そうでない場合には、手前側および奥側の輪郭ルー
プの間で表面が自動的に剥がされる。 【0375】 <4.4.2.孔の修正> 孔の修正は、孔の形状を形成している輪郭マーカおよび輪郭ハンドルを修正す
る機能により行われる。 【0376】 <4.4.3.孔の削除> 孔の削除は、孔の形状を形成している構成要素、すなわち、孔用の輪郭および
他の幾何学的対象、を削除する機能により行われる。 【0377】 <4.5.ユーザインターフェースを用いた滑らかさの考慮> (輪郭において)隣接する表面の間の推移の次数を考察する。本節には、第2
節に述べた一般理論に関するより広い示唆を含んでいる。 【0378】 <4.5.1.インターフェースを用いた連続輪郭> 交差する2つの輪郭曲線が与えられたとき、以下の条件が満たされれば、この
交点における導関数連続性が保証される。 (a)一方の輪郭の端点が、他方の輪郭の端点と一致する(位置連続性)、 (b)輪郭の生成に使用された融合関数Bi(図26および図27)が、交点
マーカにおいて等しい、 (c)交点マーカにおける輪郭ハンドルが共線的であり等しい長さを有する。 以下の、正接方向連続性は、上述の(c)を変更して得られる、より弱い条件
である。 (c*)交点マーカにおける輪郭ハンドルは共線的であるのみである。この場
合には、輪郭ハンドルの長さは異なって良い。 【0379】 設計者は、交点マーカにおける2つの輪郭ハンドルの共線性を破ることにより
、マーカ位置に折れ曲がりを作成することができる。これは、2つの輪郭ハンド
ルが共通の方向を有しないことを意味する。 【0380】 <4.5.2.連続表面> 表面の間の正接平面連続性の概念は、次のように定義できる。すなわち、2つ
の表面S1,S2の間の境界の各点pに対して、pにおけるS1の正接平面T1(p
)が、pにおけるS2の正接平面T2(p)に等しい。輪郭境界をまたがる表面の
間の正接連続性を実現するためには、輪郭境界上の各マーカにおける(各表面に
対する)等傾ハンドルが、相互に、また、そのマーカにおける輪郭ハンドルと、
共通な平面内に存在することが必要である。これが満たされない場合には、輪郭
に沿って表面上に折れ曲がりが生じる。 【0381】 2以上の表面片が生成されるべきであり、これらの小片が共通のマーカ点pに
おいて合わさるべく束縛する場合には、本発明においては、「共通方向ハンドル
」と呼ばれる等傾ハンドルが自動的に生成されることに留意されたい。 【0382】 すなわち、1以上の表面を規定するために使用される(pを有する)各輪郭P
に対しては、pに起点を有するベクトルVであるところの、対応する自動的に生
成された共通方向ハンドルが存在して良い;ここで、Vは、輪郭Pの輪郭ハンド
ルに対して垂直であり、この輪郭は、その他の輪郭に対する輪郭ハンドルにより
構成される共通平面内に存在すると共に点pを含んでいる。さらに、ユーザイン
ターフェースは、利用者が共通方向ハンドルを表示する、または、表示しない、
ことをサポートしていることに留意されたい。 【0383】 滑らかの表面を実現するためには、輪郭ハンドルおよび等傾ハンドルが、共通
マーカにおいて隣接する輪郭と整合する必要はないことに留意されたい;これら
が共通平面内に存在することだけで充分である。図18には、表面416,41
8に対して3つの輪郭曲線404,408,412が存在する。 【0384】 3つの輪郭曲線の各々は輪郭マーカ420において交わると共に、各輪郭は、
対応する等傾リボン424(輪郭404に対応),428(輪郭408に対応)
,432(輪郭412に対応)を有する。さらに、輪郭404,408,412
およびマーカ420に付随する輪郭ハンドルおよび等傾ハンドルは、以下の如く
である。 【0385】 (i)輪郭404に対して、輪郭ハンドル436および等傾ハンドル440、 (ii)輪郭408に対して、輪郭ハンドル444および等傾ハンドル448
、 (iii)輪郭412に対して、輪郭ハンドル452および等傾ハンドル45
6。 【0386】 したがって、輪郭ハンドルおよび等傾ハンドル436,440,444,44
8,452,456の全てが、平面460(破線を用いた矩形で示した)内に存
在する場合には、表面416,418はマーカ420において滑らかに接続する
。 【0387】 任意のマーカにおいて、2つの等傾リボンは、2つの輪郭が交わるのと同様の
態様で交わることが多い;すなわち、2つの等傾リボンは、各リボンに対する端
として共通等傾ハンドルを有して良い。 【0388】 複合輪郭によって接続している異なる(融合)表面領域S1,S2(図43)の
間の正接平面連続性を実現するためには、輪郭P1,P2をまたがる正接連続性が
必要であるばかりでなく、隣接するリボンR1,R2の間の正接連続性も必要であ
る。すなわち、輪郭P1(マーカ2010および2014の間)および輪郭P2(
マーカ2014および2018の間)に対して、それぞれのリボンR1,R2は、
これらを表面と考えると、正接平面連続でなければならないと共に、共通等傾ハ
ンドル2022を共有せねばならない。 【0389】 多くの場合には、リボンの間の正接連続性は、輪郭の間の正接連続性、および
、表面片境界をまたがる滑らかな推移に必要なリボン境界の間の正接連続性、と
等価であることに留意されたい。さらに、本発明のユーザインターフェースにお
いては、リボン境界の間の正接平面連続性を確保するための技法が提供される;
なお、これらの技法は、輪郭の間の正接平面連続性を確保するために使用した技
法と実質的に同一である。 【0390】 したがって、本発明においては、本発明に基づいて等傾リボンから生成された
隣接表面の間の正接平面連続性が得られる。 【0391】 状況によっては、複合リボンの連続性を意図的に破って、リボンから生成され
た表面を横切る折り目を形成することができる;なお、この折り目は、折り目に
沿って一致する輪郭と調和しない。しかし、本発明のいくつかの実施例において
は、この折り目と一致する「陰形式輪郭」が作成できる。 【0392】 <4.5.3.曲率連続性> 表面の見た目の品質は、正接平面連続性にだけでなく、高次導関数にも依存す
る。利用者は、表面曲率の不連続な変化を実際に感じることができる;これは、
特に、現実場面のシミューレーションでは普通に使用される鏡面ハイライトや反
射テクスチャマッピングにより表示された場合には、良く当てはまる。 【0393】 利用者は、「マッハベンド」として知られている目障りな人為構造を認めるこ
とができる。したがって、推移の間の連続性の次数を上げて曲率連続性にまで向
上させれば、この問題は改善される。 【0394】 解析によれば、式(1)または式(4)により規定された表面の曲率は、Bi
およびSiの2次導関数に依存する。Biに対する依存性は自明ではない;したが
って、2次導関数がゼロとなるように融合表面を選択して、表面関数Siが曲率
を決定するようにすることが有利である。2.1節の余弦2乗関数はこの条件を
満たす。また、これを満たす5次多項式も存在する。たとえば、式(3.1)の
多項式B1(x)がこれである。 【0395】 式(1)または式(4)により生成された融合表面の曲率がSiのみに依存す
る(すなわち、Bi''=0)場合には、正接連続性を実現するための前節の方法
と同様に、境界づける表面片Siの間の曲率次数を上げることが可能である。 【0396】 これを行うためには、単に、対応する輪郭および等傾ハンドルを、輪郭境界に
沿う各マーカにおいてこれらの2次導関数が一致するように、規定すれば良い。
しかし、各輪郭ハンドル212は1パラメータの線形関数と見なして良く、した
がって、2次導関数はゼロであることに留意されたい。したがって、曲率連続性
は実現される;ただし、輪郭をまたがる曲率は「平坦」、すなわちゼロにする。 【0397】 これは、輪郭上に屈曲点が存在する各点において有用であるが、その他の場所
においては望ましくない。この状況を修正するには、直線ハンドルを、放物線弧
のような曲線リブに置き換えれば良い。したがって、ハンドルは弧となり、マー
カにおいて、曲率は、所与の弧と整合する。 【0398】 輪郭ハンドル、等傾ハンドル、および境界ハンドル、等の全てのハンドルに、
ゼロでない曲率を与えると共に融合関数の2次導関数をゼロにする、という考え
を拡張すれば、マッハバンド効果が緩和される。 【0399】 <4.5.4.ロール、ヨー、およびマグニチュード表現を用いたG1連続性> 本発明においては、対応する輪郭曲線に相対してハンドルベクトル(たとえば
、等傾ハンドル)を指定するためのユーザインターフェース方法が提供される;
ここで、この輪郭により接続される表面の間のG1連続性(上述の「定義」にお
いて定義した)は確保される。 【0400】 本明細書においてロール−ヨー(roll−yaw)法と呼ぶこの方法では、
ロール、ヨー、マグ(mag:magnitude)と呼ぶ3つのスカラー量に
よりベクトルVを指定する;ここで、ロールおよびヨーは、曲線上の点Pにおい
て、点Pにおける正接ベクトルTと、点Pにおいて曲線に垂直なベクトルNと、
を用いて決定される。ベクトルVのヨー成分はPにおけるTからの角度ずれを表
す。 【0401】 たとえば、ベクトルVがTに垂直な方向にある場合には、ヨー値は(少なくも
1つの座標系で)0°であり、ベクトルVがPにおいてTと同じ方向にある場合
には、ヨー値は90°である。ベクトルVのロール成分に関しては、このスカラ
ー量は、Tを回転軸としてこの周りの回転角の量を表す;ここで、この角度を測
る際の基準軸はPにおけるベクトルNである。 【0402】 したがって、ベクトルNはロール0°を表し、その回転角は、右手系を用いて
−180°〜180°の範囲にある;この点は、当業者には明らかであろう。ベ
クトルVのマグ成分に関しては、これは単にベクトルVの長さを表す。ここで、
3次元デカルト座標で表した任意のベクトルは、所与のTおよびNに対して、ロ
ール、ヨー、マグの表記に1対1で変換できることに留意されたい。 【0403】 ベクトルNは、Tに垂直な平面内のベクトルの中から選択されて良いことに留
意されたい。しかし、これはNを最終的には決定しない。したがって、Nを規定
するためにはいくつかの方法を用いて良い。Nを決定するためのこのような方法
の第1のものは、単に、定ベクトルVCを選択し、次いで、N=T×VCの式か
らNを決定する。しかし、この方法においては、TおよびVCが共線的である場
合には、Nが不定となる。 【0404】 この式の結果がゼロベクトルとなる場合にもNの値を得るためには、Nを、共
線性のトポロジカルな近傍において近似することができる。これに対し、Nを生
成する第2の方法においては、基礎となる曲線のフレネ−セレー座標系を選べば
良い;この点は、当業者には明らかであろう。 【0405】 しかし、フレネ−セレー座標系は、曲線に沿った屈曲点においては不連続とな
り得る。したがって、本発明においては、複雑な(すなわち、3次元の)曲線に
対しても回転が最小である基準座標系を作成する方法を提供する;これにより、
曲線の方向や形状およびその正接ベクトルTに無関係にベクトルNを規定する際
の困難が軽減される。 【0406】 上述のように、ロール−ヨー法は、輪郭をまたがってG1連続性を実現するた
めの新たな方法を提供する。たとえば、図44に示した配置を考える;ここには
、左側等傾リボンLRおよび右側等傾リボンRRを有する輪郭が示されている。
各等傾リボンLR,RRはその両端に2つの対応する等傾ハンドルを有する;す
なわち、LRに対してHL1およびHL2と、RRに対してHR1およびHR2
である。 【0407】 輪郭上の任意の点ppに対して、輪郭Pの端点が、HP1,HP2と呼ぶハン
ドルを有するものと仮定すれば、輪郭で境界されている表面に対する輪郭をまた
がる連続性は、補間した等傾値IL,IRにより決定される。さらに、IRは、
(本発明の技法に基づいて)HR1およびHR2から補間され、ILは、HL1
およびHL2から補間される。 【0408】 したがって、当業者には明らかであるように、輪郭PをまたがるG1連続性に
関しては、ILおよびIRは少なくも反対方向(共線的)になければならない。
さらに、当業者には明らかであるように、ILに対してはHL1およびHL2の
間の立方エルミート補間、また、IRに対しては、HR1およびHR2からの立
方エルミート補間、を用いてILおよびIRが形成される場合には、G1連続性
のための条件は、HL1およびHR1が、長さの等しい反対方向のベクトルであ
ることである。さらに、HL2およびHR2に対しても同様のことが必要である
。しかし、等傾値IL,IRをデカルト空間において補間する代りに、補間を(
ロール、ヨー、マグ)空間において行う場合には、G1連続性は、よりきつくな
い条件、すなわち、HL1およびHL2のロール値が一致すること、により実現
できる。 【0409】 したがって、これは、輪郭P上の任意の点におけるG1連続性を保証するため
には、HL1,HR1,HP1が共面的でなければならないという以上のことを
要求しない(HL2,HR2,HP2に関しても同様)、ということである。さ
らに、等傾ハンドルが直線である代りに曲線である場合には、同様の条件を課し
て良いことに留意されたい。 【0410】 より詳しくは、輪郭Pと共通する点における等傾ハンドルに対する正接ベクト
ルを、図44に示した何らかの対応する等傾ハンドルベクトルの代りに用いても
良い。したがって、当業者には明らかであるように、必要な場合にはデカルトベ
クトルをロール、ヨー、マグベクトルに変換し、次いで、上述の共面的束縛条件
が満たされることを確保し、これにより、表面が輪郭PをまたがってG1連続で
あることを保証する、というロール−ヨー法を実行するコンピュータステップが
準備できる。 【0411】 <4.6.モデル内にモデルを埋込む> 本発明においては、輪郭により境界されている表面の部分ごとに、互いに独立
に設計を行うことが可能である。たとえば、表面の三角部分を、自立した表面モ
デルとして設計しても良い。そうして、設計者は、満足の行く設計のモデルが得
られるまで、必要なだけ、輪郭や等傾リボンを追加して良い(当業者には明らか
である重心マッピングを用いる)。 【0412】 その後、この小片を、変形したり、回転したり、別のモデルの三角部分に取付
けたり、して良い。したがって、精密に仕上げたモデルを設計後別のモデルに埋
込んで良い。結合を維持することにより、この処理を、詳細管理のレベルで用い
ることができる。すなわち、たとえば、モデルを遠くから眺める場合には、詳細
な部分は表示する必要がない;しかし、モデルが近づいてきた場合には、詳細な
部分を表示するために埋込まれた対象を結合するのである。2種類の埋込みを次
の節で説明する。 【0413】 <4.6.1.丸め(rounderizing)技法> 図20においては、小さな融合表面が、2つの交わる表面484,486の間
の稜を丸めている。この融合表面480は、狭い表面帯488,490から融合
されたものである;ここで、この狭い表面帯の原像は、パラメータ空間における
稜482の原像からの「小さな」オフセットである。この処理は式(1)の直截
的な応用であり、2つの表面484,486は、共通のパラメータ空間(図示せ
ず)を用いて融合される。 この新たな表面種類は、説明した特定の場合に、特に効率的である新たな評価
ルーチンを導入することになる。 【0414】 <5.評価> 最初に、2辺融合の評価を考察する;なお、その他の形式はこの基本形式から
導かれるものと考える。重要であるので再記するが、式(1)は、以下の通りで
ある。 【0415】 【数28】 【0416】 表面Sの評価に際して決定すべきものは、融合関数Biおよび等傾リボンSiで
ある。融合関数は、パラメータ空間における距離の1変数関数として計算される
。第2節で説明したように、距離関数の評価は、パラメータ空間における原像が
どの程度複雑であるかに依存して著しく変化する。 【0417】 決定した後には、実際の融合値は、単純な表検索により計算できる;すなわち
、融合関数は、充分に高い分解能で作表されメモリに記憶される;そして、入力
値に応じて検索される。式(3.1)の融合関数B1(x)を考える。 【0418】 この関数をx=0,0.01,0.02,…,0.99,1で評価する。これ
らの1001(101)の値は配列として記憶される。点Xが与えられた場合に
は、配列の最も近い値、たとえば、0.52と0.53の間、を特定するために
使用される。次いで、B(0.52)またはB(0.53)が関数値として使用
される。 【0419】 距離関数および等傾リボン関数が如何なるものであるかに応じて、適用できる
技法は多数存在する。本節における説明では、計算的に単純なモデルを仮定して
いるがそれにも拘わらず設計上の著しい柔軟性を有する方法、に注目する。図2
1において、等傾リボン508(S1),516(S2)が与えられる。これらは
u,v両方のパラメータに関して、0〜1でパラメータ化されている。輪郭線5
04に沿ったvの各固定値に対して、等傾リボン508上の対応するピケットが
直線セグメント(たとえば、線分512)である場合には、当業者には明らかな
ように、等傾リボンは目盛付き表面である。したがって、点(u,v)が見い出
されるような場所においては、パラメータuは、目盛線に沿った距離的測度を提
供する。 【0420】 各等傾リボン508,516は目盛付き表面であると仮定する。さらに、パラ
メータ空間における各輪郭504,506の原像は、輪郭自身であり、また、距
離的測度は、等傾のv0目盛線上の点(u,v0)のuパラメータの値である、と
仮定する。等傾リボン508,516は目盛付き表面であるから、一定のパラメ
ータv0に対しては、直前の値に適切なオフセットベクトルを加えることにより
、線分512,520に沿った等距離点の集合を走査することができる。初期値
はSi(0,v0)である。オフセットベクトルは以下式で与えられる。 【0421】 【数29】 【0422】 ここで、nは、等傾リボン(原像)の一方の端から他方の端まで走査すべき目
盛線上で所望する点の数である。 設計的な観点から望ましいように、融合関数が1の分割、すなわち、B1=1
−B2、であるという束縛条件を課す場合には、式(1)は以下のようになる。 【0423】 【数30】 【0424】 一実施例においては、この形式および以前の単純化を用いれば、各点に対して
、3つのベクトル加算(S1、S2、および「+」に対して)、1つの表検索(B
1(u,v)に対して)、および1つのスカラー乗算、が必要であることが判る
。これは初期化後であり、各Si(0,v)を見い出すことと、(式(10)を
用いて)オフセットベクトルT0を計算することと、から成っている。S上の点
の集合を走査するためには、単にパラメータvを増分すれば良く、これにより、
uにおける目盛に沿った点が計算できる。 【0425】 定義された4辺表面の場合には(4.6.1.節)、いくつかのSiは上述の
2辺の場合である;しかし、その他は、最初にリボンを横切って長手方向に融合
する。より詳しくは、図34におけるv屋根の場合は、再ラベリングをすれば図
35と同じである;しかし、図34におけるu屋根は、等傾リボンの水平融合で
ある。4辺表面は、4つ全ての重心融合から得られる。 【0426】 図33においては、その間に表面を配置したいのである4つの輪郭曲線P11,
P12,P21,P22が示してある。図33においては、輪郭曲線P11,P12を、こ
れに対応する等傾リボンR11,R12と共に用いて、融合表面S1を生成している
。 【0427】 S1は正確に上述の2辺の場合であると評価されるが、S2の生成(図35)は
、u,vパラメータが反転しているので、これと異なる。この場合には、等傾R
21,R22上の直線セグメントが、u固定かつv走査の場合に対応する;これは、
迅速な走査とは相容れない状況である。しかし、図34および図35においては
、1つのパラメータのみを固定し、他方を走査することが望ましい。一実施例に
おいては、この問題は、等傾R21,R22に対してこれと異なる定義を行うことに
より、解決される。すなわち、このような各リボンは、簡単な利用者入力によっ
て規定される2つの目盛付き表面の融合となる。たとえば、等傾リボンR21を考
える。 【0428】 これは、2.2節において説明すると共に図37〜図39に図示した表面生成
技法に類似の方法によって、2つの双一次表面1950,1952を融合するこ
とにより規定しても良い。すなわち、双一次表面1950,1952の、輪郭P
21上の正接である縁は輪郭ハンドル1956,1960である;境界ハンドル1
964,1968は、リボン境界1972に対する正接であると共に双一次表面
の反対側の縁を形成する。残りの2つの線分1976,1980は、利用者入力
である。 【0429】 これで、2番目に、vを固定し(u屋根)、単一のベクトルオフセットを加え
ることにより走査できる。この結果として、等傾リボンS21,S22上の点が得ら
れる;それぞれ、v屋根上の点を得た場合と同じ作業量で得られる。さらに、新
たな点を融合してS2上の点を計算しなければならない。演算を数えると、11
のベクトル加算、5つのスカラー乗算、および1つの表検索、である。この増加
は、v屋根に対して3つ、u屋根の等傾に対して3つずつ、これらの等傾の融合
に対して1つ、そして、2つの屋根の融合に対して1つ、である。 【0430】 一般のN辺表面に対しては、最初に各リボン上の距離を計算することが必要で
ある。パラメータは、2.2節のN辺パラメータ化技法を用いて計算できる。次
いで、これらの距離を式(6)の融合関数に代入する。これらは0〜1の間で変
化するよう調節される。 【0431】 リボンに対するパラメータは、このように与えられた距離から設定せねばなら
ない。すなわち、一方のパラメータは、(輪郭からの)距離である。他方のパラ
メータは、図12のパラメータ線がN辺多角形の縁のどこで交わるかを決定する
ことにより導くことができる。ここで、この多角形は長さ1の辺を有するものと
仮定する。これらのパラメータが計算できた後、式(4)により全ての必要な計
算ができる。 【0432】 <6.用途> 本発明は、様々なコンピュータ設計の領域において利用できる。より詳しくは
、以下に、本発明が適用できるいくつかの分野の簡単な説明を行う。 【0433】 <6.1.容器の設計> 瓶などの容器の自由形式の設計は、従来、直覚的でなく、また、面倒なもので
あった。本発明はこれらの欠点を緩和する。 【0434】 <6.2.自動車の設計> 自動車産業においては、本発明は、自動車車体の設計および自動車部品の設計
に利用できる。より詳しくは、本発明似よれば、部分や輪郭の変形を行うことが
容易であるので、部品や窪みの直截的な変形が可能であり、したがって、特定の
窪み内への部品のはめ合せがより容易に設計できる。 【0435】 <6.3.航空機> 本発明によれば、航空機産業において必要とされる高精度のトリム操作や表面
パッチ操作が行える。 【0436】 <6.4.造船> 造船産業に特徴的な点は、船体およびプロペラ(スクリュー)の設計が必要な
ことである。船体およびプロペラの設計は、水流に関する制約条件の物理学によ
り押し進めることができる。このような制約条件を満たすことは本発明の範囲内
に含まれる。 【0437】 <6.5.従来のCAD/CAM用途> エンジン、配管レイアウト、および板金製品の設計への応用に際しては、トリ
ムや融合の機能が必要である。本発明は、このような操作を行う場合に特に効率
的であると共に表面の変形を容易に行うことができる;これらの長所はこのよう
な分野において特に有用である。 【0438】 <6.6.その他の用途> 以下のリストは、本発明をコンピュータ援用設計に用いることのできるその他
の分野を挙げたものである。家庭用電子機器および電気器具の設計、樹脂射出成
形金型の設計、工具およびダイの設計、玩具設計、地質学モデリング、地理学モ
デリング、鉱山設計、美術および娯楽、彫刻、流体力学、気象学、熱流、電磁気
学、形成外科、burn masks、歯科矯正学、補綴学、服飾デザイン、靴
デザイン、建築デザイン、仮想現実デザイン、科学データの可視化、訓練受講者
用の幾何学的モデル(たとえば、医学的訓練)。 【0439】 本発明に関する以上の説明は、例示および記述の目的で行ったものである。さ
らに、この説明は、本発明を、本明細書に開示した形式に限定することを意図す
るものではない。したがって、上述の開示から関連技術における経験と知識とに
基づいて導かれる変更や修正は、本発明の範囲内に含まれる。上述の実施例は本
発明の実施に当り現時点において最適な態様を説明すると共に、当業者に対し、
本発明を、上述の実施例または別の実施形態において、用途に応じた必要な変更
を行って、利用を可能ならしめることを意図するものである。付属せる請求の範
囲には、先行技術から可能と判断される範囲の実施例の変更が含まれるものとす
る。 【図面の簡単な説明】 【図1】 本発明において生成された表面62を示す図である;なお、この表面は、表面
30,34の間を補間すると共に、等傾リボン61,63に従って所定の方向で
曲線54,58,60を通過する。 【図2】 図1の表面の変更例を示す図である;なお、この表面30は、本発明の方法に
よりこれに融合される円盤66を有している。 【図3】 本発明において表面30,34の間に生成された融合表面62aを示す図であ
る;なお、この表面62aは曲線54,58を通過する;また、この融合は、本
明細書に記載した新たな表面生成計算式(式(1))により行う。 【図4】 パラメータ空間における幾何学的実体と対象空間における幾何学的実体との対
応関係を示す図である;なお、パラメータ空間における直線78a,78bは、
それぞれ、曲線54,58という対象空間像を有する;また、パラメータ空間に
おける直線86は、曲線80という対象空間像を有する。 【図5】 本発明の実施例のいくつかにおいて使用される2つの融合関数B1,B2のグラ
フ表現を示す図である。 【図6A】 本発明において使用できる別の融合関数のグラフである。 【図6B】 本発明において使用できる別の融合関数のグラフである。 【図6C】 本発明において使用できる別の融合関数のグラフである。 【図6D】 本発明において使用できる別の融合関数のグラフである。 【図7】 パラメータ空間および対象空間における幾何学的実体の対応関係を更に示す図
である。 【図8】 本発明において円筒108に融合される楕円領域100をを示す図である;な
お、閉曲線110は、この閉曲線に融合する円筒108の変形部分からその楕円
領域を規定する。 【図9】 本発明の方法により円筒116上に生成された単純な突起112を示す図であ
る。 【図10】 2つの交差する部分曲線124,128を含む合成曲線120(後述)を示す
図である。 【図11】 ラベル表面134をトリムする元の表面130を示す図である。 【図12】 頂点v1,v2,v3,v4,v5を有する多角形の内部にある点pからの距離的
測度を決定する1つのコンピュータ技法を示す図である;なお、この多角形の各
辺への距離的測度は、放射処理により生成された対応する頂端150を用いて決
定される。 【図13】 パラメータ空間(すなわち、単位正方形)における2つの境界曲線156a,
156bを示す図である;なお、その間にある領域片168は、座標(s,t)
を用いてそれ自身をパラメータ化できる;ここで、sは、対向する部分曲線16
0a,160bの対の上に存在する2つの対応する点の間の距離と共に線形的に
変化する;また、tは、部分曲線160a,160bの対の各々の上に存在する
対応点を決定する。 【図14】 3つの表面S1,S2,S3により規定された側面およびリボンを有する領域を
示す図である;なお、本発明においては、後述する式(5)を用いて、この領域
300に対する表面片を生成することができる。 【図15】 一般的コンピュータ幾何コンセプトと、本発明の基礎を成す新たなコンセプト
と、を示す図である。なお、これらの図は、上述の「定義」の節において定義し
た用語を例示するために使用するものであることに留意されたい。 【図16】 一般的コンピュータ幾何コンセプトと、本発明の基礎を成す新たなコンセプト
と、を示す図である。なお、これらの図は、上述の「定義」の節において定義し
た用語を例示するために使用するものであることに留意されたい。 【図17】 幾何学的対象を設計中の本発明の利用者により行われる設計構築操作のフロー
の典型例を示すブロック図である。 【図18】 輪郭マーカ420の位置で出会う3つの輪郭曲線404,408,412を示
す図である;なお、表面416,418は、共通平面460に存在する等傾ハン
ドル(マーカ420に対するもの)のために、マーカ420の位置で滑らかに結
合する。 【図19】 表面484,486の間に面取り部を形成する表面480を規定する輪郭曲線
x,yを示す図である。なお、輪郭x,yは、通常、表面484,486の交線
482からの距離488,490を用いて規定される。 【図20】 本発明において等傾リボン508,516から融合表面を計算するための一実
施例を示す図である。 【図21A】 本発明において穴600を生成するための手続きを示す図である。 【図21B】 本発明において穴600を生成するための手続きを示す図である。 【図21C】 本発明において穴600を生成するための手続きを示す図である。 【図22】 本発明における融合表面710を示す図である;なお、この融合表面は、円筒
722の縮重した輪郭(点)714と円形端718との間に延在している。 【図23】 本発明において、縮重した輪郭(点)754と、円形曲線760を有する平面
円盤758と、の間に延在する融合表面750を示す図である。 【図24】 半円形リボン784a,784bの間で表面を融合させるための本発明の融合
技法による結果を示す図である;得られた表面786は、これらの2つのリボン
の間で融合している。 【図25】 本発明において「前進アルゴリズム」を用いて決定された点p(u,v)を有
する融合表面808を示す図である;なお、パラメータ空間158における点は
、追加のパラメータ空間828における点を用いてそれ自身パラメータ化される
;また、追加のパラメータ空間における点830は、輪郭812,816(対象
空間におけるもの)の原像(パラメータ空間158におけるもの)の距離的測度
を効率的に決定するために使用される。 【図26】 本発明における新たなコンピュータ技法の1次元の実施例を用いて本発明にお
ける補間曲線を計算するためのステップを示すフローチャートである。 【図27】 等傾リボンの等傾境界に対する近似を構築する際に行うステップを示すフロー
チャートである;なお、境界は、等傾リボンに対して輪郭の反対側に存在する。 【図28A】 図27で得た近似より精密な等傾リボン境界を構築するためのプログラムのフ
ローチャートである。 【図28B】 図27で得た近似より精密な等傾リボン境界を構築するためのプログラムのフ
ローチャートである。 【図29A】 部分表面Siに対する境界を規定する1以上の輪郭曲線上のマーカに対する等
傾ハンドルおよび/またはリボン正接の幾何学的特性を変化させることにより、
合成表面S0の1以上の部分表面Siを修正するためのフローチャートである。 【図29B】 部分表面Siに対する境界を規定する1以上の輪郭曲線上のマーカに対する等
傾ハンドルおよび/またはリボン正接の幾何学的特性を変化させることにより、
合成表面S0の1以上の部分表面Siを修正するためのフローチャートである。 【図29C】 部分表面Siに対する境界を規定する1以上の輪郭曲線上のマーカに対する等
傾ハンドルおよび/またはリボン正接の幾何学的特性を変化させることにより、
合成表面S0の1以上の部分表面Siを修正するためのフローチャートである。 【図30A】 利用者が等傾ハンドルおよび/またはリボン正接を修正した際に部分表面Si
をリアルタイムで修正するために、図29のフローチャートにより起動されるプ
ログラムのフローチャートである。 【図30B】 利用者が等傾ハンドルおよび/またはリボン正接を修正した際に部分表面Si
をリアルタイムで修正するために、図29のフローチャートにより起動されるプ
ログラムのフローチャートである。 【図31】 本発明の一実施例において、表面の形状を変化させる操作を行う利用者が実行
する高次レベルのステップを示すフローチャートである。 【図32】 補間曲線C(u)を計算するために図26のフローチャートで使用されるパラ
メータの数値例を図形的に示す図である。 【図33】 4つの輪郭曲線P11,P12,P21,P22を示す図である;なお、これらの輪郭
により囲まれた表面を生成することが必要とされており、また、この表面は、こ
れらの4つの輪郭(および、これらに付随する等傾リボン)により規定される。 【図34】 図33の4つの輪郭曲線を用いて2つの2側面融合体から4側面片(図36)
を生成する1つの方法の実行中に生成される中間的表面を示す図である。つまり
、融合表面S1(図34)は等傾リボンR11,R12(それぞれ、輪郭P11,P12
に対するもの)を用いて生成される;また、融合表面S2(図35)は等傾リボ
ンR21,R22(それぞれ、輪郭P21,P22に対するもの)を用いて生成される。 【図35】 図33の4つの輪郭曲線を用いて2つの2側面融合体から4側面片(図36)
を生成する1つの方法の実行中に生成される中間的表面を示す図である。つまり
、融合表面S1(図34)は等傾リボンR11,R12(それぞれ、輪郭P11,P12
に対するもの)を用いて生成される;また、融合表面S2(図35)は等傾リボ
ンR21,R22(それぞれ、輪郭P21,P22に対するもの)を用いて生成される。 【図36】 S1(図34に図示)およびS2(図35に図示)からの誘導により得られる融
合表面Sを示す図である;なお、Sは、後述する「詳細な説明」の第5節に示す
式(11)に基づいて生成される。 【図37】 本発明の一実施例において、2つの表面SL,SRから表面Sを生成するために
使用される幾何学的対象を示す図である。特に、この図は、以下の図38〜図4
1において使用する記法を示している。 【図38】 4側面片を生成するための本発明の一実施例を示す図である。 【図39】 図38で生成した4側面片を生成するための本発明の別の実施例を示す図であ
る。 【図40】 図38の幾何学的対象と図39の幾何学的対象との間の記法の対応関係を示す
図である。 【図41】 図38の幾何学的配置の一例を示す図である;なお、図38の輪郭P3,P4は
縮重している。 【図42A】 輪郭曲線2003,2004上に留まるべく束縛されているマーカ2002の
動きを示す図である。 【図42B】 輪郭曲線2003,2004上に留まるべく束縛されているマーカ2002の
動きを示す図である。 【図43】 2つの融合表面S1,S2の間の正接平面連続性を確保するために為されるとこ
ろの合成輪郭曲線およびこれに対応する等傾リボンに対する束縛を示す図である
。 【図44】 P上でG1連続性を実現するための条件を説明するために、輪郭P、付随する
等傾リボンRL,RR、および様々なハンドル、を示す図である。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to systems and methods for performing computer-aided design, and more particularly, to systems and methods for performing computer-aided design.
Or efficient computer techniques for performing fusion between geometric objects.
. BACKGROUND OF THE INVENTION Computer Aided Design (CAD)
The designers using the computer system for the n) are free from the
For example, when designing the surface), first bind to pass through this object
Start by specifying the characteristic and / or essential sub-elements of the geometric object
Usually, Next, a geometric object that matches the given binding subelement is
The spawning process is started. [0003] More specifically, such sub-elements may be points, curves, surfaces and / or
It may be a higher-dimensional geometric object. For example, a designer designing a surface
, A plurality of curves through which the intended surface may pass may be constructed and arranged (as used herein).
These curves are referred to as “feature straight lines” or “feature curves”. Thus, the geometric properties of the intended surface (eg, differentiability and curvature)
) Is generally sufficient to obey the constraints of the curves placed on this surface.
It is expected to vary substantially only in degrees. [0005] In other words, a surface is created that a designer would normally call "appropriate" to those skilled in the art.
Expect that. Therefore, the designer must construct and arrange such a characteristic curve.
Is usually not easily interpolated from other parts of the surface already designed.
In such areas, the operation is performed so that the intended surface geometry changes. As a more detailed example, when designing a container such as a bottle, the outer surface of the bottle is intended
(A) a characteristic curve in which the surface to be placed is located at the high curvature portion of the bottle surface,
A unique geometric characteristic such as having a shape or contour so that the
First, it may be specified by a partial element such as a partial surface to be provided. In this way, the designer who intends to design the bottle surface satisfies the constraint conditions entered by the designer.
At the same time, design a bottle that is also appropriate. In addition, the designer drills holes as handles.
It is also possible to keep the bottle surface in the proper shape and
By deforming the handle, a handle having a more usable shape may be created. However, the designer of the geometric object (or more generally, the user) inputs the constraint.
In this way, the person's design intention can be expressed easily and efficiently,
Conventionally, there is no CAD system capable of obtaining a geometric object of a shape.
Was. That is, a designer or a user incurs a considerable overhead for an operation.
And / or the designer or user may not be able to
Non-intuitive geometric pairs that require considerable experience to be able to
In some cases, elephant definitions and transformation techniques were used. For example, in many of the conventional CAD systems, a “control point (con
Troll Points) "and specify and / or manipulate specific points
Methods are provided that allow more surface design and / or deformation. And
However, such a method requires a lot of calculation time and is not intuitive.
What is more than local deformation of the surface associated with each such control point is justified.
Not easy. [0011] Furthermore, in some of the CAD systems according to the prior art, individually designated
The surface is defined and defined by what is called a control vector (control vector).
And / or deformation techniques are provided. That is, the direction of these vectors
May be used to define the associated surface shape or contour. However, each control vector usually has a corresponding control vector.
Only corresponds to a single point independently of other points on the surface
Intent does not map well with surface design techniques that use such control vectors
Sometimes. Thus, these techniques at best correspond to the control vector.
It is only possible to locally deform the surface near the point. [0013] Further, such a CAD system according to the prior art includes fusion operation and trimming.
There is a problem with precise operation. For example, along common boundaries
In the case of two geometric objects trying to abut each other, the boundary at this boundary
There is not enough tolerance for each other. [0014] That is, there is a sufficiently large void between these geometric objects, and the "watertightness"
(Watertight) ”is not considered, in which case the machining operation
Problems can occur with composition and other operations such as Boolean operations on solids. [0015] Therefore, a designer or user using CAD can more easily and efficiently use the CAD.
One or more geometric design techniques that enable precise and precise design of geometric objects
It is strongly desired to build a CAD system equipped with In addition, the user
Improve control when defining and / or deforming geometric objects on the computer
In particular, the shape or outline of computer-designed geometric objects can be widely
Graph geometric objects across them, allowing them to be more intuitively controlled
There is a need for systems and / or computer techniques for displaying graphics.
You. <Definition> In this section, basic terms used in the description of the present invention are defined. These definitions are
This is also illustrated in FIGS. A “parameterized geometric object” S is a geometrical object defined as an image of a function f.
Where the domain of f is in a coordinate system (referred to as "parameter space").
Within the embedded geometry, the range of f (range) is in another geometric space
(Called “target space”). Typically, the inverse or pre-image f of a geometric object such as S -1 Is a geometrically simpler object than its own image in the object space. For example,
The original image of the curve 170 in the elephant space is a simple line segment 172 in the parameter space.
, L may be used. Then, if S represents a curve in the target space, f
And S may be identified in the expression, in which case, u∈L
A point on the curved line S is expressed as S (u). Similarly, the original image of the surface 204 (FIG. 16) in the object space is stored in the parameter space.
A simple bounded area 180 may be used. And S represents surface 204
Then, (u, v) ∈f -1 For (S), points on surface 204 are represented as S (u, v).
Will be revealed. “Contour (side)” 200 (FIG. 16) refers to the geometric
The geometric object (eg, pair) that the modeled object (eg, surface 204) should pass
Curve in the elephant space). That is, such a profile (contour) 200
Is used when generating a geometric modeling object. Therefore, the profile (contour) is used by artists and designers
Is a common natural way of designing in a holistic way;
When defining the characteristic shape of the geometric object (surface) inside, the characteristic curve,
This can be considered using a contour curve. For example, the contour curve on the surface is the geometric shape of the resulting geometric object.
Substantially define the shape, ie its continuity, curvature, shape, boundary, shrinkage, etc.
Is also good. Here, in many design applications, the contour is usually continuous and differentiable.
Note that there is. However, such a restriction is not essential. For example, the contour passes through this
In addition to giving the overall shape or form of the geometric object, this geometry
Gives the texture of the target object. Therefore, if the contour is fractal or fractal-like, the obtained geometric
The surface near the contour of the biological object is given a certain fractal contour
No. The use of higher dimensional (≧ 2) contours is also included in the scope of the present invention.
Note that That is, the contour may be a surface or a solid. Therefore, if the contour is
If at least some of the geometric properties of this contour are locally (i.e.,
(In the vicinity of). Further, the contour (and / or a portion thereof) may be represented in a linear representation (eg,
Surface computing), elliptical expression, NURBS expression, Bezier expression, etc.
It may be a functional expression. But no matter what computational expression
Also have a way to deform or reshape each contour (eg, interpolation)
Note that it is desirable. More specifically, the contour obtained by such a method can be used to define one or more predetermined points.
Pass (or pass), are continuous, differentiable, have minimum curvature
It may be desirable to satisfy certain geometric constraints, such as Further, such a deformation method includes decomposing an outline into partial outlines.
The common boundary (for example, a point) between the sub-contours of the
Note that features that are "possible" may be provided. The “marker” 208 (FIG. 16) refers to the outline 20 in a region near the marker.
Points on the contour that can be moved to change the shape of 0. Mar
Mosquitoes can also deform contours of geometric objects that have contours.
Also used to specify the location of the. “Contour handle” 212 (FIG. 16) is a geometric object tangent to contour 200.
is there. By using such a contour handle, the inclination of the contour at the position of the marker 208 can be adjusted.
By changing the slope (derivative), the shape of the contour can be controlled locally.
Wear. Alternatively, for non-differentiable contours, the corresponding
Control the overall shape of the contour by indicating the overall direction and slope of the contour
be able to. For example, fractal contours or other non-differentiable geometric objects,
, The contour handle should, for example, confine this contour.
May specify a range within the target space; that is, the range is a tubular
The contour may be confined within this tubular region. The contour hand
By changing the length of the contour handle 212, the contour handle 212
For example, the deviation from the straight line between the markers on this contour
Note that The “isoclinic boundary” 220 is an isoclinic ribbon 21
6 is a boundary curve facing the contour 200 on FIG. In one embodiment, contour 200
For each of the above points, there is a corresponding point on the
Such a pair of points is usually orthogonal to the tangent vector at that point on the contour.
Defines a vector 224 (referred to as "Picket"). More specifically, for a parameterized contour, the equi-inclined boundary 220
Can also be considered as a set of pickets at all 200 possible parameter values
You. An “isoclinic ribbon (isoclinic ribbon)” (or simply “isoclinic ribbon” (isoclinic ribbon))
Klein)) refers to a geometric object (eg, surface) 20 in a contour 200
4 (more generally, the geometric object 204) to define the slope
Etc. are geometric objects. Alternatively, the contoured ribbon is a contour 200 with a contoured handle
218a, 218b (described below) and a geometric
It may be regarded as an expression of the object. In other words, the geometric object 204 is oriented along its contour 200 along the
16 and "heel contact". In other words, in one embodiment,
, The geometric object 204 is continuous at equi-incline 216 and the entire contour 200
Must be continuously differentiable along the body. In another embodiment, a similar term as described above in describing the term “contour”
By specifying the possible geometric range of the object 204 by the method,
204 may be constrained by an equal inclination 216. In addition, two for each contour 200
Note that an equi-inclined ribbon 216 may be attached. In particular, a ring that is the boundary between two abutting surfaces (eg, two abutting surfaces 204)
For the gull, there can be a contoured oblique ribbon for each of the two surfaces
. In this case, it can be referred to as a right isometric ribbon and a left isometric ribbon.
. The “equally inclined handle” 228 is a symbol indicating the position of the isometrically inclined ribbon 216 at the marker 208.
A geometric object (eg, a vector) for controlling the shape,
The contour handle and the equi-tilt handle at the f position define a plane tangent to the surface 204.
May be specified. Accordingly, the isometric handle is positioned on the surface 204 (and also near the marker).
Is used to determine the shape of the other underlying geometric object. In particular, the equi-tilt handle 228 is a picket 224 that can be operated by a user. all
All of the contour handles 212 and the isotropic handles 228 (for example, two or more contact surfaces)
) Share a plane at the marker 208 location,
204 is smooth at this marker position (assuming the surface is continuously differentiable
), Otherwise, the surface will have folds and points. Here, at a marker position, a certain handle (equally inclined handle or contour hand)
) From the plane of another handle, along the contour 200 to the surface 204
Note that the pleats can be created intentionally. The part of the outline 200 between the two markers 208 is called a “partial outline” 232. same
Similarly, the portion of the isometric ribbon 216 between the two isometric handles 228 is referred to as a "partial ribbon".
"240. A “partial boundary” 244 is the part of the boundary 220 between the two isotropic handles 228
It is. A vector tangent to the tangent boundary 220 at the position of the eccentric handle 228
The tor 246 is referred to as “ribbon tangent (ribbon tangent)”. In the present invention,
In addition, corrections to the ribbon tangent are also made to the underlying geometric pair, such as surface 204.
Note that it can be used to control and / or change the shape of the elephant
. The isotropic handle 228 may be generalized to specify the curvature of the surface 204
. That is, instead of the equi-tilt handle being a linear vector, the handle is bent.
This is referred to as “ribs 248”. Therefore, these
The ribs provide a bend between surfaces having an accompanying equi-inclined ribbon along a common contour boundary.
It is possible to preserve the continuity of the rate;
It is because it is done. Therefore, if the curvature of such a surface matches the curvature of the corresponding equi-tilt rib,
In both cases, tangency is also ensured. A “deployable surface” is conceptually a flat surface that can be pulled out flat without tearing or shrinking.
It is a surface that is capable, ie, deployable. This is a “scaled surface (ruled
Face)); this latter surface is optional on this surface.
The ruler (ruler) (the straight end of the ruler) can follow along at any point,
Along the entire ruler, find an orientation that allows the ruler to touch the surface.
Is defined as a surface that can On deployable surfaces, along the scale
The normals (surface perpendicular) at are all equal. The “label surface” refers to a feature capable of attaching a label to a container or the like.
Another two-dimensional (deployable or approximately deployable) surface. label
On the surface, a transfer sticker can be used without tearing or shrinking. This surface
Is very tight, usually due to the geometric deformation of the isotropic ribbon 216.
It cannot be transformed. A “trim profile” is used to trim other geometric objects (eg, surfaces).
A geometric object (curve) used as an outline for the object. Trim contour is single correspondence
May have only the equi-inclined ribbon 216;
If it is a surface, it cannot be deformed, so it can be
Cannot be used. [0048] Trim contours (curves) are used to define any surface except the label surface
it can. A surface S fused to one or more other surfaces along a trim contour is a surface S
When overlying a trim profile, it is referred to as an "over built surface". Was
For example, in FIG. 12, the surface 130 is an overlapping surface, and the surface
The face portion is usually not revealed to the designer after trimming. The “convex combination” of the argument Fi is the sum ΣiciFi; where ci is the scalar relation
Scalar multiplication for Fi is assumed to be well defined (Fi is
For example, a vector, a function, or a differential operator), ci ≧ 0 and Σi
It is assumed that ci = 1. If Fi is, for example, a point in space, all of these
It is clear to a person skilled in the art that the set of possible combinations of “Forward evaluation” is one of the techniques for evaluating geometric objects, and the function f (x)
Evaluate f while sequentially incrementing the argument value x to produce a set of sample values from
It is a way to pay. This type of evaluation method is usually fast and efficient, but incremental
No function value is obtained at an intermediate position of The “implicit function” is expressed in the form of f (x) = 0.
The function to be represented. X∈R H . Parameter curve or parameter surface
Is converted to an implicit form is called "implicitization".
For example, f (t) = (sin (t), cos (t)) in parameter format
Can be formalized as f (x, y) = x2 + y2-1 = 0. Both forms are
Represents a circle. Vectors are “normalized” by dividing by their length. Therefore,
The normalized vector has a unit length. Divide the vector function by its own gradient
It will be apparent to those skilled in the art that this approximates unit length. Given that pi (t) is a weighting function and a function defined as Σipi (t) Fi (t) is given.
If Σipi (t) = 1 for all t values, then pi will
Referred to as comprising. “G1” continuity is used herein to refer to a geometry defined by a parameter.
The directional vector along a continuous parameter path on a geometric object is, for example, the tangent
Specify the condition of geometric continuity to be continuous without considering the magnitude of the vector.
You. DISCLOSURE OF THE INVENTION The present invention provides a method for real-time processing of an object such as a surface when a user gives an object deformation input.
Computer with sufficient computational power to enable deformation of the
Is a geometric design system. Therefore, modification or deformation of geometric objects
After the user has given the input for
Compared to a conventional CAD system that must be
A major change from the system. In such a CAD system according to the prior art, the design of the user
Feedback is obtained each time a user individually requests. In contrast, the present invention
In, the input is received without the user explicitly instructing to perform the update process.
Immediately after that, the update process is performed in real time. Since the present invention increases the computational efficiency, the user of the present invention is able to
Iterative approximation to the object can be performed more efficiently. Need so much precision
There is no need to calculate design geometric properties with high precision for parts that do not exist
Therefore, the user can proceed with the design quickly. In other words, the ease of correction and the calculation speed at the time of correction allow the user
Can be approximated and / or tried more quickly,
The need to keep in mind that it "does exactly" is reduced. Therefore, the present invention is applicable to a large number of geometric design objects (including machined parts).
It is possible to design the geometric characteristics of qualitative parts to a satisfactory extent over a wide range
In this regard, it has significant efficiency advantages. The CAD system according to the present invention uses two parameterized geometric objects, such as surfaces.
Provide new computer techniques for the fusion between
Metering techniques are possible. In one embodiment of the present invention, the new fusion technique includes:
For example, two parameters each having a unit square as the parameter space
The fusion between the functionalized surfaces S1 (u, v) and S2 (u, v) is performed. For example, (0, 1) is taken as the range of u and v, respectively (further,
Fusion functions B1 (u, v) and B2 (u,
Assuming that v) has surfaces S1 and S2 respectively, the new surface S is given by
Defined by [Mathematical formula-see original document] Here, the obtained fusion surface S is equal to S1 on the boundary of S1, and is equal to the boundary of S2.
The fusion functions B1 and B2 are usually chosen to be equal to S2 in the field.
Note that This condition is that B1 = 1 and B2 = 0 on the boundary of S1.
, S2 on the boundary between B1 and B2 such that B2 = 1 and B1 = 0.
If satisfied, In a more general embodiment, the present invention relates to a method in which a plurality of geometric objects Si (where
, I = 1,..., N) can be used to perform the fusion between
The geometric object is parameterized by the corresponding function fSi,
The domain includes a parameter space PS common to all fSi. Therefore, the gain
In the obtained fusion surface S, each point S (q) corresponding to each point q of PS is fSi (q
) Is determined using a weighted sum of each point obtained from Further, since it is desirable to fuse S with the partial boundary Pi of each Si, S is expressed as P
Interpreted as a function from S to a common geometric space GS with geometric object Si
, S (fSi-1 (Pi)) ⊆Pi. Further, S is also determined for each fSi-1 (Pi).
Can be continuous. Equation (1) above produces a fusion surface (more generally, a fusion geometric object) S
It should be noted that this is a representative example of various formulas for calculation;
Other embodiments are described below in the "Detailed Description" section. In addition, the above equation (1)
Parameter space coordinates (u, v), three-dimensional coordinates (u, v, w), one-dimensional coordinates u, etc.
This formula can be generalized by replacing it with another parameter space coordinate representation of
Please note that Further, the fusion functions B 1 and B 2 also correspond to such another parameter space.
Defined. In addition, such fusion functions B1 and B2 are converted to a surface (more generally,
To interpret as the weight of the weighted sum of points selected from S1 and S2
What you can do is important. Furthermore, this weighted sum idea can be extended in various ways.
You. For example, there are a plurality of geometric objects Si (where i = 1,..., N).
In a more general embodiment, the corresponding weighting / fusion function Bi is for each value of i
Thus, the following modification of the expression (1) may be obtained. That is, Si
S (q) = Σi = 1 for a point q in the common parameter space for N Bi (q) Si (q) In another aspect of the invention, a Si geometric object used to generate S
In such a way that at least some of them have dimensions higher than two,
Creation is also within the scope of the present invention. For example, if S1 and S2 are parameters
If it is a solid, it is fused from S1 and S2 using another variant of equation (1).
It is obvious to those skilled in the art that S can be generated as a curved solid. Accordingly, P1 of the surface S1 and P2 of the surface S2 are also set to be boundaries of S.
S may extend between S1 and S2, in which case S is similar to equation (1)
As the weighted sum of the points S1 and S2. In still another aspect of the present invention, formula (1) (or a variation thereof, formula (2)
), (4), (5), (5.2), (5.03), etc.
One or more parameterized geometric objects Si are described in
URBUS expression or isometric reference used for illustration in the description herein
One of some other multi-parameter parameterized computer representations to replace Bonn, etc.
You may have. Further, as will be apparent to those skilled in the art, the underlying geometric pair defining each Si
The elephant (eg, if Si is an isoclinic ribbon, the underlying geometric object is
Mosquito, contour, isotropic handle, contour handle)
What may be different is included within the scope of the present invention. For example, in the Bezier expression or NURBUS expression of Si, “control point” and
And / or use geometric entities derived therefrom to change the shape of Si,
Thereby, the shape of the geometrical object S resulting from this may be changed. In another aspect of the present invention, one or more isotropic ribbons S 1,.
If the fusion surface S is generated from N ≧ 2), the geometrical characteristics of the isotropic ribbon Si
Is changed, the surface S can be deformed. More specifically, one
Point Si (u, v) is changed by changing the shape of the equi-inclined ribbon boundary of two Si
This changes the fusion surface S, which is the weighted sum of these points. In particular, the geometric properties of S (curvature, tangent vector and / or tangent plane,
) Is determined by the shape of the equi-inclined ribbon Si. For more details,
If there is a substantially linear parameterization along the tilt picket,
The longer the relative length of such a picket in an equi-inclined ribbon, the more the shape of S
It is more strongly deformed in the direction of this picket. Further, if the direction of these pickets is changed, the curvature of S changes. sand
That is, the weighted sum of equation (1) or the like forces S to always contact the surface Si with the heel.
So that S touches the heel to the equi-inclined ribbon Si having the picket whose direction has changed.
The shape of S changes. Thus, (a) changing one or more geometric properties of one or more Si (here
The shape is defined as multiple geometrical features such as continuity, differentiability, curvature, higher-order continuity, etc.
This change shall mean a characteristic, and this change may include a change in the shape of Si.
Or (b) changing the parameterization of Si.
The shape of the fusion surface S can be changed by an interactive technique. Such user-interactive techniques for deforming the fusion surface have been
Note that it may be used for high dimensional geometric objects. For example,
Used to determine S if geometric object Si is not a surface but a solid
By changing the shape of one or more of the solids Si thus obtained, the resulting fused solid S is changed.
Can be shaped. The geometric object Si used to generate the fusion geometric object S is
In a manner that can be indirectly modified through another geometric object that can be generated,
What is better is also included in the scope of the present invention. For example, if S is equi-inclined ribbons S 1 and S 2 (corresponding contours P 1 and S 2, respectively)
And P2), and the ribbon S1 is provided at both ends of P1.
Interpolated from contour handles at points, isometric handles, and ribbon tangents
In accordance with the present invention, such handles and / or ribbon tangents are modified.
Provides a user-interactive technique for modifying the fusion surface S
It is. Further, in one example of a user interface technique, only the handle is displayed.
The handle may be represented as being connected to the fusion surface S.
Is shown. Therefore, changing this handle changes the fusion surface.
You. It should be noted that such a user-interactive technique requires a handle by the user.
Note that it can respond to changes in ribbon tangent in real time
I want to be. Therefore, when the user inputs such a change, the user's design intention is immediately
Will be displayed. Therefore, if the present invention is used, communication with the user during the design process is possible.
The interaction is different from the conventional CAD user interactive technique,
It comes closer to the situation in the technique of actually building a geometric model. In another aspect of the invention, the geometric objects generated in the invention
It is possible to impose various geometric constraints. More specifically, geometric
The properties and / or sub-geometry of the object O0 are confined within another geometric object O1
In that case, deforming O1 will result in the properties and / or sub-geometry of O0
Are correspondingly deformed, and as a result, O0 is also deformed. For example, according to the present invention, a point p in the object space is
Or can be defined (ie, parameterized) to stay on top of this
Where O 1 may be a curve, surface, volume, or volume. And change O1
If it is shaped, O0 will also be deformed. Also, instead of the point p, another number such as a curve, a surface, a solid, etc.
The geometric sub-objects may be bound in a similar manner. Further, control points, handles (various handles such as contour handles and isotropic handles, etc.)
), Normals, twist vectors, etc., the properties of the geometric object O0
The constraint may be made by a method, in which case, if O1 is deformed, O0 is also deformed. For example,
By using the geometric object interpolation technique according to the present invention, such as equation (1) and its variants, O1
When the bound properties and / or the partial geometry of O0 are transformed by the transformation of
, The geometric object O0 is efficiently generated in substantially real time (eg, re-interpolation).
)it can. More specifically, in this aspect of the invention, the parent geometric object
The geometric deformation operation depends on the corresponding geometry in the child's geometric object.
Various geometric objects can be connected hierarchically by inducing
Wear. For example, when a fine scale of a large surface is represented by a surface piece, the fine surface
Users can control the shape of large surfaces by attaching pieces to the large surface
It is useful to be able to automatically control the shape of fine surface
You. In addition, other types of geometric objects such as curves, points, three-dimensional deformation spaces, etc.
However, similar hierarchical control can be performed. In such hierarchical control, the deformation and the return to the original undeformed state are repeated.
Used together with the permanent deformation space needed for geometric objects
Note that this is also good. Such control is repeatedly performed for one-time deformation.
Note that this is difficult to achieve in real time. Therefore, by using the hierarchical control of the present invention, such a three-dimensional deformation space can be obtained.
Control of the embedded geometric object and / or the embedded geometric object
The structure allows the geometric object to be deformed with the deformation of the three-dimensional deformation space.
It becomes possible. In addition, one or more such deformation spaces may include surfaces, curves, etc.
When relying on simpler geometries, even if the geometric objects are complex,
Substantial control over is done by manipulating this simple geometric shape
Can be. [0091] Other features and advantages of the invention will be set forth in the Detailed Description section, in which the accompanying drawings are referenced.
It will be described with reference to FIG. [Detailed Description] <1. INTRODUCTION FIG. 1 shows some two parameters, such as between the semi-cylindrical surface 30 and the surface 34.
FIG. 4 illustrates one embodiment of the present invention used to design a surface 62 that interpolates a structured surface.
It is. That is, the surface 62 is generated by a new surface interpolation process;
, The constraints on the shape of the surface 62 are the characteristic curves 54, 58, 60 and these
Provided by a new control geometry (e.g., an equi-tilt ribbon) associated with More details
Alternatively, the surface 62 satisfies the following constraints. (A) One or more geometric properties of surface 30 along characteristic curve 54 are applied to surface 62.
Given. (B) applying one or more geometric characteristics of surface 34 along characteristic curve 58 to surface 62;
Given. (C) Surface 62 interpolates through feature curve 60;
The tangent of the surface 62 along is derived from isotropic ribbons 61, 63 (eg,
So that they are equal). Therefore, using the present invention, the designer can (a) carefully construct and position
A relatively small number of feature curves, and (b) the surface along the range of these feature curves.
Designing the specified surface (via isotropic ribbon) with the desired slope
Can be. Furthermore, using the present invention, the surface designed in this way has a characteristic curve
In addition to properly interpolating the gap, the convexity, concaveness, and / or
Which can be subject to the set constraints. Further, the present invention may be used to fuse a surface area to an object under design.
Can be. For example, FIG. 2 shows an example in which a disk 66 is fused to a cylindrical surface 30.
It is. In addition, the invention can be used to build bosses, dimples, logos, and embossments,
It can also be used to design surfaces recursively, as described in this document.
It will be apparent to those skilled in the art from the illustrations. [0097] At least one embodiment of the present invention is a conventional computer assisted computer in the following respects.
For Computer Aided Design (CAD)
Is different. That is, in the present invention, a desired geometric object (for example,
, Surfaces) are geometrically and computationally independent pieces (eg, 3
(A bounded surface with sides, sides, sides, etc.)
At the boundary between these small pieces, these pieces are
Can be joined. Thus, the desired geometric objects are the boundaries and / or regions between them.
Constraints such as continuity, differentiability, and / or curvature are met on both sides
Using a method to interpolate, fuse and / or trim these sub-objects in an embodiment
, Design by joining multiple unrelated geometrical sub-objects (partial surfaces)
be able to. This is essentially different from the conventional CAD approach in the following points.
You. That is, in the system according to the prior art, the NU having four sides of the hidden surface is used.
RBUS, Bezier, Hermite, Coons, Cordon or Boo
Only the joints are joined together. <2. Fusion between geometrical objects> The geometrical object design technique that is essential in the present invention is based on two parameters such as surfaces.
Fusion between metered geometric objects, and in particular, how to perform such fusion.
As defined in the “Definition” section, “parameterized geometric objects” (for example, tables
Surface) is a (simple) coordinated geometric object (parameter space) such as a bounded plane
) To another (usually more complex) geometric object (object space)
Can be defined as If this parameter space is a bounded plane, for example, two coordinates
Each point in the parameter space is uniquely identified using parameters (denoted by u and v)
can do. If the parameter space is three-dimensional, the bounded plane parameter
For each (u, v) point in the data space, the function computes the point (x, y, z)
) May be attached. By convention, the parameter space of a plane is usually assumed to be a unit square; in this case
, U, v both vary between 0 and 1; yet another parameter space
The use of arrangements and coordinate ranges is also within the scope of the present invention. In one embodiment of the present invention, each unit space has a unit square as a parameter space.
To perform a fusion between the two parameterized surfaces S1 (u, v) and S2 (u, v)
To this end, each surface S1 and S2 is defined by the fusion functions B1 (u, v) and B2 (
u, v); each fusion function takes, for example, (0, 1) as the range.
(Further, it satisfies other properties described later). This gives a new surface
Defined by [0104] Here, the obtained fusion surface S is equal to S1 on the boundary of S1, and is equal to the boundary of S2.
The fusion functions B1 and B2 are usually chosen to be equal to S2 in the field.
Note that This condition is that B1 = 1 and B2 = 0 on the boundary of S1.
, S2 on the boundary between B1 and B2 such that B2 = 1 and B1 = 0.
If satisfied, In FIG. 3, for example, S 1 is surface 30, S 2 is band 34, and one
The boundary is the vertical line 54 of the surface 30 and the other boundary is the curve 58 of the band 34
The surface 62a is S, which runs between these two boundaries and
It is tangent to S1 and S2 in the field. <2.1. Fusion Functions> Fusion functions can be prepared to fuse between various types of geometric objects.
it can. For example, to fuse between two volumes filling a geometric object
May be prepared. However, the new fusion processing of the present invention and the accompanying
To facilitate (and clarify) the description of the associated fusion function, the discussion herein
Is essentially limited to the fusion between two curves or the fusion between two surfaces
I do. Therefore, for the two surfaces S 1 and S 2 to be fused together,
, The fusion functions B1 (u, v) and B2 (u, v) are the fusion functions generated in the present invention.
It is appropriately set to be 0 or 1 on the boundary of the joint surface. In FIG. 4, boundaries 78a and 78b in the parameter space are located in the target space.
Assuming that they correspond to the contours 54, 58 of the fusion surface, such as surface 62a.
For any curve 80, the corresponding original image (eg,
For example, a straight line 86) exists. Note that, for simplicity, the boundaries 78a, 78b and
Although the original image of the curve 80 is a straight line, it does not have to be so. The fusion functions B 1 (u, v) and B 2 (u, v) have a domain that is a unit square.
Then (also for simplicity),
For this point (u, v), this point (u, v) is a boundary curve (eg, a boundary curve
78a, 78b), or more generally, the "closeness" to the original image of the contour curve.
It is important to determine some measure to indicate. Such proximity or distance
The measure may be used to determine the value of the fusion function and / or its result.
. It is to be noted that such a method of calculating the proximity or distance measure in the parameter space is used.
Note that there are various laws. For example, the boundary 78 (or
If the original image is a straight line, such a parameterized distance to the (u, v) point is
And can be easily calculated as the length of a line segment perpendicular to the boundary straight line. parameter
Other techniques for calculating the digitized distance are described later herein (e.g.,
Sections 2.3 and 2.4). Assuming that the parameter space is also a two-dimensional space of (u, v) points,
Function B ~ i (where 1 ≦ i ≦ N, where N is a constant which is the number of boundary curves) is
Function B of distance function of number ~ i (Di); where Di is also (u
, V) and B ~ i (Di) = B ~ i (Di (u, v)) = Bi (u, v)
) And Di (u, v) is the boundary curve Ci of the surface S (in the target space).
This is a distance function to the original image Ci-1. Here, such a distance function is such that (u, v) is the i-th boundary curve original image Ci-1.
When approaching infinitely (eg, measured at normal Euclidean distance), Di
Note that the condition that (u, v) approaches zero indefinitely
I want to be. Such a fusion function B ~ Examples of i and the distance function Di are described herein.
It will be described later. Many of the useful fusion functions Bi are B ~ i (Di), so it is necessary to distinguish
Unless it is necessary, the following description uses the following description:
(U, v), and (b) the fusion function B for some distance function Di ~ i (Di),
Are used for both. However, if a clear distinction between the fusion functions (a) and (b) is needed, the fusion function
Indicate which fusion function is intended by noting the domain of the combined function
be able to. Now, equation (1) shows that the fusion function B ~ i (Di) (where i = 1, 2
Note that the same holds true for (Equation 3) If the point (u, v) is close to the i-th original image boundary (i = 1, 2), B ~ i
(Di) is expected to be small and this point is (in object space) i
It is mapped near the second boundary. The benign set of the fusion function Bi is such that the map S of the fusion surface has a desired outer (contour) curve.
Not only does it allow for coincidence, but also, for example, two or more
The fusion surface obtained between the perimeter curves, such as
In a manner that preserves properties such as continuity. That is, the fusion surface “contacts the heel” with each of the initial surfaces. Also, the fusion function B
It is desirable that i make the new surface appropriate. FIG. 5 shows Bi (where i =
6 is a graph showing a pair of fusion functions desirable as (1, 2). Regarding the contour curves P1 and P2 of the two surfaces S1 and S2, a fusion surface is defined between P1 and P2.
When it is desired to generate the contours, the contours P1 and P2 are represented by a unit square {(u, v) | 0 ≦ u ≦
The parameterized original images corresponding to = 0 and u = 1 for 1 and 0 ≦ v ≦ 1}, respectively.
Then, the following useful properties regarding the fusion functions B1 and B2 are obtained.
Can be (1.1) B1 = 1 at u = 0 and B1 = 0 at u = 1. u = 0
B2 = 0 at u and B2 = 1 at u = 1. (1.2) Di (u, v) = 0 and Di (u, v) = 1 (where i = 1,
If 2), the derivatives B1 'and B2' are zero. Thereby, the fusion surface S and the first
A smooth transition (tangent continuity) occurs between the initial surfaces S1 and S2. Higher order
If the derivative is also zero, higher continuity between the surfaces is achieved and
Is improved. (1.3) B1 + B2 = 1 for all points (u, v). This is "division of 1"
And prepares for the creation of a convex connection of the surfaces S1, S2 with which the new fusion surface abuts.
Note that this ensures that the new fusion surface is not too far from the initial surfaces S1, S2.
effective. Various embodiments exist for the definition of the fusion function. One useful example is
It is as follows. (Equation 4) This gives arbitrarily high order continuity to the fusion function, as well as the initial fusion
Necessary to achieve the same continuity as higher order continuity between surfaces. Another example is above
The purpose is to select a polynomial function having the properties (1.1) to (1.3) described above. Was
For example, select a fifth-order polynomial whose second derivative is zero at D = 0 and D = 1
As a result, useful curvature characteristics can be realized (see section 4.4). In addition to the above-described fusion function, the following fusion function is given as an example. One example is polynomials B1 (x) and B2 (x) that satisfy the following constraints: (Equation 5) Here, additional constraints on higher derivatives (eg, x = 0 and / or
Note that (or equal to 0 in 1) may be further imposed. For example
, Bi ″ (0) = Bi ″ (1) = 0 (where i = 1, 2), the interpolation and
C2 continuity is obtained in the subject undergoing fusion and / or fusion. An example of a polynomial fusion function satisfying these constraints is as follows:
. (Equation 6) Here, as shown in FIG. 6D, B1 (x) represents the six control points P1,.
Note that it may be derived as a Bezier curve having. Furthermore, as below
Note that (Equation 7) (C) Bijective (eg, one-to-one and upward mapping) parameterization function P: [
0.1] → [0,1], the above fusion function configuration uses another fusion function
May be configured using a fusion function for obtaining In one embodiment, P (x)
= 2c (x−x2) + x2, where c is a constant “twist” factor
For example, a new fusion function is obtained as B (P (x)). Therefore, when c = 1 /, P (x) = x. Furthermore, c is strange.
As shown in FIG. 6A to FIG. 6C, the inflection point of the graph of P (x)
Moving. It should be noted that the fusion function (here, c> 1/2) in FIG.
And / or a fusion surface or other geometric object) to obtain x in the graph of FIG. 6B.
= The geometrical properties of the object used for the fusion corresponding to the 0 axis
Note that it will be retained. Reduce real-time computation overhead that occurs when evaluating a fusion function
Therefore, in one embodiment, the values for the fusion function are set prior to the design session.
Table with sufficient resolution, and the closest approximation to the actual fusion function value is
The information may be stored in a memory so as to be efficiently searched for an index. <2.2. Extending the fusion to the N-side region> In one embodiment of the present invention, the parameterized surface Si (where i = 1,.
N and N ≧ 2) to perform the fusion on the area bounded by each edge ei
A new general form is a weighted sum of Si (ui (p), vi (p)) as follows:
is there. (Equation 8) Here, (a) p is a variable representing a point in the common parameter space with respect to the surface Si, and (b) Di (p) is a variable representing the i-th edge ei in the common parameter space up to the original image.
(C) Bj is zero when Dj is zero and simply when Dj increases.
(D) ui, vi is a function of p from the common parameter space to (something)
A parameterization function that transforms into an intermediate parameter space. The sum of the products of the fusion function Bj Note that by dividing by (4), equation (4) is normalized with respect to the fusion function.
I want to be. When N = 2, equation (4) is similar to equation (1), and
Note that this is an extension. That is, when N = 2, the expression (
B1 in equation (4) performs the function of B2 in equation (1), and B2 in equation (4)
Fulfills the function of B1. That is, the subscripts are interchanged between the two expressions
. As an example of equation (4), consider a three-sided area 300 (in the target space) shown in FIG.
Sympathize. If the surface S for the region 300 is generated by applying the equation (4), the following equation is obtained.
Is obtained. (Equation 10) Where the parameterization functions u, v, w are the barycentric coordinates of p;
It will be clear to those skilled in the art. Another method of defining the fusion surface on the N-side region (where N ≧ 4) is shown in FIG.
11 and R12 are used as S1 and S2 in equation (1), respectively.
The first is to apply the edge approach to generate S1 in FIG. Furthermore, the figure
Apply equation (1) to the surface of 35; where S1, S2 in equation (1) are
These are replaced with R11 and R12, respectively, to generate S2 in FIG. Next, FIG.
35, the resulting surfaces S1, S2, respectively, are fused using equation (2).
Here, the fusion functions B1 and B2 are as described above, and
The corresponding Di is also as described above. For example, ribbons R11, R12, R21
, R22 have a common original image, the edges P11, P12, P21, P22 (
34 and 35) used in equation (2) for calculating the distance measure to the pair of original images.
i is expressed as follows: (a) For point P1 of the (common) original image with respect to S1 in FIG.
in (D (P1, P11), D (P1, P12)); where D is P1 and this
(B) For point P2 of the (common) original image for S2 in FIG. 35, D2 (P2) = m
in (D (P2, P21), D (P2, P22)). Therefore, the two surfaces S1 and S2 can be fused to each other using equation (2).
Then, the surface S of FIG. 36 is obtained. In another embodiment that is particularly useful for producing four-sided fusion pieces, the following is described.
Tentative, but limited, versatile method for defining contours and ribbons
Set. (A) All handles are piecewise line segments, and (b) All fusions are performed using the functions B1 (x) and B2 (x) in equation (3.1).
Is Further, in describing this small piece generation technique with reference to FIG.
Use the method. For the contour P, m L, m R: left and right markers of the contour P, respectively hL, h R: left and right contour handles of the contour P, sL, sR: respectively of the contour P Left isometric handle and right isometric handle, bL, bR: left ribs at the left end point and right end point of the isometric boundary R, respectively
Tangent and right ribbon tangent (these ribbon tangents are also known as "boundary handles")
Is). Using the notation of FIG. 37, SL and SR can be defined; where SL is sL and hL
, BL, dL = (sL + bL)-hL
SR is bounded by a line segment corresponding to sR, hR, bR, dR = (sR + bR) -hR.
It is attached. In particular, SL and SR are referred to in the art as “twisted flat surfaces”.
Therefore, SL is called the left-hand twist flat surface, and SR is the right-hand twist flat surface.
It is called Tan surface. In addition, these surfaces are expressed by the following formulas (5.01a) and (5.01b).
Can be evaluated. (Equation 11) Here, the parameters u and v are indicated by a u-direction arrow and a v-direction arrow (FIG. 37).
As shown, it increases in the lateral direction. (Equation 12) Here, too, the parameters u, v increase in the horizontal direction;
Is the direction opposite to the u-direction arrow in FIG. Therefore, the equi-inclined ribbon surface S (FIG. 37) can be defined as follows.
Wear. (Equation 13) Here, for simplicity, the u parameter is the distance required for B 1 and B 2 in equation (3.1).
It is a distance measure. Therefore, when v = 0, S (u, 0) is a contour, that is, a control hand.
Fusion between dollars (hL-mL) and (hR-mR). Further, when v = 1,
S (u, 1) is a resource derived as a fusion of vectors (bL-sL) and (bR-sR).
Note the Bonn boundary. Also, bL and bR are hL and sR-mL along sR-mR, respectively.
And the translation of hR, P is the translation of R, and by such similarity,
Note that the need for data storage in the present invention can be simplified. A plurality of isotropic ribbons S 1, S 2,..., SH in which each Si is generated by the equation (5.02)
On the other hand, such a ribbon is represented by the following equation which is a modification of the equation (4).
It may be used in the form of a general N-side surface. (Equation 14) Here, Dj (s, t) and ui (s, t), vi (s, t) in the formula are
From the distance measure and the N-side piece parameter space (s and t) to the ribbon S
This is a mapping of i to the parameter space (u and v). When using the fusion ribbon Si for N = 2, 3, 4 and N ≧ 5,
Equation (5.02) for the ribbon is a special case of equation (5.03):
First, please note. For example, in equation (5.02), the denominator is 1, and
The distance measure is the u parameter itself, and u and v directly correspond to s and t. The formula for the two-sided surface is the same, except that the base surface is based on the formula (5.02).
(Also referred to herein as a "twisted ribbon").
Therefore, equation (5.02) becomes: (Equation 15) Here, the parameter u is a distance measure. This varies along the direction of the contour curve.
Become Also, in equation (5.04), parameter v is a distance measure. In FIG. 38, the equi-inclined ribbons S1 and S2 move in the u direction and on each of these ribbons.
Parameterized as indicated by the arrows in the v and v directions.
It may be used to generate small pieces. The two contours P1, P2 changing at u
, Using the twisted ribbons S1, S2. [0164] The other two sides P3, P4 are fusion ribbons derived from equi-tilt handles;
That is, P3 is a fusion (using formula (1)) of hR1 and hL1;
And hL1 are S1 and S2 in formula (1); similarly, P4 is hR2
And hL2 fusion. Note that the fusion surface S in FIG. 38 has a tensor product form. this is
, Eq. (5.04) can be understood by decomposing it into a tensor form;
, S2 are derived from equations (5.01a) and (5.01b). sand
That is, S1 is a fusion of SL1 and SR1 (FIG. 38), and S1 is a fusion of SR1 and SR2.
If not. Therefore, the decomposition is as follows. [Equation 16] Therefore, from the last expression above, first, the torsional distortion in the v parameter
If the same surface S can be generated by generating a bon and then fusing at u
I understand. However, since the roles of u and v are symmetric, the twisted ribbon is
May be generated along the data and then fused at v. Therefore, the surface S
Using L3 and SR3, SL4 and SR4 in FIG. 39 are the same as in FIG.
Give the surface S. Thus, in both techniques for deriving S, the inputs, ie, mLi, mRi,
hLi, hRi, sLi, sRi, bLi, bRi are the same; where i is
The contour Pi to be used (i = 1, 2, 3, 4) is specified. In addition, between various inputs
Note that the correspondence is shown in FIG. Therefore, as a whole, the two-sided small piece of the expression (5.04) is a very versatile 4
Provide side pieces. Further, the evaluation can be performed efficiently. Therefore, equation (5.
01a) and equation (5.01b) to develop SLi and SRi in equation (5.05).
When opened, the following formula is obtained. [Equation 17] Here, ( i , L )and( i , R ) Is the expression (5.01a) and the expression (5.0).
1b) is a suitable matrix. Here, when evaluating the value of this equation, Bi
Note that it will probably be retrieved from a table. Although the above formulation is mathematically sufficient, it can be described in a geometrically intuitive way.
In order to use it, the user must also make a decision. In other words, degenerate
In some cases, mathematical support is also needed. A common example is shown in FIG.
So that two profiles (eg, P1, P2) intersect each other
Is the case. In this case, the contours P3 and P4 (FIG. 38) are of zero length and
Since the end markers are shared (ie, ml3 = ml4 and mr4 = ml4), they are degenerate.
are doing. However, it was noted that equation (5.04) still defines the surface S.
However, it is easily understood that this surface may form a loop at the intersection of the contours.
I can solve it. Maintains handle-like control at the marker while eliminating this looping
For this purpose, the twisted ribbon of the formula (5.04) may be sealed by a function of u.
No. One of the functions that is 1 at u = 1 / and 0 at u = 0 is
It is as follows. (Equation 18) Therefore, equation (5.01) is changed as follows. (Equation 19) Such a function (5.08) is expected to remove the majority of loops
. The ability to narrow the ribbon at both ends suggests other uses. A scale function as follows: Makes the ribbon thinner at the end of u = 1, and Is thinner at the end of u = 0. This is the effect of creating a triangular (three sides) surface.
It will be apparent to those skilled in the art that this is an efficient method. <2.2.1. Bosses and Depressions from Two Edges> A so-called "boss" shape results from the fusion between two contour edges. This ring
The gusset is, for example, the semicircle of FIG.
780a and 780b. The ribbons 784a and 784b are separate parallel flat
Exists on the surface. When these ribbons are fused, a table can be considered as a boss or depression.
A surface 786 (FIG. 24) is obtained. Here, dome, rocket tip, plateau (mesa)
Shapes of various variants, such as, apple top, etc., can be similarly generated. Further, by rotating the upper semicircular ribbon, the boss can be twisted. this
The method can be used for transitions between tubes, such as in the case of joints.
It will be clear to the trader. In another embodiment, the differential when performing fusion using formula (1) or (4).
Using the neighborhood of each boundary curve (in the target space)
It will be apparent to those skilled in the art that a combination may be made. Therefore, the value ε> 0 is defined
By defining the band and width of each surface along the boundary where the surfaces should be fused
These strips may be used as isotropic ribbons. Therefore, the surface boundary is a contour curve
It becomes a line, and the original image may be used in equation (1) or equation (4). <2.3. Contour Curve> In the present invention, a small number of various well-positioned (object space) rings
Take a contour curve, generate a corresponding surface passing through it, and create a fusion surface based on Equation (1) above.
Therefore, for each surface S1, S2, two parameter space original image curves are
Being present, these curves are the boundaries of the fusion functions B1, B2;
It is a curve which exists at Di = 0 and Di = 1 for the number Bi. As shown in FIG. 7, there may actually be eight curves; this defines the fusion surface.
Can be used to determine That is, two curves 78a are set in the parameter space of S1.
, 78b and two additional curves 7 in the parameter space for S2.
8c and 78d may be present (of course, in many cases,
Are identical.) Furthermore, the curve 78 to the two surfaces 30, 34
And gives corresponding image curves 90, 54, 58, 91;
Have original images 78a, 78b, 78c, 78d, respectively. When S1 and S2 have the same parameter space, the contour 78b is
This is the original image. Further, when S2 at 78d (= 78b) is the contour 58,
78b is included in the original image of each of S1, S2 and the fusion surface 62. When using the present invention for surface design, the user or designer must
The contour is continuously stretched and deformed to allow this initial surface and another
You can also design a fusion surface by creating a new surface between the contour curves.
Conceivable. In the present invention, different types of contour curves or boundary curves may be used.
Please note. In some embodiments of the present invention, such a contour curve C
May typically have a parameter original in parameter space; that is, C-1 (
s) = (u (s), v (s)), where s is the parameterization of the original image
(Eg, 0 ≦ s ≦ 1). Here, a parameterized curve such as C includes (a)
Conic curves such as straight line, parabola, circle, ellipse, Bezier curve, Hermite curve, non-uniform
, Rational B-spline (NURBUS) curve, (b) trigonometric function and exponential function shape
, (C) degenerate shapes such as points.
I want to be. In addition, these curve shapes can be, independently of this, open curves, closed curves, degenerate curves,
Note that it can be classified by another property, such as a compound curve;
Will be obvious to those. The contour curves include curve types (2.3.1) to (23.5) according to the following classification.
Includes curves. <2.3.1. Open curve> An "open curve" is an unconstrained curve in which the endpoints coincide with each other;
For example, both end points may be located freely. In the present invention, the surface (in the object space)
When defining an arbitrary set of curves (contours) to generate
The kind of curve that is used is an open curve; this surface passes through this set of curves
Be bound to be. <2.3.2. Closed Curve> When both end points of the curve coincide, this curve is called a “closed curve”. This is the curve
It means that the start point is the same as the end point of this curve. The closed curve is, for example,
, Surface, area; this is particularly useful in isolating a particular design area
is there. An example of this would be a label surface for the container, such as surface 66 in FIG.
Section). That is, the label surface is wrinkled.
A special surface type called a deployable surface is also used to prevent it from
It is an area that should be settled. Each such label surface is highly constrained
And are usually separated from other design parts by closed curves.
Such curves can also be used for aesthetic purposes in container design). FIG.
FIG. 3 shows an elliptical region 100 fused to a cylinder 108;
0 limits this area. In many cases, a closed curve matches the contact at the endpoint.
Can be made. <2.3.3. Degeneracy> There are various methods for generating a degenerated contour. In one technique, the length
It may be an open curve b or a closed curve having no surrounding area.
The result obtained in such a case is that it can fuse with adjacent surfaces. FIG.
A degenerated disc (ie, a point labeled S1) and a cylinder 116 (ie, S2)
It is a figure which shows the point fusion produced | generated by the fusion between. Here, a simple boss 11
2 are formed on the cylinder 116. More specifically, the appropriate fusion function Bi (only
Then, for i = 1,2), it is possible to obtain a fusion surface between S1 and S2 using equation (1).
Can be. Further, since equation (4) can be used instead of equation (1),
Creating a surface that fuses between a number of points (ie, degenerate contours) and adjacent surfaces
Can also. FIGS. 23 and 24 show additional fusion for degenerate contours.
. FIG. 23 shows the extension between the degenerate contour (point) 714 and the circular end 718 of the cylinder 722.
FIG. 9 illustrates an existing fusion surface 710. More specifically, the fusion surface 710 is
It is a fusion of ribbons 726 and 730;
It is a flat disk with a degenerate contour 714 in the center, and the equi-inclined ribbon 730
And has a circular end 718. Therefore, in equation (1), S1
726 and S2 is an equi-inclined ribbon 730, the distance measure is (each corresponding
(A) on the equi-inclined ribbon 726, the radial distance from the degenerated contour 714, and (b) on the iso-inclined ribbon 730, the distance from the contour 718. be able to. FIG. 24 shows a degenerated contour (point) 754 and a planar ring 758 having a circular curve 760.
And another fusion surface 750 extending between the two.
A central hole 762 having a line 760 as its boundary and penetrating this planar ring
, May be further provided). More specifically, the fusion surface 710 has an equi-inclined ribbon 766 (with respect to the degenerate profile 754).
One) and an annulus 758 (which is, for example, a surface 7 contoured by curve 760).
70 may be used. Therefore, S1 etc.
If the inclined ribbon 766 is used and S2 is used as the ring 758, the distance measure is (each pair).
(In the corresponding parameter space), (a) on iso-ribbon 766, radial distance from degenerate contour 754, (b) on torus 758, distance from curve 760 be able to. <2.3.4. Compound Curve> The new geometric design technique of the present invention can also be used for compound curves.
A composite curve is a general curve of the form that includes another curve as a partial curve;
, The sub-curves may intersect and be twisted, for example, at endpoints
Is also good. When using a composite curve as an outline, etc.
The definition of degree is important. FIG. 10 includes two intersecting partial curves 124, 128.
FIG. In such a composite curve,
The end points of the partial curves may intersect. A partial curve Cj (where j = 1, 2,..., N) of the composite curve C is parameterized.
And have a common parameter space, the partial curve Cj
The distance calculation formula (in parameter space) that determines the distance measure D to the original image is
, As follows. [0203] Here, k = 2,..., N; ? ? D1 (p)? ? ? (D (p)) = d1 (
P) is the distance measure between P and C1; Dk (P) is the distance measure between P and Ck
It is. Therefore, a fusion function B for fusing one or more surfaces to a composite curve C
D (p) can be used as an input to (D). <2.3.5. Trim Curve> In the present invention, the surface can be "trimmed";
, Constrain or limit the surface to only one side of a particular boundary curve (also called a trim curve)
Process. More specifically, for a parameterized surface,
The original image is, for example, in the (u, v) parameter space of the surface, after trimming.
Defines the extent of the original image of the surface to be left. The trim curve may be a contour curve;
The desired trimmed surface is usually one of the trimmed curves of the original untrimmed surface.
It is a part that exists only on the side. An example is shown in FIG. 11; where trimmed
The original surface that is not present is the entire rectangular portion 130. The angled surface 134 is
A "label" surface trimmed from surface 130 along curve 138. It should be noted that trim contour 138 may correspond to one or more adjacent surfaces (eg, surface 142).
Note that an accompanying isometric ribbon (not shown) may also be provided;
In this case, this adjacent surface makes contact with the heel with the isotropic ribbon at the trim profile 138.
You. The use of equi-tilt to modify the shape of such adjacent surfaces is not
This is an important technique for making a smooth transition from a surface to a trim surface. The present invention includes a trim technique for drilling holes in geometric objects.
Note that this is also good. The depression in the front surface of the geometric object is
Protrude through the rear surface, then trim the front surface and remove the corresponding
Can be used, for example, as a handle for containers.
Holes can be created. <2.4. Distance Metrics> Several techniques for calculating distance measures have been described above. In this section,
Additional techniques will be described. The point in the parameter space is the parameter space
Calculates how close to one or more specific geometric object images (curves) in
Efficiency greatly affects the performance of the geometric design and modeling embodiments of the present invention.
give. Generally, such distances in parameter space between points and curves
The discrete measure (which is generally a monotonic function of the usual Euclidean distance metric)
When calculating, how efficiently can we evaluate the complexity of the curves and these measures
Or a compromise is required. In general, the simpler the curve, the faster such a distance can be determined. What
Note that these songs are related to the parameter space curve and its image curve (in the target space).
Lines of the same type (eg, polynomial, transcendental, open, closed, etc.)
Note that this need not be the case. In fact, the parameter space curve is very simple
While pure, it can be an original image of a complex surface curve in the object space. For example, figure
The parameter space curve corresponding to one Bezier curve 58 may be a straight line. Para
Fast distance calculation by keeping the meter space curve as simple as possible
Becomes possible. <2.4.1. Parameter distance calculation for fusion> In this section, distance measures to some candidate parameter space curves
In general, the various monotonic functions of the usual Euclidean distance metric
These methods are described in the order of increasing computational complexity.
I will. A fusion surface is generated between two contour curves P 1, P 2 each having an isotropic ribbon
Where each ribbon is parameterized and the ribbon
As a common parameter space, for example, a unit square plane [0, 1] × [0,
1]. One of the distance functions that can be used for fusion is common
One or the other of the points represented by the coordinate pair (u, v) in the parameter space of
Is a function that depends only on the other coordinate. That is, the contour curves P1, P2 of the equi-inclined ribbon
However, the original images are vertical lines u = k1 and u = k2 (where 0 ≦ k1 ≦ k2 ≦ 1).
If the distance function is such that D1 (u, v) =
(Uk-2) / (k1-k2) and D2 (u, v) = (uk-1) / (k2-k1)
It can be. Furthermore, the original image is defined by the vertical line u = 0 and the parameter space boundary.
If u = 1 (ie, k1 = 0 and k2 = 1), the corresponding
The distance function can be defined as D1 (u, v) = 1-u and D2 (u, v) = u.
Yes, such a simple distance function can be calculated very efficiently. Even if there are more than two original images for the contours to be fused,
To maintain the desired simplicity of the separation calculation, a parameterized distance measure must be calculated.
There are three methods that can be used for Each of these three methods is described below.
This is described below. For example, a path bounded by three boundary curve original images (which are also curves)
The triangular region in the parameter space has three (real) conditions that satisfy the constraint condition r + s + t = 1.
Numerical values) Using the parameters r, s, and t, regarding the vertices v1, v2, and v3 of the triangular area,
Can be parameterized. In other words, a point in a triangular region having vertices v1, v2, v3
p is p = r * v1 + s * v2 + t * It is represented as v3. These parameters r, s, t
Is called “center of gravity coordinates” and is a three-sided table of the surface 300 and the like in FIG. 14 in the parameter space.
Used for face. The area in the parameter space bounded by the original images of the four contours is referred to as (the case of four sides).
B) With a simple extension of a region with a boundary on two opposing sides (referred to as two sides)
is there. In the case of two sides, if parameterized appropriately, only a single parameter u
Can be used to calculate the distance function. In the case of four sides, two parameters
u and v can be used in the same way as their complements (units in parameter space
Assuming a suitable representation, such as a square). Thus, the four in the parameter space
Can be defined as u, v, 1-u, 1-v (that is, the contour
Assume the original image is u = 0, v = 0, v = 1, u = 1). In order to determine the barycentric coordinates for the parameter space area, the original image of the contour is
Assuming that the line segments form a polygon, FIG. 12 (vertices v1, v2, v3, v4, v5
Figure 5 shows a five-sided polygon 148 with
Here, the outline original image is a thick line denoted by 149a to 149e. Determine distance function
First, each side 149a to 149e of this polygon is
By stretching until it intersects another elongated side with 9 in between
That is, a star shape is formed from the original image polygon 148. Thus, intersection 1
50a to 150e are determined in the case of five sides in FIG. As a result, the corresponding
Line segments 152a to 152e from points 150a to 150e to point p in the polygon are constructed
Is done. The obtained distance measure is obtained by calculating the sides 149a to 149e of the polygon 148 from the point p.
Are the lengths of the line segments 153a to 153e. Therefore, from p, the polygon 148
The distance to the i-th side 149 (i = a, b, c, d, e) is many from p
The distance along the i-th line segment 153 to the boundary edge of the square 148. Where
By dividing each distance measure obtained by the sum of all distance measures to the point p,
Note that the distance measure can be normalized. <2.4.2. Straight Line> A straight line is represented by the formula au + bv = c; where a, b, and c are constants.
The normal (unsigned) distance to a straight line is given by: (Equation 23) A more intuitive version corresponding to the Euclidean distance is:
By normalizing, ie, dividing by the length of the gradient, the following equation is obtained. (Equation 24) <2.4.3. Conic curve> The conic curve includes a parabola, a hyperbola, and an ellipse. The general form of a conic curve is
Is represented by (Equation 25) The unsigned distance can be calculated by the following equation. (Equation 26) This can also be normalized by dividing by the length of the gradient, and a more appropriate distance function is
This is the Euclidean distance in the case of a circle. Note that
Farin's "Introduction to Curves and Surfaces" (Academic Press, Inc.
4th edition, 1996), the conversion between the above implicit form and the rational parameter form is given.
Please note that it has been obtained. Therefore, if the conic curve is in implicit form or parameter
Equation (8) can be used regardless of the data format. <2.4.4. Polynomial Curves in Implicit and Parametric Formats> Parameterized curves are described, for example, in the above-referenced Phalan reference.
It is assumed that the data has been converted into the Bezier format by the above method. Vaishnuff (Vai
Mr. shnav) “Fusion of parameterized object by implicit form technique” (ACM stereo model)
(Delling Conference Lecture Record, May 1993)
A way to numerically change to the implicit form curve is given; here, empirical off
By offsetting the curve in a given direction based on the set calculation method, the distance
The separation is measured in a shadow form in the target space. The value of the offset distance that forces the offset to pass through a point is
It is a distance measure. More specifically, for Bezier curves, this distance measure is powerful.
(That is, no failure condition), and the evaluation is sufficiently fast.
It requires only a few Newton-Raphson iterations on average
And may be useful; this will be apparent to those skilled in the art. This is a conic representation
Although it may be an order of magnitude slower than calculating distance measures, the traditional method of calculating vertical distance
It is much faster than the method; this conventional method is also unstable. <2.4.5. Piecewise Parameterized Curve> The present invention is for calculating distance measures on complex curves in parameter space.
It also has a new technique. In FIG. 13, two boundary curves 156a and 156b are
Corresponding sub-curves 160a, 160a,
Assume a piecewise parameterized polynomial curve with 160b. Corresponding part
By connecting the endpoints of the minute curve to line segment 164 (ie, the degree 1 curve),
Number n × 1 Bezier pieces 168 are constructed in unit square representation of parameter space 158
Is done. Here, each small piece 168 has its own second parameter space having coordinates (s, t).
Note that (a) two Bezier sub-curves 160a, 160b (here,
, B1 (t), b2 (t); where 0 ≦ t ≦ 1), each value of t
t0 corresponds to the line segment Lt0 between b1 (t0) and b2 (t0); (b) The line segment Lt0 is Lt0∈b1 (t0) when s = 0, and s = 1 When
Are parameterized by s such that Lt0∈b2 (t0); where
When 0 <s <1, s changes in proportion to the distance between b1 (t0) and b2 (t0).
I do. Therefore, the curves b1 (t) and b2 (t) (and / or
When calculating the distance measure between 64) in the second parameter space,
For any (u, v) point inside the small piece of
The corresponding (s, t) point must be found; then by evaluating this
The distance measure is determined. “S” is a linear parameter (connected at the endpoints by two identical line segments 164)
Corresponding to the point distance between the two corresponding partial curves 160a, 160b
), Simple functions f1 (s) and f2 (s) (for example, f1 (s) = s
And f2 (s) = 1-s) are distance functions for b1 (t) and b2 (t), respectively.
Serves as a number. Here, the parameters u and v are both Bezier functions of s and t.
Note that it can be expressed as a number. More specifically, from the (s, t) coordinates,
u, v) Newton-type algorithm to convert to parameter space coordinates
Can be used; this will be apparent to those skilled in the art. [0233] Another application for determining distance measures that can be used under certain circumstances
Has evaluated such a small piece 168 using a “forward algorithm”.
is there. That is, in FIG. 25, for example, contours 812 and 816 (respectively
, With equi-inclined ribbons 820, 824 abutting the heel against surface 808).
An object space fusion surface 808 is shown. The outline 812 has its original image curve 160a (in the parameter space 158).
The contour 816 is represented by its original image curve 160b (in the parameter space 158).
Where the portion of the parameter space 158 for the surface 808 is
It is a small piece 168. The additional parameter space 828 in s, t is
Can be considered as the original image parameter space for space 158;
The original image of 60a is a vertical line at s = 0, and the original image of curve 160b is s =
1 is a vertical line. In the additional parameter space 828, the point 830 of a sufficiently dense point
Evaluate point (u, v) in piece 168 using the set (eg,
(By determining) the corresponding point p (u, v) on the fusion surface 808
It can be calculated efficiently; this is for the original image curves 160a, 160b
Let the distance functions be D1 (u (s, t), v (s, t)) = s and D2 (
This is because u (s, t), v (s, t)) = 1−s. With this approach
According to this, a fusion surface can be easily and quickly generated. Here, continue with surface 808
This method is particularly effective when trimming is not necessary. <3. Fusion Program> FIG. 17 shows a typical flow of a design / construction operation executed by a user of the present invention.
FIG. Here, the contour handle to construct the accompanying contour
May be required; this profile is used to construct the accompanying
This isometric ribbon is required for the desired shape of the accompanying object (eg, surface).
May be needed to obtain a shape; this object may also be
Is needed to build FIGS. 26-30 illustrate the high level of processing performed in one embodiment of the present invention.
FIG. 4 illustrates the process; this process allows the user to more efficiently and directly
New real-time operation of the shape of the geometric object
To make it work. In addition, the basic principle of the present invention is that
Note that this is a major change. That is, in a normal CAD system, a user can modify a geometric object.
Or input must be given for transformation, and then request that the processing of this input be started
Must. Therefore, feedback on user design is
Obtained each time the user individually requests. In contrast, in the present invention, the update processing
As soon as the input is received, the user does not need to explicitly instruct
Update processing is performed in time. Thus, users of the present invention may be able to use geometric features for virtually all points of interest.
Iterative approximation to the geometric object under design without the requirement to precisely calculate the properties
Can be performed efficiently. In particular, the invention relates to a number of geometric design objects (machines).
A wide range of satisfactory geometric shapes of substantial parts (including machined parts)
It has a significant efficiency advantage in that it can be designed in one go. Therefore, according to the present invention, for a portion of an object that does not require much accuracy,
This eliminates the need for the user to specify the precision of the geometric object being designed. FIG. 26 shows an embodiment of the present invention using a one-dimensional modification of the equation (1) described in the second section.
The steps for calculating the interpolation curve according to the invention are shown. In step 1004
Are the end points of the interpolation curve C (u) to be generated, and the tangent at the end points.
Is obtained. More specifically, both end points of this curve are assigned to variables PT1 and PT2.
. Also, the direction vector for the interpolation curve C (u) at the points PT1 and PT2 is
They are respectively assigned to variables TAN1 and TAN2. Here, PT1, P
Note that T2, TAN1, TAN2 can be provided in various ways
I want to be. For example, one or more of these variables may have a value assigned by the user.
And / or one or more of the other geometric object representations (such as
Derived from another curve, surface, or volume)
Is also good. More specifically, the direction tangent vectors named TAN1 and TAN2 are points
For parameterization of geometric objects (for example, surfaces) on which PT1 and PT2 are placed
It may be automatically determined accordingly. In steps 1008 and 1012, the fusion functions B1, B2 are
It is selected as described in section (2.1). However, the user explicitly specifies
The fusion function for a particular pair of fusion functions is defaulted so that
Note that it may be prepared. However, it should be noted that such a fusion function may be explicitly selected by the user.
Included within the scope of the invention. In this regard, the present invention is directed to the user's geometric design.
Various acceptable fusion functions exist because they are intended to express intent.
Which usually means that the user does not have to consciously determine the precise input,
This is because the intention of the user is generally appropriately expressed. In other words, for the iterative approximation of the final geometric design, a wide variety of fusion functions
It is believed that numbers may be acceptable; this uses substantially the same fusion function
To gradually create and / or modify relatively small portions of the geometric object being designed
By doing so, precise details are gradually created. With respect to another method, the present invention relates to a method for defining precise (geometrically or otherwise) constraints.
In addition, it is also necessary to express the user's intention repeatedly at a high magnification.
High accuracy and / or small scale design features where this is needed.
Can be incorporated into the user's design. In step 1016, the equation (2) applied to the one-dimensional parameter space
Using the transformation, an interpolation curve C (u) is calculated. Point PT1, PT2 and vector
FIG. 32 shows an example of the interpolation curve C (u) in the case where TAN1 and TAN2 are designated.
It was shown to. FIG. 27 shows the nearness of the equi-tilt boundary R (u) for the object S (for example, the surface)
The steps performed in constructing the similarity are shown; where the points PT1, PT
2 defines the contour curve corresponding to the isotropic ribbon boundary approximation to be generated. More details
In other words, the isotropic ribbon boundary approximation generated by this flowchart
It is intended to approximately fulfill the definition of the isoscillary boundary in the section "Justice." More specifically, the isotropic ribbon boundary approximation determined by this flowchart is
For example, along the contour curve generated between PT1 and PT2,
Depending on whether the object S is smooth or not, the portion of the object S between PT1 and PT2, etc.
Works to match the definition of the tilt ribbon boundary. That is, the smoother (curvature
The smaller the variance), the better the match. Next, in step 1104 of FIG. 27, the curve interpolation program shown in FIG.
The ram is the tangent TAN1 to PT1, PT2 and the object (surface) S
, TAN2. Thus, the nearness of the contour of S adjacent to the curve
A similar interpolation curve C (u) is returned. In steps 1108 and 1112, each of the points PT1 and PT2 is
The tangent (ie, picket) along the parameterization of the object S at
The values are substituted into the variables PICKET1 and PICKET2, respectively. Where PIC
KET1 and PICKET2 are usually perpendicular to the vectors TAN1 and TAN2
Note that this is not required. Then, step 1116
And in step 1120, the equidistant ribbon points corresponding to PT1 and PT2 are determined.
And substituted into variables RIBBBON_PT1 and RIBBBON_PT2, respectively.
It is. Next, at step 1124, the curve interpolation program of FIG.
Start again using BON_PT1, RIBBON_PT2, TAN1, TAN2
As a result, an approximately inclined ribbon boundary approximation R (u) is obtained. In some cases,
The equidistant ribbon approximation bounded by the interpolation (contour) curve C (u), corresponding to this
Pickets (PICKET1, PICKET2), and newly generated etc.
Note that the inclined boundary R (u) does not necessarily form a surface.
In fact, curves C (u) and R (u) may be substantially identical (eg, PI
If CKET1 is equal to TAN1 and PICKET2 is equal to TAN2
). FIGS. 28A and 28B show a more precise isotropic ribbon than the approximation obtained from FIG.
The flowchart of the program for constructing the boundary is shown. For more information,
28A and 28B, the path of the given contour curve
In response to the change of the object (for example, the surface) S along the line, the program of FIG.
Repeatedly activated adaptively. In step 1204 of FIG. 28A, one or more markers M i (However, i =
1, 2,..., N and N ≧ 1) are assigned to a variable MARKER_SET;
Here, these markers are on the surface S and along the contour curve to be generated.
The desired generation order has been made. Note that in one exemplary embodiment, the marker
Mosquitoes may be provided (eg, constructed and / or
Is selected). Further, in this description, the marker M i Is assumed to be the tangent of S input by the user.
. However, such a tangent vector determines the tangent of the direction of parameterization of the surface S.
It is also included in the scope of the present invention that it may be automatically given by
. In step 1208 of FIG. 28A, the first in the set MARKER_SET
Is assigned to the variable MARKER1. Then, in step 1212,
A determination is made as to whether there are additional markers in the MARKER_SET.
You. If there is, at step 1216 the variable INTRVL is
The parameter increment value for selecting points to be generated sequentially on the curve while incrementing
Enter. In one embodiment, INTRVL has a range of about 10-3 to 10-6 or more.
May be substituted. In step 1220, the value of the next marker in MARKER_SET is
Assigned to variable MARKER2. Next, in step 1224, MAR
KER1, MARKER2 (and associated user-specified tangent vectors
26) is used to start the curve interpolation program shown in FIG.
Interpolation curve C between mosquitoes j (U) is obtained (where j = 1, 2,...,
Depending on the number of times the Next, at step 1228, MARKER1
, MARKER2, and the value of the interpolation curve C (u), based on FIG.
A boundary approximation is determined, whereby the equi-inclined boundary approximation curve R j (U) is obtained. Next, in step 1240, the curve C j (U), R j (U) Select point on
Default value INTRVL is assigned to the variable u_VAL. this
In step 1244 following j (U_VAL) corresponds to the variable IN
Assigned to CRMT_PT. Next, at step 1245, the point C j (U
_VAL) is substituted into the variable S_PT. More specifically, assuming that S does not overlap with itself within ε> 0,
For some ε, C j A point on S existing in the vicinity of ε is selected. Note that C j Since (u_VAL) does not need to exist on S, the curve C j Crosses the surface S
An interpolation curve C that does not exceed 1.5 times any of the undulations j To the maximum length along
If the value of the variable INTRVL is set to correspond, the interpolation curve C j Is actually on the surface S
Note that it is considered to be qualitatively or consistent. Next, in step 1246, the point INCRMT_PT is set to the predetermined value of S_PT.
(For example, this predetermined distance may be in the range of 10 -3 to 10 -6)
Is determined. More specifically, the predetermined distance is determined by the user.
May be set and / or modified depending on the application for which the invention is utilized
It may be a system default value. Therefore, INCRMT_PT and
If S_PT is within the predetermined distance, step 1248 is executed;
In the step, the point R on the isotropic boundary approximation j (U_VAL) is determined and the variable
Substituted for RIBBBON_PT. Next, in step 1252, C j (
u_VAL), the approximation to the isotropic picket is determined and the variable PICKET
Is assigned to In the step 1254, the point C j (U_VAL) surface (more general
Specifically, the tangent to S) is determined and assigned to INCRMT_TAN.
This tangent points in the direction of parameterizing S. In step 1256, the vectors INCRMT_TAN and PICK
A determination is made whether the ETs are sufficiently close to each other (eg, within one pixel on the screen).
Is If it is close enough, u_VAL is incremented in step 1264.
And the interpolation curve C j The next new point above is determined. Subsequent step 1
In 268, the interpolation curve C j Whether the end of (u) has been reached or passed
A determination is made as to whether It should be noted here that 0 ≦ u ≦ 1 is assumed. Therefore, u_
If VAL is less than 1, step 1244 is executed again, then step
Some or all of the steps up to 1256 are performed;
As theoretically specified in, the equi-inclined ribbon point approximation R j (U_VAL) is the actual ribo
It is determined whether or not the point is sufficiently close. Returning to step 1246, if INCRMT_PT is not close enough to S
, S, a more precisely specified interpolation curve is determined. That is, the point
S_PT is placed in the marker and inserted in MARKER_SET;
New interpolation ribbon curve C with a smaller deviation from S j (U) and R j (U
) Is generated (assuming the continuous differentiability of S). That is, step 1272 is executed, whereby the mask for the point S_PT is
The new marker is created in the MARKER_SET as the current marker is created.
It is inserted between the current marker values MARKER1 and MARKER2. Then
Sets the flag of the marker currently called MARKER2 to unused
Along with (step 1276), in step 1280, the most recently constructed
Interpolation curve C j (U) and any accompanying ribbon boundary curve R j (U)
Remove. Then, step 1220 and subsequent steps are performed again.
And a new interpolation curve C j (U) and ribbon boundary curve R j (U) is determined. Here, in step 1256, INCRMT_TAN and PICKE
If it is determined that T is not sufficiently close to each other in the target space of S, step
Note that steps 1272 through 1280 and step 1220 are also performed.
I want to be. Returning to step 1268, the interpolation curve C j The end of (u) has been reached, or
If you have passed, C j (U) is (between MARKER1 and MARKER2)
) Is a close enough approximation to a point on S and R j (U) corresponds to a point on S
It is assumed that it is not close enough to the isotropic ribbon. Therefore, the interpolation curve C j (U
) And the corresponding ribbon approximation R j Additional markers for which (u) has not yet been determined
If present, consecutive (as marker order) in MARKER_SET
The next pair of markers is determined, as in step 1220 and subsequent steps
Is performed. That is, in step 1284, MARKER1
The value of MARKER2 is substituted, and in step 1288, MARKER_
A determination is made as to whether there is a next unused marker in the SET. Exists
In that case, as described above, step 1220 and subsequent steps
Processing is performed. When all the markers have been used, the obtained curve C j (U
) And R j (U) (where j = 1, 2,...)
, Displayed graphically and stored for subsequent operations. Note that the contour curve
C j By reparameterizing (u), these curves become a single curve C ~ (
u) (however, C ~ (0) = C1 (0) and C ~ Set as (1) = CN (1))
Note that it may be parameterized dynamically. FIGS. 29 and 30 illustrate isometric handles, ribbon tangents, and attendant
By modifying the isometric ribbon, one or more surfaces (more generally, geometric
FIG. 3 is a diagram illustrating, at a high level, a flowchart for correcting an elephant. More details
For simplicity, in the flowcharts of these figures, one or more parts
By the surface Si (where i = 1, 2,..., N and N ≧ 1) (at least partially
) There is a resulting composite surface S0, where these partial surfaces Si are common
Are interconnected (eg, spliced) along the boundaries of
It is assumed that 0 has no discontinuities. Given such a composite surface S0, the flow charts of FIGS.
, Can be described at a high level: In FIG. 29,
Specify one of the geometric properties to be changed (eg, length, direction, curvature, etc.)
The isometric handle and / or the ribbon tangent
Or the partial surface Si to be modified with a change in the ribbon tangent. Next, in the flowchart of FIG. 30, the selected equi-tilt handle and / or
Or, as the user enters a correction for the ribbon tangent,
Corrections are calculated and displayed in real time. Note that the surface (more generally, geometric
Real-time calculation of the modification of geometric objects)
On the other hand, the computational overhead becomes too large,
Note that we could not. Therefore, in the present invention, it is very efficient
Provides a new fusion surface calculation technique where the existing and generated surfaces are correct
By doing so, this overhead was reduced. A more detailed description of FIGS. 29A and 29B is provided below. To step 1400
In this case, there is a contour and an equi-inclined ribbon corresponding to the entire boundary of each partial surface Si.
If not, a contour and an equi-inclined ribbon approximating the entire boundary of each partial surface Si are created.
To achieve. This can be performed using the program of the flowchart in FIG.
Please note that. In step 1404, a marker corresponding to the marker on the surface S0 is
Isometric handle and ribbon tangent are displayed graphically to the user
. In step 1408, one or more additional isotropic ribbons are added to surface S0.
Or extending an existing isotropic ribbon having a contour curve on S0;
Is determined by the user. The user makes such a request
If so, step 1412 is performed; in this step, the user
In addition to the other markers added, (a) the contour touches the boundary of the partial surface Si
At all positions, (b) the contour curve ends on the boundary of the partial surface Si
Markers are added in such a way that each is expanded. Further, an additional marker may be added at the intersection of the curve boundaries. Therefore
For these latter markers, the two separate ribbon tangents associated with them are
May be present (ie, one for each partial surface). Next, in step 1416, each Si (where i = 1, 2,..., N
), The program of FIG. 28 is activated, whereby the desired additional contours and
And equidistant boundaries are obtained. In the program of FIG. 28, a new marker is added.
It should be noted that it is only necessary to activate for the partial surface Si. At step 1420 following step 1416, the newly added equitilt
The handle and ribbon tangent are displayed. Note that in some embodiments,
Initially, only the isotropic handle is displayed, and if the user desires,
Note that it can be selectively displayed. Then, in step 1424, one or more additional markers within the existing contour
It is determined whether the user has requested to add. When there is a request
Has a new additional marker and at least a new
Dollars are determined for these new markers. In one embodiment of the present invention, a case where a new marker is added to an existing contour
Note that this contour changes slightly;
At this point, it will be exactly the same as the surface S0 at another point, and
The interpolated curve generated in the meantime (according to FIG. 26)
This is because it is generated at that time. Thus, a contour with one or more additional markers will generally be adjacent to surface S0.
It will more closely follow the shape of the part. Then, in step 1432, a new additional marker is optionally added
To the user, including the corresponding isotropic handle and ribbon tangent.
It is displayed physically. Steps 1408 to 1420 and steps 1424 to 1420
Note that 1432 does not need to be performed sequentially. Event start user
If the user interface is used, the processing of each new marker is executed individually,
What can be displayed before the user inputs the next new marker position is
It will be apparent to those skilled in the art of user interface design for computers. Therefore
During the continuous execution of steps 1408 to 1420, step 1424
One or more of steps 1432 may be performed. In step 1436, the isotropic handle and / or ribbon tangent is
It is determined whether or not the user has selected as a correction target. Should be modified
It is noted that the isometric handle and / or ribbon tangent is given the identifier ISO.
I want to be reminded. At step 1440, a marker corresponding to the ISO is determined, and
Access is enabled via the variable MRKR. Next, at step 1444
And a set of one or more partial surfaces S1,..., SN adjacent to MRKR is determined.
Access to these adjacent part surfaces is possible via the variable ADJ_SURFACES.
It works. In steps 1448 to 1460, the partial table adjacent to MRKR
The boundary expression of the surface Si is determined (step 1452), and MOD_SET and table
It is inserted into the set of surface boundary representations described (step 1456). More details
Or, for each of the partial surfaces in ADJ_SURFACES, next to MRKR
The boundary of the smallest part of the surface that is in contact with and bounded by the isometric ribbon
The expression data is put into the set MOD_SET. Finally, in step 1464, the program of FIG. 30 is started;
MOD_SET in real time as the user changes the ISO
The part of S0 in the boundary expression included therein is corrected. [0285] In the flowchart of Fig. 30, the identification is performed by the surface boundary expression in MOD_SET.
High-level steps to correct in real time
Note that these surface portions are adjacent to the marker MRKR. Therefore
, In step 1504, an isometric handle corresponding to the marker MRKR and
And / or the first (next) modified version of the ribbon tangent is obtained and substituted into the ISO
It is. Next, at step 1508, the ISO modified isometric handle and
And / or all isometric ribbons with ribbon tangent are regenerated and required by the user.
The latest correction requested is reflected. Note that this is a one-dimensional version of equation (1)
With the MR on each isotropic ribbon including the MRKR.
Modify each such isometric ribbon along its own area between the KR and the adjacent marker
Note that this is the case. Next, in step 1512, the first (next) boundary in MOD_SET
The boundary expression is assigned to the variable B. Then, in step 1516,
A set of equi-inclined ribbons for the (outline) boundary segment is substituted for a variable R. here
Where R is defined as containing at least one isotropic ribbon containing the marker MRKR.
I want to be reminded. In step 1520, a fusion table defined by the contour of the R
A surface is created. The equation used in this step is similar to equation (4)
It is a thing. However, this formula contains an additional function Qi (p)
. It should be noted that, in general, the parameter used when generating the surface S (p) in this step.
The part of the parameter space has 2, 3, 4, 5, or more sides (original contour image)
It should be noted that each side may have the original image of the isotropic ribbon.
You. Thus, for the translation function Qi (p) for each isotropic ribbon Ri of R, R
A point p in the parameter space inside I of the original image of the contour Pi for each isotropic ribbon Ri
, The corresponding point in the target space of the equi-inclined ribbon Ri is determined.
In a manner that can be used in the fusion function in Tep, these points p are Ri
Is preferably translated to a point in the parameter space for. Where the translation function
Note that Qi (p) preferably satisfies at least the following constraints:
I want to. (A) Q i (p) is continuous with respect to the continuous surface. That is, when the point sequence in I converges on the original image of the contour point Pi (u), Qi (p
) Converges to the equi-inclined ribbon parameter space point (u, 0). Next, in step 1524, the surface S (p) is displayed.
In 28, an additional boundary representation to generate an additional fusion surface S (p) is M
It is determined whether it exists in OD_SET. Step, if present
1512 is executed again. On the other hand, if no boundary expression remains,
At step 1532, the isotropic handle and / or rib
It is determined whether there are additional modifications by the user to the tangent. If it exists, at least steps 1504 to 1528 are executed again
Is done. In addition, each step of FIG.
Conform to the MRKR specified by the user while continuously correcting the Bon tangent
Real tie that is made gradually for the isometric handle and / or ribbon tangent
It should be noted that it can be performed sufficiently efficiently in such a way that changes in the system can be displayed. <4. Geometric Design User Interface> The general principles described above apply to a new user interface for computer-aided geometric design.
The foundation of the interface. In one embodiment of the user interface for the present invention, the user interface
A face is provided to define the equi-tilt. Such an interface
The use of a tool allows the designer, for example, to give a constant slope along the entire contour curve.
You can create a reflected ray by requesting it to be perpendicular to the ray direction of this;
Will be obvious to those. More generally, in the new user interface, the input of various constraints
Isometric ribbons, isometric handles that satisfy such constraints, and
And / or a ribbon tangent can be generated. In particular, beam direction, curvature, contact,
It allows the use of global constraints such as bell contours, planar dihedral functions, etc .;
Will be apparent to those skilled in the art. [0297] In one embodiment of the user interface, the user may access a given user, such as a cylinder.
Start with a geometric object. The user then moves to various positions on this cylinder.
Place a marker and draw a contour curve on the cylinder. Use tilt information from cylinder
This allows the contour tangent and / or isometric handle to be used as default.
May be. For example, at each marker position, the contour tangent is
In the plane tangent to the cylinder at The user may then select and modify the marker, add a marker, and / or
May modify the position and orientation of the isotropic handle and / or ribbon tangent.
As the isotropic ribbon is modified in this manner, the cylinder (more generally, the geometric
The target object) reflects the change due to the correction of the isotropic ribbon. Desired shape geometry
Until the target (derived from the cylinder) is obtained, add additional contours and markers.
You can add it in a way like that. One example of these steps is shown in the flowchart of FIG. That is,
In step 1904, the user may view the graphically displayed surface (more generally,
Is a geometric object). Next, in step 1908, the user
Construct a contour curve on the selected surface (object). Next, in step 1912, an equi-tilt ribbon (or at least
) Is generated for this contour. Note that this ribbon / boundary can be
, Can be generated with virtually no additional input from the user. sand
That is, an isoclinic ribbon / boundary can be generated from the contact properties of the surface on which the contour resides.
. More specifically, for a parameterized surface (more generally, a geometric object)
, The parameterized tangent on the surface at a point on the contour is
Can be used to create boundaries. Therefore, the vicinity of the surface on one side of the contour curve is shifted to the first side having this contour.
Can be used to determine the first isotropic ribbon / boundary to the surface;
Is above the seam between the first and second surfaces, the other of the contour curves
May be used to determine a second isotropic ribbon / boundary. [0302] Further, other surface properties may be retained on the iso-inclined ribbon / boundary.
Please note. For example, to keep parameterized tangents at contour curve points
In addition to isotropic ribbons / boundaries, the curvature and higher order (> = 2) derivative continuity with the surface
Surface characteristics such as the above may be retained. It should be noted that equi-inclined ribbons / boundaries provide additional surface properties.
Note that retention is also within the scope of the present invention. In step 1916, using this generated isotropic ribbon / boundary,
Surfaces with curves may be modified; in this regard, FIGS.
This has been described above with reference to the flowchart program. In some embodiments of the user interface, two object space surfaces
And a continuity requirement of a higher order than the tangent plane continuity can be selected.
(For example, curvature continuity)
, Are available for designers. For example, high-order continuity can be applied to isotropic ribbons derived from one surface at a common boundary.
By imposing constraints, it is also possible to create an equi-inclined ribbon to the other surface with a common boundary.
Can be bound as well. Therefore, this operation, under certain conditions,
"Mach b (Mach b)
and) reduce the effect. [0306] Other user interface operations provided in the present invention include the following.
There is (A) "rounding", which is a twisting process
Or modify existing surfaces; this may cause the sharp edges to be rounded or sharpened.
Jagged edges (ie, smooth surface except one point)
Is kinked). In order to perform such an operation in the present invention, the contour curve must be drawn on the surface opposite to the tip.
On top and smoothly blend between the contours (eg, as discussed in Section 2.3.5).
Then, the surface between the contours including the apex is removed. (B) "Embed", an interactive user interface procedure
Take the finished model, scale it, rotate and transform it to separate
As part of the model. <4.1. Define isometric with markers, contours, and user interface
Thing> The explicit contour is a contour curve expressing the intention of the designer. Explicit contour, bunch
May be unbound (free form) or partially bound (trim
). Implicit contours are, for example, visible between the surface fragments due to surface discontinuities.
(For example, formed between the end surface of a cylinder and its cylindrical side surface).
Bends, ie, curves). If the user introduces a surface discontinuity, the implicit contour is automatically generated.
It is. All contours in the model are in explicit or implicit form. <4.1.1. Creation of Marker> The outline marker and the handle are created by the following method. A. Markers are automatically created at the edges of new explicit and implicit contours
. B. Inserted by the designer on an explicit contour (for example, double-clicking a point
By that). From the designer's point of view, one would insert points on the contour. This
Only a few or only a few of the newly placed markers
Is changed in the contour line segment including. Then, add a new marker
Contour handle and isometric handle are determined based on the contour and surface shape
Is done. [0312] One marker may be designated at a plurality of identical points on the same contour (for example,
Contours that form and return to themselves and adhere to themselves). Such a mapping to multiple contour points
The marker designation remains unless this marker is deleted. If two or more contours intersect at a common point having a contour marker,
Each marker with a marker is bound and one marker is moved.
If both move, the match is maintained. The contour marker inserted by the designer can be used to provide contour handle points or
It may be inserted to set a constant iso-inclination value. The outline handle point is
There may be a set of constraints on the isometric handle;
Dollars may be given a value by interpolation of the two closest isotropic handles. <4.1.2. Viewing Markers and Contours> Various constraints may be imposed on the contour handle and the isotropic handle;
In the case of these handles are displayed differently depending on the constraints imposed.
It is. More specifically, the following constraints may be imposed on these handles: (A) Binding the direction of the handle to a specific range, (b) binding the length of the handle to a specific range, (c) binding the handle in the same plane as another handle, and (d) setting the curvature of the handle. (E) binding a handle to follow the transformation of another handle (eg,
Rolling and / or translation). The designer can select the display of the constraint condition by using the display request of the property of the geometric object.
Wear. In one embodiment, for different types of constrained contour markers, different
Displayed in different colors. For example, a non-mutable handle (also called a "fully bound"
) May be displayed in blue. In some embodiments of the user interface, the bound vector
Are "grayed out" so that these vectors
It is made clear to the designer that cannot be changed. For example, in one embodiment,
Fully bound handles are grayed out. <4.1.3. Combine Contours> In one embodiment of the user interface, the intersections at the same X, Y, Z locations
Joining two or more contours together is supported. When deforming the contour
And if the parameterization of the points on each contour is invariant,
Is called a "tie point". Note that such binding points are
It may or may not have an accompanying marker.
Please note. If such a binding point is modified,
Are modified as a group. like this
The binding point may be the end point of the contour, or an interior point (ie, a knot).
(Knot)). Alternatively, the first marker of the first contour exists in the target space range of the second contour.
May be constrained (in the shadow or in the sun). For example, FIG.
In FIG. 42B and FIG. 42B, the user sets the outline marker 2002 (first outline 2003 and first outline 2003).
And constrained on the second contour 2004) along the second contour 2004
Which causes the marker 2002 to move along the contour in the direction of the directional arrow 2006.
When sliding, the contour 2004 in FIG. 42A changes to the contour 2004 in FIG. 42B.
The user interface may have a function that enables the user interface. this
Such a slidable marker 2002 is called a “slide point”. A contour intersection is either a “slide point” or a “binding point”. Also these
Different types of points can be graphically represented by different colors and / or shapes.
May be distinguished. In addition, while the outline slides along another outline,
When the isotropic ribbon for this sliding contour is used to calculate the fusion surface S
, S is recalculated. <4.1.4. Creating Markers and Contours> This user interface supports the creation of contour curves by several methods.
Can be A. As with the data driven technique of FIG.
Draw a contour on the surface; here, to bind this contour to the surface within a given tolerance
, Additional markers may be added. Alternatively, in the second embodiment,
By allowing the user to select all markers that
You may draw. In each case, the contour is drawn over one or more surfaces.
Please note that it may be. Further, in the second embodiment, the user input
The interface supports the following steps to create a suitable contour. (A1) A marker point existing on the surface is specified. Each in parameter space
Generate a fit curve through the points; then evaluate this fit curve to fit in the object space
To obtain a corresponding image. (A2) For each surface where the new contour intersects, the user intersects the surface
The contour type (free form or trim) for the contour part may be designated. table
Trim one side of the surface to the contour drawn on the surface, or add two surfaces
Split into new surfaces. In this case, any penetration into the interior of the surface (non-degenerate
Contours must also intersect surface boundaries at entry and exit points
Note that That is, two surfaces along a common contour boundary are always joined to that contour.
Where, for this contour, these surfaces are classified as follows: (
a) one surface is a trimmed surface and the other is a non-trimmed surface ("free form
(Also referred to as "surfaces"), or (b) both are freeform surfaces. B. Copy contour: The user selects the contour to be copied. This contour is
(Called clipboard). Next, the user can copy
Select (for example, you should keep the contour handle or copy the contour
Attach contour handles to geometric objects). User selects new contour arrangement
(Resize, rotate, mirror, etc.) The user selects a location for a new contour. Note that the new contour is the original contour
Note that it can be bound by the constraints imposed on. For example, a new
The contour may be mirrored about a plane from the existing contour, and
Any change causes a change in the copy. If you create a new contour,
Contour markers are automatically generated at both ends of the new contour. Contour handle and isometric
(Ribbon tangent) The handle is derived from the geometric properties of the surface that the new contour splits
It is. <4.1.5. Modification of Marker and Contour> Modification of a marker and / or (contour, isometric) handle is
Or subject to constraints imposed on the handle. These are the methods listed below.
It is bound by one. A. Select a handle (contour or isotropic) at a specific marker m and
The dollar endpoint is defined as the vertical plane on which it is perpendicular (ie,
Defined by a contour or isometric handle and a contour handle in the plane or m
Movement to be constrained to lie on the
To correct. To modify selected contour and / or isometric handles
In order for the user to enter numerical values for length and angle from the keyboard,
A property sheet in a pull-up format is also available. B. For markers whose original image is constrained to be within the outline original,
For example, interactive repair by dragging such marker points
Positive allows the parent to slide along the contour. In addition, the position is bound
For unmarked markers, the marker point is set to the contour of the parent on which this marker is placed.
Move freely along the route (ie, only by the user's instructions and without any other restrictions).
Note that it can move. [0331] Further, the user can click on each of them or in the designated area (
For example, by selecting all markers within the bounding rectangle),
Note that contour marker points can be selected. In this case, the user
By moving the play instruction device (eg, mouse), all selected
All markers are moved uniformly in the direction corresponding to the movement of the display pointing device.
Can be made. However, the movement of the markers is subject to the constraints imposed on these markers. Was
For example, a bound marker moves only within the limits imposed on it. did
Thus, while the first selected marker moves only within the first contour,
Only the selected marker is positioned within another second contour orthogonal to the first contour.
When moving, one of the following applies depending on the desired moving direction. (I) the first marker is movable, but the second marker is not movable, (ii) the second marker is movable, but the first marker is not movable, (iii) Both the first and second markers are movable, (iv) neither marker is movable. C. Marker and handle constraints are not provided explicitly by the user, but are
It may be set as a default value. Pop-up nature sheet allows users to
Can set or remove specific constraints. D. Contour handle and / or etc.
Set additional constraints on the tilt handle that are dependent on the properties of other geometric objects
You may. For example, if the contour handle and / or
It may be constrained to be perpendicular or parallel to the reference plane. Note that the contour marker
For the position of, even if the constraint condition is set to depend on the characteristics of other geometric objects,
Note that it is good. For example, a marker is bound to be on a split plane.
Wear. The dividing plane is a plane related to the symmetry before and after the bottle is designed.
It is. Another example of such constraints is found in creating symmetric designs;
In other words, a copy of the contour marker that is mirrored with respect to the division plane is
And are bound to be symmetric. E. The surface adjacent to the contour is either C0, C1, or C2 continuous
Where C0 continuity is positional continuity and C1
Continuity is contact continuity, C2 continuity forces a smooth fused surface
. One constraint that can be set for a marker is the distance between the surface surrounding this marker.
Require C1 continuity; this is the tangent vector to the internal marker.
This is done by keeping the lengths of the rules equal. Freeze the contour handle and / or the isotropic handle at the marker (corrector
Contour segment containing this marker, the next two
Reconstructed based on the contour handle of the proximity marker; effectively,
So that the handle reflects the curve constructed by the two markers on either side
Is changed to [0337] Broadly speaking, contour modification is performed by controlling the contour marker position to control the contour shape.
And a feature of the user interface technique for modifying the handle
You. Examples of such user interface techniques are given below. A. Direct method: The contour is directly modified on the object space (three-dimensional) model. this
Is performed by correcting a contour marker and a handle constituting the contour. When the designer modifies a trim contour, the contour always reflects the pattern of the trimming surface.
Exists in parameter space. That is, the trim contour is
Must be modified in the context of the superstructure surface. Trim contour to correct
Or its component), the construction target of the superstructure is highlighted.
It remains highlighted while the user corrects the trim contour
. The designer has the option of turning on the contour and modifying it by the direct method.
You may have. For example, by modifying the contour that defines the surface of the superstructure,
The surface of the substructure is also updated. The contour that trims the surface of this superstructure is
Since it is constrained to be in meter space, the trim profile is also recalculated. B. Design Ribbon Method: This method is used to modify specific areas of the contour
You. By using this, for example, contours that are complicated in one display direction
Correction in the direction can simplify the work of the designer. Designers are the same
Two markers existing on the outline of are designated. Contour segment between two markers
Project in at least one graphical display direction of the contour,
A ribbon is created (not to be confused with an isometric ribbon). A design ribbon is a simple protruding surface (ie, a curve that follows a given direction).
To produce a surface; for example, for a marker at the edge of the contour, the corresponding
By displacing the corresponding contour handle using the isometric handle, the boundary handle
And equidistant boundaries are compensated using, for example, a low-dimensional version of Equation (2).
A surface having an outer periphery consisting of a contour, an isotropic handle, and an isometric boundary.
Define the projecting surface). The three-dimensional contour segment defined between the markers is always
Present in the original image of the design ribbon. The user can use one of the following two methods
Correct the contour by one of them. (B1) Modify the two-dimensional drive curve that draws the design ribbon;
At the end of the ribbon, and by default, this curve
2 is a two-dimensional representation of a defined three-dimensional contour segment. User is a 2D point part
By selecting the set, the drive curve can be "simplified". Every time the user corrects the drive curve point, the ribbon is updated and the three-dimensional contour is also corrected
Exists in the parameter space of the modified and modified ribbon. Against the drive curve
Examples of operations are the same as those listed in the section “Contour markers” (point / tilt correction
, Insert, delete, etc.). (B2) A two-dimensional contour point in the design ribbon is corrected. The user can move in the main display direction
Two-dimensional contours can be directly corrected in a vertical display direction. Two-dimensional points are always
Exists in Bonn's parameter space. Examples of operations are given in the section “Contour markers”.
Same as something (point / tilt correction, insertion, deletion, etc.). There is only one design ribbon per contour segment, per surface
I can do it. Design ribbons can be created, modified, and deleted. Once created
Will be permanent if done; that is, until the designer later modifies this segment
Remains unchanged. The design ribbon only appears when the designer corrects this
. A single profile has multiple ribbons corresponding to multiple surfaces containing this profile.
May be. [0347] Note that, by correcting the contour using the direct method, it is possible to spread between the corrected points.
Note that any design ribbons will be deleted. As a result, there is no ribbon
And the designer must re-designate the ribbon. C. Contour movement: The designer selects two or more contours and moves them simultaneously. sand
In other words, this user interface instruction is placed on the contour (or its segment).
Are selected, and all of them are moved as a unit. D. Merging contours: the designer draws a new contour, which matches the end points of each contour
Can be mounted on existing contours as In addition, designers can use existing contours
You can specify which segments of the to delete. As a result, a new wheel
The contour and the remaining connection part of the existing contour having an end point matching the new contour
Will be merged. Note that by merging the contours,
The set of contour handles, isotropic handles, and ribbon tangents into a single set.
Summarized. E. FIG. Contour separation: one contour can be separated into two at a single point p
. The endpoints of each of the two new contours are constrained to coincide at p. <4.1.6. Deleting Markers and Contours> It is always possible to delete contour markers, except at the endpoints of the contour.
is there. However, in some embodiments of the present invention, the pieces were kept smooth.
Need to replace the marker with a marker with constraints
. Note that the new bound replacement marker is in the same location as the previous marker.
Note that it may or may not be present. If the entire contour is deleted, the user interface
Highlight a geometric object, its outline and its subordinate geometric
Ask the user for confirmation before deleting the target. Therefore, in the present invention,
Dependency information on dependencies between Dell geometric objects is well preserved;
Therefore, when modifying the target used to guide other targets, appropriate additional
Note that the correct is also performed automatically for these other objects. <4.1.7. Contour Markers and Contour Handles> For contour markers, typically two contour handles, two isometric handles and
Note that there are two ribbon tangents;
One contour handle, one equi-tilt for each surface that has a curve
Handle, and one ribbon tangent. However, where some contours gather
In minutes, the number of handles associated with a contour can be much higher;
If it is at the end, it can be less. <4.2. Isometric and User Interface> The tilt of the isometric handle is at the marker and around the contour containing the marker.
In the surrounding part, the surface contact property is controlled. The length of the isometric handle is
Control the body. That is, it controls how much the surface is bulging. Some
The tilt handle is offset from another isometric handle (eg, -10
(To the other side only). Equidistant handles can be placed at any point along the contour
(By inserting a marker on the contour). <4.2.1. Creating Eccentric Handles> The user interface supports binding of isometric handles to each other.
Have been Such a handle is always tangent and of equal length,
Alternatively, it can be constrained to be somewhat offset, etc.
. In one embodiment of the present invention, the user interface includes
Equipped with a pop-up menu to display and change the isometric handle constraint value
I have. <4.2.2. Correction of isometric handle> If the user slides the contour marker along the contour, the user
By fixing the isometric handle to the
) To change the surface; or the two closest neighbors on the contour, etc.
An equi-tilt handle may be obtained by interpolation between the tilt handles (in this case, the dependent table
Surface is not affected). <4.2.3. Deletion of isometric handle> The user interface supports the deletion of the isometric handle. Isometric
When deleting, the following steps apply. <4.3. Special Geometric Objects and User Interface> In the present invention, there are some features that substantially enable the design of objects such as containers.
Special types of geometric objects can be created and manipulated. <4.3.1. Label Surface> The label surface is a special case of the trim surface. Special case of label surface
The signs are as follows. (I) a "watershed" contour running from the bottom to the top of the label; (ii) the label curve between which the corresponding label surface is graduated
Exists (eg, label curve 132 of FIG. 11); (iii) a boundary (trim) contour exists (eg, trim contour 1 of FIG. 11).
38). An important difference that distinguishes the label surface from the other trim surfaces is that the original surface (labeled
(The surface from which the metal surface is trimmed) is a graduated surface. More
Is the curve defining the label surface, the scaled surface is the boundary of these defined curves
Bound to be maintained within. Other surfaces may be fused to the label trim contour, but the trim contour is
That this can only be modified in such a way that it is guaranteed to border the graduated surface
Please note. In one embodiment of the present invention, the two-dimensional “stretched” representation of the label surface is
Can be generated. In other words, the surface is flattened by pushing it flat, so that
It can correspond to one to one. Such representations are designed by the designer on the label surface.
, And then the container is wrapped. <4.3.1.1. Creating a label surface> To create a label surface, the surface of the superstructure to be trimmed must be graduated.
Surface, which can be approximately developed, that is, on any scale line
It must be a graduated surface where all normals are parallel. Next, the user
Perform a normal surface trim step; ie, draw a contour on the graduated surface,
On both sides of the contour (ie, the label surface and the surface portion to be trimmed) (
Part) generate surface, trim label surface and fuse with other surface of trim contour
Let it. It should be noted that the surface part to be trimmed is hidden during normal viewing.
Want (ie, no longer part of the visible model). In order to generate a label surface, the following procedure may be prepared. High
At a higher level, the steps in this procedure are as follows: (I) Confirm that the surface is graduated. That is, if the contour is 4.3.1. Knot
The contour selected by the user is automatically corrected so as to satisfy (i) and (ii).
Correction is supported by the user interface. More specifically, this
To perform the steps, the following sub-steps are performed. (Ii) the user outlines the boundary on a surface that defines the boundaries of the label; (iii) a graphical representation of the label (ie, on its own, characters, designs,
And / or construct a graduated surface with a design) (iv) Give the user this label representation on the label surface (ie this representation)
Attach it graphically. More specifically, the user for attaching the label expression
The interface automatically labels the label expression by grouping type operation
In such cases, the label representation may be rotated, translated, or contracted on the label surface.
Maintains its position on the label during operations such as changing the scale. (V) If the label surface and / or label is not satisfactory, use
Allow the user to cancel the design. <4.3.1.2. Modification of Label Surface> Modification of label surface components is slightly different from modification of trim surface. The portion of the watershed contour that is a straight segment is constrained to maintain linearity. The opposite boundary of the watershed (the other side of the parent graduated surface) cannot be modified. Upper part
Between the boundary and the lower boundary is a simple straight line segment. Upper and lower boundaries
The contour can be modified. These allow you to insert additional free contour markers above themselves.
Are bound to not. The contour marker at the far end of the watershed is marked with a scale.
Is constrained to move only to maintain the surface. This is the graduated surface
As long as it remains, this is expandable (extendable along the same curvature)
, The angle of the end point is readjustable. <4.3.1.3. Deleting label surface> By deleting the label surface, the bundle for all the contours used to create the label surface
The constraint is removed. In addition, all constructs for label surfaces that are invisible to the user
The elephant is also deleted. The constraint of maintaining a graduated surface is also eliminated. But
Thus, the remaining geometric objects are released from the constraints on the label surface,
It can be modified in ways that were not possible before. <4.4. Drilling Tool User Interface> In the present invention, it assists a user to add a hole to a geometric model.
New computer techniques may be provided (e.g., adding a handle to an unhandled bottle).
To add). The information needed to add holes to the model by this procedure is
It looks like this: That is, the loop of the contour segment on the front side surface, the back side
Contour segment loops on the surface, each contour type of contour loops (free form or
Is the trim), and an optional contour, which forms the interior of the hole. <4.4.1. Creating Holes> The Hole Creation Tool guides the user through a series of steps to add holes
I do. FIGS. 22A-22C illustrate the use of the present invention to create a hole 600 on a geometric object 604.
It is a figure which shows the procedure which produces (FIG. 22C). Run to create hole 600
The corresponding steps are as follows. (A) Draw a contour loop 608 on the front surface 612, (b) Draw a contour loop 616 on the back surface (project the contour 608 on the back surface)
May be). Note that isotropic handles are automatically placed on contours 608 and 616.
I want to be. (C) One or more of the contours for one of the contour loops 608 and 616 is free
If the contour is a formal contour, the user must add a new contour (to complete the contour loop).
And / or contours that merge corresponding to such loops may be added.
This allows these contours to be used as if they were a single contour.
Be bound as much as possible. Therefore, after the contour loop has been constructed,
Can be used to remove the surface and remove the original surface blocking the holes. If a trim contour loop is specified, the surface area inside the contour loop is trimmed.
Is done. If specified, the hole creation procedure uses additional contours to define the internal boundaries for the hole.
Place the surface on top and mold. Otherwise, the front and back contour loops
The surface is automatically peeled between the loops. <4.4.2. Modifying a Hole> Modifying a hole modifies the contour markers and contour handles that form the shape of the hole.
Is performed by the function. <4.4.3. Deletion of a hole> Deletion of a hole depends on the components forming the shape of the hole, ie, the contour and
This is done by the ability to delete other geometric objects. <4.5. Consider smoothness using the user interface> Consider the order of the transition between adjacent surfaces (at the contour). In this section, the second
It contains broader suggestions for the general theory mentioned in the section. <4.5. 1. Continuous contour using interface> Given two crossing contour curves, if the following conditions are satisfied,
Derivative continuity at the intersection is guaranteed. (A) the end point of one contour matches the end point of the other contour (position continuity); (b) the fusion function Bi (FIGS. 26 and 27) used to generate the contour
(C) contour handles at intersection markers are collinear and have equal length. The following tangent continuity is a weaker condition obtained by changing the above (c).
It is. (C *) The contour handle at the intersection marker is only collinear. This place
In that case, the length of the contour handle may be different. The designer can break the collinearity of the two contour handles at the intersection marker by
A bend can be created at the marker position. This is a two contour hand
That do not have a common direction. <4.5. 2. Continuous Surface> The concept of tangent plane continuity between surfaces can be defined as follows. That is, two
For each point p at the boundary between the surfaces S1 and S2 of p, the tangent plane T1 (p
) Is equal to the tangent plane T2 (p) of S2 at p. For surfaces that straddle contour boundaries
In order to achieve tangent continuity between markers, it is necessary to add
Contour handles at each other and at the marker,
It must be in a common plane. If this is not met, the contour
Bends on the surface along. [0381] Two or more surface pieces should be generated, and these pieces are placed at a common marker point p.
In the present invention, in the case of binding to
Note that an isometric handle called "" is automatically generated. That is, each contour P (with p) used to define one or more surfaces
, The corresponding automatically generated vector V, which is a vector V with origin at p
There may be a common directional handle created; where V is the contour hand of contour P
Perpendicular to the contour, this contour is
It lies in the constructed common plane and contains the point p. In addition, user in
The interface displays the common direction handle by the user or not
Please note that this is supported. In order to achieve a smooth surface, the contour handle and the isotropic handle
Note that there is no need to match adjacent contours at the marker; these
Need only lie in a common plane. FIG. 18 shows the surfaces 416 and 41
For eight, there are three contour curves 404, 408, 412. Each of the three contour curves intersect at the contour marker 420, and each contour is
Corresponding equi-inclined ribbons 424 (corresponding to contour 404), 428 (corresponding to contour 408)
, 432 (corresponding to the contour 412). Further, the contours 404, 408, 412
And the contour handle and isometric handle associated with the marker 420 are as follows:
It is. (I) Contour handle 436 and equi-tilt handle 440 for contour 404, (ii) Contour handle 444 and equi-tilt handle 448 for contour 408
(Iii) For the contour 412, the contour handle 452 and the isotropic handle 45
6. Therefore, the contour handles and the equi-tilt handles 436, 440, 444, 44
8, 452, 456 all lie within plane 460 (shown as a rectangle using dashed lines).
If present, surfaces 416 and 418 connect smoothly at marker 420
. At any marker, the two isotropic ribbons are similar to the intersection of two contours
Often, they intersect in a manner; that is, two equi-inclined ribbons, one end for each ribbon.
May have a common equi-tilt handle. The different (fused) surface regions S1, S2 (FIG. 43) connected by the composite contour
In order to realize the tangent plane continuity between tangents, the tangent continuity across the contours P1 and P2 must be
Not only is it necessary, but also the tangent continuity between adjacent ribbons R1, R2 is required.
You. That is, the contour P1 (between the markers 2010 and 2014) and the contour P2 (
For markers 2014 and 2018), the respective ribbons R1, R2 are:
When these are considered as surfaces, they must be continuous on a tangent plane,
The handle 2022 must be shared. In many cases, the tangent continuity between ribbons is the tangent continuity between contours, and
, Tangent continuity between the ribbon boundaries required for a smooth transition across the surface piece boundary, and
Note that they are equivalent. Furthermore, the user interface of the present invention
Thus, techniques are provided for ensuring tangential planar continuity between ribbon boundaries;
Note that these techniques were used to ensure tangent plane continuity between contours.
Substantially the same as the law. Thus, according to the present invention, there has been produced from an equi-inclined ribbon according to the present invention.
Tangent planar continuity between adjacent surfaces is obtained. In some situations, the continuity of the composite ribbon is intentionally broken, and
Folds across the surface can be formed; the folds
Does not match with contours that match along. However, in some embodiments of the present invention,
Can create a "shade-shaped outline" that matches this fold. <4.5.3. Curvature continuity> Surface appearance quality depends not only on tangent planar continuity but also on higher derivatives
You. The user can actually feel the discontinuous change in surface curvature;
In particular, specular highlights and anti-
When displayed by projection texture mapping, this is well applied. Users should be aware of unsightly artifacts known as “Mach bends”.
Can be. Therefore, the degree of continuity during the transition is increased to the curvature continuity.
This will improve this problem. According to the analysis, the curvature of the surface defined by the equation (1) or (4) is Bi
And the second derivative of Si. The dependence on Bi is not obvious;
Thus, the fusion surface is selected such that the second derivative is zero, and the surface function Si is given by the curvature
Is advantageously determined. The cosine square function in section 2.1 satisfies this condition.
Fulfill. There is also a fifth-order polynomial that satisfies this. For example, in equation (3.1)
This is the polynomial B1 (x). The curvature of the fusion surface generated by equation (1) or (4) depends only on Si
(Ie, Bi ″ = 0), the method of the previous section for achieving tangent continuity
Similarly to the above, it is possible to increase the degree of curvature between the boundary surface pieces Si. To do this, simply place the corresponding contour and isometric handle on the contour boundary.
What is necessary is just to define so that these 2nd derivatives may correspond in each marker along.
However, each contour handle 212 may be considered as a one-parameter linear function.
Note, therefore, that the second derivative is zero. Therefore, curvature continuity
Is achieved; however, the curvature across the contour is “flat”, ie, zero. This is useful at each point where there is a bend on the contour, but at other locations.
Is not desirable. To correct this situation, move the straight handle to a parabolic arc
What is necessary is just to replace it with a curved rib like this. Therefore, the handle becomes an arc and the marker
In mosquitoes, the curvature matches a given arc. [0398] For all handles, such as contour handles, isometric handles, and boundary handles,
The idea of giving non-zero curvature and zeroing out the second derivative of the fusion function
Is extended, the Mach band effect is reduced. <4.5.4. G1 Continuity Using Roll, Yaw, and Magnitude Representations> In the present invention, handle vectors (eg,
, Isometric handle) is provided;
Here, the G1 continuity between the surfaces connected by this contour (as defined in the “Definition” above)
Is defined). In this method, referred to herein as the roll-yaw method,
Three scalar quantities called roll, yaw, and mag (magnitude)
Specifies the vector V; where roll and yaw are at point P on the curve
A tangent vector T at point P, a vector N perpendicular to the curve at point P,
Is determined using The yaw component of the vector V represents the angle deviation from T at P
You. For example, if the vector V is in the direction perpendicular to T, the yaw value is (at least
0 ° (in one coordinate system) and the vector V is in P in the same direction as T
The yaw value is 90 °. For the roll component of vector V, this scalar
The amount indicates the amount of rotation around T about the axis of rotation; here, this angle is measured.
The reference axis at this time is the vector N at P. [0402] Therefore, the vector N represents the roll 0 °, and its rotation angle is calculated using the right-handed system.
In the range of -180 ° to 180 °; this will be apparent to one skilled in the art. Be
For the mag component of the vector V, this simply represents the length of the vector V. here,
An arbitrary vector expressed in three-dimensional Cartesian coordinates is, for a given T and N,
Note that it is possible to convert one to one into the notation of the rule, yaw, and mag. [0403] Note that the vector N may be selected from vectors in a plane perpendicular to T.
I want to be reminded. However, this does not ultimately determine N. Therefore, define N
There are several ways to do this. Such a method for determining N
The first one simply selects a constant vector VC, then the expression N = T × VC
N is determined. However, in this method, if T and VC are collinear,
In this case, N is undefined. In order to obtain the value of N even when the result of this equation is a zero vector, N must be
It can be approximated in the linear topological neighborhood. In contrast, N
In the second method, the Fresne-Serrare coordinate system of the underlying curve is selected.
Good; this will be apparent to those skilled in the art. However, the Fresne-Séret coordinate system is discontinuous at the inflection points along the curve.
Can get. Thus, in the present invention, complex (ie, three-dimensional) curves
Provides a way to create a reference coordinate system that also has minimal rotation;
When defining the vector N irrespective of the direction and shape of the curve and its tangent vector T
Difficulties are reduced. As described above, the roll-yaw method achieves G1 continuity over a contour.
Provide a new way for For example, consider the arrangement shown in FIG.
, A contour having a left isometric ribbon LR and a right isometric ribbon RR is shown.
Each isometric ribbon LR, RR has two corresponding isotropic handles at its ends;
That is, HL1 and HL2 for LR and HR1 and HR2 for RR.
It is. With respect to an arbitrary point pp on the contour, the end points of the contour P are called HP1 and HP2.
Assuming it has dollars, the contour for the surface bounded by the contour is also
The continuous continuity is determined by the interpolated isometric values IL and IR. In addition, IR
Interpolated from HR1 and HR2 (based on the technique of the present invention), IL is HL1
And HL2. Thus, as will be apparent to those skilled in the art, G1 continuity across contour P
As for IL and IR, at least in the opposite direction (collinear).
In addition, as will be apparent to one of skill in the art, for ILs HL1 and HL2
Cubic Hermitian interpolation between HR1 and HR2 for IR
G1 continuity when IL and IR are formed using the Hermitian interpolation
Is that HL1 and HR1 are equal-length opposite vectors.
Is Rukoto. Further, the same is required for HL2 and HR2.
. However, instead of interpolating the isometric values IL, IR in Cartesian space, the interpolation is
When performed in a (roll, yaw, mag) space, the G1 continuity is tighter.
Realization, that is, the roll values of HL1 and HL2 match.
it can. Thus, this is to ensure G1 continuity at any point on the contour P
Does more than just say that HL1, HR1, and HP1 must be coplanar.
No request is made (the same applies to HL2, HR2, and HP2). Sa
In addition, if the isotropic handle is curved instead of straight, the same condition is imposed.
Please note that More specifically, the tangent vector to the equi-tilt handle at a point common to the contour P
May be used in place of any corresponding isotropic handle vector shown in FIG.
good. Therefore, as will be apparent to those skilled in the art, Cartesian
Convert the vector to roll, yaw, and mag vectors, then use the coplanar constraints described above.
Is satisfied, so that the surface extends G1 continuously across the contour P.
A computer step that implements the roll-yaw method of ensuring that
I can prepare. <4.6. Embedding Model in Model> In the present invention, each part of the surface bounded by the contour is independent of each other.
It is possible to design. For example, replace the triangle on the surface with a free-standing surface model.
It may be designed as Dell. The designer then obtains a model of a satisfactory design.
Until required, contours and skewed ribbons can be added as needed (obvious to those skilled in the art).
Is used). Then, this small piece is deformed, rotated, and attached to the triangle of another model.
You can do it. Therefore, a model that has been precisely finished is embedded in another model after design.
You can go in. By maintaining this coupling, this process can be used at the level of detail control.
Can be That is, for example, if you look at the model from a distance,
Parts do not need to be displayed; however, as the model approaches,
Combine the embedded objects to show the parts. Following two types of embedding
Will be explained in the section. <4.6. 1. Rounding Technique> In FIG. 20, a small fusion surface is defined between two intersecting surfaces 484,486.
The ridge is rounded. This fusion surface 480 fuses from narrow surface bands 488,490.
Where the original image of this narrow surface band is in parameter space
This is a “small” offset of the ridge 482 from the original image. This processing is directly performed by the equation (1).
Application, the two surfaces 484 and 486 share a common parameter space (not shown).
)). This new surface type is a new evaluation that is particularly efficient in the specific case described.
Routines will be introduced. <5. Evaluation> First, consider the evaluation of two-sided fusion; other forms are derived from this basic form.
Think to be guided. Since it is important, it is described again. Equation (1) is as follows.
is there. [0415] What is to be determined in the evaluation of the surface S is the fusion function Bi and the equi-inclined ribbon Si.
is there. The fusion function is calculated as a one-variable function of the distance in parameter space
. As described in Section 2, the evaluation of the distance function is based on the fact that the original image in the parameter space is
It varies significantly depending on how complex it is. Once determined, the actual fusion value can be calculated by a simple table lookup;
, The fusion function is tabulated and stored in memory at a sufficiently high resolution;
Searched according to value. Consider the fusion function B1 (x) in equation (3.1). The function is evaluated at x = 0, 0.01, 0.02,..., 0.99, 1. this
These values of 1001 (101) are stored as an array. Given a point X
Is used to identify the closest value in the array, for example, between 0.52 and 0.53.
used. Then use B (0.52) or B (0.53) as function value
Is done. [0419] Depending on what the distance function and the isotropic ribbon function are,
There are many techniques. The explanation in this section assumes a computationally simple model.
Attention is drawn to methods that do, but nonetheless, have significant design flexibility. FIG.
At 1, an equi-inclined ribbon 508 (S1), 516 (S2) is provided. They are
Parameters u and v are parameterized from 0 to 1. Contour 5
For each fixed value of v along 04, the corresponding picket on the equi-inclined ribbon 508 is
If it is a straight line segment (eg, line segment 512), it will be apparent to those skilled in the art.
As such, the isotropic ribbon is a graduated surface. Therefore, the point (u, v) is found
In locations where this occurs, the parameter u provides a distance measure along the scale line.
Offer. It is assumed that each isometric ribbon 508, 516 is a graduated surface. Furthermore, para
The original image of each of the contours 504 and 506 in the meter space is the contour itself, and
The distant measure is the value of the u parameter of the point (u, v0) on the equi-inclined v0 scale line.
Assume. Since the equi-inclined ribbons 508 and 516 are graduated surfaces,
For data v0, add the appropriate offset vector to the previous value
, A set of equidistant points along line segments 512 and 520 can be scanned. initial value
Is Si (0, v0). The offset vector is given by the following equation. [0421] Here, n is an eye to be scanned from one end of the equi-tilt ribbon (original image) to the other end.
This is the number of desired points on the fill line. As desired from a design point of view, the fusion function is divided into one, ie, B1 = 1
If the constraint of -B2 is imposed, equation (1) becomes as follows. [0423] In one embodiment, using this form and the previous simplification, for each point
, Three vector additions (for S1, S2, and "+"), one table lookup (B
1 (u, v)) and one scalar multiplication.
. This is after initialization and finding each Si (0, v) and (Equation (10)
(Using) the offset vector T0. Point on S
To scan the set of, we simply need to increment the parameter v, which gives
Points along the scale at u can be calculated. In the case of a defined four-sided surface (section 4.6.1.), Some Si
On two sides; but otherwise, first fused longitudinally across the ribbon
I do. More specifically, in the case of the v-roof in FIG.
Same as 35; however, the u roof in FIG.
is there. A four-sided surface results from all four centroid fusions. In FIG. 33, four contour curves P11, P11,
P12, P21 and P22 are shown. In FIG. 33, the contour curves P11 and P12 are
It is used together with the corresponding isotropic ribbons R11 and R12 to produce the fusion surface S1.
. Although S1 is evaluated to be exactly the case of the two sides described above, generation of S2 (FIG. 35)
, U, v parameters are inverted, which is different. In this case, the isoclinic R
21, the straight line segment on R22 corresponds to the case of fixed u and v-scan;
This situation is incompatible with rapid scanning. However, in FIGS. 34 and 35,
It is desirable to fix only one parameter and scan the other. In one embodiment
In this regard, the problem is to define a different definition for the isoclites R21 and R22.
Will be more resolved. In other words, each of these ribbons can be created by simple user input.
This is the fusion of the two graduated surfaces defined. For example, consider the equi-inclined ribbon R21.
I can. This is described in Section 2.2 and shown in FIGS. 37-39.
Fusing two bi-primary surfaces 1950, 1952 in a manner similar to the technique
And may be defined as follows. That is, the contour P of the biprimary surfaces 1950, 1952
The tangent edges on 21 are contour handles 1956, 1960; boundary handle 1
964 and 1968 are tangent to the ribbon boundary 1972 and the bilinear surface
To form the opposite edge. The remaining two line segments 1976 and 1980 are user input
It is. Now, second, fix v (u roof) and add a single vector offset
Scanning can be performed. As a result, points on the equi-inclined ribbons S21 and S22 are obtained.
In each case with the same amount of work as obtaining the points on the v-roof. In addition, new
The points on S2 must be calculated by fusing the points. Counting the operations, 11
Vector addition, five scalar multiplications, and one table lookup. This increase
Is a fusion of these three, three for the v roof and three for the u
One for the fusion of the two roofs. For a general N-side surface, it is necessary to first calculate the distance on each ribbon.
is there. The parameters can be calculated using the N-side parameterization technique of Section 2.2. Next
Then, these distances are substituted into the fusion function of equation (6). These vary between 0 and 1.
Is adjusted to The parameters for the ribbon must be set from the distances thus given.
Absent. That is, one parameter is the distance (from the contour). The other para
The meter determines where the parameter lines of FIG. 12 meet at the edge of the N-sided polygon.
Can be derived by Where the polygon has sides of length 1
Assume. After these parameters can be calculated, all necessary sums are calculated by equation (4).
You can calculate. <6. Applications> The present invention can be used in various computer design areas. For more information
The following is a brief description of some fields to which the present invention can be applied. <6.1. Container design> The free-form design of containers such as bottles has traditionally been intuitive and cumbersome.
there were. The present invention alleviates these disadvantages. <6.2. Automotive Design> In the automotive industry, the present invention relates to automotive body design and automotive component design.
Available to More specifically, according to the present invention, it is possible to deform a portion or an outline.
Because of its ease, straightforward deformation of parts and depressions is possible, and
The fitting of the components into the recesses can be designed more easily. <6.3. Aircraft> According to the present invention, high-precision trim operations and surfaces required in the aircraft industry
Perform patch operations. <6.4. Shipbuilding> One of the characteristics of the shipbuilding industry is that the hull and propeller (screw) design is required.
That is. Hull and propeller design is based on the physics of water flow constraints.
Can be pushed forward. Satisfying such constraints is within the scope of the present invention.
include. <6.5. Conventional CAD / CAM applications> For application to engine, piping layout, and sheet metal product design,
And a function of fusion. The present invention is particularly efficient when performing such operations.
And the surface can be easily deformed; these advantages are
It is particularly useful in various fields. <6.6. Other Applications> The following list describes other applications in which the present invention can be used in computer assisted designs.
In the field. Design of home electronics and appliances, resin injection molding
Mold design, tool and die design, toy design, geological modeling, geography modeling
Deling, mine design, art and entertainment, sculpture, fluid dynamics, meteorology, heat flow, electromagnetic
Science, plastic surgery, burn masks, orthodontics, prosthetics, clothing design, shoes
Design, architectural design, virtual reality design, visualization of scientific data, trainees
Geometric model for (eg medical training). The foregoing description of the present invention has been presented for purposes of illustration and description. Sa
Moreover, this description is not intended to limit the invention to the form disclosed herein.
Not something. Therefore, from the above disclosure, experience and knowledge in related technologies
Changes and modifications derived based on the above are included in the scope of the present invention. The above embodiment is a book
While describing the presently best mode for carrying out the invention,
The present invention may be implemented by modifying the above-described example or another embodiment according to necessary changes depending on the application.
And make it possible to use it. Attachment claims
Boxes shall include modifications of the embodiments to the extent deemed possible by the prior art.
You. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows a surface 62 generated in the present invention;
In addition to interpolating between 30 and 34, in a predetermined direction according to the equi-inclined ribbons 61 and 63,
It passes through the curves 54, 58, 60. FIG. 2 shows a modification of the surface of FIG. 1; this surface 30 is used in the method of the invention.
It has a disk 66 fused to it. FIG. 3 illustrates a fusion surface 62a created between surfaces 30, 34 in the present invention.
Note that this surface 62a passes through curves 54 and 58;
This is performed according to a new surface generation calculation formula (formula (1)) described in the specification. FIG. 4 shows a pair of a geometric entity in a parameter space and a geometric entity in a target space.
FIG. 7 is a diagram showing the relationship; straight lines 78a and 78b in the parameter space are
Each has a target aerial image of curves 54 and 58;
The straight line 86 has a target aerial image called a curve 80. FIG. 5 is a graph of two fusion functions B1, B2 used in some of the embodiments of the present invention.
FIG. FIG. 6A is a graph of another fusion function that can be used in the present invention. FIG. 6B is a graph of another fusion function that can be used in the present invention. FIG. 6C is a graph of another fusion function that can be used in the present invention. FIG. 6D is a graph of another fusion function that can be used in the present invention. FIG. 7 is a diagram further illustrating a correspondence relationship between geometric entities in a parameter space and a target space.
It is. FIG. 8 illustrates an elliptical region 100 fused to a cylinder 108 in the present invention;
Note that the closed curve 110 is obtained by transforming the ellipse from the deformed portion of the cylinder 108 fused to the closed curve.
Define the area. FIG. 9 illustrates a simple projection 112 generated on a cylinder 116 by the method of the present invention.
You. FIG. 10 shows a composite curve 120 (described below) including two intersecting partial curves 124 and 128.
FIG. FIG. 11 illustrates the original surface 130 from which the label surface 134 is trimmed. FIG. 12 shows a distance from a point p inside a polygon having vertices v1, v2, v3, v4, and v5.
FIG. 4 illustrates one computer technique for determining a measure;
A distance measure to an edge is determined using the corresponding apex 150 generated by the radiation process.
Is determined. FIG. 13 shows two boundary curves 156a, 156a, in parameter space (ie, unit square).
FIG. 156b is a diagram showing an area piece 168 between the coordinates (s, t).
Can be parameterized itself; where s is the opposite subcurve 16
0a, 160b linearly with the distance between two corresponding points on the pair
Varies; and t lies on each of the pair of sub-curves 160a, 160b.
Determine corresponding points. FIG. 14 shows an area having a side surface and a ribbon defined by three surfaces S1, S2, S3.
In the present invention, this region is expressed by using Expression (5) described later.
A surface strip for 300 can be generated. FIG. 15: General computer geometry concept and new concept underlying the present invention
FIG. These figures are defined in the “Definition” section above.
Note that these terms are used to illustrate the terms. FIG. 16 shows a general computer geometry concept and a new concept underlying the present invention.
FIG. These figures are defined in the “Definition” section above.
Note that these terms are used to illustrate the terms. FIG. 17 is a flow of a design construction operation performed by a user of the present invention while designing a geometric object.
It is a block diagram which shows the typical example of. FIG. 18 shows three contour curves 404, 408, 412 encountered at the position of the contour marker 420.
Note that the surfaces 416 and 418 are equiangular
For dollars (as opposed to marker 420), a smooth
Combine. FIG. 19 shows a contour curve defining a surface 480 forming a chamfer between surfaces 484 and 486.
It is a figure showing x and y. Note that the contours x and y are usually the intersections of the surfaces 484 and 486.
It is defined using distances 488 and 490 from 482. FIG. 20 is a diagram illustrating an example of calculating a fusion surface from isotropic ribbons 508 and 516 according to the present invention.
It is a figure showing an example. FIG. 21A is a diagram showing a procedure for generating a hole 600 in the present invention. FIG. 21B is a diagram showing a procedure for generating a hole 600 in the present invention. FIG. 21C is a diagram showing a procedure for generating a hole 600 in the present invention. FIG. 22 shows a fusion surface 710 according to the present invention;
722 extends between the degenerated contour (point) 714 and the circular end 718. 23 shows a plane having a degenerated contour (point) 754 and a circular curve 760 according to the present invention.
FIG. 139 shows a disc 758 and a fusion surface 750 extending therebetween. FIG. 24. Fusion of the present invention to fuse surfaces between semi-circular ribbons 784a, 784b.
FIG. 4 shows the result of the technique; the resulting surface 786 shows the two ribbons
Fused between. FIG. 25 has a point p (u, v) determined using the “forward algorithm” in the present invention.
FIG. 9 shows a fusion surface 808 that changes;
, Itself parameterized using points in additional parameter space 828
And points 830 in the additional parameter space are contours 812, 816 (object
Distance measure of the original image (in parameter space 158)
Used to efficiently determine FIG. 26 illustrates an embodiment of the present invention using a one-dimensional embodiment of the new computer technique of the present invention.
5 is a flowchart showing steps for calculating an interpolation curve in the calculation. FIG. 27 is a flow chart showing steps performed when constructing an approximation to an isoclinic boundary of an isoclinic ribbon.
It is a chart; the boundary is on the opposite side of the contour with respect to the equi-tilt ribbon. FIG. 28A is a flowchart of a program for constructing a more accurate isotropic ribbon boundary than the approximation obtained in FIG. 27;
It is a low chart. FIG. 28B is a flowchart of a program for constructing a more accurate isotropic ribbon boundary than the approximation obtained in FIG. 27;
It is a low chart. FIG. 29A is for a marker on one or more contour curves defining a boundary for a partial surface Si, etc.
By changing the geometric properties of the tilt handle and / or the ribbon tangent,
5 is a flowchart for correcting one or more partial surfaces Si of the composite surface S0. FIG. 29B, etc. for markers on one or more contour curves defining boundaries for the partial surface Si
By changing the geometric properties of the tilt handle and / or the ribbon tangent,
5 is a flowchart for correcting one or more partial surfaces Si of the composite surface S0. FIG. 29C is for a marker on one or more contour curves defining a boundary for a partial surface Si, etc.
By changing the geometric properties of the tilt handle and / or the ribbon tangent,
5 is a flowchart for correcting one or more partial surfaces Si of the composite surface S0. FIG. 30A shows the partial surface Si when the user corrects the isometric handle and / or the ribbon tangent.
In order to correct in real time,
It is a flowchart of a program. FIG. 30B shows the partial surface Si when the user corrects the isometric handle and / or the ribbon tangent.
In order to correct in real time,
It is a flowchart of a program. FIG. 31 is a diagram illustrating an example of an operation performed by a user performing an operation of changing a surface shape according to an embodiment of the present invention.
9 is a flowchart showing higher-level steps to be performed. FIG. 32 shows a parameter used in the flowchart of FIG. 26 for calculating the interpolation curve C (u).
It is a figure which shows the numerical example of a meter graphically. FIG. 33 is a diagram showing four contour curves P11, P12, P21, and P22;
It is necessary to create a surface surrounded by
It is defined by these four contours (and their accompanying oblique ribbons). FIG. 34 shows a four-sided piece from two two-sided fusions using the four contour curves of FIG. 33 (FIG. 36).
FIG. 5 illustrates an intermediate surface created during the performance of one method of creating the surface. I mean
, The fusion surface S1 (FIG. 34) is equidistant ribbons R11, R12 (contours P11, P12, respectively).
The fusion surface S2 (FIG. 35)
Are generated using the contours R21 and R22 (respectively for the contours P21 and P22). 35 shows a four-sided piece from two two-sided fusions using the four contour curves of FIG. 33 (FIG. 36)
FIG. 5 illustrates an intermediate surface created during the performance of one method of creating the surface. I mean
, The fusion surface S1 (FIG. 34) is equidistant ribbons R11, R12 (contours P11, P12, respectively).
The fusion surface S2 (FIG. 35)
Are generated using the contours R21 and R22 (respectively for the contours P21 and P22). FIG. 36 shows the fusion obtained by derivation from S1 (shown in FIG. 34) and S2 (shown in FIG. 35).
FIG. 5 is a view showing a joint surface S; S is shown in Section 5 of “Detailed Description” described later.
It is generated based on equation (11). FIG. 37 shows a method for generating a surface S from two surfaces SL and SR in one embodiment of the present invention.
FIG. 4 shows the geometric objects used. In particular, this figure is shown in FIGS.
1 illustrates the notation used. FIG. 38 illustrates one embodiment of the present invention for generating four side pieces. FIG. 39 is a view showing another embodiment of the present invention for generating the four side pieces generated in FIG. 38;
You. FIG. 40 shows a notation correspondence between the geometric object of FIG. 38 and the geometric object of FIG. 39;
FIG. FIG. 41 is a diagram showing an example of the geometric arrangement of FIG. 38; contours P3 and P4 of FIG.
Degenerate. FIG. 42A illustrates markers 2002 constrained to remain on contour curves 2003, 2004.
It is a figure showing a movement. FIG. 42B shows markers 2002 bound to remain on contour curves 2003, 2004.
It is a figure showing a movement. FIG. 43 shows that a tangent plane continuity between two fusion surfaces S1 and S2 is ensured.
FIG. 7 is a diagram showing a combined contour curve of a filter and binding to the corresponding isotropic ribbon.
. FIG. 44 illustrates a contour P and an associated contour P for explaining conditions for realizing G1 continuity on P
FIG. 4 shows isometric ribbons RL, RR and various handles.

【手続補正書】特許協力条約第34条補正の翻訳文提出書 【提出日】平成13年3月27日(2001.3.27) 【手続補正1】 【補正対象書類名】図面 【補正対象項目名】全図 【補正方法】変更 【補正の内容】 【図1】 【図2】 【図3】 【図4】 【図5】 【図6A】 【図6B】 【図6C】 【図6D】 【図7】 【図8】 【図9】 【図10】 【図11】 【図12】 【図13】 【図14】 【図15】 【図16】 【図17】 【図18】 【図19】 【図20】 【図21A】 【図21B】 【図21C】 【図22】 【図23】 【図24】 【図25】 【図26】 【図27】 【図28A】 【図28B】 【図29A】 【図29B】 【図29C】 【図30A】 【図30B】 【図31】 【図32】 【図33】 【図34】 【図35】 【図36】 【図37】 【図38】 【図39】 【図40】 【図41】 【図42A】 【図42B】 【図43】 【図44】 [Procedure for Amendment] Submission of Translation of Article 34 Amendment of the Patent Cooperation Treaty [Date of Submission] March 27, 2001 (2001.3.27) [Procedure for Amendment 1] Item name] All drawings [Correction method] Change [Contents of correction] [Fig. 1] FIG. 2 FIG. 3 FIG. 4 FIG. 5 FIG. 6A FIG. 6B FIG. 6C FIG. 6D FIG. 7 FIG. 8 FIG. 9 FIG. 10 FIG. 11 FIG. FIG. 13 FIG. 14 FIG. FIG. 16 FIG. FIG. FIG. FIG. FIG. 21A FIG. 21B FIG. 21C FIG. FIG. 23 FIG. 24 FIG. 25 FIG. 26 FIG. 27 FIG. 28A FIG. 28B FIG. 29A FIG. 29B FIG. 29C FIG. 30A FIG. 30B FIG. 31 FIG. 32 FIG. 33 FIG. 34 FIG. 35 FIG. 36 FIG. 37 FIG. 38 FIG. 39 FIG. 40 FIG. 41 FIG. 42A FIG. 42B FIG. 43 FIG. 44

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z A,ZW (72)発明者 ヘイゲン,ランス アメリカ合衆国,コロラド州,ボウルダ ー,トウエンテイーエイス ストリート 335 (72)発明者 ヘイゲン,スコツト アメリカ合衆国,コロラド州,ロングモン ト,スプルース アヴエニユー 1813 Fターム(参考) 5B046 FA15 FA18 5B050 AA08 BA08 BA09 EA13 EA19 EA24 EA28 5B080 AA09 AA11 FA15 ────────────────────────────────────────────────── ─── Continuation of front page    (81) Designated country EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE), OA (BF, BJ , CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, K E, LS, MW, SD, SL, SZ, UG, ZW), E A (AM, AZ, BY, KG, KZ, MD, RU, TJ , TM), AE, AL, AM, AT, AU, AZ, BA , BB, BG, BR, BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB, GD, G E, GH, GM, HR, HU, ID, IL, IN, IS , JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MD, MG, MK, M N, MW, MX, NO, NZ, PL, PT, RO, RU , SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, UA, UG, US, UZ, VN, YU, Z A, ZW (72) Inventor Haigen, Lance             Boulder, Colorado, United States             ー, Towenty Ace Street             335 (72) Inventor Heigen, Scott             Longmont, Colorado, United States             To spruce avenue 1813 F term (reference) 5B046 FA15 FA18                 5B050 AA08 BA08 BA09 EA13 EA19                       EA24 EA28                 5B080 AA09 AA11 FA15

Claims (1)

【特許請求の範囲】 【請求項1】 融合幾何学的対象を決定する方法であって、前記方法は: 複数のパラメータ化幾何学的対象Si、ここで、i=1,…,N、かつ、N≧
2、の各々に対して、パラメータ空間PSから、Siを含む共通幾何空間GSへ
の写像(マッピング)fSiを準備するステップであって、ただしそのステップに
おいて: (A1)複数のパラメータ化幾何学的対象の少なくも1つSi0は、2次元以上
であることと; (A2)fSi-1(Pi)点においてfSiが連続であるようなSiの部分Piが、
各Siについて存在することと; が成り立つステップ; PSにおける複数の点qの各々において関数Sを計算するステップであって、
それによりGSにおける一つの対応点S(q)を得るのであり、ただしそのステ
ップにおいて下記(B1)と(B2)が成立し、 (B1)S(q)は、fSi0(q)と、少なくも1つのfSj(q)(ただし、
j≠i0)と、に依存しかつ、 S(fSi0-1(Pi0))⊆Pi0でかつ S(fSj-1(Pj))⊆Pjであることと、 (B2)Sは、fSi0-1(Pi0)およびfSj-1(Sj)において連続であること
と、 が成り立つ前記ステップ;および 前記対応点S(q)の表現を、Si0およびSjの間を融合させる幾何学的対象
の表現として表示するステップ; を備えていることを特徴とする前記方法。 【請求項2】 (a)前記写像fSiの各々は、Siをパラメータ化するため
のパラメータ写像であり、 (b)前記Siの各々は表面であり、 (c)前記Piの各々は、1つのSiについての曲線であり、 (d)前記点S(q)は、前記関数Sにより規定される表面内に含まれると共
に、前記曲線Piは、前記表面の外周に含まれる、 ことを特徴とする請求項1に記載の方法。 【請求項3】 前記Piの各々は複数の点から補間されることを特徴とする
請求項2に記載の方法。 【請求項4】 前記パラメータ空間PSの点は所定の座標数値の倍数により
表現されると共に、各座標は所定の範囲を有することを特徴とする請求項1に記
載の方法。 【請求項5】 前記計算ステップはfSi0(q)およびfSj(q)の少なく
も加重和の関数としてS(q)を決定することを含んでいることを特徴とする請
求項1に記載の方法。 【請求項6】 前記計算ステップは前記点S(q)の少なくもいくつかに対
して前記加重和の1つ以上の対応する重みを決定することを含むと共に、各重み
wは1つの前記幾何学的対象Siの点を一定率で定める(スケールする)ことを
特徴とする請求項5に記載の方法。 【請求項7】 利用者により表面の表現を修正する方法であって、その方法
は、 第1の表面であって、前記第1の表面に近似的に含まれる第1の曲線を有する
前記第1の表面をグラフィカルに表示するステップと、 第2の曲線であって、その点が、前記第1の曲線上の各点における、または、
近似的にその点における、前記第1の表面のタンジェント(正接)を示している
前記第2の曲線、をグラフィカルに表示するステップと、 前記第1の曲線に相対して前記第2の曲線の一部分の位置を変化させて、前記
第1の表面の輪郭を変化させるステップと、 を備えていることを特徴とする修正方法。 【請求項8】 前記第1の曲線上の各点は前記第1の表面の所定の距離内に
存在することを特徴とする請求項7に記載の方法。 【請求項9】 前記所定の距離は10-3〜10-6の範囲内であることを特徴
とする請求項8に記載の方法。 【請求項10】 前記第1の曲線は前記第1の表面上の少なくも2つの点か
ら補間された輪郭曲線であることを特徴とする請求項7に記載の方法。 【請求項11】 前記第1および第2の曲線の間の表面の点が前記第1の表
面および前記第2の表面の1つ以上における点を決定する際に使用される、こと
を特徴とする請求項7に記載の方法。 【請求項12】 前記第1の曲線の点を表面正接から前記第1の表面上の点
へと補間するステップを更に備えていることを特徴とする請求項7に記載の方法
。 【請求項13】 前記変化させるステップは、前記第1の表面に対する正接
を表すベクトルの方向および長さのうちの1つを変化させることを含んでいるこ
とを特徴とする請求項7に記載の方法。 【請求項14】 コンピュータシステム上で表面の表現を修正する方法であ
って、前記方法が、 自身の上に設定された第1および第2の曲線を有する特定の表面をグラフィカ
ルに表示するステップ; 前記コンピュータシステムの利用者により、前記特定の表面を変形するための
ユーザインターフェース技法を起動するステップであってそれにより: (A1)第1の幾何学的対象表現の上の点を決定する第1の決定であって、前
記第1の幾何学的対象表現は、前記コンピュータシステムにより表現可能な前記
第1の曲線上の点の大多数において前記特定の表面の所望の輪郭を評価するため
に使用する第1のデータを表現するものである前記第1の決定することと、 (A2)第2の幾何学的対象表現の上の点を決定する第2の決定であって、前
記第2の幾何学的対象表現は、前記コンピュータシステムにより表現可能な前記
第2の曲線上の点の大多数において前記特定の表面の所望の輪郭を評価するため
に使用する第2のデータを表現するのである前記第2の決定することと、 (A3)前記特定の表面の修正バージョンを生成することであって、前記修正
バージョン上には前記特定の表面上に無い複数の新たな点が存在すると共に、前
記新たな点の各々は、(a)前記第1の幾何学的対象表現から得た少なくも1つ
の点、および(b)前記第2の幾何学的対象表現から得た少なくも1つの点、の
関数として決定されるものである前記生成することと、 が実行されるものである前記起動するステップ;および 前記修正バージョンをグラフィカルに表示するステップ; を備えていることを特徴とする前記方法。 【請求項15】 前記第1および第2の幾何学的対象表現の少なくも1つは
表面の表現を含んでいることを特徴とする請求項14に記載の方法。 【請求項16】 前記生成するステップは、1以上の前記新たな点の各々に
対して、前記第1および第2の幾何学的対象表現の各々の上の少なくも1つの点
の加重和を計算することを含んでいることを特徴とする請求項14に記載の方法
。 【請求項17】 前記計算するステップは、1以上の前記新たな点の各々に
対して、前記加重和の1以上の対応する重みを設定することを含むと共に、前記
重みwの各々は前記第1および第2の幾何学的対象表現の1つにおける対応する
点pwを一定率で定める(スケールする)ことを特徴とする請求項16に記載の
方法。 【請求項18】 前記一定率で定めるステップは、前記新たな点の集合Qの
各点qと、前記新たな点qに対する前記対応する重みのうちの少なくも1つの重
みwqと、に対して、距離的測度(ディスタンスライクメジュアメント)Dwqを
決定することを含んでいると共に、前記距離的測度Dwqは、 (a)前記新たな点qの原像(プレイイメージ)パラメータ化と、 (b)前記修正バージョンと、前記重みwqに対する前記点pwqを含んでいる前
記幾何学的対象表現と、の両方の上に存在する点sqの原像パラメータ化と、 に依拠していることを特徴とする請求項17に記載の方法。 【請求項19】 前記集合Qのq1およびq2について、q2の前記原像パラ
メータ化がsq2の原像パラメータ化に近いかどうかに較べ、q1の前記原像パラ
メータ化がsq1の原像パラメータ化により近い場合には、Dwq1≦Dwq2であるこ
とを特徴とする請求項18に記載の方法。 【請求項20】 コンピュータシステムの利用者によりN次元の幾何学的対
象の表現を修正する方法であって、Nは2以上であり、前記方法が、 N次元を有する第1の幾何学的対象を前記コンピュータシステム上にグラフィ
カルに表示するステップであって、前記第1の幾何学的対象内にはより低次元の
第2の幾何学的対象が埋込まれているものである前記ステップと; 第3の幾何学的対象であって、それの点が、前記第2の幾何学的対象の点にお
ける前記第1の幾何学的対象の1以上の測度(メジュアメンツ)の変化率を示し
ているのである前記第3の幾何学的対象をグラフィカルに表示するステップと、 前記第2の幾何学的対象に対して相対的に第3の幾何学的対象の1以上の幾何
学的性質を変化させ、それにより前記第1の幾何学的対象の幾何学的性質を変化
させるステップと、 を備えていることを特徴とする前記方法。 【請求項21】 前記第1、第2、第3の幾何学的対象の各々について、幾
何学的対象の次元は、幾何学的対象の全ての点を表現するために必要となる線形
独立ベクトルの最小数であること を特徴とする請求項20に記載の方法。 【請求項22】 前記第1および第3の幾何学的対象の前記1以上の幾何学
的性質は、 正接方向、正接ベクトル長さ、および曲率測度(メジュアメント)、 のうちの1以上を含んでいることを特徴とする請求項20に記載の方法。 【請求項23】 コンピュータシステム上で幾何学的対象を生成する方法で
あって、前記方法は: 曲線の表現を準備するステップと; 前記曲線上の複数の点の各々について、その点における第1の表面の形状を示
すデータを得るステップと; 前記曲線を含む前記第1の表面の表現を決定するステップと; 前記第1の表面の点の関数であるコンターを有する第2の表面の表現を生成す
るステップと; を備えていることを特徴とする方法。 【請求項24】 前記第1の表面は前記第2の表面に対する等傾リボンを含
んでいると共に、前記曲線は前記等傾リボンに対するプロファイルであることを
特徴とする請求項23に記載の方法。 【請求項25】 前記第1および第2の表面は前記曲線を境界として含むと
共に、前記第1および第2の表面は前記曲線の各点において同一の正接平面を有
していることを特徴とする請求項23に記載の方法。 【請求項26】 前記決定するステップは、前記第1の表面を展開可能表面
およびラベル表面のうちの1つとして準備することを含むことを特徴とする請求
項23に記載の方法。 【請求項27】 前記生成するステップは、前記第2の表面を、前記第1の
表面と少なくも1つの追加の表面との間の融合表面として決定することを含んで
いると共に、前記第2の表面上の実質的に全ての点は前記第1の表面上の点と前
記追加の表面上の点との関数であることを特徴とする請求項23に記載の方法。 【請求項28】 幾何学的対象の表現を生成する方法であって、その方法は
: 自身の一部分が展開可能表面である第1の表面を得るステップと、 前記展開可能表面について閉曲線境界を構築するステップであって、前記境界
は前記第1の表面上の前記閉曲線の内部を識別するのである前記ステップと; 前記第1の表面の前記内部のみが実質的に単独でグラフィカルに表示されるべ
く前記第1の表面をほぼ前記境界までトリムするステップと; ラベルが前記内部を実質的に被覆するべく前記ラベルを前記内部にグラフィカ
ルに添付するステップと; を備えていることを特徴とする方法。 【請求項29】 前記得るステップは前記第1の表面を目盛付き(ルールド
)表面として識別することを含んでいることを特徴とする請求項28に記載の方
法。 【請求項30】 前記構築するステップは、前記境界を融合表面に対する境
界として有する前記融合表面を導く際に使用する対応する等傾リボンを有する輪
郭曲線(プロファイルカーブ)として前記境界を生成することを含んでいること
を特徴とする請求項28に記載の方法。 【請求項31】 前記融合表面の点は、前記等傾リボンと少なくも1つの別
の表面とからの点の加重和から導かれることを特徴とする請求項30に記載の方
法。 【請求項32】 幾何学的対象の表現を修正する方法であって、前記方法は
: 2次元以上の次元を有する第1の幾何学的対象表現を表示する第1の表示ステ
ップと; 1以上の追加の幾何学的対象表現を表示する第2の表示ステップであって、前
記追加の幾何学的対象表現の形状および位置は前記第1の幾何学的対象表現の形
状を示していると共に、1以上の前記追加の幾何学的対象表現が1次元以上の次
元を有するのである前記ステップと; 以下の2つのステップ、すなわち、 (A1)1以上の前記追加の幾何学的対象表現の形状および位置を変化させる
ステップ、および (A2)前記追加の幾何学的対象表現に対する前記変化を示している修正済み
の前記第1の幾何学的対象表現を再表示するステップ、 を同時に実行するステップと; を備えていることを特徴とする前記方法。 【請求項33】 前記追加の幾何学的対象表現が、コンピュータグラフィッ
ク出力装置上に表示される際に前記第1の幾何学的対象表現に接続しているもの
として表示されるグラフィカル表現を含んでいることを特徴とする請求項32に
記載の方法。 【請求項34】 前記追加の幾何学的対象表現が、利用者が選択可能な1以
上の点、ベクトル、曲線、および表面を含んでいることを特徴とする請求項32
に記載の方法。 【請求項35】 前記変化させるステップが、前記追加の幾何学的対象表現
を変化させるための、実質的に連続した時系列の変更要求を利用者が入力するこ
とを含んでいると共に、 前記変更要求の1つの入力中に、前記再表示するステップにおいては、既に入
力された1以上の前記時系列の変更要求について、前記第1の幾何学的対象表現
への対応する修正をグラフィカルに表示するサブステップが同時に実行される、 ことを特徴とする請求項32に記載の方法。 【請求項36】 前記表示するステップおよび再表示するステップのうちの
少なくも1つは、前記第1の幾何学的対象表現を前記追加の幾何学的対象表現の
少なくもいくつかとして決定するステップを含んでいることを特徴とする請求項
35に記載の方法。 【請求項37】 前記決定するステップは、前記第1の幾何学的対象表現の
点qを得るために点Pの加重和を計算することを含んでいると共に、前記点Pは
前記追加の幾何学的対象表現を用いて得られることを特徴とする請求項36に記
載の方法。 【請求項38】 前記加重和は重みを含んでおり、各重みは対応する融合関
数を用いて得られるのであり、前記融合関数の各々は0〜1の値の範囲を有して
いると共に、前記融合関数の各々は、この融合関数が対応している重みを決定す
るためのqのパラメータ原像(プレイイメージ)に依存していることを特徴とす
る請求項37に記載の方法。 【請求項40】 前記第1の幾何学的対象表現および前記追加の幾何学的対
象表現の各々は3次元座標空間内に表現されていることを特徴とする請求項32
に記載の方法。
Claims: 1. A method for determining a fused geometric object, comprising: a plurality of parameterized geometric objects Si, where i = 1, ..., N, and , N ≧
2. For each of the two, preparing a mapping fSi from the parameter space PS to a common geometric space GS containing Si, in which: (A1) a plurality of parameterized geometrics At least one object Si0 has two dimensions or more; (A2) fSi -1 (Pi) The Si portion Pi where fSi is continuous at the point (Pi) is
A step of calculating a function S at each of a plurality of points q in PS;
Thereby, one corresponding point S (q) in GS is obtained. However, in the step, the following (B1) and (B2) are satisfied, and (B1) S (q) is at least fSi0 (q). One fSj (q) (however,
j ≠ i0), S (fSi0 -1 (Pi0)) ⊆Pi0 and S (fSj -1 (Pj)) ⊆Pj, and (B2) S is fSi0 -1 ( Pi0) and fSj -1 (Sj) are continuous, and the above step is satisfied; and the expression of the corresponding point S (q) is displayed as an expression of a geometric object that fuses between Si0 and Sj. The above method, comprising: 2. (a) each of the mappings fSi is a parameter mapping for parameterizing Si; (b) each of the Si is a surface; and (c) each of the Pi is one (D) the point S (q) is included in the surface defined by the function S, and the curve Pi is included in the outer periphery of the surface. The method of claim 1. 3. The method of claim 2, wherein each of said Pis is interpolated from a plurality of points. 4. The method of claim 1, wherein the points in the parameter space PS are represented by a multiple of a predetermined coordinate value, and each coordinate has a predetermined range. 5. The method of claim 1, wherein said calculating step includes determining S (q) as a function of at least a weighted sum of fSi0 (q) and fSj (q). . 6. The computing step comprises determining one or more corresponding weights of the weighted sum for at least some of the points S (q) and each weight w is one of the geometric 6. The method according to claim 5, wherein the points of the biological object Si are determined (scaled) at a constant rate. 7. A method for modifying a representation of a surface by a user, the method comprising: a first surface having a first curve approximately included in the first surface. Graphically displaying one surface; a second curve, wherein the point is at each point on the first curve, or
Graphically displaying the second curve approximately indicating the tangent of the first surface at that point; and graphically displaying the second curve relative to the first curve. Changing the position of a part to change the contour of the first surface. 8. The method of claim 7, wherein each point on the first curve lies within a predetermined distance of the first surface. 9. The method according to claim 8, wherein the predetermined distance is in a range of 10 −3 to 10 −6 . 10. The method of claim 7, wherein the first curve is a contour curve interpolated from at least two points on the first surface. 11. The method of claim 11, wherein a point on the surface between the first and second curves is used in determining a point on one or more of the first surface and the second surface. The method of claim 7, wherein 12. The method of claim 7, further comprising interpolating points of the first curve from surface tangents to points on the first surface. 13. The method of claim 7, wherein the step of changing includes changing one of a direction and a length of a vector representing a tangent to the first surface. Method. 14. A method of modifying a representation of a surface on a computer system, the method comprising: graphically displaying a particular surface having first and second curves set thereon. Invoking, by a user of the computer system, a user interface technique for deforming the particular surface, thereby: (A1) determining a point on a first geometric object representation; Wherein the first geometric object representation is used to evaluate a desired contour of the particular surface at a majority of points on the first curve representable by the computer system. (A2) a second determination for determining a point on a second geometric object representation, wherein the first determination is for representing first data to be performed. The second geometric object representation represents second data used to evaluate a desired contour of the particular surface at a majority of points on the second curve representable by the computer system. (A3) generating a modified version of the specific surface, wherein there are a plurality of new points on the modified version that are not on the specific surface. And each of said new points comprises: (a) at least one point obtained from said first geometric object representation; and (b) at least one point obtained from said second geometric object representation. Generating, which is determined as a function of a point; launching, wherein is executed; and graphically displaying the modified version. The method according to claim. 15. The method of claim 14, wherein at least one of said first and second geometric object representations includes a representation of a surface. 16. The step of generating, for each of one or more of the new points, a weighted sum of at least one point on each of the first and second geometric object representations. 15. The method of claim 14, comprising calculating. 17. The step of calculating includes, for each of one or more of the new points, setting one or more corresponding weights of the weighted sum and each of the weights w 17. The method according to claim 16, wherein corresponding points pw in one of the first and second geometric object representations are scaled. 18. The step of determining at a fixed rate comprises: for each point q of the new set of points Q and at least one of the corresponding weights wq for the new point q. Determining the distance-like measure Dwq, the distance-measure Dwq includes: (a) parameterizing the original image (play image) of the new point q; ) The original image parameterization of a point sq lying on both the modified version and the geometric object representation containing the point pwq for the weight wq. 18. The method of claim 17, wherein the method comprises: 19. For q1 and q2 of the set Q, the original image parameterization of q1 is determined by the original image parameterization of sq1 as compared to whether the original image parameterization of q2 is close to that of sq2. 19. The method according to claim 18, wherein Dwq1? Dwq2 if close. 20. A method for modifying the representation of an N-dimensional geometric object by a user of a computer system, wherein N is greater than or equal to 2, wherein the method comprises: a first geometric object having N dimensions. Graphically displaying on the computer system, wherein a lower-dimensional second geometric object is embedded in the first geometric object; A third geometric object, the points of which indicate a rate of change of one or more measures of the first geometric object at a point of the second geometric object. Graphically displaying the third geometric object, and changing one or more geometric properties of the third geometric object relative to the second geometric object. , Whereby said first geometric pair Changing the geometric properties of the elephant. 21. For each of the first, second, and third geometric objects, the dimensions of the geometric object are linear independent vectors required to represent all points of the geometric object. 21. The method of claim 20, wherein the minimum number is. 22. The one or more geometric properties of the first and third geometric objects include one or more of: tangent direction, tangent vector length, and curvature measure (measurement). 21. The method of claim 20, comprising: 23. A method for generating a geometric object on a computer system, the method comprising: preparing a representation of a curve; for each of a plurality of points on the curve, a first at that point. Obtaining data indicative of the shape of the surface of the first surface; determining a representation of the first surface including the curve; and generating a representation of the second surface having a contour that is a function of points of the first surface. Generating. A method comprising: 24. The method of claim 23, wherein the first surface includes an isotropic ribbon relative to the second surface, and wherein the curve is a profile for the isotropic ribbon. 25. The method according to claim 25, wherein the first and second surfaces include the curve as a boundary, and the first and second surfaces have the same tangent plane at each point of the curve. 24. The method of claim 23, wherein: 26. The method of claim 23, wherein said determining comprises providing the first surface as one of a deployable surface and a label surface. 27. The generating step includes determining the second surface as a fusion surface between the first surface and at least one additional surface, and determining the second surface as a fusion surface between the first surface and at least one additional surface. 24. The method of claim 23, wherein substantially all points on a surface of the first surface are a function of points on the first surface and points on the additional surface. 28. A method for generating a representation of a geometric object, the method comprising: obtaining a first surface, a portion of which is an expandable surface; and constructing a closed curve boundary for the expandable surface. And wherein the boundary identifies the interior of the closed curve on the first surface; and only the interior of the first surface is displayed substantially alone graphically. Trimming the first surface to approximately the boundary; and graphically applying the label to the interior so that the label substantially covers the interior. 29. The method of claim 28, wherein the step of obtaining includes identifying the first surface as a graduated (ruled) surface. 30. The step of constructing generates the boundary as a profile curve having a corresponding equi-inclined ribbon for use in deriving the fusion surface having the boundary as a boundary to the fusion surface. 29. The method of claim 28, comprising. 31. The method of claim 30, wherein the points of the fusion surface are derived from a weighted sum of points from the isotropic ribbon and at least one other surface. 32. A method for modifying a representation of a geometric object, the method comprising: a first display step of displaying a first geometric object representation having two or more dimensions; Displaying the additional geometric object representation of the second geometric object representation, wherein the shape and position of the additional geometric object representation are indicative of the shape of the first geometric object representation; Said steps wherein one or more of said additional geometric object representations have one or more dimensions; and two steps: (A1) the shape of one or more of said additional geometric object representations; Changing the position; and (A2) re-displaying the modified first geometric object representation indicating the change to the additional geometric object representation simultaneously; It said method characterized in that it comprises. 33. The additional geometric object representation includes a graphical representation displayed as being connected to the first geometric object representation when displayed on a computer graphic output device. 33. The method of claim 32, wherein: 34. The method of claim 32, wherein the additional geometric object representation comprises one or more user selectable points, vectors, curves, and surfaces.
The method described in. 35. The changing step includes a user inputting a substantially continuous chronological change request to change the additional geometric object representation, and wherein the changing is performed. During the input of one of the requests, the re-displaying step graphically displays a corresponding modification to the first geometric object representation for one or more of the previously entered requests for changing the time series. The method of claim 32, wherein the sub-steps are performed simultaneously. 36. At least one of said displaying and re-displaying steps comprises determining said first geometric object representation as at least some of said additional geometric object representations. 36. The method of claim 35, comprising: 37. The step of determining includes calculating a weighted sum of points P to obtain a point q of the first geometric object representation, wherein the points P are the additional geometric 37. The method of claim 36, wherein the method is obtained using a geometric object representation. 38. The weighted sum comprises weights, each weight being obtained using a corresponding fusion function, each of the fusion functions having a range of values from 0 to 1; The method of claim 37, wherein each of the fusion functions is dependent on a q parameter play image for determining a weight to which the fusion function corresponds. 40. The system of claim 32, wherein each of the first geometric object representation and the additional geometric object representation is represented in a three-dimensional coordinate space.
The method described in.
JP2001513115A 1999-07-23 1999-07-23 Geometric design and modeling system using control geometry Pending JP2003505800A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1999/016844 WO2001008102A1 (en) 1999-07-23 1999-07-23 Geometric design and modeling system using control geometry

Publications (1)

Publication Number Publication Date
JP2003505800A true JP2003505800A (en) 2003-02-12

Family

ID=22273274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001513115A Pending JP2003505800A (en) 1999-07-23 1999-07-23 Geometric design and modeling system using control geometry

Country Status (9)

Country Link
EP (1) EP1210692A4 (en)
JP (1) JP2003505800A (en)
KR (1) KR20020021800A (en)
CN (1) CN1391683A (en)
AU (1) AU5390799A (en)
CA (1) CA2379459A1 (en)
HU (1) HUP0700118A2 (en)
MX (1) MXPA02000845A (en)
WO (1) WO2001008102A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520165A (en) * 2003-03-11 2006-08-31 シーメンス ヒアリング インストルメンツ インコーポレイテッド Hearing device case manufacturing method, monolithic hearing device case
JP2008027445A (en) * 2006-07-21 2008-02-07 Dassault Systemes Method for creating parametric surface symmetric with respect to given symmetry operation

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8836701B1 (en) 1998-07-23 2014-09-16 Freedesign, Inc. Surface patch techniques for computational geometry
US7196702B1 (en) 1998-07-23 2007-03-27 Freedesign, Inc. Geometric design and modeling system using control geometry
US6981695B1 (en) 2003-10-14 2006-01-03 Polaris Industries Inc. All terrain vehicle with multiple winches
GB0219623D0 (en) 2002-08-22 2002-10-02 British Telecomm Method and system for virtual object generation
US7589720B2 (en) * 2004-08-04 2009-09-15 Microsoft Corporation Mesh editing with gradient field manipulation and user interactive tools for object merging
US7868885B2 (en) 2007-06-22 2011-01-11 Microsoft Corporation Direct manipulation of subdivision surfaces using a graphics processing unit
US11907617B2 (en) 2008-07-18 2024-02-20 Cad-Sense Llc Surface patch techniques for computational geometry
FR2937770B1 (en) 2008-10-27 2011-04-22 Snecma METHOD FOR CREATING A NON-AXISYMETRIC SURFACE
CN102141377B (en) * 2011-01-30 2014-06-04 睿励科学仪器(上海)有限公司 Method for self-defining outline by user in optical critical dimension detection device
CN102496140B (en) * 2011-12-06 2013-07-31 中国科学院自动化研究所 Multilayer nest cage-based real-time interactive-type image deforming method
CN103186516B (en) * 2011-12-29 2016-07-06 广州市中海达测绘仪器有限公司 A kind of generation monitors the method for chart, Apparatus and system
EP2660782B1 (en) 2012-05-02 2019-04-10 Dassault Systèmes Designing a 3D modeled object
US9042634B2 (en) * 2013-01-15 2015-05-26 General Electric Company Method system and computer product for non-destructive object analysis
CN103530435B (en) * 2013-05-07 2017-02-08 常海超 Method for designing ship body form line based on sensitivity
US9690878B2 (en) * 2013-05-28 2017-06-27 Siemens Prodcut Lifecycle Management Software Inc Geometric modeling with mutually dependent blends
KR102138508B1 (en) * 2013-08-13 2020-07-28 엘지전자 주식회사 Display device and method for controlling the same
CN103679811B (en) * 2013-12-31 2017-05-10 北京数码大方科技股份有限公司 Multiple curved surface materialized modeling method
CN104029280B (en) * 2014-03-27 2016-03-16 南京倍立达新材料系统工程股份有限公司 A kind of three-dimensional digital ground mould production method
EP3038060B1 (en) * 2014-12-23 2021-09-15 Dassault Systèmes 3D modeled object defined by a grid of control points
EP3051446A1 (en) 2015-02-02 2016-08-03 Dassault Systèmes Engraving a 2D image on a subdivision surface
KR101657673B1 (en) * 2015-04-30 2016-09-22 주식회사 와이즈오토모티브 Apparatus and method for generating panorama view
CN107918691B (en) * 2016-10-07 2023-09-29 福特全球技术公司 Method and device for evaluating a signal
EP3460760B1 (en) * 2017-09-26 2021-05-19 Dassault Systèmes Generating a 2d drawing representing a mechanical part
CN109894614B (en) * 2019-03-25 2020-07-03 华中科技大学 Method for filling track planning on developable surface and application thereof
CN111861608B (en) * 2019-04-29 2024-04-30 杭州优工品科技有限公司 Product customization method and device based on three-dimensional online visualization and storage medium
CN111414662B (en) * 2020-03-31 2023-05-26 北京市建筑设计研究院有限公司 Method for assembling strip-shaped curved surface building skin by using linear profile
WO2023149844A1 (en) * 2022-02-07 2023-08-10 Cleanfuture Energy Co., Ltd. Variable pitch propeller blades and associated propeller applications
KR102439313B1 (en) * 2022-06-15 2022-09-01 주식회사 모쓰 A method for acquiring cross section characteristic information of propeller blad

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999789A (en) * 1987-02-05 1991-03-12 Hewlett-Packard Co. Method and apparatus for trimming B-spline descriptions of patches in a high performance three dimensional graphics system
US5251160A (en) * 1988-02-23 1993-10-05 Evans & Sutherland Computer Corporation System for blending surfaces in geometric modeling
US5497451A (en) * 1992-01-22 1996-03-05 Holmes; David Computerized method for decomposing a geometric model of surface or volume into finite elements
US5818452A (en) * 1995-08-07 1998-10-06 Silicon Graphics Incorporated System and method for deforming objects using delta free-form deformation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520165A (en) * 2003-03-11 2006-08-31 シーメンス ヒアリング インストルメンツ インコーポレイテッド Hearing device case manufacturing method, monolithic hearing device case
JP2008027445A (en) * 2006-07-21 2008-02-07 Dassault Systemes Method for creating parametric surface symmetric with respect to given symmetry operation

Also Published As

Publication number Publication date
CA2379459A1 (en) 2001-02-01
HUP0700118A2 (en) 2007-05-29
KR20020021800A (en) 2002-03-22
CN1391683A (en) 2003-01-15
MXPA02000845A (en) 2003-10-15
WO2001008102A1 (en) 2001-02-01
AU5390799A (en) 2001-02-13
EP1210692A4 (en) 2006-02-08
EP1210692A1 (en) 2002-06-05

Similar Documents

Publication Publication Date Title
US11403434B2 (en) Surface patch techniques for computational geometry
JP2003505800A (en) Geometric design and modeling system using control geometry
US7417635B2 (en) Computational geometry using control geometry having at least two dimensions
US7636091B2 (en) Computational geometry using control geometry having at least two dimensions
US6639592B1 (en) Curve network modeling
JP4832990B2 (en) How to generate an isotopological set of parameterized surfaces from a mesh
US7952575B2 (en) Computer-implemented process and system for creating a parametric surface
JP4832991B2 (en) Process for generating parametric surfaces with the required geometric continuity
KR100936648B1 (en) Method for creating a parametric surface symmetric with respect to a given symmetry operation
US11907617B2 (en) Surface patch techniques for computational geometry
US6731280B1 (en) Method and device for designing surfaces with a free form
Ribó et al. Some algorithms to correct a geometry in order to create a finite element mesh
US20240193313A1 (en) Surface patch techniques for computational geometry
Korfiatis et al. Three-dimensional object metamorphosis through energy minimization
Wang Free-form surface representation and approximation using T-splines
van Dijk Fast surface design based on sketched networks
CN114004014A (en) Hull curved surface automatic modeling system based on NURBS
Weiping et al. Research of non-linear subdivision of triangular mesh model based on VRML
Kim et al. A new cubic B-splines design method for pen input environment
Wang Sketch based three-dimensional freeform object modeling with non-manifold data structure
Hahmann et al. Hierarchical modeling with parametric surfaces
JPH0769973B2 (en) Free-form surface generation method and generation device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060724

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060724

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091208