(57)【特許請求の範囲】
【請求項１】
パラメータ化された曲面のアイソトポロジックな集合を、メッシュから生成する方法であって、
バレンス４の規則的頂点と、４とは異なるバレンスの不規則的頂点を備える頂点であって、面を定義するエッジによって結合された複数の頂点と、
前記頂点、および／または前記エッジ上で定義されたシャープネスの値
を有するメッシュを提供するステップと、
少なくとも３つの異なる種類の前記パラメータ化された曲面を提供するステップ、すなわち
規則的頂点、および前記面の頂点、および／またはエッジ上のシャープネスの第１の値のみを有する面について、第１の種類のパラメータ化された曲面を適用するステップと、
規則的頂点、およびシャープネスの第２の値を有する少なくとも１つの頂点、またはエッジを有する面について、第２の種類のパラメータ化された曲面を適用するステップと、および
少なくとも１つの不規則的頂点を有する面について、第３の種類のパラメータ化された曲面を適用するステップと
を備え、
前記シャープネスの第１の値および前記シャープネスの第２の値は互いに異なり、
前記第１の種類のパラメータ化された曲面の制御点の数は、前記第２および前記第３の種類のパラメータ化された曲面の制御点の数よりも少なく、
前記第３の種類のパラメータ化された曲面の制御点の数は、前記第１および前記第２の種類のパラメータ化された曲面の制御点の数よりも多いことを特徴とする方法。
【請求項２】
提供された前記メッシュは、Ｃａｔｍｕｌｌ−Ｃｌａｒｋの規則にしたがって細分割されることを特徴とする請求項１に記載の方法。
【請求項３】
前記パラメータ化された曲面は、スプライン曲面を含むことを特徴とする請求項１に記載の方法。
【請求項４】
適用された前記第１、前記第２、および前記第３の種類の曲面は、異なる節のベクトルを有するＢ−スプラインであることを特徴とする請求項１に記載の方法。
【請求項５】
曲面を適用する前記ステップにおいて、
適用された前記パラメータ化された曲面のそれぞれは、所要の幾何的連続Ｇｉに少なくとも等しい内部連続Ｃｊを有し、少なくとも２つのパラメータ化された曲面の共通エッジと交わる前記２つのパラメータ化された曲面の間の前記幾何的連続は、前記所要の幾何的連続Ｇｉよりも少なく、
前記方法は、シンギュラ頂点のそれぞれについて、
前記頂点に結合されたエッジと交わる前記パラメータ化された曲面のパラメータを関連付け、前記結合されたエッジと交わる前記所要の幾何的連続を実行する連立方程式を定義するステップと、および
前記パラメータを得るために前記連立方程式を解くステップと
をさらに備え、
前記シンギュラ頂点は、隣接する基本曲面の間の連続が前記所要の幾何的連続Ｇｉよりも少ない少なくとも１つのエッジを結合することを特徴とする請求項１に記載の方法。
【請求項６】
提供された前記パラメータ化された基本曲面は、Ｂ−スプラインであり、
前記解くステップの前記パラメータは、前記Ｂ−スプラインの前記制御点の位置座標であることを特徴とする請求項５に記載の方法。
【請求項７】
前記連立方程式を定義する前記ステップにおいて、
定義された前記連立方程式の係数は、定数として設定されることを特徴とする請求項６に記載の方法。
【請求項８】
前記連立方程式を定義する前記ステップにおいて、
前記定義された連立方程式の係数は、シンギュラの点の種類にしたがって設定されることを特徴とする請求項６に記載の方法。
【請求項９】
提供された前記パラメータ化された基本曲面は、Ｂ−スプラインであり、
前記解くステップの前記パラメータは、
前記所要の幾何的連続を実行する前記連立方程式の前記係数、および
前記Ｂ−スプラインの前記制御点の位置座標
であることを特徴とする請求項１に記載の方法。
【請求項１０】
パラメータ化された曲面のアイソトポロジックな集合を、メッシュから生成する方法であって、
バレンス４の規則的頂点と、４とは異なるバレンスの不規則的頂点を備える頂点であって、面を定義するエッジによって結合された複数の頂点と、
少なくとも１つの前記頂点または前記エッジ上で定義された、前記メッシュによってモデル化された前記曲面上の前記頂点または前記エッジの前記アトラクティブネスを表すシャープネスの値と
を有するメッシュを細分割したＣａｔｍｕｌｌ−Ｃｌａｒｋを提供するステップと、
少なくとも３つの異なる種類のパラメータ化された曲面を提供するステップ、すなわち、
規則的頂点、および前記面の頂点およびエッジ上のシャープネスのデフォルト値を有する面について、第１の種類のパラメータ化された曲面を適用するステップと、
規則的頂点、およびシャープネスの非デフォルト値を有する少なくとも１つの頂点またはエッジを有する面について、第２の種類のパラメータ化された曲面を適用するステップと、および
少なくとも１つの不規則的頂点を有する面について、第３の種類のパラメータ化された曲面を適用するステップと
を備え、
前記第３の種類のパラメータ化された曲面の制御点の数は、前記第２の種類のパラメータ化された曲面の制御点の数より多く、前記第２の種類のパラメータ化された曲面の制御点の数は、前記第１の種類のパラメータ化された曲面の制御点の数よりも多いことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ支援設計の分野に関し、より詳細には、メッシュからの、パラメータ化された曲面（parameterized surface）のコンピュータ支援生成に関する。
【背景技術】
【０００２】
ＣＡＴＩＡ（登録商標）という登録商標の下、本件出願人によって提供されている製品など、多くのシステムおよびプログラムが、部品の設計分野、または部品の組み立て分野の業界に提供されている。これらのいわゆるコンピュータ支援設計（ＣＡＤ）システムにより、ユーザは複雑な３次元（３Ｄ）の部品のモデリング、または部品の組み立てを構築し、および操作することができる。
【０００３】
３Ｄコンピュータグラフィックスの生成は、さまざまなステップ、すなわちモデリングのステップ、およびプロセスのステップ（ベースメッシュ（base mesh）の細分割、パラメトリック曲面への変換、レンダリングなど）を含む。
【０００４】
多くの異なるモデリング手法を使用して、組み立てモデルを生成することができる。これらの手法には、ソリッドモデリング、ワイヤフレームモデリング、およびサーフェスモデリングが含まれる。例えば、ソリッドモデリングの手法は、位相的な３Ｄモデルを提供し、その３Ｄモデルは相互接続するエッジ（edge）、および面（face）の集合である。幾何学的には、３Ｄのソリッドモデルは、クローズドスキン（closed skin）を定義する、トリムされた曲面、または境界を定めた（delimited）曲面の集合である。トリムされた曲面は、エッジによって境界を示された位相面（topological face）に対応する。クローズドスキンは、部品の構成要素（material）で満たされた３Ｄ空間の境界範囲を定義する。サーフェスモデリングの手法は、外部曲面（exterior surface）の集合としてモデルを表すために使用することができるのに対し、一方、ワイヤフレームモデリングの手法は、単純な３Ｄの線の集合としてモデルを表すために使用することができる。ＣＡＤシステムは、これらのモデリング手法、およびパラメトリックモデリング手法などの他のモデリング手法を結合することができる。ＣＡＤシステムは、エッジ、または線、ある場合には面を使用したモデル化されたオブジェクトの表現を提供することができる。モデル化されたオブジェクトは、多くの線またはエッジを備える。これらをさまざまな方法、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）、ベジエ曲線（Bezier curve）、または曲線を表現する他のアルゴリズムで表現することができる。
【０００５】
プロセスステップに関して、ＣＡＤプログラムは、一般的に、オブジェクトをモデリングする間、ベースメッシュを使用する。ベースメッシュは、三角形または四角形などの、相互接続する基本ポリゴン（elementary polygon）のネットワークである。
【０００６】
ベースメッシュは、所要のモデルを得るために、設計中にユーザによって修正され、ＮＵＲＢＳまたはＢ−スプラインなどの、複数のパラメトリック曲面に変換される。
【０００７】
モデル化されたプロダクトに関して、現在の消費者向け製品は、滑らかに流れるような形状によって特徴付けられることが多いが、その形状の複雑さは、平面（plane）、ボックス（box）、および円柱などの単純な分析曲面を越える。それどころか、そのようなプロダクトは、スプライン曲線および曲面などを使用して通常モデル化される。プロダクトを設計する場合、オブジェクトの曲面の滑らかさは、主な関心事（concern）である。その結果、３Ｄのモデリングをする人は、通常、滑らかな曲面を生成する各種ツールを有する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
以下、「曲率（curvature）」を、曲線または曲面が、完全な直線または平面から外れる程度を示す幾何用語として使用する。曲率は、通常、局所の接触半径（osculating radius）の逆数（inverse）として測定される。曲線がわずかに曲がっているだけの場合、曲線は曲率が小さく、半径が大きいが、一方、曲線が鋭く曲がっている場合、曲線は曲率が大きく、半径は小さい。曲率が円弧（arc）、円、またはそれらに基づく曲面について一定である一方、スプライン（およびスプラインに基づく曲面）などの、より複雑な曲線の曲率は、曲線の長さにしたがって断続的に変化する。
【０００９】
さらに、「連続（continuity）」という用語は、曲線に沿ったところにある点、または曲面上の点の間のオフセット、および隣接する（abutting）曲線や曲面との間のオフセット（または関連（relationship））を表現するために使用される。そのような関連は、通常、Ｃ０、Ｃ１、およびＣ２という異なるレベルの連続に分類される。Ｃ０は、（隣接する曲線／曲面の場合のように）位置の連続のみを示す。この場合、曲線はＣ０の点でのねじれ（kink）を示す。同様に、曲面はＣ０の継ぎ目（seam）に沿ったところにある尖ったクリース（crease）を有する。隣接する曲線と曲面は互いに接しているが、曲率は類似していない。Ｃ１は、接線連続（tangent continuity）で増加した連続性のレベルを示し、Ｃ２は、曲率連続（curvature continuity）を増加する。曲線の両端の点の曲率が等しい場合、その曲線は継ぎ目のない状態（seamless）である。
【００１０】
また、当該技術分野において知られているように、数学的な観点でわずかに異なるＧ０、Ｇ１、およびＧ２の「幾何的」連続への参照がなされている。例えば、それぞれの曲線のｎ番目の導関数（derivative）が結合部で「同一方向（same direction）」を有する場合（マトリックスによって定義されたバランス（proportionality）が十分であり、平等が必要とされていない）、２つの結合曲線（joining curve）の線分（segment）は、Ｇｎ連続を有する。結果として、逆数（reciprocal）は必ずしも真ではないが、ＣｎはＧｎを暗示する。
【００１１】
サーフェスモデリングの中心的な手法の中では、通常、区分的に下位の代数曲面または暗黙パッチ（implicit patch）が使用される。パッチは、通常、制御点の格子を介して制御されるが、それによってパッチは変形する可能性がある。パッチを使用する際の重要な点は、パッチの境界に沿って幾何的連続（geometric continuity）を保証するために、パッチが適切に結合されなければならないということである。通常、パッチのセルは再帰的に細分割され、局所の曲率を所定の連続の要件（requirement）に適応させることは可能である。
【００１２】
（コンピュータグラフィックスなどの）多数のアプリケーションにおいて、Ｃａｔｍｕｌｌ−Ｃｌａｒｋなどの細分割曲面は、ベースメッシュから派生する曲面の近似値を求めるために使用される。具体的には、Ｃａｔｍｕｌｌ−Ｃｌａｒｋ細分割曲面は、滑らかな自由曲面（free-form surface）のモデリングの標準である。細分割曲面は、任意のメッシュから、すなわち任意の位相（topology）で滑らかな曲面を生成するために使用される。細分割曲面は、無限の改良プロセスの境界として定義される。キーコンセプトは、改良である。つまり、初期のポリゴンメッシュ（polygonal mesh）を繰り返し洗練することによって、結果として生じた細分割曲面に収束する一連のメッシュが生成される。それぞれの新しい細分割のステップは、ポリゴン要素を有し、滑らかな新しいメッシュを生成する。具体的には、Ｃａｔｍｕｌｌ−Ｃｌａｒｋ細分割曲面を、双三次補間（bi-cubic）一様Ｂ−スプラインの一般化として見ることができる。重要な点は、生成されたメッシュは主に四角形から成り、通常頂点（ordinary vertex）の期待されたバレンス（valence）（または調整番号）は４であることである。この点において、開いた頂点（open vertex）と閉じた頂点（closed vertex）との間の区別がなされる場合がある。開いた／閉じた頂点は、当該技術分野において周知の概念である。すなわち、頂点ｖが囲まれており、エッジＥ１、Ｅ２、Ｅｎ＋１によって結合されているとすると、Ｅｎ＋１＝Ｅ１である頂点は、エッジのどれもが尖ったエッジでない場合、閉じていると考えられる。
【００１３】
しかし、ＣＡＤの分野においては、細分割曲面は、パラメータで表せないので、一般に受け入れられていない。その結果、ＣＡＤシステムは変換アルゴリズムを提供し、細分割曲面をＮＵＲＢＳパッチなどの一連の曲面パッチから成るパラメトリック曲面に変換する。
【００１４】
多くの変換アルゴリズムが文献で説明されている（例えば、 J. Peters : Patching Catmull-Clark Meshes, Siggraph 2000 参照）。しかしながら、該既存の変換アルゴリズムは、開いたベースメッシュ、すなわち、開いた頂点またはエッジ（例えば、尖ったエッジまたは境界（frontier））を備え、および３個の長方形（tri-rectangular）のパターン（トリクワッド（triquad）とも呼ばれる）を備えるベースメッシュを考慮して設計されていない。
【００１５】
また、結果として生じるパラメトリック曲面は、不十分な質の連続が発生する。確かに、これらの曲面は、初期のベースメッシュの４つのエッジ上のインシデントではない頂点（特異頂点：extraordinary vertex）に対応する点を除き、いずれの場所においても曲率連続である。
【００１６】
本発明と並行して、離散型フーリエ変換（discrete Fourier transform）を含む方法が開示されている（C. Loop : Second Order Smoothness over Extraordinary vertices, Eurographics Symposium on Geometry Processing (2004)）。しかし、このやり方は、閉じた特異頂点のみに当てはまることは明白である。
【００１７】
すなわち、メッシュから、パラメータ化された曲面のアイソトポロジック（isotopologic）な集合を生成するプロセスについての要求が存在し、該プロセスは開いたベースメッシュを扱うのに適しており、３個の長方形のパターンを有する。該プロセスは、ベースメッシュに存在する様々な種類の面に適用されるパラメトリック曲面を提供する。
【００１８】
また、該プロセスは、所定の幾何的連続Ｇｉ（例えば、Ｇ１またはＧ２）の要件を満たし、局所の線形導出（linear resolution）アルゴリズムを使用し、その安定性を保証するために、高いバレンスの頂点を考慮することが望ましい。
【００１９】
さらに、発明者の知識の及ぶ限りでは、通常、パラメトリック曲面の生成に関連する特徴および変形物を提案する一方、従来技術は、本明細書で述べられている本発明の非常に利点のある特徴のいくつかを開示していない。
【課題を解決するための手段】
【００２０】
本発明は、パラメータ化された曲面のアイソトポロジックな集合をメッシュから生成するプロセスを対象にする。該プロセスは、バレンス４の規則的頂点（regular vertex）と、４とは異なるバレンスの不規則的頂点（irregular vertex）を備える頂点であって、面を定義するエッジによって結合された複数の頂点を有するメッシュを提供するステップを備える。提供されるメッシュは、例えば、メッシュを細分割したＣａｔｍｕｌｌ−Ｃｌａｒｋである。該メッシュは、頂点、および／またはエッジ上で定義されたシャープネスの値をさらに有する。シャープネスは、メッシュによってモデル化された曲面の頂点またはエッジのアトラクティブネスを表す。例えば、そのシャープネスは、初期メッシュと極限細分割曲面（limit subdivision surface）との間の差異、または初期メッシュと所定の細分割レベルでのそのままのメッシュとの間の差異を測定する。プロセスは、少なくとも３つの異なる種類のパラメータ化された曲面を提供することをさらに備える。すなわち、
−規則的頂点と、面の頂点および／またはエッジのシャープネスの第１の値（例えば、デフォルト値）のみを有する面について、第１の種類のパラメータ化された曲面を適用すること、
−規則的頂点と、シャープネスの第２の値（例えば、非デフォルト値）を有する少なくとも１つの頂点またはエッジを有する面について、第２の種類のパラメータ化された曲面を適用すること、および
−少なくとも１つの不規則的頂点を有する面について、第３の種類のパラメータ化された曲面を適用すること
をさらに備える。
【００２１】
曲面を適用するステップは、任意の位相を有するベースメッシュから機能すること、およびＣａｔｍｕｌｌ−Ｃｌａｒｋ細分割曲面を使用することを可能にする。しかし、面−曲面のマッピング（mapping：写像）は、初期の位相が尊重されることを提供する。
【００２２】
規則的頂点、並びに頂点およびエッジ上のシャープネスのデフォルト値を有する面の典型的な例は、バレンス４の頂点、および尖っていないエッジを持つ頂点を有する面の場合である。
【００２３】
規則的頂点、およびシャープネスの非デフォルト値を持つ少なくとも１つの頂点またはエッジを有する面の典型的な例は、（ｉ）２つの尖ったエッジの結合部に存在するバレンス３の頂点を少なくとも有する面、および（ii）尖ったエッジによって結合されたバレンス４の頂点を有する面である。尖ったエッジ上に存在するバレンス３の頂点は、不規則的頂点と考えられていないことに気づかれたい。そのような面（開いた頂点を有する面である場合を含む）は、特定の処理（treatment）を提供される。
【００２４】
少なくとも１つの不規則的頂点を有する面の典型的な例は、尖っていないエッジによって結合される特異頂点を備える面である。特異頂点を有する面は、そのアルゴリズムによって明示的に考慮され、パラメトリック曲面の適合した種類を適用する。
【００２５】
さらに、上記の仕組み（scheme）は、規則的頂点と不規則的頂点の両方を考慮するので、３個の長方形メッシュ（tri-rectangular mesh）を考慮に入れることは可能である。
【００２６】
連続的な（progressive）パラメータ化（それ故、最適化された）は、正常な状態に戻される。適用される曲面の種類、およびその複雑さは、シャープネスの局所値および頂点の種類に関して選択されることによって、モデル化された曲面の適応された洗練さを提供する。このことにより、非常に多くの制御点を提供することを防ぐことは明らかである。
【００２７】
したがって、第１の種類のパラメータ化された曲面の制御点の数は、曲面を相対的に単純にするために、第２および第３の種類のパラメータ化された曲面の制御点の数よりも少ないことが望ましい。
【００２８】
また、第３の種類のパラメータ化された曲面の制御点の数は、第１および第２の種類のパラメータ化された曲面の制御点の数よりも多いことが望ましい。
【００２９】
適用されるさまざまな種類の曲面によって提供されるフレキシビリティ（flexibility）により、第１、第２、および第３の種類の曲面は、本発明を変形した発明において、異なる節のベクトル（nodal vector）を持つＢ−スプラインである可能性がある。
【００３０】
一実施形態において、曲面を適用するステップでは、適用された各パラメトリック曲面は、所要の幾何的連続Ｇｉと少なくとも等しい内部連続Ｃｊを有する。ｊはｉよりも大きい、または等しい、すなわち、該内部連続は少なくとも所要の幾何的連続を包含することを意味する。対照的に、共通エッジと交差する少なくとも２つのパラメトリック基本曲面の間の幾何的連続は、所要の幾何的連続Ｇｉよりも少なくなりがちである。プロセスは、各シンギュラ頂点、例えば特異頂点について、頂点に結合されたエッジと交わるパラメータ化された曲面のパラメータを関連付け、結合されたエッジと交わる所要の幾何的連続を実行する連立方程式を定義するステップを備える。該パラメータは、例えば、通常「制御点」と呼ばれる位置座標を含む。プロセスは、パラメータを得るために連立方程式を解くステップを備える。該シンギュラ頂点は、隣接する基本曲面の間の連続が所要の幾何的連続Ｇｉよりも少ない少なくとも１つのエッジを結合する。
【００３１】
このアルゴリズムは局所のものであり、連立方程式は各特異頂点について定義され、解かれる。連立方程式は、開いた頂点および閉じた頂点の両方を考慮するが、開いた頂点は廃棄されない。加えて、局所の方程式を公式化することによって、線形導出（linear resolution）が可能になり、プロセスを非常に単純化し、促進する。このプロセスが完了すると、連立方程式の種類（nature）によって、目標とする連続は達成される。
【００３２】
好適な一実施形態においては、提供されているパラメータ化された基本曲面はＢ−スプラインであり、解くステップのパラメータはＢ−スプラインの制御点の位置である。これは、問題が線形問題（linear problem）のままであることを可能にする１つの可能性である。
【００３３】
さらに好適な一実施形態においては、連立方程式を定義するステップにおいて、定義された連立方程式の係数（coefficient）を定数として、または異なる点の種類にしたがって設定することができる。例えば、係数は多項式の形式で与えられ、エッジの相対的な長さによって、およびエッジ間の角度によって影響を受ける。例えば、当業者は、望ましい曲面の見た目上の品質にしたがって、試行錯誤で係数を調整する。係数は連立方程式を解く前に設定されるため、解決する問題は線形問題のままである。
【００３４】
本発明を変形した発明では、上記のパラメータは、例えば、ユーザ要求があるとすぐに問題を少なくとも部分的に非線形にする係数のいくつかを含む可能性があることに気づかれたい。この場合、非線形は解くにあたり余計なコストがかかるが、「解かれた」係数は要求される連続に関して改善されるだろう。
【００３５】
上記では、後述する本発明の詳細な説明をより良く理解するために、本発明の特徴および利点を広範に概説した。本発明のさらなる特徴および利点を以下で説明するが、それは特許請求の範囲の主題を反映する。開示されている概念と特定の実施形態が、本発明と同じ目的を実行する他のプロセスを修正し、または設計するための基礎として容易に利用できることを当業者は認識するだろう。このような同等のプロセスが、特許請求の範囲に示したような本発明の要旨および範囲から逸脱しないことも当業者は理解するだろう。他の目的および利点とあわせて、本発明の特徴であると信じられている新しい特徴は、添付図面に関連して考える場合、以下の説明からより良く理解されるだろう。しかしながら、図面は例示および説明のためだけに提供されるものであり、本発明の境界線の定義として意図されるものではないということを理解すべきことは明確である。
【発明を実施するための最良の形態】
【００３６】
本発明は、ＣＡＤソフトウェアによる実装に適したプロセスを対象にする。ユーザは、通常のメニューバーも画面下部および画面側面部のツールバーも有する通常のＣＡＤインターフェースであるグラフィカルユーザインターフェース（ＧＵＩ）を介して、プロセスを制御する。このようなメニューバーおよびツールバーは、ユーザ選択可能なアイコン群を含み、各アイコンは当技術分野において周知なように１つまたはそれ以上の操作（operation）または関数（function）と関連づけられている。
【００３７】
これらのアイコンの中には、モデル化されたオブジェクトを編集し、および／または表示するために適合させたソフトウェアツールに関連付けられているものがある。問題のソフトウェアツールは、ワークベンチに集められるだろう。さもなければ、各ワークベンチはソフトウェアツールの異なるサブセットを備えるだろう。具体的には、こういったソフトウェアツールの１つは、モデル化されたオブジェクトの幾何的な特徴を編集するのに適した編集用のワークベンチである。操作においては、例えば、設計者がオブジェクトの一部を予め選択し、その後、適したアイコンを選択し、適したツールを動かすことによって操作を開始することができる（例えば、形状、次元、色彩などを変更する）。
【００３８】
例えば、ＧＵＩは、表示されているオブジェクトに関連するデータ（特徴木（feature tree）と知られている）を表示することができる。データは通常、ＧＵＩの左側にある木の形状に表示される。ＧＵＩは、他の種類のグラフィックツール、例えば、表示されているオブジェクトの３Ｄの位置確認を促進するグラフィックツールを示す。
【００３９】
例えば、本発明のプロセスを、コンピュータネットワーク内の、データベースを備えるＰＬＭシステムにおいて実装することができる。この場合、ＧＵＩはディスプレイとメモリを備え、かつコンピュータネットワークに接続されている端末上で稼動し、製品データ管理（ＰＤＭ）システムにおいて有益である。ＰＤＭシステムは、階層的に相互関連する、多数の文書およびデータの管理を可能にする。複数のユーザは、例えば、類似のローカルアプリケーションおよび共通環境を使用し、協力的なやり方で、異なる部品／製品に取り掛かることができる。
【００４０】
本明細書で説明するプロセスは、パラメータ化された曲面のアイソトポロジックの集合をメッシュから生成する際に、設計者を支援することをまず意図している。該プロセスは、所要の幾何的連続Ｇｉ、例えばＧ２連続を有する曲面を得るための追加ステップをさらに備える。以下において、Ｇ２連続が意図されていると仮定し、本発明のプロセスが所望のレベルの連続に当てはまるということを念頭に置く。図１は、本発明の好適な実施形態を広範に示すフローチャートを示す。
【００４１】
図１を参照すると、プロセスは、ベースメッシュを提供する第１のステップＳ１０を備え、所定のオブジェクトを任意の位相でモデリングする（例えば、図３で表したオブジェクト１０を参照）。通常、該ベースメッシュは、エッジによって結合される複数の頂点を備え、該エッジはオブジェクトの面を定義する。
【００４２】
該ベースメッシュは、例えば、Ｃａｔｍｕｌｌ−Ｃｌａｒｋのアルゴリズムにしたがって、ステップＳ１２で細分割曲面になりやすい。前述したように、該細分割曲面は、滑らかな曲面を初期メッシュから取り出すことを可能にする。より多くの多角形要素、およびより滑らかな要素で新しいメッシュを生成するために、細分割の数をユーザが定義することができる。先に概説したように、結果として生じるＣａｔｍｕｌｌ−Ｃｌａｒｋ細分割曲面は、４つのエッジ上のインシデントではない頂点に対応する点、すなわち、特異頂点を除いた点で曲率連続がどこにでも存在する。したがって、所望の連続を格納する特定の枠組みを説明する。
【００４３】
プロセスは、データ初期化の他のステップＳ１４を備えるが、通常、デフォルト定義またはユーザ定義を更新することも備える。例えば、初期化プロセスは、デフォルトのパラメータまたはユーザ定義のパラメータにしたがって、曲面のトリミングに進むことができる。例えば、ユーザはエッジの境界に関する、特定の曲面のディテール（detail）を入力し、または修正することができる。例えば、ラウンド／フィレットの特徴をまねるために、エッジを尖らせるか、または滑らかにすることができる。
【００４４】
Ｃａｔｍｕｌｌ−Ｃｌａｒｋ細分割の後、シャープネスの値をステップＳ１２またはステップＳ１４で定義し、格納することができる。例えば、シャープネスの値はメッシュの特徴に基づいて自動的に定義することができ、またはユーザが定義することができる。ユーザは、必要なところ（特定の頂点またはエッジ）のシャープネスの非デフォルト値を入力するように提案される。すなわち、シャープネスのデフォルト値はどこか別のところにあると仮定されている。
【００４５】
次に、本明細書でパラメータ化のステップ（または変換のステップ）と広く呼ばれていることが、ステップＳ１６で生じる。該パラメータ化のステップが完了すると、該プロセスは、頂点によって結合されるエッジを有する一連のパラメトリック基本曲面を提供する。このようなパラメトリック基本曲面は、所要のＧ２連続と少なくとも等しいＣｊ内部連続を有する。例えば、所要の連続がＧ２である場合、提供されているパラメトリック基本曲面の内部連続は、少なくともＣ２である。明確にするために、内部連続Ｃ２の要件を以下のように仮定する。内部連続Ｃ２がレンダリングされた曲面の質を改善する場合、例えば、通常の内部連続Ｃ１に関するであろう。
【００４６】
パラメータ化のステップが完了すると得られるように、オブジェクトの幾何的連続が、共通エッジと交差する低い連続を有する２つの基本曲面によって決定されることに留意されたい。この段階では、幾何的連続は通常Ｇ２（所要の連続）よりも小さい。
【００４７】
該パラメータ化のステップＳ１６は、変換のステップを備える。そのステップでは、細分割曲面は一連の基本曲面に変換される。この変換プロセスの結果として、ベースメッシュの各初期の面は、基本曲面に変換される。面−曲面のマッピング（写像）が保証され、ベースメッシュの初期位相が尊重される。結果として、モデル化されたオブジェクトの管理は、より簡素になる。
【００４８】
該変換のステップの結果は、例えば、図３に示されており、図３は、異なる種類の曲面４０、４２、４４がモデルオブジェクト１０の初期の面にしたがって適用された、モデルオブジェクト１０のパラメトリック曲面を示す。曲面４０および４２（それぞれ曲面４２および４４）は、共通エッジ４１（それぞれ共通エッジ４３）を有する。参照番号３０、３２、３４は、面変換が完了すると得られるような制御点を示す。
【００４９】
見られるように、頂点は、バレンス４の頂点（例えば、頂点２０を参照）、および４とは異なるバレンスの頂点（すなわち、特異頂点。例えば、頂点２２、２４を参照）を備える。しかし、頂点２２に関して区別がなされ、その区別は、オブジェクト１０の頂上の尖ったエッジ上にある頂点２４、２６について（事実、頂点２４、２６が２つの尖ったエッジ４５、４７の交わるところに存在することに留意されたい）、オブジェクト１０の平面（plain surface）に存在する。しかしながら、２つの尖ったエッジによって結合されている、バレンス３を有する特異頂点は、通常、不規則的頂点だとは考えられない。頂点２２が「不規則的頂点」として示されている間、頂点２４は、その代わりとして、（不規則的頂点とは考えられない）半規則的頂点（semi-regular vertex）と考えられる。しかしながら、後述する他の目的のため、異なる分類の枠組みが適用される（上述の「不規則的」頂点と混同しないよう、「シンギュラ（singular）」頂点と呼ぶ）。
【００５０】
さらに、上述したように、メッシュを変換の前に頂点またはエッジ上で定義されるシャープネスの値で関連づけることができる（例えば、ステップＳ１２、またはステップＳ１４）。該シャープネスは、その対応する頂点またはエッジの局所アトラクティブネスを表現する。例えば、尖っていないエッジ４１、４３はデフォルト値「０」の結果であると考えられる。エッジ４１およびエッジ４３と相違して、例えば、エッジ４５は、後にモデルオブジェクト１０の尖った境界エッジを描くため、非デフォルト値「１」の結果であると考えられる。シャープネスの値は、上記の例のように、０と１で表す（binary）ことができる。しかしながら、シャープネスの値は、０と１００の間の範囲の整数値として格納されることが望ましい（後者は、最大シャープネスを示す）。様々なアルゴリズムを呼び出し、例えば、初期ベースメッシュと極限細分割曲面との間の差異にしたがって、このようなシャープネスを決定することができる。
【００５１】
該定義されたシャープネスの値および頂点の種類に基づいて、プロセスは、ベースメッシュに存在する異なる種類の面に適用するために、およびプログレッシブパラメータ化を取り戻すために、変換するステップの間、適用すべき異なる種類のパラメトリック曲面を提供することができる。
【００５２】
例えば、第１の種類のパラメトリック曲面４０は、デフォルト値を有する規則的頂点２０およびエッジ４１を備える初期の面が見つけられるところで適用される。次に、エッジ４５を備える面、すなわち、シャープネスの非デフォルト値を有する面について、第２の種類のパラメトリック曲面４４が適用される。対応する面は、規則的頂点および半規則的頂点２４、２６の両方を備える（本明細書では、不規則的頂点とは考えられていない）。最後に、第３の種類のパラメトリック曲面４２が、不規則的頂点、または特異頂点２２を備える面に適用される。
【００５３】
規則的頂点、およびシャープネスの非デフォルト値を有する少なくとも１つの頂点またはエッジは、変換アルゴリズムによって考慮されることは明白なので、該変換はメッシュの閉じた頂点および開いた頂点の両方に適用されることに留意されたい。
【００５４】
今まで見たように、適用される曲面の複雑さは、シャープネスの局所値および頂点の種類については選択され、適用される局面の精巧さ（sophistication）は、局所的に最適化される。具体的には、第３の種類のパラメトリック曲面４２は、多数の制御点３２を有しており、第１の種類のパラメトリック曲面４０の制御点３０の数は、第２および第３の種類のパラメトリック曲面４２、４４の制御点３２、３４の数よりも少ない。言い換えると、制御点のそれぞれのメッシュは、適用される局面の種類に応じて多かれ少なかれ密集する。
【００５５】
例えば、制御点の密集度を結果であるシャープネスの値に基づいて計算することができる（値「０」は標準の密集度になるが、非デフォルト値、例えば「１」や「１００」は増加した密集度になる）。
【００５６】
曲面を局所的に修正するために、例えば、パラメトリック曲面の２つのパッチ間の所定の幾何的連続の要件を達成するために、制御点を後で移動することができる。規則的頂点および尖っていないエッジを有する面は連続が欠乏せず、密集度の低い曲面を適用することができる。対照的に、不連続は特異頂点の近くで出現しやすく、より密集度の高い制御点のネットワークは、所要の連続を取り戻すことを可能にするためにそれぞれの曲面に提供される。
【００５７】
操作不能な制御点は廃棄され、今から説明するように、後続するステップを促進することを可能にする。
【００５８】
図１のフローチャートに戻ると、異なる種類の曲面がステップＳ１６で提供されると、アルゴリズムはそれぞれの面を考慮し、ステップＳ２０乃至Ｓ２４で、面が特異頂点を有するか否かにしたがって相異なる処理を進める。
【００５９】
特異頂点が発見されるところでは、プロセスは均質化（homogenization）の中間ステップＳ２６を実行し、そこではアルゴリズムの後続部分の詳細が取り決められる。例えば、形式上の変化を進めることができ、例えば、次に来るステップを迅速化するために、Ｂ−スプラインからベジエ曲線にすることができる。
【００６０】
各特異頂点について（ステップＳ２８、本明細書では、各特異頂点は、「シンギュラ」頂点と考えられる）、特定の仕組みは所要の連続Ｇ２を取り戻すために実装される（ステップＳ３０乃至ステップＳ４４）。そのような仕組みは、図２を参照して説明される。
【００６１】
まず、該仕組みは、開いた頂点、閉じた頂点、および尖ったエッジに結合された閉じた頂点間の区別をつける（それぞれ、ステップＳ３１、ステップＳ３８とステップＳ４０、およびステップＳ３８とステップＳ３９）。
【００６２】
閉じた頂点が検出される場合、該頂点に結合するエッジと交わる基本曲面のパラメータ（例えば、「制御点」の位置座標）を関連付け、かつ該閉じた頂点を結合するエッジと交わる所要の連続を実施する連立方程式が定義される。該連立方程式の係数は計算され、後述するように、該連立方程式は解かれる。
【００６３】
開いた頂点について（ステップＳ３１）、異なるセクタは、ステップＳ３２で該開いた頂点を結合するエッジにしたがって計算される。セクタは、該開いた頂点に結合する２つの近似する尖ったエッジによって区切られる場所として決定される。しかしながら、１つの尖ったエッジが存在しさえすれば、ただ１つのセクタが決定され、該セクタは、該頂点を取り囲むエッジのサイクルによって補われた場所を備える。この場合、連立方程式は、計算されたセクタのそれぞれについて定義され、セクタ内で結合されたエッジと交わる所要の幾何的連続を実行する（尖ったエッジは考慮されない）。
【００６４】
次に、定義された連立方程式に関しては、該連立方程式は、該頂点に結合する全ての関連エッジと交わる基本曲面のパラメータを関連付ける。問題のエッジは、閉じた頂点の場合に全ての結合エッジを意味し、開いた頂点、または尖ったエッジによって結合された閉じた頂点の場合に単一のセクタに関連するものに制限するということに気づかれたい。
【００６５】
該連立方程式は、結合されたエッジと交わる所要の幾何的連続を実行する。具体的には、一連の方程式は、各考慮された頂点について定義される。つまり、問題は、考慮された頂点の数に等しい。方程式は、固定された制約の後に続き、以後説明する。
【００６６】
図５を参照すると、我々は、特異頂点２８から、エッジＥｕ、Ｅｖ，ｒ、Ｅｓの局所方向を定義する単位ベクトルｕ、ｖ、ｒ、ｓと同様に２つの隣接するＢ−スプライン曲面Ｓ１およびＳ２を考慮する。この例では、特異頂点２８は、Ｓ１とＳ２との間の連続が所要の連続Ｇ２よりも下回ると想定されるものと交わるエッジＥｖ，ｒを結合するので、シンギュラである。通常の表記法を使用すると、Ｇ０連続の条件は、以下の式を生じる。
【００６７】
【数１】
0004832990.tif 000002
【００６８】
この場合、Ｃ（ｔ）は、Ｓ１およびＳ２に共通の曲線である。Ｇ１連続は、以下の式の意味を含む。
【００６９】
【数２】
0004832990.tif 000003
【００７０】
また、同等に、
【００７１】
【数３】
0004832990.tif 000004
【００７２】
この場合、α、β、γは形状パラメータ（shape parameter）、すなわち、後述されるｔによって決まる連続の条件式の係数である。次に、式（２）または式（３）を満足する条件を想定すると、Ｇ２連続を実行することにより、以下の条件が得られる。
【００７３】
【数４】
0004832990.tif 000005
【００７４】
この場合、表記（０，ｔ）、（ｔ，０）などは明確にするために省略する。
【００７５】
上記の式は、曲面の制御点の位置座標を暗に含む。
【００７６】
ここまで、形状パラメータ、つまり係数α、β、γ、...についてあまり述べなかった。例えば、これらを定数α０、β０、γ０などとして設定することもでき、または場合によってはユーザに定義されるシンギュラ点の種類（ステップＳ３６またはＳ４０）にしたがって設定することもできる。
【００７７】
これらの係数α、β、γ、...を、最終的なグラフィックの質を全体として改善するためにあらかじめパラメータ化された（例えば、試行錯誤によって）多項式をゆっくりと変えるものとして選ぶことができる。
【００７８】
例えば、図４を参照すると、α０、β０、γ０、δ０、およびη０の都合の良い数値は、それぞれ１．０、−０．６１８０３４、１．０、０．０および０．０である。
【００７９】
上述のように、該係数を低次の多項式に与えることができ、該係数は、局所エッジの相対的長さおよびエッジ間の角度によって作用される。しかし、これらは連立方程式を解く前に計算されることによって（ステップＳ３６またはＳ４０）、該連立方程式を解くことが、例えばシンギュラ頂点の数によって直線的に増加するなど線形問題のままであり続ける。さまざまな他の種類の係数の形式は、当業者によって考慮される。
【００８０】
解くステップが完了すると、各シンギュラ頂点を囲むＮＵＲＢＳは、リターンされる新たな制御点の位置にしたがってアップデートされる（ステップＳ４２）。
【００８１】
尖ったエッジを結合する閉じた頂点が上記の仕組みによって検知され、その後、所要の連続を戻す（recover）ために、（両方のケースの間の位相の相似によって）開いた頂点として同様に取り扱われることに気づかれたい。その結果、閉じた、および開いた（尖ったエッジを結合する）特異頂点は、「シンギュラ」と考えられ、現在の仕組みに関して同様に扱われる。
【００８２】
対照的に、上述の変換ステップ（ステップＳ１６）は、不規則的頂点（例えば、開いた特異頂点）を備える面と尖ったエッジを結合する頂点（半規則的）との間の区別をつける。
【００８３】
このアルゴリズムは、ステップＳ４４で終了する。完了するとすぐ、上述の仕組みは、所要の連続、ここではＧ２を得るために、目標パラメータ（関連する（involved）制御点の位置座標）を戻し、それに応じて曲面を修正する。その結果、隣接する曲面の間の結合点（joint）での曲率は（少なくとも）比例し、結果として現れた結合点は継ぎ目がなく、見分けがつかない（invisible）。
【００８４】
このことは図４Ａ乃至図４Ｄに例示されており、プロセスが完了するとすぐに得られるような、制御点の分布（図４Ｂ）、接面（tangent）または通常の強調表示の等高線で、バレンス６の特異頂点２８を結合するエッジ５１乃至エッジ５６を有する基本曲面で、モデルオブジェクト１０のパラメトリック曲面を示す。
【００８５】
このように（図４Ｂ）、得られた制御点の分布（distribution）は、Ｇ２の条件の下で得られた典型的な継ぎ目のない等高線を示す。到達した曲面の質は、さらに図４Ｃ、図４Ｄの接面および通常の強調表示の等高線において影響を及ぼす。
【００８６】
明らかなように、上記で全体として述べられたアルゴリズムは、局所にあり、開いた頂点、および閉じた頂点を考慮する所定の幾何的連続を達成することを可能にし、線形を解決することを可能にする。そのようなアルゴリズムは、ベースメッシュの初期の位相が、引き起こされている面と曲面によるマッピング（写像）によって、尊重されていることを保証する。ここでは、面と面によるアプローチが考慮されている。対照的に、幾何的連続は局所的な結合の仕組みを介して戻されるので、所要の制御点の数は、曲面と曲面によるアプローチを採用する場合に必要とするものより少ない。本発明は既存の通常のプロシージャ（procedure）とは決定的に異なる。
【図面の簡単な説明】
【００８７】
【図１】本発明の好適な実施形態を広範に示すフローチャートである。
【図２】所定の幾何的連続の要件を満たす観点から、特異頂点の特定の処理を示すフローチャートである。
【図３】オブジェクトの面の変換後のモデルオブジェクトのパラメトリック曲面であって、異なる種類の基本曲面が面にしたがって適用されたパラメトリック曲面を示す図である。
【図４Ａ】バレンス６の特異頂点を結合するエッジを有する基本曲面を有する他のモデルオブジェクトのパラメトリック曲面を示す図である。
【図４Ｂ】図４Ａのパラメトリック曲面を、処理の完了後得られるような、基本曲面の制御点の分布とともに示す図である。
【図４Ｃ】処理の完了後得られるような、図４Ａのパラメトリック曲面の接面を示す図である。
【図４Ｄ】処理の完了後得られるような、図４Ａのパラメトリック曲面の通常の強調表示の等高線を示す図である。
【図５】連続方程式を導くのに必要なシステムコンポーネントとともに、１つの特異頂点、および２つの基本曲面を示す図である。
【符号の説明】
【００８８】
１０  モデルオブジェクト
２０  頂点（規則的頂点）
２２、２４、２８  頂点（特異頂点）
２６  頂点
３０、３２、３４  制御点
４０、４２、４４  曲面
４１、４３、４５、４７、５１、５２、５３、５４、５５、５６  エッジ
【図１】
0004832990.tif 000006
【図２】
0004832990.tif 000007
【図３】
0004832990.tif 000008
【図４Ａ】
0004832990.tif 000009
【図４Ｂ】
0004832990.tif 000010
【図４Ｃ】
0004832990.tif 000011
【図４Ｄ】
0004832990.tif 000012
【図５】
0004832990.tif 000013