(57)【特許請求の範囲】
【請求項１】
３Ｄモデル化オブジェクトを設計するコンピュータ実装方法であって、
前記３Ｄモデル化オブジェクトを表す細分割曲面と、対応する所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズム（ＰＣＣＭ（・））と、に対して関連付けられたベースメッシュ（Ｂ0）を、ユーザにより定義するステップ（Ｓ１０）と、
２Ｄ画像と、前記２Ｄ画像を前記細分割曲面上にエングレーブするための場所と、を前記ユーザにより定義するステップ（Ｓ２０）と、
前記メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを前記ベースメッシュに対して実行（Ｓ３４）した結果（Ｓ0＝ＰＣＣＭ（Ｂ0））に、変形写像
【数１】
0006773419.tif 000018
を適用（Ｓ３６）することに対応する、ＮＵＲＢＳ曲面（Ｓ1）を判定するステップ（Ｓ３０）であって、前記変形写像は、前記メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを前記ベースメッシュに対して実行（Ｓ３４）した結果の位置に関して設けられる、変位ベクトルを含み、前記位置は、前記２Ｄ画像をエングレーブするための前記場所に対応し、前記変位ベクトルは、前記２Ｄ画像の対応する画素値に基づき、計算される（Ｓ３２）ステップと、
を含むことを特徴とする方法。
【請求項２】
前記方法は、前記変位ベクトルを計算するステップ（Ｓ３２）を含み、前記計算するステップは、
前記２Ｄ画像をエングレーブするための前記場所に対応する第１の３Ｄメッシュ（Ｂ4＝Ｒn（Ｂ1））を、前記ベースメッシュ（Ｂ0）から判定するステップ（Ｓ３２０）と、
前記２Ｄ画像の前記対応する画素値に基づき、前記第１の３Ｄメッシュに対して垂直の方向に、前記第１の３Ｄメッシュの頂点を変位させることにより、第２の３Ｄメッシュ（Ｂ5（ｉ）＝Ｂ4（ｉ）＋ｄiＮ（ｉ））を、前記第１の３Ｄメッシュから判定するステップ（Ｓ３２２）と、
前記メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを前記ベースメッシュに対して実行（Ｓ３４）した結果の位置に関して、前記メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを前記第２の３Ｄメッシュに対して実行した結果（Ｓ5＝ＰＣＣＭ（Ｂ5））の対応する制御点（Ｃi,j（Ｓ5））と、前記メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを前記第１の３Ｄメッシュに対して実行した結果（Ｓ4＝ＰＣＣＭ（Ｂ4））の対応する制御点（Ｃi,j（Ｓ4））と、の間の３Ｄ位置の差に等しい変位ベクトル（Δ（ｉ，ｊ）＝Ｃi,j（Ｓ5）−Ｃi,j（Ｓ4））を計算するステップ（Ｓ３２４）と
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１の３Ｄメッシュ（Ｂ4＝Ｒn（Ｂ1））を判定するステップ（Ｓ３２０）は、前記２Ｄ画像をエングレーブするための前記場所に対応する前記ベースメッシュのサブメッシュ（Ｂ1）を抽出するステップと、次に、前記サブメッシュ（Ｂ1）を所定回数（ｎ）細分割するステップとを含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記所定回数（ｎ）は、前記ユーザにより定義される、および／または、前記２Ｄ画像の詳細のレベルに対して関連付けられた所定の基準に増加的に依存することを特徴とする請求項３に記載の方法。
【請求項５】
前記２Ｄ画像の前記対応する画素値は、画素のグレースケール値であることを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記変位ベクトルの振幅は、前記対応するグレースケール値に増加的に依存することを特徴とする請求項５に記載の方法。
【請求項７】
前記ユーザはさらに、所定のバイナリリストから、エングレーブする方向を選択することを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
請求項１乃至７のいずれか１項に記載の方法を実行するための命令を備えたことを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムを記録しているデータ記憶媒体。
【請求項１０】
ＧＵＩとメモリに連結されたプロセッサを備えたＣＡＤシステムであって、前記メモリは請求項８に記載のコンピュータプログラムを記録しているＣＡＤシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、コンピュータ支援設計（ＣＡＤ）の分野に係わり、より詳細には、２Ｄ画像に基づくデータ処理を用いて、グラフィカルなユーザ対話により３Ｄモデル化オブジェクトを設計するための方法、プログラム、およびシステムに係る。
【背景技術】
【０００２】
多くのシステムおよびプログラムが、オブジェクトの設計、エンジニアリング、および製造の市場に出されている。ＣＡＤは、コンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに係る。ＣＡＥは、コンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェア・ソリューションに係る。ＣＡＭは、コンピュータ支援製造の頭字語であり、例えば、製造のプロセスと作業を定義するためのソフトウェア・ソリューションに係る。そのような、コンピュータ支援設計システムでは、グラフィカルユーザインタフェースが、技法の効率に関して重要な役割を果たす。これらの技法は、製品ライフサイクル管理（ＰＬＭ）システム内に組み込まれていることもある。ＰＬＭとは、企業が、拡張企業の概念にわたって、構想から製品の寿命の終わりに至るまで、製品データを共有し、共通プロセスを適用し、かつ会社の知識を製品の開発に利用するのを支援する、ビジネス戦略のことをいう。
【０００３】
ダッソー・システムズにより（ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡという商標で）提供されるＰＬＭソリューションでは、エンジニアリングハブ、製造ハブ、および企業ハブが提供され、エンジニアリングハブは製品エンジニアリングの知識を体系化し、製造ハブは製造エンジニアリングの知識を管理し、企業ハブはエンジニアリングハブと製造ハブの両方への事業統合と事業接続とを可能とする。これらが一体となって、システムは、製品、プロセス、リソースを関連づけるオープンなオブジェクトモデルを提供し、最適な製品定義、製造準備、生産、およびサービスを推進するダイナミックで、知織ベースの製品創出および意思決定を可能とする。
【０００４】
ＣＡＤソリューションでは、サーフェスモデリング向けの２つの主な広く知られた技術、すなわち、非一様有理Ｂスプライン（ＮＯＮ  ＵＮＩＦＯＲＭ  ＲＡＴＩＯＮＡＬ  Ｂ−ＳＰＬＩＮＥ  ＳＵＲＦＡＣＥＳ、以下ではＮＵＲＢＳと記す）、細分割曲面（ＳＵＢＤＩＶＩＳＩＯＮ  ＳＵＲＦＡＣＥＳ（サブディビジョンサーフェス））、を大いに利用する。
【０００５】
ＮＵＲＢＳ技術は、「制御点」と呼ばれる３Ｄ点の矩形グリッドによって取り扱う多項式パラメタリゼーションまたは有理パラメタリゼーションに基づく。ＮＵＲＢＳ曲面のエディットは、制御点を移動させることにより行う。この技術は、多項式の次数が制御点の個数に依存しないように設計される。さらに、制御点の影響は近傍に限定される。それ故、ユーザは曲面の形状を局所的に修正することができ、該近傍の外側領域には影響が及ばない。この分野の著名な文献の１つに、Ｔｈｅ  ＮＵＲＢＳ  ｂｏｏｋ（Ｌ．Ｐｉｅｇｌ、Ｔ．Ｗａｙｎｅ、Ｓｐｒｉｎｇｅｒ、２ｎｄ  ｅｄｉｔｉｏｎ、２０１３）という教本がある。
【０００６】
一方、細分割曲面は、点および線分から成る三次元「ベースメッシュ」により定義される。ベースメッシュは、ユーザ定義されるものであり、また任意トポロジを特徴とすることがあり、ＮＵＲＢＳの制御点の矩形グリッドとは対照的である。ベースメッシュは、細分割曲面の全体的な形状をつかさどり、また、ユーザがエディットすることが可能である。ベースメッシュにおける変更が、細分割曲面全体に影響を与える。ＮＵＲＢＳ曲面とは対照的に、細分割曲面は、ベースメッシュで開始される細分割プロセスの、制限オブジェクトである。図１は、３穴の閉じたベースメッシュ１１、および第１の細分割ステップ、を説明する図である。制限曲面は、平滑な３穴のトーラス状のオブジェクト１３である。基本については、特に以下の文献において説明されている。Ｒｅｃｕｒｓｉｖｅｌｙ  ｇｅｎｅｒａｔｅｄ  Ｂ−Ｓｐｌｉｎｅ  ｓｕｒｆａｃｅｓ  ｏｎ  ａｒｂｉｔｒａｒｙ  ｔｏｐｏｌｏｇｉｃａｌ  ｍｅｓｈｅｓ、Ｅ．Ｃａｔｍｕｌｌ、Ｊ．Ｃｌａｒｋ、Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ、Ｖｏｌ．１０、Ｎｏ６、Ｎｏｖｅｍｂｅｒ  １９７８。なお、ベースメッシュをＮＵＲＢＳ曲面に変換して、ＮＵＲＢＳ曲面の配置により細分割曲面を近似させることが可能であるあり、米国特許第７５９５７９９Ｂ２号明細書（欧州特許第１７５０２２９Ｂ１号に対応）および米国特許第７４００３２３Ｂ２号明細書、において説明されている。
【０００７】
要するに、ＮＵＲＢＳ技術は、局所修正能力およびグリッド定義トポロジを特徴とし、細分割技術は、任意トポロジおよび非局所エディット能力を特徴とする。明らかには、曲面上の細部を、その全体的な形状を確保しつつ作成することが、ＮＵＲＢＳ技術が局所修正を取り扱う能力を有することにより、良好にサポートされる。逆に、この能力は細分割曲面技術ではサポートされない。一方、任意トポロジは、細分割曲面技術によりサポートされ、トポロジが制御点の矩形グリッドに限定されるＮＵＲＢＳ曲面とは対照的である。
【０００８】
従来技術に欠けているものは、特に、任意トポロジを用いた曲面における局所変更の能力である、この文脈において、３Ｄモデル化オブジェクトを設計するために、向上したソリューションの必要性がまだ存在する。
【発明の概要】
【０００９】
そこで、３Ｄモデル化オブジェクトを設計するためのコンピュータ実装方法が提供される。方法は、細分割曲面と、対応する所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムと、に対して関連付けられたベースメッシュを、ユーザにより定義するステップを含む。細分割曲面は、３Ｄモデル化オブジェクトを表す。方法はまた、２Ｄ画像と、２Ｄ画像を細分割曲面上にエングレーブするための場所と、をユーザにより定義するステップを含む。方法はまた、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをベースメッシュに対して実行した結果に、変形写像を適用すること、に対応するＮＵＲＢＳ曲面を判定するステップを含む。変形写像には、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをベースメッシュに対して実行した結果の位置に関して設けられる、変位ベクトルが含まれる。位置は、２Ｄ画像をエングレーブするための場所に対応する。変位ベクトルは、対応する２Ｄ画像の画素値に基づき計算される。
【００１０】
方法は、以下のうちの１つまたは複数を含む。
【００１１】
−方法は、変位ベクトルを計算するステップであって、２Ｄ画像をエングレーブするための場所に対応する第１の３Ｄメッシュを、ベースメッシュから判定するステップと、第１の３Ｄメッシュの頂点を、対応する２Ｄ画像の画素値に基づき、第１の３Ｄメッシュに対して垂直の方向に変位させることにより、第２の３Ｄメッシュを、第１の３Ｄメッシュから判定するステップと、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをベースメッシュに対して実行した結果の位置に関して、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを第２の３Ｄメッシュに対して実行した結果の対応する制御点と、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを第１の３Ｄメッシュに対して実行した結果の対応する制御点と、の間の３Ｄ位置の差に等しい変位ベクトルを計算するステップと、を含む計算するステップを含み、
−第１の３Ｄメッシュを判定するステップは、２Ｄ画像をエングレーブするための場所に対応するベースメッシュのサブメッシュを抽出するステップと、次に、サブメッシュを所定の回数、細分割するステップとを含み、
−所定の回数は、ユーザにより定義され、および／または、２Ｄ画像の詳細のレベルに対して関連付けられた所定の基準に増加的に依存し、
−対応する２Ｄ画像の画素値は、画素のグレースケール値であり、
−変位ベクトルの振幅は、対応するグレースケール値に増加的に依存し、
−ユーザはさらに、所定のバイナリリストから、エングレーブする方向を選択する。
【００１２】
さらに、方法により設計される３Ｄモデル化オブジェクトが提供される。
【００１３】
さらに、３Ｄモデル化オブジェクトの仕様を含むコンピュータファイルが提供される。
【００１４】
さらに、方法を実行するための命令を備えるコンピュータプログラムが提供される。
【００１５】
さらに、コンピュータプログラムが記録されたコンピュータ可読データ記憶媒体が提供される。
【００１６】
さらに、メモリに連結されるプロセッサと、グラフィカルユーザインタフェースとを備えるＣＡＤシステムが提供され、メモリには、方法を実行するための命令を含むコンピュータプログラムが記録される。
【００１７】
さらに、工業製品を製造するための方法が提供され、該方法は、上記の設計方法に従って、工業製品を表現する三次元オブジェクトを設計するステップと、次に、設計された三次元オブジェクトに基づき、工業製品を製造するステップを含む。
【図面の簡単な説明】
【００１８】
ここで、本発明の実施形態について、非制限的な例を用い、添付の図面を参照して説明する。
【図１】細分割曲面を示す図である。
【図２】方法の一例のフローチャートである。
【図３】システムのグラフィカルユーザインタフェースの一例を示す図である。
【図４】システムの一例を示す図である。
【図５】方法を説明する図である。
【図６】方法を説明する図である。
【図７】方法を説明する図である。
【図８】方法を説明する図である。
【図９】方法を説明する図である。
【図１０】方法を説明する図である。
【図１１】方法を説明する図である。
【図１２】方法を説明する図である。
【図１３】方法を説明する図である。
【図１４】方法を説明する図である。
【図１５】方法を説明する図である。
【図１６】方法を説明する図である。
【図１７】方法を説明する図である。
【図１８】方法を説明する図である。
【図１９】方法を説明する図である。
【図２０】方法を説明する図である。
【図２１】方法を説明する図である。
【図２２】方法を説明する図である。
【図２３】方法を説明する図である。
【図２４】方法を説明する図である。
【図２５】方法を説明する図である。
【図２６】方法を説明する図である。
【発明を実施するための形態】
【００１９】
図２のフローチャートを参照して、３Ｄモデル化オブジェクトを設計するためのコンピュータ実装方法が提案される。方法は、細分割曲面と、対応する所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムと、に対して関連付けられたベースメッシュを、ユーザにより定義するステップＳ１０を含む。細分割曲面は、３Ｄモデル化オブジェクトを表す。方法はまた、２Ｄ画像と、２Ｄ画像を細分割曲面上にエングレーブするための場所と、をユーザにより定義するステップＳ２０を含む。そして、方法は次に、ＮＵＲＢＳ曲面を判定するステップＳ３０を含み、該ステップは、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをベースメッシュに対して実行した結果に、変形写像を適用することに対応する（すなわち、「対応する」により意味されることは、少なくとも近似的に結果が取得される限り、例えば、以下のステップにより、たとえそれら特定のステップが実施されない場合でも、後工程で与えられる「近似」の意味で取得される限り、ＮＵＲＢＳ曲面を取得する特定のやり方が、実施の詳細であるということである）。変形写像には、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをベースメッシュに対して実行した結果の位置に関して設けられる、変位ベクトルが含まれる。これらの位置は、２Ｄ画像をエングレーブするための場所に対応する。変位ベクトルは、対応する２Ｄ画像の画素値に基づき計算される。かかる方法は、３Ｄモデル化オブジェクトの設計を向上させる。
【００２０】
特に、細分割曲面と、対応する所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムと、に対して関連付けられたベースメッシュのコンテキストにおいて、ＣＡＤの分野から周知である設計のコンテキストの利点を用いて、方法により、３Ｄモデル化オブジェクトの設計修正が可能とされる。実際、ベースメッシュの構造と、曲面の設計に関する関連するユーザの意図とが、方法全体を通して保持され、これにより、単にこのベースメッシュフレームワークに仕様を追加するということになり、ＣＡＤ設計者が慣れた作業である。ベースメッシュに対して実行される従来技術の修正ソリューション（例えば、多重解像度情報の追加および／または細分割後の詳細の追加）とは異なり、方法は、ベースメッシュの細分割を、該ベースメッシュの後工程での変換の前に行うことを意図していないため（Ｓ３０において、所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを用いて）、該後工程での変換を容易に実行することができ（計算コストの観点から）、また、制御点の個数を押さえるような結果にはならない。換言すると、後工程にて変換アルゴリズムに入力されるメッシュの面（フェイス）の個数が、方法によって過度に増加することがない。ＮＵＲＢＳに対して実行される従来の修正ソリューションとは異なり、方法により、細分割曲面のベースメッシュの修正が可能となるため、ユーザは、比較的簡略化されたやり方で、このコンテキストのおかげで、他の修正を後で行うことができる（このフレームワークにおいて可能な任意トポロジに関連する利点を伴い、また、複雑なＮＵＲＢＳに比べて、メモリ空間はベースメッシュによりほとんどとられない）。実際、ＣＡＤの分野において広く既知であるように、これらの理由により、スタイリング設計は、ＮＵＲＢＳよりも細分割曲面に対して行われる。ユーザは、従って、Ｓ２０で定義される仕様の追加の後でも、３Ｄモデル化オブジェクトのベースメッシュエディットを実行することができる。また、方法では、Ｓ２０における定義がベースメッシュレベルで実行されるように、確実にＮＵＲＢＳパッチ間の連続性が過度に壊れないようにする。
【００２１】
方法では、ユーザに、簡単な、対話式の、視覚的なやり方をこのように提示し、細分割曲面上に場所が提供された２Ｄ画像の形式で、Ｓ２０にて仕様を定義することにより、局所の詳細を３Ｄモデル化オブジェクトに追加する。このエディットでは、実際のエングレーブをシミュレートし、かつ、ユーザの工業上の要件を順守し、これには、曲面の細分割技術（ベースメッシュを用いた）に基づく設計のコンテキストを保持することが含まれ、ここでは、加えて、最終的な曲面の物質の連続性を保持することが含まれる。
【００２２】
方法はコンピュータ実装される。方法のステップは、実際は、コンピュータシステムのみ、または、グラフィカルなユーザ対話（すなわち、ユーザがコンピュータシステムのＧＵＩと対話すること）により、コンピュータシステム上で実行される。従って、特定的にコンピュータシステムによって実行されるステップは、完全に自動的に実行されてもよい。例において、方法の少なくともいくつかのステップのトリガは、ユーザ／コンピュータ間の対話を通して行われてもよい。特に、定義ステップＳ１０およびＳ２０は、同じワークセッションまたは異なるワークセッションにて、コンピュータで作業するユーザにより実行される。判定ステップＳ３０は、同じワークセッション（Ｓ１０およびＳ２０のうちの一方、またはＳ２０のみ）、または異なるワークセッションにて、ユーザによりトリガされてもよい。要求されるユーザ／コンピュータ間の対話のレベルは、予測される、かつ、ユーザの要望を満たす必要性との均衡がとれた、自動的動作のレベルに依存してもよい。例においては、このレベルは、ユーザ定義されても、および／または予め定義されてもよい。
【００２３】
方法のコンピュータ実装の典型的な例は、この目的のために適合されるシステムを用いて、方法を実行することである。システムは、メモリに連結されるプロセッサと、グラフィカルユーザインタフェース（ＧＵＩ）と、を備えてもよく、メモリには、方法を実行するための命令を含むコンピュータプログラムが記録される。メモリはまた、データベースを格納してもよい。メモリは、かかる格納に適合された任意のハードウェアであり、いくつかの物理的に別個のパーツ（例えば、１つはプログラム用、また、場合によっては１つをデータベース用に）を備えていてもよい。
【００２４】
方法では、モデル化オブジェクトを全体的に操作する。モデル化オブジェクトは、データベースに格納されたデータにより定義される任意のオブジェクトである。意味を広げると、「モデル化オブジェクト」という語句は、データそのものを指す。「３Ｄモデル化オブジェクトを設計する」とは、３Ｄモデル化オブジェクトを精巧に作り上げるプロセスの少なくとも一部である、任意の動作または一連の動作を指す。従って、方法は、３Ｄモデル化オブジェクトをゼロから作成するステップを含んでもよい。あるいは、方法は、以前作成された３Ｄモデル化オブジェクトを準備し、次に、３Ｄモデル化オブジェクトを、特に方法により達成されるエングレービングにより、修正するステップを含んでもよい。
【００２５】
システムのタイプに従って、モデル化オブジェクトは、異なる種類のデータにより定義されてもよい。システムは、実際には、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステムおよび／またはＰＬＭシステムの任意の組み合わせであってもよい。それら異なるシステムにおいて、モデル化オブジェクトは対応するデータにより定義される。従って、オブジェクトは、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータ、のことをいうものとしてよい。しかし、これらのシステムは、他を除外した１つであるのではなく、モデル化オブジェクトは、これらシステムの任意の組み合わせに対応するデータにより定義されてもよい。従って、システムは、ＣＡＤ兼ＰＬＭのシステムであってもよく、以下で示すシステムの定義から明らであろう。
【００２６】
ＣＡＤシステムによって、ＣＡＴＩＡ等の、モデル化オブジェクトのグラフィカルな表現に基づき、モデル化オブジェクトを設計するために少なくとも適合された任意のシステムが表わされる。この場合、モデル化オブジェクトを定義するデータには、モデル化オブジェクトの表現が可能なデータが含まれる。ＣＡＤシステムは、例えば、エッジまたは線を、時には面または表面と共に使用して、ＣＡＤモデル化オブジェクトの表現を提供することができる。線、エッジ、または表面は、種々の様式で、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）で、表現されてもよい。具体的には、ＣＡＤファイルには仕様が含まれ、該仕様によりジオメトリ（幾何学形状）を生成させることができ、該ジオメトリにより表現を生成させることができる。モデル化オブジェクトの仕様は、単一のＣＡＤファイルまたは複数の該ファイルに格納されてもよい。ＣＡＤシステムのモデル化オブジェクトを表現するファイルの典型的なサイズは、１パーツ当たり１メガバイトの範囲である。モデル化オブジェクトは、典型的には、数千パーツのアセンブリ（組立品）である。
【００２７】
ＣＡＤシステムの文脈において、モデル化オブジェクトは典型的には、３Ｄモデル化オブジェクトであってもよく、例えば、パーツもしくはパーツのアセンブリなどの製品を表現し、または、製品のアセンブリを表現することもある。「３Ｄモデル化オブジェクト」によって、その３Ｄ表現が可能なデータによりモデリングされる任意のオブジェクトが表される。３Ｄ表現では、あらゆる角度からのパーツのビューが可能である。例えば、３Ｄモデル化オブジェクトを、３Ｄで表現する際、処理してオブジェクトのいずれかの軸を中心に、または、表現が表示される画面の任意の軸を中心に、回転させることができる。これには、特に、２Ｄアイコンが含まれず、２Ｄアイコンは３Ｄモデリングされない。３Ｄ表現の標示により、設計が容易になる（すなわち、設計者がその仕事を統計的に達成する速度が上がる）。これにより、製品の設計は製造プロセスまたはモデリングプロセスの一部であるため、業界における製造プロセスの速度が上がる。３Ｄモデル化オブジェクトはさらに、Ｓ１０のベースメッシュにより定義されるだけでなく、従来の３Ｄモデル化オブジェクトの仕様に対する追加的な仕様を形成する、Ｓ２０で定義されるデータによっても定義される、という特殊性を有する。
【００２８】
３Ｄモデル化オブジェクトは、例えば、ＣＡＤソフトウェア・ソリューションまたはＣＡＤシステムを用いて、（例えば、機械の）パーツもしくはパーツのアセンブリ、または、さらに一般的には任意の剛体アセンブリ（例えば、移動機構）など、製品の仮想設計の完了に続いて実世界で製造される製品のジオメトリを表現することができる。ＣＡＤソフトウェア・ソリューションにより、航空宇宙、建築、建設界、消費財、ハイテク装置、産業機器、運輸、海洋、および／または、海上もしくは運輸を含む、種々の無限の工業分野における製品の設計が可能となる。方法により設計される３Ｄモデル化オブジェクトは、工業製品をこのように表現するものであり、この工業製品は、地上車のパーツ（例えば、自動車および軽トラックの機器、レーシングカー、オートバイ、トラックおよびモータの機器、トラックおよびバス、電車を含む）、飛行機のパーツ（例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む）、海軍車（例えば、海軍機器、商船、海上機器、ヨットおよび作業船、海洋機器を含む）、機械パーツ（例えば、工業製造機械、移動重機または機器、設置された機器、産業機器製品、組立金属製品、タイヤ製造製品を含む）、電気機械パーツまたは電子パーツ（例えば、家電、セキュリティおよび／または制御および／または計測製品、コンピューティングおよび通信機器、半導体、医療装置および機器を含む）、消費財（例えば、家具、家庭および園芸製品、レジャー用品、ファッション製品、耐久諸費材小売製品、織物小売製品を含む）、パッケージング（例えば、食品および飲料およびたばこ、美容および身の回りの手入れ、家庭用品パッケージングを含む）、であってもよい。方法は、３Ｄモデル化オブジェクトの美的側面の重要性が高い場合に特に有用である。このことは、３Ｄモデル化オブジェクトが、車両または航空機の機械パーツ、例えば、可視パーツ、または、消費財（例えば、カメラなどの電子用品）など、を表現する場合にも当てはまる。
【００２９】
ＰＬＭシステムによって、物理的な製造製品を表現するモデル化オブジェクトの管理のために適合された任意のシステムが表される。ＰＬＭシステムでは、モデル化オブジェクトは、物理的オブジェクトの製造に適したデータにより定義される。これらは、典型的には寸法の値および／または許容差の値であってもよい。オブジェクトを正確に製造するために、かかる値を有することが実際は好ましい。
【００３０】
ＣＡＭは、Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ（コンピュータ支援製造）の略である。ＣＡＭソリューションによって、製品の製造データを管理するために適合された任意のソリューション、ハードウェア、またはソフトウェア、が表される。製造データには、一般に、製造する製品、製造プロセス、および必要なリソース、に関するデータが含まれる。ＣＡＭソリューションを使用して、製品の製造プロセス全体を計画および最適化する。例えば、実現可能性、製造プロセスの期間、または製造プロセスの特定のステップで使用されてもよい、特定のロボットなどのリソースの数、に関する情報をＣＡＭユーザに提供することができ、従って、管理または必要な投資に関する決定を可能にする。ＣＡＭは、ＣＡＤプロセスおよび使用の可能性があるＣＡＥプロセスの後に続くプロセスである。かかるＣＡＭソリューションは、ダッソー・システムズによりＤＥＬＭＩＡ（登録商標）という商標で提供される。
【００３１】
ＣＡＥは、Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ（コンピュータ支援エンジニアリング）の略である。ＣＡＥソリューションによって、モデル化オブジェクトの物理的挙動の分析のために適合された任意のソリューション、ソフトウェア、またはハードウェア、が表される。周知の広く使用されるＣＡＥ技術は、有限要素法（Ｆｉｎｉｔｅ  Ｅｌｅｍｅｎ  ｔＭｅｄｈｏｄ（ＦＥＭ））であり、この方法は、典型的には、モデル化オブジェクトを要素に分割することを伴い、物理的挙動を方程式を介して計算してシミュレートすることができる。かかるＣＡＥソリューションはダッソー・システムズによりＳＩＭＵＬＩＡ（登録商標）という商標で提供される。別の成長中のＣＡＥ技術では、ＣＡＤジオメトリデータを用いない物理学の異なる分野からの、複数の構成要素から成る複雑なシステムの分析およびモデリングを伴う。ＣＡＥソリューションでは、製造する製品のシミュレーション、ひいては最適化、向上および検証が可能となる。かかるＣＡＥソリューションはダッソー・システムズによりＤＹＭＯＬＡ（登録商標）という商標で提供される。
【００３２】
ＰＤＭは、Ｐｒｏｄｕｃｔ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ（製品データ管理）の略である。ＰＤＭソリューションによって、特別な製品に関する全てのタイプのデータを管理するために適合された任意のソリューション、ソフトウェア、またはハードウェア、が表される。ＰＤＭソリューションは、製品のライフサイクルに係る全ての当事者、第一には技術者であるが、プロジェクトマネージャ、財務担当者、販売員、およびバイヤー、により使用されてもよい。ＰＤＭソリューションは、一般に製品志向のデータベースに基づく。これにより、ユーザは、自らの製品に関する一貫したデータを共有することができ、よって、当事者が相違したデータを使用してしまうことを防ぐ。かかるＰＤＭソリューションは、ダッソー・システムズによりＥＮＯＶＩＡ（登録商標）という商標で提供される。
【００３３】
図３は、システムのＧＵＩの一例を示し、ここではシステムはＣＡＤシステムである。
【００３４】
ＧＵＩ２１００は、典型的なＣＡＤのようなインターフェースであってもよく、標準メニューバー２１１０、２１２０、底部と側部にはツールバー２１４０、２１５０、を有する。かかるメニューバーおよびツールバーには、ユーザ選択可能アイコンのセットが含まれ、各アイコンは、従来技術において既知であるように、１つまたは複数の操作または関数と関連付けられている。これらのアイコンのうちのいくつかが、ソフトウェアツールと関連付けられ、ＧＵＩ２１００内に表示される３Ｄモデル化オブジェクト２０００上でのエディットおよび／または作業のために適合され、表示される３Ｄモデル化オブジェクト２０００は、例えば、方法を実行した結果である。ソフトウェアツールを、ワークベンチごとにまとめてもよい。各ワークベンチは、ソフトウェアツールのサブセットを備える。特に、ワークベンチのうちの１つはエディションワークベンチであり、モデル化製品２０００の幾何学的特徴のエディットに適している。操作時、設計者は、例えば、オブジェクト２０００の一部を事前に選択し、次に、操作を開始し（例えば、寸法、色などの変更）または、適切なアイコンを選択することにより幾何学的制約をエディットすることができる。例えば、適切なＣＡＤ操作は、画面に表示された３Ｄモデル化オブジェクトの模様のパンチまたは折り畳みのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関するデータ２５００を表示することができる。図２の例では、「特徴ツリー」として表示されるデータ２５００と、その３Ｄ表現２０００とは、ブレーキのキャリパおよびディスクを含むブレーキアセンブリに関連する。ＧＵＩは、種々のタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示し、それぞれ、例えば、オブジェクトの３Ｄ定位を容易にするためのもの、エディットされる製品の操作のシミュレーションをトリガする、または表示される製品２０００の種々の属性をレンダリングするためのものである。カーソル２０６０は、触覚装置によって制御され、ユーザがグラフィックツールと対話できるようにする。
【００３５】
図４は、システムの一例を示し、ここでは、システムはクライアントコンピュータシステム、例えば、ユーザのワークステーションである。
【００３６】
本例のクライアントコンピュータは、内部通信バス１０００に接続される中央処理装置（ＣＰＵ）１０１０、同じくこのバスに接続されるＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）１０７０を備える。クライアントコンピュータには、バスに接続されるビデオＲＡＭ１１００と関連付けられたＧＰＵ（ｇｒａｐｈｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）１１１０がさらに設けられる。ビデオＲＡＭ１１００はまた、フレームバッファとして従来技術において既知である。Ａ大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量メモリ装置へのアクセスを管理する。コンピュータプログラム命令およびデータを有形的に具現化するのに適した大容量メモリ装置には、全ての形式の不揮発性メモリが含まれ、例として含まれるものには、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよび着脱可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１０４０がある。上述のものはいずれも、専用に設計されたＡＳＩＣ（特定用途集積回路）によって補完されてもよく、またはこれに組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータには、カーソル制御装置、キーボードまたは類似のものなどの触覚装置１０９０も含まれる。カーソル制御装置は、クライアントコンピュータにおいて使用されて、ディスプレイ１０８０上の任意の所望の場所に、ユーザがカーソルを選択的に位置決めすることを許可する。加えて、カーソル制御装置により、ユーザは、種々のコマンドを選択すること、および制御信号を入力することができる。カーソル制御装置には、システムへの制御信号入力用の多数の信号生成装置が含まれる。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンが使用されて信号が生成される。あるいは、または加えて、クライアントコンピュータシステムは、センシティブ／タッチパッド、および／または、センシティブ／タッチスクリーンを備えてもよい。
【００３７】
コンピュータプログラムは、コンピュータにより実行可能な命令を備えてもよく、命令は、上記システムに方法を実行させるための手段を備える。プログラムは、システムのメモリを含む、任意のデータ記憶媒体に記録可能である。プログラムは、デジタル電子回路、またはコンピュータハードウェア、コンピュータファームウェア、コンピュータソフトウェア、またはこれらの組み合わせによって実装されてもよい。プログラムは、装置として、例えば、プログラム可能プロセッサによる実行のための、機械可読記憶装置に有形に具現化された製品として、実装されてもよい。方法のステップは、命令のプログラムを実行するプログラム可能プロセッサにより実行されて、入力データに作用すること、および出力を生成することにより、方法の機能を実行することができる。従って、プロセッサは、プログラム可能であってもよく、また、データ記憶システム、少なくとも１つの入力装置、および少なくとも出力装置から、データおよび命令を受信し、ならびに、該装置にデータおよび命令を送信するために連結されてもよい。アプリケーションプログラムは、高レベル手続き型プログラミング言語またはオブジェクト指向のプログラミング言語で実装されてもよく、必要に応じて、アセンブリ言語または機械言語で実装されてもよい。いずれの場合も、その言語は、コンパイラ言語であっても、インタープリタ言語であってもよい。プログラムは、完全インストールプログラムまたは更新プログラムであってもよい。システムにプログラムを適用すると、いずれの場合も、方法を実行するための命令が得られる。
【００３８】
ここで、定義ステップＳ１０について検討する。
【００３９】
ＣＡＤの分野から広く既知であるように、ユーザは、細分割曲面に関連する「ベースメッシュ」と呼ばれるメッシュを、頻繁に定義（すなわち、設計）するかもしれない。これが、方法のＳ１０で行われることである。メッシュとは、頂点（３Ｄ位置）、および頂点を２個ずつ連結するエッジ（例えば、線分）を有する、メッシュのいわゆる面（すなわち、エッジの最少周期）を形成する、任意のグラフ構造を意味する。メッシュは、四辺形メッシュ（主にまたは完全に、エッジが４個の面から成る）および三角形メッシュ（主にまたは完全に、エッジが３個の面から成る）を含む、異なるタイプのうちの１つであってもよい。定義ステップＳ１０は、米国特許第７８９３９３７Ｂ２号に示されるような対称操作による高速再現を含む、任意の方法で実行されてもよい。
【００４０】
ＣＡＤのベースメッシュは、細分割曲面と、対応する所定のメッシュ−曲面間の変換アルゴリズムとに対して関連付けされる。実際に、ベースメッシュは、３Ｄモデル化オブジェクトのジオメトリを定義するデータの下層にあるメッシュである。換言すると、オブジェクトのジオメトリは、メッシュによって表現される。より詳細には、広く既知であるように、ベースメッシュは、細分割アルゴリズムに対して概念的に関連付けされる。上記細分割アルゴリズムに従ってベースメッシュを無限に細分割することで、「細分割曲面」と呼ばれる曲面が得られ、これが、設計された３Ｄモデル化オブジェクトのエンベロープ／境界を表現し、それによって、３Ｄモデル化オブジェクトをモデリングする。そのため、ベースメッシュが細分割曲面を「制御する」と言われる。細分割アルゴリズムは、任意の既知の細分割アルゴリズムであってもよく、四辺形メッシュの場合にはＣａｔｍｕｌｌ−Ｃｌａｒｋ細分割アルゴリズム、または、三角形メッシュの場合にはＬｏｏｐ細分割アルゴリズムなどがある。
【００４１】
広く既知であるように、実用性の目的で、細分割曲面は実際にはシステムによって判定されるのではない。代わりに、システムは、その近似を、パラメータパッチのセット、典型的にはＮＵＲＢＳ（例えば、Ｂeｚｉｅｒ）曲面パッチのセット、の形で判定する。例えば、システムは、メッシュを、細分割曲面を近似するパラメータパッチのセットに変換させるスキームを実行するためのプログラムを格納する。この意味で、該スキームは下層の細分割アルゴリズムに相当する。方法の文脈において、このことは全て、方法が、細分割曲面技術をサポートするシステム上で稼働されるということを意味し、該技術は、所定の細分割スキーム（例えば、四辺形メッシュ用のＣａｔｍｕｌｌ−Ｃｌａｒｋ、または、三角形メッシュ用のＬｏｏｐ）に従って、例えば、ＣＡＤにおいては既知の、曲面の表示／エディット／シミュレーションまたは任意の他の処理のための、所定の変換アルゴリズムに基づき、ユーザが、ベースメッシュを定義し（Ｓ１０など）、実際かつ理論上の細分割曲面を近似する曲面を自動的に出力／計算／判定する、ように特に構成／適合される。「近似」によって、理論上の細分割曲面と、メッシュ−曲面間の変換アルゴリズムの出力との間の定義されたスカラボリューム（正のスカラ関数の積分）が、細分割曲面を包絡する最少の平行六面体境界ボックスの体積の１０％または５％未満であることが表される。
【００４２】
本方法の場合、システムに対して予め定められた変換アルゴリズムはメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムであり、これは、ベースメッシュが、ベースメッシュ（後述にて拡張して例示する一例においては、ベースメッシュは四辺形メッシュであり、細分割スキームはＣａｔｍｕｌｌ−Ｃｌａｒｋ細分割スキームである）に対して関連付けられた細分割曲面を近似する、ＮＵＲＢＳの基本曲面／パッチのセットで変形される、ということを意味する。所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムは、「近似演算子」と呼ばれることがあり、ＰＣＣＭ（・）で表されてもよい。ベースメッシュＢ0の変換／変形を、以下ではＳ0＝ＰＣＣＭ（Ｂ0）と表す。一例において、演算子ＰＣＣＭ（・）は、本明細書に参照として組み込まれる米国特許第７５９５７９９Ｂ２号明細書（欧州特許第ＥＰ１７５０２２９Ｂ１号に対応）および米国特許第７４００３２３Ｂ２号明細書（米国特許第７５９５７９９Ｂ２号は、ＮＵＲＢＳパッチをどのように生成するかについて記載し、米国特許第７４００３２３Ｂ２号は、パッチ間の幾何学的接続の品質をどのように向上させるのかについて記載する）に記載されるメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムであり、該構成においては、少なくともＣ0が達成される特異頂点の近傍を除く、あらゆる場所（すなわち、ＮＵＲＢＳパッチの全ての対の間）にＣ2の連続性が達成される。しかし、所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムは、少なくともＣ０である特異頂点の近傍を除く互いの間のＣ２の連続性を有する、トリムされないパッチを産出する任意の他の既知の演算子であってもよい（Ｃａｔｍｕｌｌ−Ｃｌａｒｋ細分割の収束特性、Ｒｅｃｕｒｓｉｖｅｌｙ  ｇｅｎｅｒａｔｅｄ  Ｂ−ｓｐｌｉｎｅ  ｓｕｒｆａｃｅｓ  ｏｎ  ａｒｂｉｔｒａｒｙ  ｔｏｐｏｌｏｇｉｃａｌ  ｍｅｓｈｅｓ、Ｅ．Ｃａｔｍｕｌｌ、Ｊ．Ｃｌａｒｋ、Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  Ｖｏｌｕｍｅ  １０、Ｉｓｓｕｅ  ６、Ｎｏｖｅｍｂｅｒ  １９７８、Ｐａｇｅｓ３５０-３５５参照）。完全を期して記すと、周知のように、かかる演算子は、均質メッシュを持つための目的で、初期回数の細分割を行い（通常は２回）、次に、操作の複雑度が、入力されるメッシュの面の個数に増加的に依存するという、解法の方程式に従ってＮＵＲＢＳパッチを作成する。それにより、少なくとも、多重解像度設定が、第２または第３のレベルの細分割を超えた情報を追加することにある場合は、かかる演算子は、多重解像度メッシュ（所定の細分割スキームを修正して−局所の詳細を追加する−ための局所的情報を用いたメッシュ）とは合致しない。
【００４３】
なお、以下の２つの条件が満たされる場合、頂点が正規であると言える（対照的に、他の頂点が特異であると言える）。
・頂点が、メッシュの自由境界線上には無く、４個の鋭くないエッジで囲まれる（従って、４面で囲まれる）。
・頂点が、メッシュの自由境界線上にあり、２個の自由エッジおよび１個の非自由の鋭くないエッジで囲まれる（従って、２面で囲まれる）。
【００４４】
この定義はまた、とりわけ、米国特許第７５９５７９９Ｂ２号（欧州特許第１７５０２２９Ｂ１号に対応）および米国特許第７４００３２３Ｂ２号においても、見られる。正規の頂点は、Ｃａｔｍｕｌｌ−Ｃｌａｒｋ細分割理論における最良の曲面品質を確保する。
【００４５】
周知のように、本来、ＮＵＲＢＳ曲面は、いわゆる「制御点」の（２Ｄ）グリッドにより定義され、通常のトポロジ的な定義「グリッド」、例えば数行（少なくとも２行）および数列（少なくとも２列）のグリッド、を用いて定義される。方法を通して、コンピュータシステムが、Ｓ２０を判定し、ＮＵＲＢＳ曲面に属する曲面の点のグリッドであって、所定の可逆関数に従う制御点のグリッドに対応するグリッド、を判定する。曲面の点は、幾何学的に曲面上にあり／曲面に属する、点である。ＮＵＲＢＳの場合、曲面の真っ直ぐなグリッドは、本例のグレヴィル点（Ｇｒeｖｉｌｌｅ  ｐｏｉｎｔ）のグリッドである。ＮＵＲＢＳの曲面のグレヴィル点と制御点（概して、曲面自体の外側にある）との間の１対１の対応を可能にする所定の可逆関数は、ＮＵＲＢＳジオメトリを記述する広く既知の数学から、予め定められ、与えられる。しかし、完全を期して、これらの数学について以下で詳述する。なお、判定ステップＳ２０は、任意のやり方で、例えば、曲面とその制御点とが修正される度に、グレヴィル点をリアルタイムで再計算するバックグラウンドの処理として、実行されてもよい。
【００４６】
ＮＵＲＢＳ曲面は、ＣＡＤにおいては広く既知の、３Ｄ空間の値を用いて２Ｄ空間に定義される、曲面である：Ｓ（ｕ，ｖ）→（ｘ，ｙ，ｚ）。ＮＵＲＢＳ曲面は、２個の節点ベクトル（ｋｎｏｔ  ｖｅｃｔｏｒ）と、制御点の二次元配列と、場合によっては使用するＣＡＤソフトウェアによって決まる他のデータと、により表現される。典型的には、節点ベクトルは、浮動小数点値の１Ｄ配列である。制御点の配列は、インデックス化されてもよい。各制御点は、ｘ、ｙ、ｚ座標の３Ｄ点である。配列内の場所は、２個のインデックスｉおよびｊで定義され、０≦ｉ＜Ｍかつ０≦ｊ＜Ｎである。グレヴィルパラメータとして既知のパラメータのセットは、節点ベクトルから計算できるため、インデックスｉまたはｊの各値を、グレヴィルパラメータ（ｕi，ｖi）と関連付けることができる。従来、グレヴィルパラメータは、固定個数の節点ベクトルの連続的な値の平均値のうちの２個の組のである「次数」と呼ばれるこの固定個数は、節点ベクトルの大きさ（ｕまたはｖ）ごとに異なってもよい。概して、２個１組の次数はＮＵＲＢＳ曲面を表現するデータに属する。さらに詳細には、文献「Ｃｕｒｖｅｓ  ａｎｄ  ｓｕｒｆａｃｅｓ  ｆｏｒ  Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｇｅｏｍｅｔｒｉｃ  Ｄｅｓｉｇｎ」、編集Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ、（２００１）Ｇｅｒａｌｄ  Ｆａｒｉｎ、にＮＵＲＢＳ曲面の基本が記載される。
【００４７】
旧来、ＮＵＲＢＳ曲面は以下の入力により定義される。
【００４８】
１．（ｎ＋１）（ｍ＋１）個の制御点Ｐijのグリッド
【００４９】
【数１】
0006773419.tif 000002
【００５０】
、ただしｉ∈｛０，．．．，ｎ｝かつｊ∈（０，．．．，ｍ｝。
【００５１】
２．「次数」と呼ばれる２個の正の整数ｐ，ｑ、理由については後述する。
【００５２】
３．実数の第１の順序付きリストｕ0≦．．．≦ｕi≦ｕi+1≦．．．≦ｕp+n+1、「ｕ節点ベクトル」と呼ばれ、最初のｐ＋１個の値ｕiが等しく、最後のｐ＋１個の値ｕiが等しい。
【００５３】
４．実数の第２の順序付きリストｖ0≦．．．≦ｖj≦ｖj+1≦．．．≦ｕq+m+1、「ｖ節点ベクトル」と呼ばれ、最初のｐ＋１個の値ｖjが等しく、最後のｐ＋１個の値ｖjが等しい。
【００５４】
５．（ｎ＋１）（ｍ＋１）個の重みωijのグリッド＞０、ただしｉ∈｛０，．．．，ｎ｝かつｊ∈｛０，．．．，ｍ｝。
【００５５】
これらの入力により、２つのＢ−スプライン基底が定義され、それぞれ以下のように表される。
【００５６】
【数２】
0006773419.tif 000003
【００５７】
、ただしｉ∈｛０，．．．，ｎ｝、および
【００５８】
【数３】
0006773419.tif 000004
【００５９】
、ただしｊ∈｛０，．．．，ｍ｝。基底Ｂ−スプライン関数ＮＰipおよびＮＰipは、それぞれ次数ｐおよびｑの区分的多項式である。それらの詳細な定義は本発明では有用ではない。
【００６０】
【数４】
0006773419.tif 000005
【００６１】
が、以下の有理パラメタリゼーションにより定義される。
【００６２】
【数５】
0006773419.tif 000006
【００６３】
同様に、
【００６４】
【数６】
0006773419.tif 000007
【００６５】
が、以下の公式に関与する、次数ｐ、ｎ＋１個の制御点Ｐiおよび重みωiのリスト、により定義される。
【００６６】
【数７】
0006773419.tif 000008
【００６７】
実際には、数学的観点から、ＮＵＲＢＳ曲面は、２本のＮＵＲＢＳ曲線のテンソル積である。明確にするために、方法を、主として（以下の図面では）ＮＵＲＢＳ曲線ではなくＮＵＲＢＳ曲面を用いて説明する。
【００６８】
ここで、グレヴィル点について簡単に検討する。
【００６９】
グレヴィル横座標は、（ｕ，ｖ）パラメータの特定の値であり、（ｕk*，ｖl*）で表され、ただし、ｋ∈｛０，．．．，ｎ｝かつｌ∈｛０，．．．，ｍ｝である。これらは、以下の公式により一意的に定義される。
【００７０】
【数８】
0006773419.tif 000009
【００７１】
図５は、ｎ＋１＝６個の制御点Ｐiおよびグレヴィル点Ｇiを用いたＮＵＲＢＳ曲線を説明する図である。
【００７２】
なお、所定の変換アルゴリズムは、ＮＵＲＢＳ構造を局所的に修正または削除する改良（例えば、隠れた処理）を（場合によっては、ベースメッシュの局所的な特異性、またはベースメッシュに加えられた仕様に従って）、備えてもよい。これには、例えば、米国特許第７９５２５７５Ｂ２号に記載の部分的なスムージング、または、米国特許出願第２０１３２９３５４１Ａ１号に記載のキャラクタラインの定義、が含まれる。それでもなお、曲面は、結局は（その面積のうちの１００％ではなくとも、少なくとも９０％について）ＮＵＲＢＳを基礎とする。なお、方法では本方法自体が、かかる改良を形成する。また、かかる改良と当該方法に関与する局所変更仕様との間の同時作用は、いかなるやり方で取り扱われてもよく、実施の詳細の１つに過ぎない。また、方法の実施はいかなるやり方で実行されてもよく、改良間の順番および全処理の順序は、関係ない。このことは、Ｓ３０で判定されるＮＵＲＢＳ曲面が、所与の処理を実行することに「対応する」と言えるという事実により包含される。Ｓ３０で判定されるＮＵＲＢＳは、従って、そのようなさらなる改良処理を受けさせてもよく、また、なおも、Ｓ３０で行う主となる処理に対応するものとすることができる。しかし、一例において、ベースメッシュには、追加の仕様（Ｓ２０のそれではなく）が与えられず、すなわち、ベースメッシュは「未加工（ｒａｗ）」である。別の例において、同時作用の改良が、曲面全体に、その面積の１０％未満、または、その面積の５％未満程度について影響を与えるため、Ｓ３０で判定された結果と、説明した処理との間で、補完領域に関して、完全な一致が存在する。
【００７３】
定義ステップＳ１０は、ユーザにより実行される。この結果、曲面の記述と点の個数との間の良好なトレードオフが達成されたベースメッシュが得られる。これは、単なる細分割とは異なる。Ｓ１０で定義されるベースメッシュは、別のメッシュの単なる細分割から（例えば、関連する細分割スキームに従って）生じたメッシュとは異なることがある。かかる細分割が、設計プロセス時にユーザによりなされた場合、細分割の結果得られる少なくとも１個の頂点は、手動で移動させてもよい（すなわち、位置を直接-例えば、グラフィック的に、ユーザが指定するドラッグアンドドロップによって）。全体として、ゼロから始めて、定義ステップＳ１０が備える細分割の数は、５に届かない、または２に届かない。かかる細分割により、詳細の定義、ひいては複雑な設計が可能とされるが、ベースメッシュは、ユーザにより設計されるメッシュであるため、複雑過ぎることはなく（相対的に言って）、また、上記で説明したカテゴリの変換アルゴリズムとの変換が比較的早く、妥当な個数のＮＵＲＢＳ制御点を導く。例えば、３Ｄモデル化オブジェクトの全長Ｌ（例えば、３Ｄモデル化オブジェクトを囲む最少の平行六面体境界ボックスの最大の長さ）を考えると、Ｓ１０でユーザによって定義されたベースメッシュのエッジの平均−３Ｄモデル化オブジェクトを表現するための−は、Ｌの１％ｏｆ、Ｌの５％、または、せいぜいＬの１０％より大きいかもしれない。これらの特徴は、方法の最後で保持され、ユーザの意図が確保される。
【００７４】
ここで、定義ステップＳ２０について検討する。
【００７５】
再度、この定義ステップＳ２０がユーザにより実行される。この時点でユーザにより入力されるデータは、３Ｄモデル化オブジェクトの追加の仕様としてモデル内に保持されてもよく、従って、これはベースメッシュ（細分割アルゴリズム／曲面と、上記のようにＰＣＣＭ（）で表される所定の演算子とに対して関連付けられ、これらはシステムに対して予め定められる）により、および、２Ｄ画像と、２Ｄ画像を細分割曲面上にエングレーブするための場所とにより、少なくとも定義される。定義ステップＳ２０は、よって、特徴ベースのＣＡＤシステムにおける特徴の設定、および／または、履歴設計操作，すなわち、履歴ベースのＣＡＤシステムの履歴ツリー内のノード、の設定に対応し、このようなシステムそれ自体は既知ものである。２Ｄ画像は任意のタイプの画像である。写真（例えば、ＲＧＢまたはグレースケール）、または、ユーザ−同一のユーザまたは別のユーザ−により描かれた２Ｄピクチャ（例えば、同じくＲＧＢまたはグレースケール）であってもよい。典型的には、２Ｄは、最終的に設計されるおよび／または製造するオブジェクト上にエングレーブされる、例えばロゴなどの、局所の詳細を表現する。方法が目指すものは、「エングレービング」設計操作を行うことであり、これは、判定ステップＳ３０の結果によりそれ自体は定義され、２Ｄビューに含まれる設計の実世界のエングレービングを細分割曲面上に視覚的に表現する（判定ステップＳ３０で出力される曲面を表示するときに）。しかし、これはシステム内部のことであり、Ｓ３０を実施するべく予め定められている（例えば、ユーザによる要求／ユーザによるトリガの際）。ユーザは、２Ｄ画像を貼り付けるべき場所を指定するだけである。ユーザは、かかる場所を任意のやり方で細分割曲面上に指定することができ、例えば、２Ｄ画像と細分割曲面との間の単なる同一構造リンクを介して行ってもよい。
【００７６】
例えば、ベースメッシュは細分割曲面と関連付けられており、かつ、システムはその近似を計算するべく構成されており（演算子ＰＣＣＭ（）により）、方法は、上記の細分割曲面（の近似）を表示するステップを含んでもよい。ユーザは次に、場所をグラフィック的に定義する。例えば、ユーザは、２Ｄ画像の３Ｄ表現を、細分割曲面上の（隣接して）いかなる場所にも位置決めすることができ（ベースメッシュは３Ｄであり、２Ｄ画像を、３Ｄベースメッシュを含む３Ｄワークスペース内に移動させてもよい）、２Ｄ画像のサイズは、自由自在に潜在的に増大または縮小させることができ、システムは、所定の投影（曲面上への２Ｄ画像の投影、または、２Ｄ画像上への曲面の投影）を行うことができる。ユーザは、２Ｄ画像の向きを指定することもできる。ユーザは、投影を指定することもできる。かかる位置決め（これは、細分割曲面の表現に対して２Ｄ画像を投影／突き刺し／貼り付けを行うということになる）を実行する、いずれのユーザフレンドリなグラフィカルなやり方も、方法によって実施することができる。
【００７７】
Ｓ２０でユーザにより与えられる場所は、いかなる場合でも、システムにより細分割曲面上の場所として解釈され、従って、ベースメッシュまたはＮＵＲＢＳパッチの下層の面に衝突する。システムは、ベースメッシュおよび／またはＮＵＲＢＳパッチの面を、その場所に対して関連付けることができる。実際、所定の変換アルゴリズムでは、ベースメッシュの面を、結果として得られるＮＵＲＢＳパッチに対して関連付ける。従って、ユーザが３Ｄ画像を細分割曲面上に配置する際、ユーザは実際にはそれをＮＵＲＢＳパッチのサブセット上に、そして、ベースメッシュの面の対応するサブセット上に、配置する。この関連付け／衝突の修復はいかなるやり方で実施されてもよい。方法は、全体的な形状を確保しつつ、細部を細分割曲面に追加するためのものであってもよい。まず、曲面のトポロジが確保される。また、最初の細分割曲面の７５％以上（すなわち、ベースメッシュを単に変換した結果）、または９０％以上は、未修正のままであってもよく、２Ｄ画像のサイズ（例えば、見込まれる拡張の後の）はそれに適合される。
【００７８】
ここで、判定ステップＳ３０について検討する。
【００７９】
方法では、所定のメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズム（すなわち、ＰＣＣＭ（）演算子）により出力される局面とは異なる、ＮＵＲＢＳ曲面を判定し、これは、「未加工（ｒａｗ）結果」または「未加工（ｒａｗ）ＮＵＲＢＳ／曲面」と呼ぶことができる。Ｓ３０で判定されたＮＵＲＢＳは、実際は、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをベースメッシュに対して実行した結果に、変形写像を適用することに対応するステップである（必ずしも行うとは限らない）。従って、変形写像により（少なくとも概念的に）、「未加工結果」を修正し、曲面を２Ｄ画像を用いてエングレーブする。そのために、変形写像には、定義により、上記の未加工結果の位置について与えられる変位ベクトルと、あらゆる位置ではなく、２Ｄ画像をエングレーブするための場所に対応する位置と、が含まれる。また、変位ベクトルは、対応する２Ｄ画像の画素値に基づき正確に計算されるため、実際には、細分割曲面上にエングレーブされる２Ｄ画像である。なお、変位ベクトルはヌル（すなわち、変位無し）であってもよい。事実、適切な場合には（特に、エングレービングに関係しない場所において）変位ベクトルがヌルである限り、変形写像は、２Ｄ画像をエングレーブするための場所より広い領域（ドメイン）、例えば全曲面、について定義されてもよい。これは、単なる実施の事項である。要するに、変形写像は、細分割曲面の位置（ひいては、下層にあるＮＵＲＢＳパッチの位置、例えばその制御点など、および／または、ベースメッシュの面の位置）の３Ｄ運動を指定する機能であり、方法は、上記の位置と２Ｄ画像の画素との間の（例えば、保持される画素が所与の基準に依存する）所定の関連付け（またはその計算、すなわち、値が予め定められるか、またはその計算のやり方が予め定められ、かつ、いずれのさらなるユーザ入力にも依存しない）を実施し、かつ、方法は、関連付けられた画素に基づく、３Ｄ運動の値の所定の計算をさらに実施する。なお、３Ｄ運動の方向（またはその計算、すなわち、値が予め定められるか、またはその計算のやり方が予め定められ、かつ、２Ｄ画像または任意のさらなるユーザ入力は依存しないが、例えば、ベースメッシュだけには依存する）は、予め定められてもよい。
【００８０】
変位ベクトルは、エングレーブする特徴を形成する機能を用いた２Ｄ画像に基づく限り、任意のやり方で計算される。画像の画素値は、細分割曲面の位置に写像され（定義するステップＳ２０により）、ひいては、考慮されるＮＵＲＢＳ曲面の位置に写像される。一例において、方法により意図される画素値は、画素のグレースケール値である。換言すると、２Ｄ画像の画素に対して関連付けられるグレースケール値が、判定されて、変位ベクトルの計算に使用される。２Ｄ画像は、グレースケールで与えられてもよく、その場合、グレースケール値を、そのまま画素の値とすることができる。２Ｄ画像はまた、ＲＧＢで与えられてもよく、その場合、方法では、任意の所定のＲＧＢ−グレースケール変換アルゴリズムを使用してもよい。双方の場合とも、方法は、任意のさらなる処理を保持される画素に対して実施することができる。
【００８１】
一例において、変位ベクトルの振幅（または大きさ）は、対応するグレースケール値に増加的に依存する。換言すると、保持される画素値の（グレースケール）値が高いほど、方法が、未加工曲面（の振幅）をより修正する。任意の増加関数が実施されてもよい。一例において、関数は、単に指数関数である（画素の値が所定の閾値を上回る場合は変位があり、それ以外は変位が無く、場合によっては、粗悪な遷移を防ぐために、「正の変位」値と「変位無し」の値との間が平滑化される）。別の例において、関数は、線形関数などの、より改良された関数である。
【００８２】
また、ユーザはさらに、所定のバイナリリストから、エングレーブする方向を選択することができる。典型的には、ユーザは、先に説明したように、２Ｄ画像を曲面上に手動で投影／貼り付けし、そして次に、ユーザは、変位を投影の方向（すなわち、ユーザから曲面に向かう）にするのか、または、逆方向（すなわち、曲面からユーザに向う）にするのか、を選択することができる。あるいは、エングレーブする方向は、上記で説明したように予め定められていてもよい。これらは全て、システムの使い勝手の良さを高める、設定可能な特徴である。
【００８３】
ここで、方法の特定の例について、図６から１９を参照して検討する。
【００８４】
図６のフローチャートに示すように、本例において、方法はＳ３０の実行を、実際は、Ｓ３２にて変位ベクトル（および変形写像も）を計算すること、および、平行してＳ３４にてメッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムを、Ｂ0で表されるベースメッシュに対して実行することにより行い、次に本例の方法では、実際は、Ｓ３６にて、変形写像
【００８５】
【数９】
0006773419.tif 000010
【００８６】
をＳ３４の結果（Ｓ0＝ＰＣＣＭ（Ｂ0）で表される）に適用する。
【００８７】
特に、計算ステップＳ３２には、まず、２Ｄ画像をエングレーブするための場所に対応する第１の３Ｄメッシュ（Ｂ4＝Ｒn（Ｂ1））を、Ｂ0から判定するステップＳ３２０が含まれる。Ｂ4で表される第１の３Ｄメッシュは、Ｓ２０でのユーザの仕様に従って２Ｄ画像がエングレーブされるＢ0の一部に対応する。これは、定義ステップＳ２０により衝突を受けるＢ0の全ての面（Ｓ２０にて定義される場所に関連する近傍であって、任意の所定のやり方で判定されてもよい）に相当し得、その細分割であってもよい。なお、衝突を受けない面の細長い片が、選択的に保持されてもよい。
【００８８】
計算ステップＳ３２には、次に、Ｂ4の頂点を、２Ｄ画像の対応する画素値に基づき、Ｂ4に対して垂直の方向に変位させることにより、第２の３Ｄメッシュ（Ｂ5（ｉ）＝Ｂ4（ｉ）＋ｄiＮ（ｉ））を、Ｂ4から判定するステップＳ３２２が含まれる。換言すると、方法は、エングレービングにより衝突を受けたベースメッシュの一部を考慮し、その位置を、エングレーブする画像の画素値に従って変位させる。変位の方向は、頂点におけるメッシュの法線方向として、所定のやり方で計算される（任意の法線方向の計算が実施されてもよい）。これは、上記の説明に従って行われてもよく、例えば、画素のグレースケール値により、変位の振幅が線形的／比例的／増加的に判定される（方向は法線方向であり、向きについてはユーザに向かう向きかまたは逆方向であるかが、ユーザ選択可能または予め定められている）。
【００８９】
ここで、計算ステップＳ３２には、Ｓ３４の結果得られる位置に関して、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをＢ5に対して実行した結果（Ｓ5＝ＰＣＣＭ（Ｂ5））の対応する制御点（Ｃi,j（Ｓ5））と、メッシュ−ＮＵＲＢＳ曲面間の変換アルゴリズムをＢ4に対して実行した結果（Ｓ4＝ＰＣＣＭ（Ｂ4））の対応する制御点（Ｃi,j（Ｓ4））と、の間の３Ｄ位置の差に等しい変位ベクトル（Δ（ｉ，ｊ）＝Ｃi,j（Ｓ5）−Ｃi,j（Ｓ4））を計算するステップＳ３２４が含まれてもよい。ここで、Ｓ４およびＳ５は、実行を速く行うために計算されてもよい。しかし、任意の他の計算の実施が考慮されてもよい。
【００９０】
図６に基づく特定の例は、ここで実行される特定の計算により、特に効率的に行われる。さらに、本例では、ＰＣＣＭＯ（）により出力される必要な連続性が、確実に保存される（少なくともＣ0が達成される特異頂点の近傍を除く、あらゆる場所にＣ2の連続性が確保される）。実際、本例によって実施される特定の代数計算により、本保存が、ＰＣＣＭ演算子の特徴との関連で、確保される。
【００９１】
全体的なコンテキストを想起させる図７に示すように、入力データは、細分割曲面のベースメッシュと、二次元画像である。この目的は、２Ｄ画像の詳細を、ベースメッシュにより定義される曲面上にエングレーブすることである。エングレービングの結果、局所的な変形が得られる。２Ｄ画像は、画像の詳細を曲面上のどこに配置するのかを定義するために、曲面に対して位置決めされる。出力データは、エングレーブされた画像を特徴づけるＮＵＲＢＳ曲面である。エングレーブされた詳細部の外側では、最初の曲面の全体的な形状は無変更である。
【００９２】
プロセスは以下の通りである。
【００９３】
１．最初のベースメッシュＢ0を使用することにより、入力された細分割曲面をＮＵＲＢＳ曲面Ｓ0に変換する。
【００９４】
２．最初のベースメッシュＢ0および２Ｄ画像を使用することにより、ベースメッシュの計算を実行する。これにより、ＮＵＲＢＳ曲面Ｓ4およびＳ5が与えられる。曲面Ｓ4は、局所的に無変更の形状であり、曲面Ｓ5は、局所的にエングレーブされた形状である。
【００９５】
３．ＮＵＲＢＳ曲面Ｓ4およびＳ5から、制御点の偏差を計算する。
【００９６】
４．これら制御点の偏差をＮＵＲＢＳ曲面Ｓ0に適用することにより、２Ｄ画像の詳細をエングレーブする。これにより、結果としてＮＵＲＢＳ曲面Ｓ1が与えられる。
【００９７】
明らかに、方法では、両世界（細分割曲面設計およびＮＵＲＢＳ設計）の最良の部分が確保され、これは、画像の詳細を、エングレーブされる領域の外側の形状を変更することなく、細分割曲面上にエングレーブすることができるということである。このことにより、設計が正確にとらえられる。
【００９８】
本例の全プロセスは完全に自動であり、「エングレーブする」特徴として、履歴ベースのＣＡＤシステムのデータ構造内に格納することができる。入力は、細分割曲面および画像であり、出力はエングレーブされたＮＵＲＢＳ曲面である。エングレーブ操作が実行された後、細分割曲面をエディットすることができ、または、画像の定義を同じく変更することができる。結果として得られた曲面の修正済みバージョンは、エングレーブする特徴を再生することにより取得される。これにより、簡単かつ速い設計の変更が可能となる。
【００９９】
結果として得られる曲面がＮＵＲＢＳ曲面であるにもかかわらず、ユーザの観点からは、その機能性は細分割曲面の機能性である。何故なら、エディットが、入力された細分割曲面に対して実行されるからである。結果として得られる曲面のＮＵＲＢＳ的側面は、エディット能力を制約しない結果を取り扱うやり方である。
【０１００】
ここで、本例について、さらなる実施の詳細を用いて検討する。
【０１０１】
入力データおよび演算子の詳細は以下の通りである。ベースメッシュＢ0によって定義される細分割曲面は、ＮＵＲＢＳ曲面Ｓ0により近似される。図８は、花瓶を表現する３Ｄモデル化オブジェクトのベースメッシュＢ0を説明する図である。図９は、ＮＵＲＢＳ曲面Ｓ0（最終ユーザ、例えば顧客、に対して表示されるものである）を説明する図である。
【０１０２】
画像を含む平面をＰで表し、その仕様が、方法により連続的に判定（例えば、更新）される。該平面は、点Ｘ０と、２本の直交する法線ベクトルＵ、Ｖにより定義される。平面内の任意の点を、Ｘ0＋ｕＵ＋ｖＶと表すことができ、ただし
【０１０３】
【数１０】
0006773419.tif 000011
【０１０４】
である。
平面Ｐの位置が、画像を曲面Ｓ0上のどこにエングレーブするのかを定義する。変形写像
【０１０５】
【数１１】
0006773419.tif 000012
【０１０６】
が、平面ＰのＵ、Ｖベクトルに従って定義される。各画像の点に関連付けられたグレーレベルが取得され、ｄ（ｕ，ｖ）＝０は、点（ｕ，ｖ）には画像の詳細が無いことを意味する。画像は、矩形Ｉ＝［ｕmin，ｕmax］×［ｖmin，ｖmax］内に含まれ、この矩形の外側ではｄ（ｕ，ｖ）＝０である。図１０は、平面Ｐ上の矩形Ｉと、曲面Ｓ0に対するその位置決めを説明する図である。関数ｄは増加関数であってもよく、これは、当業者にとっては実施の詳細である。
【０１０７】
本例の方法では、
【０１０８】
【数１２】
0006773419.tif 000013
【０１０９】
により定義される３Ｄ空間から平面Ｐへの平坦化操作を実施する。写像Ｑが線形であるか否かは関係ない。３Ｄ空間から平面Ｐへの正射影は、
【０１１０】
【数１３】
0006773419.tif 000014
【０１１１】
、
すなわち、
【０１１２】
【数１４】
0006773419.tif 000015
【０１１３】
により定義される。
【０１１４】
メッシュＭiをより上質なメッシュＭi+1に改良するメッシュ改良を、Ｒで表すと、Ｍi+1＝Ｒ（Ｍi）となる。典型的には、演算子Ｒは、Ｃａｔｍｕｌｌ−Ｃｌａｒｋ細分割ステップである。ＮＵＲＢＳ曲面Ｓの制御点Ｐｉ，ｊを、Ｐｉ，ｊ＝Ｃｉ，ｊ（Ｓ）で表す。
【０１１５】
ここで、ベースメッシュ計算の主な段階について検討する。図１１の図は、全プロセスを説明する図であり、図７の図の「ベースメッシュ計算」ブロックの詳細を形成する。
【０１１６】
最初のステップは、画像がエングレーブされるＢ0の面を識別することである。図１２で説明されるように、Ｂ1を、Ｂ0から抽出されたベースメッシュとする。
【０１１７】
このメッシュは、Ｂ2＝Ｑ（Ｂ1）演算を介して平面Ｐ内に平坦化され、図１３で説明されるように、同一のトポロジを特徴とする平坦メッシュＢ2が与えられる。
【０１１８】
ここで、第１の３Ｄメッシュ（Ｂ4）を判定するステップＳ３２０には、２Ｄ画像をエングレーブするための場所に対応するベースメッシュのサブメッシュＢ1を抽出するステップが含まれるだけでなく、次に、先に説明したように、サブメッシュＢ1を所定回数のｎ回細分割するステップが含まれてもよい。これにより、２Ｄ画像の詳細に対する適合、および、さらに改良されたエングレービングが可能となる。
【０１１９】
所定回数ｎは、ユーザにより（対話的に）定義されてもよい。しかし、２Ｄ画像の詳細のレベルに対して関連付けられた所定の基準に増加的に依存するものとしてもよい。後者の場合、ｎの判定は、所定の基準を評価することにより完全に自動的に行うことができる。
【０１２０】
かかる自動的動作の一例を、以下に示す。
【０１２１】
メッシュＢ2は、メッシュサイズが画像の詳細と合致するまで細分割される。これにより、図１４で説明するように、メッシュＢ3＝Ｒn（Ｂ2）が与えられ、ここで、整数ｎは細分割の数である。次に、図１５で説明するように、同一の細分割プロセスＢ3＝Ｒn（Ｂ2）が非平面ベースメッシュＢ1に適用され、すなわち、Ｂ4＝Ｒn（Ｂ1）。メッシュＢ4およびＢ3は、同じトポロジを有する。メッシュＢ3は平面であり、メッシュＢ4は非平面である。
【０１２２】
細分割レベルｎは、特にその非ヌル変形領域において、入力画像を表現するための十分な個数の細分割点を確保することにより見積もられる。
【０１２３】
−Ｂ2から、２個の近傍細分割点の間の平均長を見積もることは簡単である。
【０１２４】
−入力画像から、浸食様のアルゴリズムにより、画像空間内の非ヌル変形領域全体の平均厚さを計算することができる（Ｔｈｅ  Ｓｃｉｅｎｔｉｓｔ  ａｎｄ  Ｅｎｇｉｎｅｅｒ’ｓ  Ｇｕｉｄｅ  ｔｏ  Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ，Ｓｔｅｖｅｎ  Ｗ．Ｓｍｉｔｈ参照）。
【０１２５】
そして、ｎは、比率
【０１２６】
【数１５】
0006773419.tif 000016
【０１２７】
が１より大きくなるように（例えば、これを確保する最少整数値として）、最初に選択されてもよい。この基準は、ユーザにとって良好な指標となる。
【０１２８】
各整数ｉについて、Ｘi＝（ｘi，ｙi，ｚi）を、平面メッシュＢ3のｉ番目の点Ｂ3（ｉ）の３Ｄ座標とする。平面Ｐの局所的な２Ｄ軸システムにおいて、この点の２Ｄ座標は（ｕｉ，ｖｉ）であり、ただし、ｕi＝（Ｘi−Ｘ0，Ｕ）Ｕかつｖi＝（Ｘi−Ｘ0，Ｖ）Ｖである。ｄi＝ｄ（ｕi，ｖi）を、平面Ｐの点（ｕi，ｖi）における変形写像値とする。
【０１２９】
ここで、メッシュＢ4が、同一のトポロジを特徴とする別のメッシュＢ5に変更され、以下のように修正される。各整数ｉについて、Ｎ（ｉ）を、Ｂ４（i）の近傍点を使用することにより、メッシュＲn-1（Ｂ1）に対して計算される法線ベクトルとする。ベクトルＮ（ｉ）は、レベルｎ-１で各細分割セル周辺の法線を平均化することにより計算される。そして、メッシュＢ5のｉ番目の点が、Ｂ5（ｉ）＝Ｂ4（ｉ）＋ｄiＮ（ｉ）により定義される。これは、図１６により説明される。
【０１３０】
これまでのところ、全ての計算がメッシュに対して行われる。ここで、情報を制御点の観点で転換する段階となるが、最終的にＮＵＲＢＳ曲面が出力されるからである。Ｓ4を、メッシュＢ4により定義される細分割曲面を近似するＮＵＲＢＳ曲面とし、すなわち、図１７に示すように、Ｓ4＝ＰＣＣＭ（Ｂ4）となる。同様に、Ｓ5を、メッシュＢ5により定義される細分割曲面を近似するＮＵＲＢＳ曲面とし、すなわち、図１８に示すように、Ｓ5＝ＰＣＣＭ（Ｂ5）となる。
【０１３１】
Ｓ5が、結果として得られる曲面の局所的形状ではないことは、理解されるべきである。Ｓ5の境界は、最初の曲面Ｓ0とは一致しない。
【０１３２】
Ｓ0に対する変形を報告するために、新しい関数ΔがＳ4およびＳ5から計算される。
【０１３３】
構造としては、
−Ｓ４からのＮＵＲＢＳパッチ（Ｓ５に相当）が、少なくともＣ0である（ＰＣＣＭ（・）の定義から）特異頂点の近傍を除き、お互いの間でＣ2である。
【０１３４】
−変形領域の各ベースメッシュ面を、２個のＮＵＲＢＳパッチ（１個はＳ4にあり、１個はＳ5にある）に連結することができる。しかし、これら２個のパッチは、概して同一の節点ベクトルを持つのではなく、Δを定義する前は、ベクトルが、節点の挿入または次数の上昇を行うことにより、２個１組のどのパッチについても均質化されていてもよい（「Ｔｈｅ  ＮＵＲＢＳ  Ｂｏｏｋ」、Ｌ．Ｐｉｅｇｌ  ａｎｄ  Ｔ．Ｗａｙｎｅ、Ｓｐｒｉｎｇｅｒ、２ｎｄ  ｅｄｉｔｉｏｎ、２０１３参照）。
【０１３５】
制御点の偏差の写像
【０１３６】
【数１６】
0006773419.tif 000017
【０１３７】
は、Ｓ5およびＳ4の制御点の差Δ（ｉ，ｊ）＝Ｃｉ，ｊ（Ｓ5）−Ｃｉ，ｊ（Ｓ4）により定義される。この変形写像は、変形領域のパッチのサブセット上のＳ0のみに対して適用される。ここで再度、これらのパッチの節点ベクトルは、概してΔのそれとは合致せず、そのため、やはり均質化されなければならない。
【０１３８】
一旦行うと、最初の曲面Ｓ0の変形は、偏差Δ（ｉ，ｊ）を、関与するＮＵＲＢＳ曲面の制御点に適用することによって得られ、これにより、出力曲面Ｓ1が得られる。Ｓ1の幾何学的連続性は、Δを適用することにより保存される。Φが、Δの制御点およびＳ0の均質化された節点ベクトルから計算される形状を表すなら、Φのパッチは、少なくともＣ0である特異頂点の近傍を除き、お互いの間でＣ2である。従って、Ｓ1は、線形結合：Ｓ1＝Ｓ0＋Ｓ5−Ｓ4と表すことができ、Ｓ0、Ｓ4およびＳ5は同一のパラメタリゼーションを持ち（これらのパッチは、同じ節点ベクトルを共有する）、これらはほとんとどの場所でもＣ2であり、従ってＳ1である。説明したように、方法では、適切な上述の均質化（広く既知であるように、かつ、「Ｔｈｅ  ＮＵＲＢＳ  Ｂｏｏｋ」，Ｌ．Ｐｉｅｇｌ  ａｎｄ  Ｔ．Ｗａｙｎｅ、Ｓｐｒｉｎｇｅｒ、２ｎｄ  ｅｄｉｔｉｏｎ、２０１３、に説明されるように）を、必要な場合はどこにでも実施することができる。
【０１３９】
図１９は最終結果を示す。
【０１４０】
図２０から２６は、実際の場合における方法の応用を示す。
【０１４１】
図２０はさまざまなテクスチャを示し、図２１は、かかるテクスチャを、平行六面体の３Ｄモデル化オブジェクト（図２１のモードでは、ユーザに対して表示されない下層にあるベースメッシュによってモデル化され、この場合は非常に単純なものであってよい）の面に、本方法により適用した結果を示す。図から分かるように、方法を使用して、テクスチャを平面上に、浮き彫り状にエングレーブすることができる。図２２は、その前面がエングレーブされて描かれるヘアドライヤーを示す。図２４は、図２３に示されるパターンを平面と、かみそりのスティックとにエングレーブした結果を示す。図２５は、完全に設計されたかみそりに、上記のパターンがエングレーブされたものを示す。図２６は、方法を用いて、ロゴ２６０およびパターン／浮彫２６２を、３Ｄモデル化オブジェクト２６４にエングレーブした結果を示す（オブジェクト２６４も、同じく、図２１のモードではユーザに対して表示されない、下層にあるベースメッシュによってモデル化された）。
【図１】
0006773419.tif 000019
【図２】
0006773419.tif 000020
【図３】
0006773419.tif 000021
【図４】
0006773419.tif 000022
【図５】
0006773419.tif 000023
【図６】
0006773419.tif 000024
【図７】
0006773419.tif 000025
【図８】
0006773419.tif 000026
【図９】
0006773419.tif 000027
【図１０】
0006773419.tif 000028
【図１１】
0006773419.tif 000029
【図１２】
0006773419.tif 000030
【図１３】
0006773419.tif 000031
【図１４】
0006773419.tif 000032
【図１５】
0006773419.tif 000033
【図１６】
0006773419.tif 000034
【図１７】
0006773419.tif 000035
【図１８】
0006773419.tif 000036
【図１９】
0006773419.tif 000037
【図２０】
0006773419.tif 000038
【図２１】
0006773419.tif 000039
【図２２】
0006773419.tif 000040
【図２３】
0006773419.tif 000041
【図２４】
0006773419.tif 000042
【図２５】
0006773419.tif 000043
【図２６】
0006773419.tif 000044