(57)【要約】      （修正有）【課題】現実の物体の物理的属性を表すモデル化オブジェクトを含むデータベースを照会・構築するための方法、システム、及びプログラムを提供する。【解決手段】データベースを構築する方法は、モデル化オブジェクトを提供するステップＳ５０と、各モデル化オブジェクトについて、それぞれの単体複体を決定するステップＳ６０と、各モデル化オブジェクトと、それぞれの単体複体との関係をデータベースに記憶するステップＳ７０と、を含む。デーアｔベースを検索する方法は、署名基準を含むクエリを提供することと、クエリの結果として、データベースの各モデル化オブジェクトを返すことと、を含む。各モデル化オブジェクトは、各モデル化オブジェクトが署名基準に準拠する単体複体を有する程度に基づいて返される。【選択図】図４
2018109948.tif 000002
【特許請求の範囲】
【請求項１】
モデル化オブジェクト（Ａ，Ｂ）を含むデータベースを照会するための、コンピュータによって実施される方法であって、
各モデル化オブジェクトは、それぞれ、現実の物体の物理的属性を表し、
前記データベースは、各モデル化オブジェクト（Ｐ）について、一の単体複体（Σ（Ｐ））を含み、
各モデル化オブジェクト（Ｐ）の単体複体（Σ（Ｐ））は、パラメトリックビュー関数と署名関数（σ（・））の合成（σ・ＳＤ）による、当該パラメトリックビュー関数（
【数７１】
2018109948.tif 000073
）のパラメトリック領域（Ｓ２）のメッシュ（Ｍ（Ｄｉ∈Ｓ２；ｉ＝１，・・・，ｎ））とモデル化オブジェクト（Ｐ）からなる組の画像（σ（Ｓ（Ｍ（Ｄｉ∈Ｓ２；ｉ＝１，・・・，ｎ），Ｐ）））であり、
前記パラメトリックビュー関数は、パラメトリック領域、およびモデル化オブジェクト空間において連続しており、
前記署名関数（σ（・））は、前記パラメトリックビュー関数の範囲において連続しており、
前記署名関数の値を含む署名基準を含むクエリを提供することと、
前記クエリの結果として、前記データベースの各モデル化オブジェクトを返すことであって、各モデル化オブジェクトが、各モデル化オブジェクトが前記署名基準に準拠する単体複体を有する程度に基づいて返されるような、返すことと
を含む方法。
【請求項２】
各モデル化オブジェクトが前記署名基準に準拠する単体複体を有する程度は、前記署名基準の前記署名関数の値と、前記署名関数（σ（・））の範囲（
【数７２】
2018109948.tif 000074
）内の各単体複体との間の距離に依存する
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記パラメトリックビュー関数（ＳＤ）のパラメトリック領域（Ｓ２）の各メッシュ（Ｍ（Ｄｉ∈Ｓ２；ｉ＝１，・・・，ｎ））は、前記署名関数（σ（・））の範囲（
【数７３】
2018109948.tif 000075
）内における適合率基準（
【数７４】
2018109948.tif 000076
）に準拠する
ことを特徴とする請求項１または２に記載の方法。
【請求項４】
各単体複体（Σ（Ｐ））は、非退化の単体のみを有する
ことを特徴とする請求項１〜３のいずれかに記載の方法。
【請求項５】
前記物理的属性は３Ｄ形状であり、前記モデル化オブジェクトは３Ｄモデル化オブジェクトであり、前記パラメトリックビュー関数は２Ｄシルエット関数であり、前記パラメトリック領域（Ｓ２）はジオメトリビューパラメータの領域である
ことを特徴とする請求項１〜４のいずれかに記載の方法。
【請求項６】
前記ジオメトリビューパラメータの領域は、ジオメトリビュー方向の領域を含む
ことを特徴とする請求項５に記載の方法。
【請求項７】
複数のモデル化オブジェクト（Ａ，Ｂ）を含むデータベースであって、
各モデル化オブジェクトは、それぞれ、現実の物体の物理的属性を表し、
前記データベースは、各モデル化オブジェクト（Ｐ）について、一の単体複体（Σ（Ｐ））を含み、
各モデル化オブジェクト（Ｐ）の単体複体（Σ（Ｐ））は、パラメトリックビュー関数と署名関数（σ（・））の合成（σ・ＳＤ）による、当該パラメトリックビュー関数（
【数７５】
2018109948.tif 000077
）のパラメトリック領域（Ｓ２）のメッシュ（Ｍ（Ｄｉ∈Ｓ２；ｉ＝１，・・・，ｎ））とモデル化オブジェクト（Ｐ）からなる組の画像（σ（Ｓ（Ｍ（Ｄｉ∈Ｓ２；ｉ＝１，・・・，ｎ），Ｐ）））であり、
前記パラメトリックビュー関数は、パラメトリック領域、およびモデル化オブジェクト空間において連続しており、
前記署名関数（σ（・））は、前記パラメトリックビュー関数の範囲において連続している
ことを特徴とするデータベース。
【請求項８】
請求項７に記載のデータベースを構築するための方法。
【請求項９】
前記複数のモデル化オブジェクトを提供することと、
各モデル化オブジェクト（Ｐ）について、前記単体複体（Σ（Ｐ））を決定することと、
各モデル化オブジェクトとその単体複体との関係を記憶することと
を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
各単体複体を決定することは、各モデル化オブジェクトについて、
メッシュを提供することと、
前記パラメトリックビュー関数と署名関数（σ（・））の合成（σ・ＳＤ）により、メッシュとモデル化オブジェクト（Ｐ）からなる組の画像を決定することと
を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記メッシュは頂点を有し、前記パラメトリックビュー関数と前記署名関数（σ（・））の合成（σ・ＳＤ）により、前記メッシュと前記モデル化オブジェクト（Ｐ）からなる組の画像を決定することは、前記メッシュの各頂点について、前記モデル化オブジェクト上で、前記パラメトリックビュー関数と前記署名関数の前記合成を評価することを含み、
前記パラメトリックビュー関数は前記頂点に対応する前記パラメトリック領域の値を用いてパラメータ化される
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
請求項１〜６、８〜１１のいずれかに記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムまたは請求項７に記載のデータベースが記録された、データ記憶媒体。
【請求項１４】
請求項１２に記載のコンピュータプログラムまたは請求項７に記載のデータベースが記録されたメモリに接続されたプロセッサを備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよび及びシステムの分野に関し、より具体的には、それぞれが現実の物体の物理的属性を表すモデル化オブジェクトを含むデータベースを照会／構築するための方法、システム、およびプログラムと、そのようなデータベースに関する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリング、製造のため、多数のシステムおよびプログラムが市場に提供されている。ＣＡＤは、コンピュータ支援設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の略語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関する。ＣＡＥは、コンピュータ支援エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の略語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェア・ソリューションに関する。ＣＡＭは、コンピュータ支援製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の略語であり、例えば、製造工程および動作を定義するためのソフトウェア・ソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカル・ユーザ・インターフェースは、技術の効率に関して、重要な役割を果たす。これらの技術は、製品ライフサイクル管理（Ｐｒｏｄｕｃｔ  Ｌｉｆｅｃｙｃｌｅ  Ｍａｎａｇｅｍｅｎｔ：  ＰＬＭ）システムに組み込むことができる。ＰＬＭとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するＰＬＭソリューション（製品名ＣＡＴＩＡ、ＥＮＯＶＩＡ、ＤＥＬＭＩＡ）は、製品エンジニアリング知識をオーガナイズするエンジニアリング・ハブ、製品エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全てのシステムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
【０００３】
このような文脈、およびその他の文脈において、データベース内の既存のモデル化オブジェクトを、異なる基準に従って検索する必要がある。
【０００４】
所定の基準に従ったデータベース内のモデル化オブジェクトの検索は、多くの場合、３つのステップで実行される可能性がある。第１のステップは、モデル化オブジェクトに対して、少なくとも、いわゆる「署名」または「記述子」の関数の値を算出して、データベースの各モデル化オブジェクトに関連付けることである。署名関数は、「署名」と呼ばれ、入力の典型的な側面を合成するコンパクトな情報を出力する関数である。第２のステップは、ユーザが、例えば特定の署名の値を設定することにより、クエリを特定することである。この署名の値は、選択したオブジェクトに対応し得るものであり、その目的は、データベースにおける類似のオブジェクトを見つけ出すことであってもよい。また、署名は設計中のオブジェクトに対応し得るものであり、その目的は、この場合も、データベースにおける類似のオブジェクト見つけ出すことである。第３のステップは検索ステップである。これは、システムが、ユーザが入力した署名の値に対応する署名の値を有するデータベースのオブジェクトを見つけるためのものである。このステップでは、大量の署名の値が比較される。
【０００５】
署名は、理想的には、必要とするメモリが少なく、算出が簡単で、比較が非常に速く、なおかつ高い再現率と高い適合率で、関連する結果につながるように設計することができる。
【０００６】
図１は、既存の検索ソフトウェア製品を例示した図である。
【０００７】
これら既存のソフトウェアは、データベース内の３Ｄモデル化オブジェクトを索引付けするために、平面シルエットおよびビュー方向に基づく、数値署名を用いる。以下の論文が一例を提供している：Ｒａｌｕｃａ  Ｄｉａｎａ  Ｐｅｔｒｅ，Ｚａｈａｒｉａ  Ｔｉｔｕｓ，Ｆｒａｎcｏｉｓｅ  Ｐｒeｔｅｕｘ，Ａｎ  ｅｘｐｅｒｉｍｅｎｔａｌ  ｅｖａｌｕａｔｉｏｎ  ｏｆ  ｖｉｅｗ−ｂａｓｅｄ  ２Ｄ／３Ｄ  ｉｎｄｅｘｉｎｇ  ｍｅｔｈｏｄｓ，２０１０  ＩＥＥＥ  ２６ｔｈ  Ｃｏｎｖｅｎｔｉｏｎ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  ｉｎ  Ｉｓｒａｅｌ，２０１０年１１月，イスラエル，９２４〜９２８ページ。
【０００８】
各３Ｄモデル化オブジェクトは、データベース内の複数の数値署名を生成し、各数値署名は当該オブジェクトおよびそれぞれのビュー方向に従って算出される。データベースのインデックスは、数値署名の空間内における有限の（しかし非常に大きな）点の集合として理解できる。データベースへの入力はオフラインで実行される。入力された３Ｄモデル化オブジェクトの平面シルエットが与えられれば、検索は、その数値署名を算出し、データベース内で最も近いものを見つけるものとなり得る。これにより、この最も近い数値署名に関連付けられた、類似の３Ｄモデル化オブジェクト、および、ビュー方向が出力される。この演算は、ユーザの指示に従って、インラインで実行される。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、これら既存のソフトウェアは、場合により不正確なものとなる。これについては、図２を参照して例示する。
【００１０】
２つの３Ｄモデル化オブジェクトＡおよびＢが、それぞれの署名とともに、データベースに格納されていると仮定する。また、入力オブジェクトに最も近いオブジェクトを見つけるためにデータベースの照会を行い、Ａが物理的に正しい結果であり、クエリによって返されると仮定する。
【００１１】
ここで、σ（Ａ，Ｕ）およびσ（Ａ，Ｖ）を、それぞれ、データベースに格納されたビュー方向ＵおよびＶに応じた３ＤオブジェクトＡの数値署名とする。σ（Ｂ，Ｄ）を、データベースに格納されたビュー方向Ｄに応じた３ＤオブジェクトＢの数値署名とする。σ＊をクエリにより提供された入力オブジェクトのシルエットの数値署名とする。明らかに、図に示されるように、σ＊に最も近いデータベースの数値署名は、σ（Ｂ，Ｄ）であり得るから、オブジェクトＢが、データベースにおける、入力オブジェクトに最も類似したオブジェクトとして（誤って）見つけ出される。照会の結果としてＡが出力された場合、ビュー方向Ｗに応じたオブジェクトＡの数値署名σ（Ａ，Ｗ）もデータベースに格納されている必要がある。しかし、説明のために図に示されているが、また、ビュー方向ＷはＵおよびＶに近いが、データベースの作成方法によっては、数値署名σ（Ａ，Ｗ）は、単純に、データベースに存在しないことがある。そのような場合、残念ながら、正しい解決策は得られない。これは、明らかな記憶容量に関する理由により、単に、データベースは、３Ｄオブジェクトが取り得るすべての数値署名を格納することができないためである。
【００１２】
したがって、既存の文献にもかかわらず、依然として、データベース内のモデル化オブジェクト検索の分野を改善する必要性がある。
【課題を解決するための手段】
【００１３】
したがって、モデル化オブジェクトを含むデータベースを照会するための、コンピュータによって実施される方法（「照会方法」または「インライン処理」）が提供される。各モデル化オブジェクトは、それぞれ、現実の物体の物理的属性を表す。データベースは、各モデル化オブジェクトについて、単体複体（simplicial complex）を含む。各モデル化オブジェクトの単体複体は、パラメトリックビュー関数と署名関数の合成による、パラメトリックビュー関数のパラメトリック領域のメッシュとモデル化オブジェクトからなる組の画像である。パラメトリックビュー関数は、パラメトリック領域、およびモデル化オブジェクト空間において連続している。署名関数は、パラメトリックビュー関数の範囲において連続している。
【００１４】
本方法は、署名関数の値を含む署名基準を含むクエリを提供することを含む。本方法はまた、照会の結果として、データベースの各モデル化オブジェクトを返すことを含む。各モデル化オブジェクトは、各モデル化オブジェクトが署名基準に準拠する単体複体を有する度合いに基づいて返される。
【００１５】
本照会方法は、以下の１つまたは複数を含むことができる。
【００１６】
・各モデル化オブジェクトが署名基準に準拠する単体複体を有する度合いは、署名基準の署名関数の値と署名関数の範囲内の各単体複体との間の距離に依存する。
【００１７】
・パラメトリックビュー関数のパラメトリック領域の各メッシュは、署名関数の範囲内における適合率基準に準拠する。
【００１８】
各単体複体は、非退化の単体のみを有する。
【００１９】
・物理的属性は３Ｄ形状であり、モデル化オブジェクトは３Ｄモデル化オブジェクトであり、パラメトリックビュー関数は２Ｄシルエット関数であり、パラメトリック領域はジオメトリビューパラメータの領域であり、かつ／あるいは、
・ジオメトリビューパラメータの領域は、ジオメトリビュー方向の領域を含む。
【００２０】
さらには、そのようなデータベースが提供される。そしてデータベースは、上記のように、モデル化オブジェクト、および、各モデル化オブジェクトについて、単体複体を含む。
【００２１】
さらには、そのようなデータベースを構築するための、コンピュータによって実施される方法（「構築方法」または「オフライン処理」）が提供される。
【００２２】
本構築方法は、以下の１つまたは複数を含むことができる。
【００２３】
・本構築方法は、モデル化オブジェクトを提供することと、各モデル化オブジェクトについて、それぞれの単体複体を決定することと、各モデル化オブジェクトと、それぞれの単体複体との関係を記憶することとを含む。
【００２４】
・各単体複体を決定することは、各モデル化オブジェクトについて、メッシュを提供することと、パラメトリックビュー関数と署名関数の合成によって、メッシュとモデル化オブジェクトからなる組の画像を決定することとを含み、かつ／あるいは、
・メッシュは頂点を有し、メッシュとモデル化オブジェクトからなる組の画像を、パラメトリックビュー関数と署名関数の合成によって決定することは、メッシュの各頂点について、モデル化オブジェクト上で、パラメトリックビュー関数と署名関数の合成を評価することを含み、パラメトリックビュー関数は頂点に対応するパラメトリック領域の値を用いてパラメータ化される。
【００２５】
本構築方法は、例えばコンピュータネットワークを介して、１人または複数のユーザによって、本照会方法の１つまたは複数の例も含むグローバルデータベース検索処理内で実行されてもよい。グローバル処理には、本構築方法のいくつかの例も含まれる。本構築方法の最初の例は、データベースを作成するために、照会方法の任意の例の前に実行されてもよい。本構築方法の他の例は、既に作成されたデータベースへの追加に対応して、いつでも実行することができる。
【００２６】
さらに、上記の方法のいずれか１つまたは任意の組み合わせを実行するための命令を含むコンピュータプログラムが提供される。
【００２７】
さらに、当該コンピュータプログラム、および／または、当該データベースを記録したデータ記憶媒体が提供される。
【００２８】
さらに、当該コンピュータプログラム、および／または、当該データベースを記録したメモリに接続されたプロセッサを備えるシステムが提供される。
以下、非限定的な例として、本発明の実施の形態を添付の図面を参照しつつ説明する。
【図面の簡単な説明】
【００２９】
【図１】先行技術を例示した図である。
【図２】先行技術を例示した図である。
【図３】本方法の例のフローチャートを示す。
【図４】本方法の例のフローチャートを示す。
【図５】本システムのグラフィカル・ユーザ・インターフェースの一例を示す。
【図６】本システムの一例を示す。
【図７】本方法の例を示す図である。
【図８】本方法の例を示す図である。
【図９】本方法の例を示す図である。
【図１０】本方法の例を示す図である。
【図１１】本方法の例を示す図である。
【図１２】本方法の例を示す図である。
【図１３】本方法の例を示す図である。
【図１４】本方法の例を示す図である。
【図１５】本方法の例を示す図である。
【図１６】本方法の例を示す図である。
【図１７】本方法の例を示す図である。
【図１８】本方法の例を示す図である。
【図１９】本方法の例を示す図である。
【図２０】本方法の例を示す図である。
【図２１】本方法の例を示す図である。
【図２２】本方法の例を示す図である。
【図２３】本方法の例を示す図である。
【図２４】本方法の例を示す図である。
【図２５】本方法の例を示す図である。
【発明を実施するための形態】
【００３０】
図３のフローチャートを参照して、モデル化オブジェクトを含むデータベースを照会するための、コンピュータによって実施される方法を提案する。各モデル化オブジェクトは、それぞれ、現実の物体の物理的属性を表す。データベースは、各モデル化オブジェクトについて、単体複体を含む。各モデル化オブジェクトの単体複体は、特定の関数による、パラメトリックビュー関数のパラメトリック領域のメッシュとモデル化オブジェクトからなる組の画像である。当該特定の関数は、パラメトリックビュー関数と署名関数の合成であり、パラメトリックビュー関数は、モデル化されたオブジェクトを入力として取り込んで出力を提供し、当該出力は署名関数の入力となる。パラメトリックビュー関数は、パラメトリック領域（すなわち、パラメトリックビュー関数のパラメータ値を含む空間）、およびモデル化オブジェクト空間（すなわち、モデル化オブジェクトを含む空間）において、連続している。署名関数は、パラメトリックビュー関数の範囲（すなわち、パラメトリックビュー関数によって出力された値を含む空間）において連続している。本照会方法は、署名基準を含むクエリを提供すること（Ｓ１０）を含む。署名基準は、定義上、署名関数の（すなわち少なくとも１つの）値（すなわち、署名関数によって出力された値）を含む照会（または検索）基準である。本照会方法はまた、照会の結果として、データベースの各モデル化オブジェクトを返すこと（Ｓ２０）を含む。各モデル化オブジェクトは、各モデル化オブジェクトが署名基準に準拠する単体複体を有する度合いに基づいて返される。このような照会方法は、データベース検索の分野を改善する。
【００３１】
また、図４のフローチャートを参照して、そのようなデータベースを構築するための、コンピュータによって実施される方法を提案する。本構築方法は、モデル化オブジェクトを提供すること（Ｓ５０）と、各モデル化オブジェクトについて、それぞれの単体複体を決定すること（Ｓ６０）と、各モデル化オブジェクトと、それぞれの単体複体との関係を（データベースに）記憶すること（Ｓ７０）とを含む。データベースは、最初、第１の提供（Ｓ５０）の後に作成される。この関係は、データベース工学の分野で知られているように、各単体複体を、それぞれのモデル化オブジェクトにリンクさせるデータである。データベースは、この関係に加えて、単体複体、および／または、モデル化オブジェクト、および／または、単体複体へのポインタ、および／または、モデル化オブジェクトを同様に格納していてもよい。このような構築方法により、改善された方法で検索可能なデータの構築が可能になる。
【００３２】
本方法は、コンピュータにより実施される。すなわち、本方法のステップ（あるいは略全てのステップ）が少なくとも１つのコンピュータ、または類似の任意のシステムによって実行される。よって本方法のステップは、コンピュータにより、完全に自動的に、あるいは半自動的に実行される可能性がある。例えば、本方法の少なくともいくつかのステップは、ユーザとコンピュータの対話を通じて始動されてもよい。求められるユーザとコンピュータの対話レベルは、想定される自動性のレベルに応じたものであって、ユーザの要望を実装する必要性との間でバランスをとるものとしてもよい。例えば、このレベルは、ユーザが設定し、かつ／あるいは、予め定義されていてもよい。
【００３３】
方法のコンピュータによる実施の典型的な例は、この目的に適したシステムを用いて本方法を実行することである。当該システムは、本方法を実行するための命令を含むコンピュータプログラムを記録したメモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェース（ＧＵＩ）を備えていてもよい。メモリは、データベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分（例えば、プログラム用に１つ、場合によりデータベース用に１つ）を含む。
【００３４】
データベースとは、検索および取得用に最適化されたデータ（すなわち情報）の任意の集合（例えば所定の構造化言語、例えばＳＱＬに基づく、例えばリレーショナルデータベース）を意味する。データベースは、メモリに格納されると、コンピュータによる迅速な検索および取得を可能にする。データベースは、実際、様々なデータ処理動作と連動して、データの記憶、取得、修正、および削除を容易にするよう構造化されている。データベースは、それぞれ１つまたは複数のフィールドからなるレコードに分割可能な１つのファイルあるいはファイルのセットからなっていてもよい。フィールドは、データ記憶の基本単位である。ユーザは、主としてクエリによってデータを取得してもよい。ユーザは、使用されているデータベース管理システムのルールに従って、キーワードとソートコマンドを用いて、多数のレコードにおけるフィールドを、迅速に、検索、再配置、グループ化、および選択し、特定の集積データに関するレポートを取得または作成することができる。
【００３５】
本方法は、一般に、モデル化オブジェクトを操作する。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。さらには、「モデル化オブジェクト」という表現は、データそのものも指す。システムの種類に応じて、異なる種類のデータによってモデル化オブジェクトが定義されてもよい。実際、システムは、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムのうちの任意の組み合わせであってもよい。それら異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて言及することがある。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義されてもよいため、これらのシステムは、互いに排他的なものではない。したがって、以下に示すこのようなシステムの定義から明らかなように、システムは、ＣＡＤ兼ＰＬＭシステムであってもよい。
【００３６】
ＣＡＤシステムは、少なくとも、ＣＡＴＩＡのようなモデル化オブジェクトのグラフィック表現に基づくモデル化オブジェクトの設計に適した任意のシステムをも意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトを表現可能にするデータを含む。ＣＡＤシステムは、例えば、辺や線を用い、また、場合により面や曲面を用いて、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、辺、あるいは面は、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）など、様々な様式で表現されてもよい。具体的には、ＣＡＤファイルは仕様を含み、その仕様に基づきジオメトリが生成可能であり、よって表現が生成可能となる。モデル化オブジェクトの仕様は１つまたは複数のＣＡＤファイルに格納されていてもよい。ＣＡＤシステムでモデル化オブジェクトを表現するファイルの典型的なサイズは、一部分あたり１メガバイトの範囲である。また、モデル化オブジェクトは、典型的には、数千の部分の集合体であってもよい。
【００３７】
ＣＡＤの文脈において、モデル化オブジェクトは、典型的には、３Ｄモデル化オブジェクト、例えば、一つの部品や部品の集合体などの製品、あるいは製品の集合体を表現するものであってもよい。「３Ｄモデル化オブジェクト」は、３Ｄ表現が可能なデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、その部品をすべての角度から見ることを可能にする。たとえば、３Ｄで表現された３Ｄモデル化オブジェクトは、その軸のうちの任意の軸、あるいは、その表現が表示された画面中の任意の軸を中心に、処理して回転させることが可能である。これは、特に、３Ｄモデル化されていない２Ｄアイコンについては除外される。３Ｄ表現の表示は、設計を容易にする（すなわち、設計者が作業を達成するスピードを統計的に速める）。製品の設計は製造工程の一部であるから、これによって当該産業における製造工程が迅速化する。
【００３８】
３Ｄモデル化オブジェクトは、ＣＡＤソフトウェア・ソリューションやＣＡＤシステム等を用いた仮想的デザインの完了後に実世界において製造される製品、すなわち（例えば機械）部品や、部品の集合体（あるいは同様に部品の集合体。なぜなら部品の集合体は本方法の観点では一つの部品としてみることができ、また、本方法は集合体における各部品に独立して適用することができるからである）など、より一般的には任意の剛体の集合体（例えば移動機構）などの製品のジオメトリを表現してもよい。ＣＡＤソフトウェア・ソリューションは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および／または海洋石油／ガス生産、または交通を含む、限定されることのない様々な産業分野において製品の設計を可能にする。ここでの３Ｄモデル化オブジェクトは、このように、地上車両の部品（例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラック、バス、電車を含む）、航空車両の部品（例えば、航空機体機器、航空宇宙機器、推進機器、防衛製品、航空路線機器、宇宙機器を含む）、海軍車両の部品（例えば、海軍用機器、商業用船舶、オフショア機器、ヨットおよび作業船、船舶用機器を含む）、一般的な機械部品（例えば、工業用製造機械、大型移動機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む）、または電気機械部品または電子部品（例えば、家電、セキュリティおよび／または制御および／または計装製品、コンピューティングおよび通信機器、半導体、医療装置および設備を含む）、消費者製品（例えば、家具、家庭用および庭用製品、レジャー用品、ファッション用品、耐久消費財小売用品、織物類小売用品を含む）、包装（例えば、食品および飲料およびたばこ、美容およびパーソナルケア、家庭用製品包装を含む）などのように、任意の機械部品であり得る工業製品を表してもよい。
【００３９】
ＰＬＭシステムは、物理的な、製造された製品（または製造される予定の製品）を表すモデル化オブジェクトの管理に適した任意のシステムをも指す。ＰＬＭシステムでは、モデル化オブジェクトは、このように、物理的な物体の製造に適したデータによって定義される。これらは、典型的には、寸法の値および／または公差の値であってもよい。物体を正しく製造するために、実際、このような値を用いるのが望ましい。
【００４０】
ＣＡＭソリューションとは、製品の製造データを管理するのに適した、ハードウェアのソフトウェアである、あらゆるソリューションをも指す。製造データは、一般に、製造する製品、製造工程、および必要なリソースに関するデータを含む。ＣＡＭソリューションは、製品の製造工程全体を計画し最適化するのに用いられる。例えば、実現可能性、製造工程の期間、または製造工程における特定のステップで使用され得るリソース、例えば特定のロボットの数に関する情報をＣＡＭユーザに提供することができる。これにより、管理や必要な投資についての決定を可能にする。ＣＡＭは、ＣＡＤ工程、および、場合によりＣＡＥ工程に続く工程である。このようなＣＡＭソリューションは、ダッソー・システムズにより、ＤＥＬＭＩＡ（登録商標）として提供されている。
【００４１】
ＣＡＥソリューションとは、モデル化オブジェクトの物理的挙動の分析に適した、ハードウェアのソフトウェアである、あらゆるソリューションをも指す。よく知られており広く用いられているＣＡＥ技術は有限要素法（Ｆｉｎｉｔｅ  Ｅｌｅｍｅｎｔ  Ｍｅｔｈｏｄ：ＦＥＭ）であり、これは、典型的には、モデル化オブジェクトを、物理的挙動を方程式によって計算しシミュレーションできる要素に分割することを含む。このようなＣＡＥソリューションは、ダッソー・システムズにより、ＳＩＭＵＬＩＡ（登録商標）として提供されている。成長するＣＡＥ技術のもう１つは、ＣＡＤジオメトリデータを使用せずに異なる物理分野の複数の要素で構成される複雑なシステムのモデリングと解析を行うことを含む。ＣＡＥソリューションはシミュレーションを可能にし、それにより、製造する製品の最適化、改善および検証を可能にする。このようなＣＡＥソリューションは、ダッソー・システムズにより、ＤＹＭＯＬＡ（登録商標）として提供されている。
【００４２】
ＰＤＭはＰｒｏｄｕｃｔ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ（生産データ管理）の略である。ＰＤＭソリューションとは、特定の製品に関するすべての種類のデータを管理するのに適した、ハードウェアのソフトウェアである、あらゆるソリューションを指す。ＰＤＭソリューションは、製品のライフサイクルにかかわるすべての関係者によって使用されてもよい。これには、主として技術者のほか、プロジェクトマネージャー、財務担当者、営業担当者、およびバイヤーも含まれる。ＰＤＭソリューションは、一般に、製品指向のデータベースに基づく。これにより、関係者が製品に関する一貫したデータを共有することが可能になり、これにより、関係者が異なるデータを用いるのを防止する。このようなＰＤＭソリューションは、ダッソー・システムズにより、ＥＮＯＶＩＡ（登録商標）として提供されている。
【００４３】
図５は、本システムのＧＵＩの一例を示すものであって、当該システムは、ＣＡＤシステムである。照会方法は、３Ｄモデル化オブジェクト２０００に基づいて、またはそれを生じるように、そのようなＧＵＩを用いて起動することができる。構築方法もまたそのようなＧＵＩを用いて起動することができ、例えば、３Ｄモデル化オブジェクト２０００をデータベースに追加する。
【００４４】
ＧＵＩ２１００は、標準的なメニューバー２１１０，２１２０、ならびに底部および側面のツールバー２１４０，２１５０を有する典型的なＣＡＤのようなインターフェースであってもよい。このようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、各アイコンは、当技術分野で知られているように、１つまたは複数の操作または機能に関連付けられている。これらのアイコンのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００の編集および／または作業に適合したソフトウェアツールに関連付けられている。ソフトウェアツールはワークベンチに分類することができる。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの１つは、モデル化製品２０００のジオメトリ的特徴を編集するのに適した編集ワークベンチである。操作中、設計者は、例えば、オブジェクト２０００の一部を予め選択し、次いで、適切なアイコンを選択することによって、操作を開始する（例えば、寸法、色などを変更する）か、ジオメトリ的制約を編集することができる。例えば、典型的なＣＡＤ操作は、スクリーン上に表示された３Ｄモデル化オブジェクトのパンチングまたは折り畳みのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関連するデータ２５００を表示してもよい。図の例では、「特徴ツリー」として表示されたデータ２５００およびそれらの３Ｄ表現２０００は、ブレーキキャリパおよびディスクを含むブレーキ部品に関するものである。ＧＵＩは、編集された製品の動作のシミュレーションを起動するため、または表示された製品２０００の様々な属性を描画するために、例えばオブジェクトの３Ｄ定位を容易にするための様々なタイプのグラフィックツール２１３０，２０７０，２０８０をさらに示してもよい。カーソル２０６０は、ユーザがグラフィックツールを用いて対話操作ができるように、触覚デバイスによって制御されてもよい。
【００４５】
図６は、本システムの一例を示すものであって、当該システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【００４６】
本例のクライアントコンピュータは、内部通信バス１０００に接続された中央演算処理装置（ＣＰＵ）１０１０、および同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、さらに、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられたグラフィックス処理装置（ＧＰＵ）１１１０を備える。ビデオＲＡＭ１１００は、当該技術分野において、フレームバッファとしても知られる。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを具体的に実現するのに適した大容量メモリ装置は、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスク１０４０を含む、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完されてもよいし、組み入れられてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、キーボードなどの触覚装置１０９０を含んでいてもよい。カーソル制御装置は、ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置させることを可能にするために、クライアントコンピュータ内で使用される。さらに、カーソル制御デバイスは、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいは、または追加的に、クライアントコンピュータシステムは、感知パッドおよび／または感知スクリーンを備えてもよい。
【００４７】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによって方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための指示が得られる。
【００４８】
本方法は、（例えば３Ｄ）モデル化オブジェクトを設計する工程の一部であってもよく、またはそのような工程に従うことができる。「モデル化オブジェクトの設計」とは、モデル化オブジェクトを作り上げる工程の少なくとも一部である任意の行為あるいは一連の行為を指す。したがって、工程は、（ユーザが）最初の３Ｄモデル化オブジェクトを、例えばスケッチのような工程を通して、一から作ることを含んでもよい。そして、本工程は、クエリを（例えば、基準のユーザ入力に基づくユーザコマンドに応じて、あるいは、例えば、設計中のオブジェクトの署名に基づく自動的なバックグラウンドプロセスとして）本照会方法に従って実行することを含んでいてもよい。あるいは、基準は、ユーザによって直接、値として、あるいは署名の値が算出されたビューを介して、提供される。次に、本方法は、オプションとして、（少なくとも１つの結果がある場合に）結果をユーザに表示し、好ましい結果を（ユーザが）選択することを含んでいてもよい。最後に、ユーザは、クエリの結果（例えば、選択されたもの）を変更することによって、またはクエリの結果を現在の設計に追加することによって、設計を続けてもよい。これは、設計者が、以前に設計されたモデルを不必要に再設計することなく、その代わりに、そのような以前の設計を再利用するのを支援するのに役立つ。しかし、照会方法を実行する他の理由も考えられる。例えば、本方法は、（例えば、冗長性を排除してデータベースのサイズを縮小するために）複製された（またはほぼ複製された、すなわち非常に類似した）モデル化オブジェクトをデータベースから探し出して、例えば削除したり、あるいは部品を同一のカテゴリに、または類似性に基づいて、分類したりするのに用いてもよい。設計工程の最後には、ユーザは、例えば、設計されたモデル化ブジェクトについて、それぞれの単体複体を決定することと、関係を記憶することとを開始することによって、その設計をデータベースに追加してもよい。
【００４９】
本方法は、本方法を実行した後に、モデル化オブジェクトにジオメトリ的に対応する物理的製品を生産する工程を含み得る製造工程に含まれていてもよい。いずれの場合も、本方法によって設計されたモデル化オブジェクトは、製造オブジェクトを表してもよい。したがって、モデル化オブジェクトは、モデル化立体（すなわち、立体を表すモデル化オブジェクト）であってもよい。製造オブジェクトは、部品などの製品であってもよいし、または部品の集合体であってもよい。本方法は、モデル化オブジェクトの設計を改善するので、本方法はまた、製品の製造を改善し、したがって、製造工程の生産性を高める。
【００５０】
提供すること（Ｓ１０）は、データベース、または、そのようなデータベース上で動作するプラグイン／スクリプトに対して、例えばクライアントコンピュータシステムにおいて、または、サーバコンピュータシステム、すなわちデータベースホストに対して行うことができ、例えば、クライアントはサーバと混同される可能性があり、それは、例えば、それらが同じマシンによってホストされている場合に起こり得る。クエリには基準が含まれている（クエリを定義するデータの一部として、また例えばクエリを構成する幾つかの基準の少なくとも１つとして含む。例えば、クエリは、他の基準、および、オプションとして、異なる基準に割り当てられた重みを含む。これはデータベース検索の分野において非常に古典的である）。照会方法はまた、照会の結果として、データベースの各モデル化オブジェクトを（例えば、クライアントに対して、またはサーバにおいて）返すステップ（Ｓ２０）を含む（すなわち、返されるデータは、クエリおよび／または検索されたデータの内容に応じて、１つまたは複数のそのような結果を含むか、または結果が含まれない（ヌルの結果）。これは、必ずしも複数の結果が返されるとは限らないことを意味し、複数形が使われているのは、それが一般的な表現だからである）。各モデル化オブジェクトは、それが基準に準拠する度合いに基づいて返される。「基準」という表現は、基準に関係するデータに関連するモデル化オブジェクトのデータにのみ基づいて、データベースのモデル化オブジェクトをフィルタリング、および／または、ランク付けする任意の方法を指す。データベースを照会するとは、データベース工学におけるそのような表現の古典的な意味に従ってクエリがデータベース上で実行されることを意味し、データベースからの情報が照会の結果（場合によりヌル）としてデータベースから抽出されることを意味する。照会方法の場合、データベースのモデル化オブジェクト（すなわち、その任意の特徴データ）が返され、場合により、ダウンロードされる追加データのユーザ選択、および／または、ユーザトリガの対象となる。これもまた、データベース工学の分野でそれ自体知られている。
【００５１】
本方法の場合、クエリは、署名関数の少なくとも１つの値を含む少なくとも１つの基準（場合によっては基準のみ）を含み、この基準は、言い換えれば、署名関数に関連する基準、例えば、署名関数の１つ以上の値に関連する任意の検索基準、例えば、入力された検索対象のモデル化オブジェクト（それに対して署名関数の１つ以上の値が算出される）である。これは、定義上、可能性のある結果（この時点では、データベースのデータ）がこの基準に一致する度合いが評価され（クエリの重みを使用していくつかの基準を処理するという問題については、古典的に扱うことができる実装の詳細であるため、除外する）、情報を結果として考慮すべきか否かが評価されることを意味する。度合いがどれくらい正確に評価されるかを表す効率的な例は、後ほど提供する。度合いはバイナリ（データが基準に準拠しているかどうか）であっても、プログレッシブ（厳密には、２レベル以上の準拠度であって、例えば、結果が入力値に等しい署名値を有することが基準である場合、最小値、例えば０から、最大値、例えば１への、例えば２つの等しい署名値に対応する連続値）であってもよい。各モデル化オブジェクトが、当該モデル化オブジェクトについて評価された度合いに基づいて、返されるべき結果であるか否かが、どの程度正確に決定されるかは、実施上の問題である。
【００５２】
各モデル化オブジェクトは、それぞれ現実の物体の物理的属性を表すので、本方法は、Ｓ１０で照会を行い、現実の物体の物理的属性を表す照会データの結果として、Ｓ２０で返すことを可能にする。現実の物体は、単一の物理的物体、あるいはその集合体など、現実世界の任意の物体である。単一の物理的物体は、例えば製品（（例えば機械の）部品など）、生物学的物体（人、動物、あるいは植物など）、建築物（建物など）、風景要素（山や谷など）などの立体であってもよい。したがって、データベースにおける現実の物体は、それぞれ、そのような単一の物理的物体または単一の物理的物体の集合体であってもよい。あるいは、データベースは、以下の現実の物体のいずれか１つまたは任意の組み合わせからなる集合を含んでいてもよい：液体、気体、および／または、波（例えば、電磁波、音、または光）。現実の物体の物理的属性は、その現実の物体の任意の物理的特性、すなわち、その現実の物体に関する物理的な現象を任意に実体化したものである。単一の物理的物体またはその集合体である現実の物体の場合、物理的属性はその現実の物体の３Ｄ形状であってもよい。言い換えると、モデル化オブジェクトは、現実の物体の３Ｄ形状を表す。そのような場合、モデル化オブジェクトは３Ｄモデル化オブジェクトであってもよく、かつ／あるいは、現実の物体の境界を表すジオメトリ的サーフェスを特定するデータ、および／または現実の物体が占有する空間を表すジオメトリ的ボリュームを特定するデータを含む。単一の物理的物体またはその集合体である現実の物体の他の例において、物理的属性は、色分布、パターン分布、あるいは、材料分布であってもよい。現実の物体が風景である例では、物理的属性は風景の地形であってもよい。現実の物体が都市の景観である例では、物理的属性は都心の景観における建築物であってもよい。現実の物体が気体である例では、物理的属性は粒子速度分布であってもよい。現実の物体が液体である例では、物理的属性は圧力分布であってもよい。
【００５３】
本方法は、モデル化オブジェクトをそのまま直接入力とはせず、モデル化オブジェクトのビューを入力とする、署名関数に基づいている。署名関数は、それ自体が知られているように、入力の領域（この場合、モデル化オブジェクトのビューの空間）と出力の領域に対して、「署名空間」と呼ばれる範囲において、異なる入力同士の識別を可能にする一方、消費メモリが入力より少なく（例えば、消費メモリが少なくとも２倍少なく、例えば消費メモリが少なくとも１０倍少なく）、かつ／あるいは、高速比較（例えば、比較は単に二つのベクトル間の距離である）を可能にするデータ（「署名」とも呼ばれる）を適用する関数である。署名は数値であってもよく、これはすなわち、署名が１つの数、または複数の数（例えば、実数または整数）のベクトルであることを意味する。本方法の場合、署名関数は、パラメトリックビュー関数の範囲、すなわち、（パラメトリックビュー関数によって到達可能な）ビューの空間において連続している。このような場合、互いに近い２つのビューから、互いに近い２つの署名が得られ、それにより、Ｓ２０で返す時点で、関連する比較が可能になる。
【００５４】
モデル化オブジェクトのビューは、モデル化オブジェクトにビュー関数を適用した結果に対応するデータ構造である。ビュー関数は、モデル化オブジェクトを入力とし、モデル化オブジェクトを簡略化して表すデータを出力するデータ処理である。「簡略化して」とは、ビューに含まれる情報が、モデル化オブジェクトに含まれる情報を再配置したものに対応し、人間であるユーザに理解しやすく、かつ／あるいはビュー内の情報量が、モデル化オブジェクト内の情報量と比較して低減されることを意味する。例えば、モデル化オブジェクトのビューは、モデル化オブジェクト自体よりも簡単に生成できる場合がある。このように、提供すること（Ｓ１０）は、例えば、ユーザが１つまたは複数の入力ビューを提供することによって、比較的簡単な方法で実行することができ、次に、システムは入力ビューに対する署名関数の値を自動的に決定する。そして、この値は署名基準に含められる。また、モデル化オブジェクトのビューのサイズ（メモリ消費量に関して）は、モデル化オブジェクトのサイズより小さくてもよい。
【００５５】
本方法は、予め定められすべてのモデル化オブジェクトに対して同一の、そのようなビュー関数に基づいている。また、ビュー関数はパラメトリックである。つまり、ビュー関数は、モデル化オブジェクトだけではなく、パラメータ値も入力とする。パラメータ値を含む空間は、「パラメトリック領域」と呼ばれる。そのようなパラメトリック関数により、本方法は、パラメータ値を変化させることによって、同じモデル化オブジェクトの異なるビューを提供することができる。したがって、ビューが最初のモデル化オブジェクトにおける情報の損失を意味する場合、ユーザ（ユーザは、モデル化オブジェクト全体ではなく、ビューを提供することでクエリを起動できる）に提供される単純化に伴うこのような情報の損失は、モデル化オブジェクトに関して、単一のビューの単なる署名関数値以上をデータベースに包ませることによって緩和することができる。具体的には、データベースは、各モデル化オブジェクトについて、署名空間上に定義された単体複体を含む。
【００５６】
単体複体は、各モデル化オブジェクトについて、適切な場合にクエリの結果として返される可能性が高くなるよう、十分な情報（少なくとも単一の署名値以上）を形成する。具体的には、データベースにおける各モデル化オブジェクトに関連付けられた単体複体は、パラメトリックビュー関数と署名関数の合成による、パラメトリック領域のメッシュとモデル化オブジェクトからなる組の画像である。言い換えると、まず、パラメトリック領域がメッシュ化されていると考えられる（例えば、そのようなメッシュ化は、データベースを構築するときに実行されてもよい）。メッシュは、任意のタイプのメッシュ（数学的グラフ構造）、例えば、三角形メッシュまたは四角形メッシュである。メッシュは、比率の所定の閾値を超えるパラメトリック領域、例えば実質的に全てのパラメトリック領域をカバーする。各メッシュは、例えばパラメトリック領域の少なくとも５０％をカバーすることができる。メッシュは、パラメトリックビュー関数のパラメトリック領域上に定義された構造であり、メッシュの各位置は、任意のモデル化オブジェクトのビューに関連付けることができる。次に、与えられたモデル化オブジェクトについて、署名関数を、メッシュの位置（すなわち、パラメトリック領域における位置）と与えられたモデル化オブジェクトとから作られた（すなわち、それらからなる）組（すなわち、順序付けられたデータのペア）に適用することができる。これは、定義上、メッシュの上記位置（ビュー関数のパラメータ化に対応する位置）に対応する与えられたモデル化オブジェクトのビューに、署名関数を適用することに相当する。ここで、メッシュ全体と同じ与えられたモデル化オブジェクトとを考慮するとき、署名関数（すなわち、その「画像」）の適用は、トポロジの分野でそれ自体知られているように、署名空間における単体複体をもたらす。データベースは、モデル化オブジェクトごとにそのような単体複体を格納する。単体複体が基づくメッシュは、各モデル化オブジェクトについて同じであってもよいし、異なっていてもよい。後に提供される例では、照会の効率を高めるために、メッシュ化された各オブジェクトに適応されている。
【００５７】
照会の時点で、署名関数、すなわち、モデル化オブジェクトの１つのビューの署名の値が与えられた場合、データベースはその値を格納しない可能性があるが、本方法では、データベースに格納されている単体複体に基づいて結果を返すことができる。例えば、各モデル化オブジェクトが署名基準に準拠する単体複体を有する程度は、署名基準の署名関数の値と各単体複体との間の距離に依存してもよい。言い換えると、クエリの署名値とデータベースの単体複体との間の近接性を評価してもよい。例えば、入力された署名値との距離が最も小さい複体が返されてもよい。一例として、距離はＬＰ距離であってもよい。これは、署名空間が
【数１】
2018109948.tif 000003
のタイプ（ｍは整数）の場合に特に関連する距離である。署名空間に関連する他の任意の距離を考慮することができる。
【００５８】
パラメトリックビュー関数は、モデル化オブジェクト空間、すなわち物理的属性によって取り得るすべての値に対応する空間（例えば、３Ｄモデル化オブジェクトの場合の３Ｄ空間）において連続的である。これは、基本的には、ビュー関数のパラメータ化（すなわち、パラメータの設定）のために、２つの現実の物体の物理的属性値（例えば、物理的属性について類似した２つの現実の物体の物理的属性値）が互いに近づき、したがって、２つのモデル化オブジェクトが互いに近づき、２つのビュー関数値が互いに近づくことを意味する。また、ビュー関数はパラメトリック領域において連続する。これは、所与のモデル化オブジェクトについて、ビュー関数の２つのパラメータ化が互いに近づく（すなわち、パラメータの近似値となる）ことにより、互いに近い２つのビュー関数値が得られることを意味する。その結果、本方法では、物理的属性の類似性に関して比較的関連性の高い結果を導き出せるビューベースの検索を、ユーザが簡単に操作できるようなかたちで提供する。特に、連続性条件は、単体複体が、すべてのビューに対してモデル化オブジェクトの署名の比較的正確な表現を伝えることを可能にする。
【００５９】
上記の命題の逆は必ずしも真ではない。言い換えると、互いに近い２つのビュー関数値は、必ずしも互いに近い２つの現実の物体の物理的属性値を導くわけではない。これは、図２を参照して先に説明したように、ビューベース検索の、よく知られた不正確さにつながる可能性がある。単体複体が署名基準に準拠する程度に基づいて、単体複体をデータベースに格納し、Ｓ２０において結果を戻すことによって（異なるビュー関数値に対応する異なる署名関数値の集合を格納し、格納された署名基準にもっとも準拠する署名関数を検索するのではない）、本方法は、そのような不正確さの発生を減少させ、これにより本方法は頑強になる。さらに、単体複体表現は単純である（例えば、パラメトリック表現または多項式表現のような別のタイプの表現と比較して）。これにより、データベースを、サイズに関して、軽く保つことができる。実際、本方法は、（各モデル化オブジェクトについて）メッシュのサイズのオーダーのメモリを消費するだけで済む。
【００６０】
したがって、本方法は、パラメータ依存のビューを有するモデル化オブジェクトを検索するという文脈の範囲内にある。本方法は、モデル化オブジェクトのビューに非依存の署名に依存することを強いるものではない。したがって、署名関数はビューに依存するものであってもよい。したがって、本方法は、そのような方法論により、適合率不足とならない。さらに、本方法では、同じオブジェクトのすべてのビューの署名値をデータベースに取り込むソリューションほど、データベースのメモリを必要としない。
【００６１】
ビュー関数は、モデル化オブジェクトの投影であってもよい。例えば、モデル化オブジェクトは、情報のベクトル（例えば、各情報は、対応するデータによって表される）を介して物理的属性を表す。ビュー関数は、例えば、より低次元の空間におけるベクトルの投影に対応していてもよい。モデル化オブジェクトが３Ｄモデル化ブジェクトである場合、その投影はジオメトリ的投影であってもよい。例えば、モデル化オブジェクトは、現実の物体の物理的属性を表す３Ｄモデル化オブジェクトであってもよく、物理的属性は、現実の物体の３Ｄ形状であってもよい。そのような場合、ビュー関数は、２Ｄ空間上のジオメトリ的投影であってもよい。ビュー関数は、２Ｄシルエット関数、すなわちジオメトリビューに従って２Ｄシルエット（すなわち、２Ｄ投影によって占められた輪郭または空間）を出力する関数であってもよい。そのような場合、パラメトリック領域は、例えば視点の位置、および／または、ビュー方向を含むジオメトリビューパラメータを含んでいてもよい。また、そのような場合、署名関数は、サイズに依存しない平面並進不変式、および／または、平面回転不変式であってもよい（すなわち、入力２Ｄシルエットの署名は、そのサイズおよび／または位置に依存せず、その概形のみに依存する）。
【００６２】
例えば、物理的属性は物理的な形状（すなわち、現実の物体によって定義された材料の物理的位置の集合）であり、したがってモデル化オブジェクトは、３Ｄモデル化オブジェクト、例えばＣＡＤファイルである。このような場合、ビュー関数は、例えば、パラメトリック領域としてビュー方向の領域を有する２Ｄシルエットとすることができる。言い換えれば、所与のビュー方向についての３Ｄモデル化オブジェクトの２Ｄシルエットは、投影に垂直な２Ｄ平面上の、所与のビュー方向に沿った投影である。視野方向の領域は、例えば単位球面など、球面として提供することができる。球上の各位置は、各ビュー方向を定義する（したがって、ビュー関数の各パラメータ化を定義する）。
【００６３】
そのような場合、提供すること（Ｓ１０）は、例えば、そのようなシルエットをスケッチすることによって、現実の物体を表す１つまたは複数の２Ｄシルエットをユーザが入力することによって実行されてもよい。スケッチは、マウスを用いて、または、より簡単には、タッチパッド、および／または、感知スクリーン上で、タッチペンまたは指を用いて行うことができる。ユーザは、例えば、現実の物体の１つまたは複数の２Ｄ輪郭を描いてもよい。入力２Ｄシルエット、または各入力２Ｄシルエットについて、本照会方法は、所定の署名関数（例えば、データベースの構築、すなわち、単体複体の記憶において使用されるものと同じもの）に基づいて、署名値を自動的に算出することができる。署名関数は、サイズに依存しない平面並進不変式、および／または、平面回転不変式であってもよい。したがって、そのような署名値は照会基準に含まれる（例えば、任意の形で、例えば、見つけるべき値として、または範囲を定義する値として、または最も近いモデル化オブジェクトを見つけるための値として。例えば、複数の入力署名値が何らかの方法で処理される場合）。本照会方法は、次に、照会を実行し、入力されたビューに基づいて、モデル化オブジェクトの単体複体が照会基準にどの程度準拠するかに基づいて、Ｓ２０で、モデル化オブジェクトを返してもよい。
【００６４】
そのような場合および他の場合には、本照会方法は、結果として、モデル化オブジェクトだけでなく、それらが返されるパラメータの値も出力してもよい。実際、各モデル化オブジェクトが署名基準に準拠する単体複体を有する程度が評価されるとき、最適なパラメータ（の集合）が決定されてもよい。実際、単体複体上の最適位置が決定され、パラメトリック領域におけるメッシュの最適位置は、それに基づいて追跡することができる。このような情報は、Ｓ２０において、ユーザに返すことができる。例えば、現実の物体の３Ｄ形状を表す３Ｄモデル化オブジェクトの２Ｄシルエットビューの場合、ユーザは、照会対象の２Ｄシルエットに最も合致するデータベースの３Ｄモデル化オブジェクトだけでなく、返された３Ｄモデル化オブジェクトが結果として選択されたビューパラメータ（例えばビュー方向）にも興味を持つかもしれない。
【００６５】
入力オブジェクトに類似するデータベース内のオブジェクトを検索する方法の例を、図７−図２５を参照して説明する。
【００６６】
入力オブジェクトは、ビュー方向に従ってそのシルエットを表す平面画像によって与えられる。データベース内で索引付けされるオブジェクトおよび検索工程は、平面シルエット画像およびビュー方向を使用して算出された数値署名に基づく。
【００６７】
本方法の例の特徴は、同じ３Ｄオブジェクトに関連付けられた数値署名上のトポロジ構造である。このトポロジは、ビュー方向の球面三角メッシュであってもよい。このように、三角メッシュの各頂点は、ビュー方向に関連付けられた３Ｄオブジェクトの数値署名であってもよい。データベース内の各３Ｄオブジェクトは、数値署名の空間内の三角形メッシュに関連付けられてもよい。三角形メッシュは、例を示す図７に例示されるように、オフライン工程中に算出してもよい。
【００６８】
データベースの３Ｄオブジェクトに関連付けられたメッシュ構造をインラインプロセス中に使用して類似した３Ｄオブジェクトを見つけてもよい。上記メッシュからの、入力署名に最も近い署名を算出することができる。最も近い署名が、データベース内の既存の署名である頂点である場合、その解決策は、現状技術のものと同じであってもよい。しかし、最も近い署名が三角形の内側にある場合、類似のオブジェクトを特定するだけでなく、正確なビュー方向を補間によって算出することができる。
【００６９】
図８において、σ＊＊は、３ＤオブジェクトＡに関連付けられたメッシュからの、入力署名σ＊に最も近い署名である。これはσ（Ｂ，Ｄ）よりσ＊に近いため、３ＤオブジェクトＡは入力と類似していると認識される。さらに、σ（Ａ，Ｕ）とσ（Ａ，Ｖ）を結ぶ辺上にσ＊＊が存在するため、ビュー方向ＷはＵとＶを補間することによって算出される。
【００７０】
この例の方法は、従来技術よりも正確である。類似したオブジェクトをより安全に認識可能であり、ビュー方向がより正確になり得る。現状技術の場合、ビュー方向の数を増やして適合率を上げようとすると、データベースが大きくなり、演算時間が大幅に長くなる。
【００７１】
本方法では、単体複体を利用する。この広く知られているトポロジカルオブジェクトは、特に以下の文献で詳細に説明されている：Ｊａｍｅｓ  Ｒ．Ｍｕｎｋｒｅｓ，Ｅｌｅｍｅｎｔｓ  ｏｆ  ａｌｇｅｂｒａｉｃ  ｔｏｐｏｌｏｇｙ，Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ。この数学的概念は、統一された一般的なデータ形式を提供するものであり、一貫性を保つため、以下に要約する。
【００７２】
大まかに言えば、単体複体は、あらゆる次元において、三角形分割の通常の概念を一般化する。単体の次元数として整数ｋ≧０が与えられると、ｋ次元の単体は、少なくともｋ次元の周囲空間におけるｋ＋１個の点からなる凸包である。これらｋ＋１個の点は、単体の頂点と呼ばれる。頂点ｖ０，・・・，ｖｋを有するｋ次元の単体は、［ｖ０，・・・，ｖｋ］と表される。
【００７３】
凸包の定義により、すべてのｉ∈｛０，・・・，ｋ｝について、
【数２】
2018109948.tif 000004
である
【数３】
2018109948.tif 000005
およびλｉ≧０を満たすような、ｋ＋１個の実数λｉが存在する場合のみ、ｐ∈［ｖ０，・・・，ｖｋ］となる。
【００７４】
例えば、図９に示すように、０次元の単体［ｖ０］は点（または頂点）であり、１次元の単体［ｖ０，ｖ１］は２つの異なる点間の線分であり、２次元の単体［ｖ０，ｖ１，ｖ２］は、同一直線上にない３つの点にわたる三角形であり、３次元の単体［ｖ０，ｖ１，ｖ２，ｖ３］は、同一平面上にない４つの点にわたる四面体であり、４次元の単体［ｖ０，ｖ１，ｖ２，ｖ３，ｖ４］は、少なくとも４次元の空間内の任意の３次元アファイン部分空間に収まらない５つの点にわたる。「単体」という語は、次元ｋが指定されていない場合には、ｋ次元の単体の代わりに用いられる。
【００７５】
定義上、ｋ次元の単体Ｃの面は、ｊ≦ｋを満たす任意のｊ次元の単体であり、その頂点はＣの頂点の部分集合である。図１０は、左側に３次元の単体を例示し、また右側に３次元の単体のすべての面を例示する。これには、三角形、線分、点とともに、３次元の単体そのものが含まれる。
【００７６】
定義上、単体複体Ｋは、以下のような単体の集合である：
・単体がＫに属するとき、全ての面がＫに属する。
【００７７】
・Ｋにおいて２つの単体が交差する部分は、空であるか、両方の面である。
【００７８】
第２の条件は、単体複体が自己交差を特徴としないことを意味する。単体複体の次元は、その単体のうちの最大の次元である。例えば、三角形分割は、２次元の単体複体である。単体複体の単体は、それが別の単体の面でない場合、最大であると言える。たとえば、三角メッシュのすべての三角形は最大の単体である。
【００７９】
索引付けの観点から、単体複体Ｋのすべての頂点の集合｛ｖ１，ｖ２，・・・，ｖｎ｝に注目すると、Ｋの各単体Ｃは、単射インデックスマッピングφＣで定義される。ｄｉｍ（Ｃ）を単体Ｃの次元とすると、このマッピングは、
【数４】
2018109948.tif 000006
となり、Ｃは
【数５】
2018109948.tif 000007
と表される。
【００８０】
ここで、オフライン工程の例について説明する。
【００８１】
Ｐを仮想３Ｄオブジェクト、典型的には多面体とする。Ｄｉ，ｉ＝１，・・・，ｎを、ビュー方向を定義する、３次元空間
【数６】
2018109948.tif 000008
におけるｎ個の単位ベクトルとする。Ｓ２を
【数７】
2018109948.tif 000009
における単位球面とすると、これは、ｉ＝１，・・・，ｎについてＤｉ∈Ｓ２と書くのと等しい。立体Ｐのシルエット画像Ｓｉは、各ビュー方向Ｄｉについて算出され、これはＳｉ＝Ｓ（Ｐ，Ｄｉ）で表される。ここで、Ｓ（・）はシルエットアルゴリズムである。その本質から、各シルエット画像Ｓｉは平面バイナリマップである。
【００８２】
図１１は、左から右に、立体Ｐ、ビュー方向Ｄｉ，ｉ＝１，・・・，６、および対応するシルエット画像Ｓｉ、ｉ＝１，・・・，６を示す。
【００８３】
画像Ｓｉの数値署名σｉは、σｉがＳｉの平面並進および平面回転のもとで不変式となるように算出される。そのための典型的なアルゴリズムは、以下の２つの論文に記載されている。Ｐｅｔｒｏｓ  Ｄａｒａｓ，Ａｐｏｓｔｏｌｏｓ  Ａｘｅｎｏｐｏｕｌｏｓ，Ａ  ３Ｄ  Ｓｈａｐｅ  Ｒｅｔｒｉｅｖａｌ  Ｆｒａｍｅｗｏｒｋ  Ｓｕｐｐｏｒｔｉｎｇ  Ｍｕｌｔｉｍｏｄａｌ  Ｑｕｅｒｉｅｓ，  Ｉｎｔ  Ｊ  Ｃｏｍｐｕｔ  Ｖｉｓ（２０１０）８９：２２９〜２４７，ａｎｄ  Ｍｉｎｇｑｉａｎｇ  Ｙａｎｇ，Ｋｉｄｉｙｏ  Ｋｐａｌｍａ，Ｊｏｓｅｐｈ  Ｒｏｎｓｉｎ。Ａ  Ｓｕｒｖｅｙ  ｏｆ  Ｓｈａｐｅ  Ｆｅａｔｕｒｅ  Ｅｘｔｒａｃｔｉｏｎ  Ｔｅｃｈｎｉｑｕｅｓ．Ｐｅｎｇ−Ｙｅｎｇ  Ｙｉｎ．Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，ＩＮ−ＴＥＣＨ，ｐｐ．４３−９０，２００８。表記はσｉ＝σ（Ｓｉ）であり、σ（・）は署名アルゴリズムである。各署名σｉは、ｍ個の実数からなるベクトルであり、有限次元空間
【数８】
2018109948.tif 000010
内の点として解釈される。したがって、立体Ｐの数値署名は、
【数９】
2018109948.tif 000011
内のｎ個の点からなり、
【数１０】
2018109948.tif 000012
と表される。
【００８４】
図１２は、シルエット画像Ｓ１，・・・，Ｓ６から算出された数値シルエット署名σ１，・・・，σ６を示す。なお、σ１，・・・，σ６はｍ次元空間において解釈されるべきである。
【００８５】
これらの例の特徴は、数値署名のｎ組（σ１，・・・，σｎ）に関連付けられたトポロジである。これは以下のように定義される。ｎ個のビュー方向Ｄは、
【数１１】
2018109948.tif 000013
における球面Ｓ２上の点と同数である。Ｍを点Ｄｉ，ｉ＝１，・・・，ｎの球面三角メッシュとする。
【００８６】
典型的なメッシュは、点Ｄｉの凸包である。図１３に示すように、１２個のビュー方向をサポートする二十面体であってもよい。
【００８７】
Ｍのトポロジは、単体複体のフォーマットに従って捉えられる。頂点は、｛Ｄ１，Ｄ２，・・・，Ｄｎ｝である。各三角形Ｔは、そのインデックスマッピング
【数１２】
2018109948.tif 000014
を介して
【数１３】
2018109948.tif 000015
で定義される２次元の単体である。各線分Ｌは、そのインデックスマッピング
【数１４】
2018109948.tif 000016
を介して
【数１５】
2018109948.tif 000017
で定義される１次元の単体である。
【００８８】
図１４は、６つのビュー方向（左図）の球面メッシュ（右図）を示している。例えば、三角形Ｔのインデックスマッピングは、φＴ（０）＝１、φＴ（１）＝３、および、φＴ（２）＝４であり、線分ＬのインデックスマッピングはφＬ（０）＝２、および、φＬ（１）＝５である。
【００８９】
数値署名の空間
【数１６】
2018109948.tif 000018
へのメッシュＭの埋め込みは、Σで表される。これは、同じインデックス構造を用いて、各ビュー方向Ｄｉを、それに対応する署名σｉ＝σ（Ｓ（Ｄｉ，Ｐ））で置き換えることによって得られる。
【００９０】
図１５は、その埋め込みを例示している。左図は、
【数１７】
2018109948.tif 000019
における球面Ｓ２の球面メッシュＭであり、右図は、
【数１８】
2018109948.tif 000020
におけるΣである。
【００９１】
最後に、立体Ｐのトポロジ署名はΣで定義され、Σ（Ｐ）で表される。これは、
【数１９】
2018109948.tif 000021
における三角形メッシュである。なお、
【数２０】
2018109948.tif 000022
におけるΣ（Ｐ）の形状は、頂点σｉの座標に応じて、ねじったり折ったりできることを理解する必要がある。特に、Σ（Ｐ）は、必ずしも
【数２１】
2018109948.tif 000023
における球面メッシュの凸を保存せず、退化単体を特徴とし得る。
【００９２】
ここで、Ｓ２０で返された結果の関連性に関するトポロジの値について説明する。
【００９３】
先に説明したように、ビュー方向の球面メッシュは、空間
【数２２】
2018109948.tif 000024
における署名Σ（Ｐ）のトポロジを提供する。なお、単に署名の有限集合
【数２３】
2018109948.tif 000025
を調べるだけでトポロジを取得する方法はないことを理解することが重要である。２Ｄのビュー方向の集合（単位円）および２Ｄの署名空間を用いて例示する。
【００９４】
図１６は、ビュー方向の正確なトポロジ（点線の単位円）と、署名の正確な（および未知の）トポロジ（点線の閉じた折れ線）を示す。
【００９５】
図１７は、署名の有限集合上のトポロジを作成する候補として、ビュー方向のサンプリング（左図）、対応する署名（中央図）、および署名の凸包の境界（右図）を示す。凸包によって示唆されるトポロジは、２つの署名が関与していないため、明らかに適切ではない。
【００９６】
図１８は、ビュー方向のサンプリング（左図）をメッシュ化し、シグネチャ空間内で移動することによって導かれた、署名のトポロジ（右図）を例示する。前の図とは異なり、すべての署名が関与している。さらに、後述するように、ビュー方向空間の高密度サンプリングは、署名サーフェスの高密度サンプリングを提供する。
【００９７】
ここで、オプションの、退化単体を除去することからなるオフラインプロセスの改善について説明する。この除去により、データベースにおける各単体複体は、非退化の単体のみを有することになる。
【００９８】
このため、前処理においてΣ（Ｐ）から退化単体を除去し、データベースと、さらなるジオメトリ的アルゴリズムが、より安全になるようにする。退化の診断は、以下のようなものであってもよい。
【００９９】
単体複体Ｋの各単体
【数２４】
2018109948.tif 000026
について、行列
【数２５】
2018109948.tif 000027
を考える。
【０１００】
行列Ｍ（Ｃ）は、はｄｉｍ（Ｃ）個の列とｍ個の行を特徴とする。行列Ｍ（Ｃ）の階数がｄｉｍ（Ｃ）に等しい場合、単体Ｃは非退化である。そうでなければ退化であり、Ｋから取り除かれる。なお、単体Ｃを取り除いても頂点は取り除かれないことを理解する必要がある。さらに、結果として生じる単体複体は、自己交差を特徴としてもよいが、経験上、それらは演算に影響しない。
【０１０１】
図１９〜２０は、退化の状況を例示する。図１９は、２次元の単体複体として描かれた規則的な三角形分割Ｋである。０Ｄの単体は７個の頂点ｖ１、・・・、ｖ７であり、１次元の単体は１２個の線分Ｌ１＝［ｖ３，ｖ１］、Ｌ２＝［ｖ１，ｖ２］などであり、２次元の単体は６個の三角形Ｔ１＝［ｖ３，ｖ４，ｖ１］、Ｔ２＝［ｖ４，ｖ２，ｖ１］、Ｔ３＝［ｖ４，ｖ５，ｖ２］、Ｔ４＝［ｖ６，ｖ４，ｖ３］、Ｔ５＝［ｖ６，ｖ７，ｖ４］、Ｔ６＝［ｖ７，ｖ５，ｖ４］である。図２０は、頂点ｖ４を辺［ｖ５，ｖ７］上に移動することによってＫから得られる三角形分割Ｋ’である。これにより三角形Ｔ６が退化三角形に変化する。なぜなら、ベクトルｖ５−ｖ７およびｖ４−ｖ７が同一線上にあり、行列Ｍ（Ｔ６）＝［ｖ５−ｖ７  ｖ４−ｖ７］の画像を１次元空間にするためである。その結果、前処理ではＫ’から三角形Ｔ６が除去され、Ｋ’は、５個の三角形、１２個の辺、７個の頂点から構成されることになる。Ｋ’における自己交差とは、頂点ｖ４が線分［ｖ５，ｖ７］に属し、これがトポロジ関係によって捉えられないことである。この例では、非自己交差複体は、単体［ｖ５，ｖ７］も取り除くことで得られるが、それには価値がない。
【０１０２】
ここで、別のオプションである、署名サーフェスの局所的な精緻化からなるオフラインプロセスの改善について説明する。この局所的な精緻化の結果、パラメトリックビュー関数ＳＤのパラメトリック領域Ｓ２の各メッシュＭ（Ｄｉ∈Ｓ２；ｉ＝１，・・・，ｎ）は、それぞれ、署名関数σ（・）の範囲
【数２６】
2018109948.tif 000028
における適合率基準に準拠する。
【０１０３】
ビュー方向Ｄに応じて、立体Ｐに関連付けられ、立体Ｐのシルエット画像の数値署名によって単位球面
【数２７】
2018109948.tif 000029
上に定義されたマッピング
【数２８】
2018109948.tif 000030
すなわちΔＰ（Ｄ）＝σ（Ｓ（Ｐ，Ｄ））について考える。
【０１０４】
ここで、Σ＊（Ｐ）＝｛ΔＰ（Ｄ），Ｄ∈Ｓ２｝で表される、すべてのＤ∈Ｓ２についてのすべてのΔＰ（Ｄ）の集合を考える。マッピングΔＰは連続的であることが証明できる。これは例えば、以下の論文において説明されている：Ｐｅｔｒｏｓ  Ｄａｒａｓ，Ａｐｏｓｔｏｌｏｓ  Ａｘｅｎｏｐｏｕｌｏｓ，Ａ  ３Ｄ  Ｓｈａｐｅ  Ｒｅｔｒｉｅｖａｌ  Ｆｒａｍｅｗｏｒｋ  Ｓｕｐｐｏｒｔｉｎｇ  Ｍｕｌｔｉｍｏｄａｌ  Ｑｕｅｒｉｅｓ，  Ｉｎｔ  Ｊ  Ｃｏｍｐｕｔ  Ｖｉｓ（２０１０）８９：２２９〜２４７。これにより、Σ＊（Ｐ）が、署名サーフェスと呼ばれる、
【数２９】
2018109948.tif 000031
の連続的な２Ｄサーフェスになる。
【０１０５】
構築すると、Σ（Ｐ）は理論上の署名サーフェスΣ＊（Ｐ）の三角補間である。精緻化工程（後述）を用いることにより、頂点と三角形をΣ（Ｐ）に追加して、サグ（ｓａｇ）基準に達することができ、これによりΣ（Ｐ）がΣ＊（Ｐ）のより好ましい補間となる。この特性は、オフライン工程中に使用して、適合率重視の署名データベースを構築することができる。
【０１０６】
精緻化工程は、以下の例において用いてもよい。適合率閾値ε＞０および立体Ｐが与えられると、Σ（Ｐ）の各辺が訪問され、その中間点が適合率に対してテストされる。適合率が十分でない場合は、新しい頂点と隣接する三角形が作成される。
【数３０】
2018109948.tif 000032
ステップ０５で算出される数ｓは、署名の平均
【数３１】
2018109948.tif 000033
と、ビュー方向の平均
【数３２】
2018109948.tif 000034
に応じた立体Ｐの画像の署名との間の距離である。言い換えれば、ｅの中点とΣ＊（Ｐ）との間の距離である。
【０１０７】
ステップ０７の「細分化」手順は、空間
【数３３】
2018109948.tif 000035
において、図２１に示すように、隣接する三角形と共に辺の中間点に新たなビュー方向を作成することであってもよい。
【０１０８】
ここで、インライン工程の例について説明する。
【０１０９】
Σ（Ｐｉ），ｉ＝１，・・・，Ｎを、データベース内のすべての３ＤオブジェクトＰｉ，ｉ＝１，・・・，Ｎのトポロジ署名とする。入力シルエット数値署名
【数３４】
2018109948.tif 000036
が与えられるとすると、検索工程は、ｉ＝１，・・・，Ｎについてのすべてのトポロジ署名Σ（Ｐｉ）のうち、最も近い点σ＊＊を見つけることである。その本質から、σ＊＊は特にΣ（Ｐｊ）に属し、これは立体Ｐｊが入力と類似していることを意味する。また、ビュー方向Ｄが算出される。これは図２２に例示されている。
【０１１０】
インライン工程の全体的なアルゴリズムは、以下のように実行されてもよい。主なメソッドはＳｉｍＳｏｌ（σ＊，Ｐ，Ｄ）で、「類似の立体」を意味する。入力は、立体のデータベース（およびそれぞれのトポロジ署名）とシルエット署名σ＊であってもよい。出力は、類似の立体Ｐおよびビュー方向Ｄであってもよい。これには、入力署名から単体複体までの距離（例えば、ＬＰ距離）を算出するメソッドＤＣ（・）を利用する。このメソッドは、重心座標を算出するメソッドＢＣ（・）を用いて単体への距離を算出するメソッドＤＳ（・）を使用する。すべてのメソッドの詳細は以下のとおりである。
【０１１１】
図２３の図が呼び出しシーケンスを表している。
【数３５】
2018109948.tif 000037
前のアルゴリズムの「ｆｏｒ」のループの後、σ＊に最も近い署名σ＊＊は、単体複体Σ（Ｐ）の単体
【数３６】
2018109948.tif 000038
に属する。さらに、その重心座標（後述）は、単体Ｃ上のλ＝（λ０，・・・，λｄｉｍ（Ｃ））であるので、次のように算出される。
【数３７】
2018109948.tif 000039
対応するビュー方向Ｄは、単体Ｃの頂点に関連付けられたビュー方向Ｄ（φＣ（ｉ））を補間することによって得られる。すなわち、
【数３８】
2018109948.tif 000040
ここで、単体複体に最も近い点の決定の例について説明する。
【０１１２】
ここではジオメトリのみを扱うため、明確にするために、「点」という言葉を「署名」よりも優先して用いている。
【０１１３】
このアルゴリズムへの入力は、空間
【数３９】
2018109948.tif 000041
における点ｐ、および空間
【数４０】
2018109948.tif 000042
における単体複体Ｋであってもよい。出力は、ｐから最も近いＫの単体Ｃ、Ｃ上の最も近い点の重心座標λ、およびｐとＫとの間の距離ｄであってもよい。このメソッドは、複体までの距離（Ｄｉｓｔａｎｃｅ  ｔｏ  Ｃｏｍｐｌｅｘ）、ＤＣ（ｐ，Ｋ，Ｃ，λ，ｄ）である。これには、重心座標算出のためのメソッドＢＣ（ｐ，Ｃ，λ，ｄ）、および、単体までの距離算出ためのメソッドＤＳ（ｐ，Ｃ，Ｅ，λ，ｄ）を用いることができる。
【０１１４】
ここで、重心座標について説明する。
【０１１５】
ｋ＝ｄｉｍ（Ｃ）として、Ｋのｋ次元の単体
【数４１】
2018109948.tif 000043
を考える。メソッドＢＣ（ｐ，Ｃ，λ，ｄ）は、点ｖφ（０），・・・，ｖφ（ｋ）によって生成されたアフィン部分空間
【数４２】
2018109948.tif 000044
に属する点ｐに最も近い点ｑの重心座標
【数４３】
2018109948.tif 000045
を算出する。
【０１１６】
定義上、重心座標は、
【数４４】
2018109948.tif 000046
および
【数４５】
2018109948.tif 000047
を満たす。
【数４６】
2018109948.tif 000048
を選択すると、点ｑは以下のように表される。
【数４７】
2018109948.tif 000049
これは点ｐへの最短距離を特徴とするので、λ１，・・・，λｋは以下を満たす。
【数４８】
2018109948.tif 000050
したがって、最適なλは、すべてのｉ＝１，・・・，ｋについて、
【数４９】
2018109948.tif 000051
を特徴とする。古典的な方法で、これにより線型システム
【数５０】
2018109948.tif 000052
が得られ、行列
【数５１】
2018109948.tif 000053
は
【数５２】
2018109948.tif 000054
を満たし、ベクトル
【数５３】
2018109948.tif 000055
は
【数５４】
2018109948.tif 000056
を満たす。行列Ｅは単体Ｃが非退化であるため可逆的であり、よって最適なλ１，・・・，λｋは
【数５５】
2018109948.tif 000057
によって算出され、
【数５６】
2018109948.tif 000058
となる。メソッドＢＣ（ｐ，Ｃ，λ，ｄ）の終了時、最も近い点はｑ（λ１，・・・，λｋ）となり、出力距離は、
【数５７】
2018109948.tif 000059
となる。
【０１１７】
ここで、単体に最も近い点について説明する。
【０１１８】
メソッドＤＳ（ｐ，Ｃ，Ｅ，λ，ｄ）は、重心座標を用いて、入力単体
【数５８】
2018109948.tif 000060
から入力点ｐへの最も近い点を繰り返し算出する。出力は、Ｃの面Ｅ、最も近い点の重心座標λ、およびＣからｐまでの距離ｄである。もちろん、重心座標λは面Ｅ上に与えられているので、最も近い点ｑは、
【数５９】
2018109948.tif 000061
となる。
【０１１９】
凸包の定義上、すべてのｉ∈｛０，・・・，ｄｉｍ（Ｃ）｝について、λｉ≧０の場合にのみ、点ｑは単体に属する。
【０１２０】
固有のＬＩＦＯリストを、標準的な命令Ｐｕｓｈ（・）、Ｐｏｐ（・）、およびＳｉｚｅを通じて使用できる。命令Ｐｕｓｈ（Ｃ）は、オブジェクトＣをリストの上に追加し、そのサイズをインクリメントする。命令Ｐｏｐ（Ｃ）はＣで表されるリストの最後のオブジェクトを返し、リストから削除し、そのサイズをデクリメントする。次のアルゴリズムにおけるＸ−［ｖφＸ（ｉ）］は、単体Ｘの定義から、頂点ｖφＸ（ｉ）を取り除くことにより次元ｄｉｍ（Ｙ）＝ｄｉｍ（Ｘ）−１を定義する。単体Ｙの索引付けは、
【数６０】
2018109948.tif 000062
であって、
【数６１】
2018109948.tif 000063
は、ｊ＜ｉのときφＹ（ｊ）＝φＸ（ｊ）であり、ｊ≧ｉのときφＹ（ｊ）＝φＸ（ｊ＋１）である。
【数６２】
2018109948.tif 000064
図２４は、三角形Ｔ＝［ｖ０，ｖ１，ｖ２］からの、点ｐまでの最も近い点の算出を例示している。入力単体［ｖ０，ｖ１，ｖ２］が、リストにおいてプッシュされる。リストから［ｖ０，ｖ１，ｖ２］を得た後、点ｐは、まず、点ｖ０、ｖ１、ｖ２によって生成された平面Ｕ上に投影される。これにより、ｐ１＝μ０ｖ０＋μ１ｖ１＋μ２ｖ２が得られ、μ０＜０、μ１＞０、μ２＞０である。μ０＜０であるから、単体［ｖ１，ｖ２］が、リストにおいてプッシュされる。リストから［ｖ１，ｖ２］を得た後、点ｐは、点ｖ１、ｖ２によって生成された線Ｖ上に投影されてもよい。これにより、ｐ２＝μ０ｖ１＋μ１ｖ２が得られ、μ０＞０、μ１＞０である。したがって、
【数６３】
2018109948.tif 000065
となり、
【数６４】
2018109948.tif 000066
となる。リストは空になり、反復は終了する。最後に、三角形Ｔの、点ｐに最も近い点の重心座標は、面［ｖ１，ｖ２］におけるλ＝（μ０，μ１）である。
【０１２１】
ここで、複体に最も近い点の決定の例について説明する。
【０１２２】
最後に、メソッドＤＣ（ｐ，Ｋ，Ｃ，λ，ｄ）は、メソッドＤＳ（・）を用いて、複体Ｋから点ｐに最も近い点を算出する。出力は、点ｐに最も近い単体Ｃ、Ｃ上の最も近い点の重心座標λ、およびｐとＫとの間の距離ｄである。
【数６５】
2018109948.tif 000067
本方法の例について、図６〜２４を参照して説明した。しかし、異なる一般化が考えられる。ここで、非限定的な一般化の例のリストについて説明する。
【０１２３】
ビュー方向の一般化が考えられる。
【０１２４】
これまでの例では、ビュー方向は正規化されたベクトルによって定義した。つまり、立体のシルエット画像は、平行なビューに応じて算出される。立体から有限距離に位置する観察者を扱うには、それぞれビュー方向と立体への距離である、正規化されたベクトルＤと正の数ｒからなる組（Ｄ，ｒ）を考える必要がある。このような拡張されたビュー方向は、Ｄのみによって定義される平行ビューとは対照的に、斜視ビューと呼ばれる。すべての斜視ビューの集合は、デカルト積Ｓ２×［ａ，ｂ］であり、ここで、ａおよびｂは、それぞれ、観察者の立体からの最小距離および最大距離である。これは、図２５に示すように、立体の基準軸系の原点を中心とする球の族である。
【０１２５】
デカルト積Ｓ２×［ａ，ｂ］は、（３次元）四面体メッシュで近似することができ、以前のアルゴリズムを再利用することができる。
【０１２６】
光源位置、および／または、光強度など、より多くのパラメータを使用することで、他の一般化を検討できる。
【０１２７】
シルエット署名の一般化も考えられる。
【０１２８】
ここまで、数値署名は、立体の２Ｄシルエットを用いて定義してきた。例えば、等長変換、および／または相似の下で不変であれば、任意の数値署名に一般化することができる。
【０１２９】
一般的なフレームワークも考えられる。
【０１３０】
実際、例は、一般的なパラメータ化された署名フレームワークに一般化できる。入力される数学的実体は以下のとおりである。オブジェクトの集合Ｐおよびパラメータ化署名マッピング
【数６６】
2018109948.tif 000068
パラ―メータ空間Ｌは、有限次元空間
【数６７】
2018109948.tif 000069
の部分多様体である。マッピングσは、すべてのオブジェクトとパラメータの組（ｐ，λ）∈Ｐ×Ｌについて、ベクトル
【数６８】
2018109948.tif 000070
を算出する。
【０１３１】
課題は、
【数６９】
2018109948.tif 000071
が与えられたとき、σ（ｐ，λ）がσ＊にできるだけ近くなるような（ｐ，λ）∈Ｐ×Ｌの組を見つけることである。
【０１３２】
第１に、解決策のフレームワークは、
【数７０】
2018109948.tif 000072
における単体複体Ｋ（λ１，・・・，λｑ）でＬを近似し、すべてのｐ∈Ｐについて、単体複体Ｋ（σ（ｐ，λ１），・・・，σ（ｐ，λｑ））を、場合により局所的精緻化を用いて、データベースに入れることである。第２に、解決策は、単体複体と点との間の距離を算出して、σ＊に最も近い（ｐ，λ）を見つけることである。
【図１】
2018109948.tif 000078
【図２】
2018109948.tif 000079
【図３】
2018109948.tif 000080
【図４】
2018109948.tif 000081
【図５】
2018109948.tif 000082
【図６】
2018109948.tif 000083
【図７】
2018109948.tif 000084
【図８】
2018109948.tif 000085
【図９】
2018109948.tif 000086
【図１０】
2018109948.tif 000087
【図１１】
2018109948.tif 000088
【図１２】
2018109948.tif 000089
【図１３】
2018109948.tif 000090
【図１４】
2018109948.tif 000091
【図１５】
2018109948.tif 000092
【図１６】
2018109948.tif 000093
【図１７】
2018109948.tif 000094
【図１８】
2018109948.tif 000095
【図１９】
2018109948.tif 000096
【図２０】
2018109948.tif 000097
【図２１】
2018109948.tif 000098
【図２２】
2018109948.tif 000099
【図２３】
2018109948.tif 000100
【図２４】
2018109948.tif 000101
【図２５】
2018109948.tif 000102
【外国語明細書】
2018109948.tif 000103
2018109948.tif 000104
2018109948.tif 000105
2018109948.tif 000106
2018109948.tif 000107
2018109948.tif 000108
2018109948.tif 000109
2018109948.tif 000110
2018109948.tif 000111
2018109948.tif 000112
2018109948.tif 000113
2018109948.tif 000114
2018109948.tif 000115
2018109948.tif 000116
2018109948.tif 000117
2018109948.tif 000118
2018109948.tif 000119
2018109948.tif 000120
2018109948.tif 000121
2018109948.tif 000122
2018109948.tif 000123
2018109948.tif 000124
2018109948.tif 000125
2018109948.tif 000126
2018109948.tif 000127
2018109948.tif 000128
2018109948.tif 000129
2018109948.tif 000130
2018109948.tif 000131
2018109948.tif 000132
2018109948.tif 000133
2018109948.tif 000134
2018109948.tif 000135
2018109948.tif 000136
2018109948.tif 000137
2018109948.tif 000138
2018109948.tif 000139
2018109948.tif 000140
2018109948.tif 000141
【図１】
2018109948.tif 000142
【図２】
2018109948.tif 000143
【図３】
2018109948.tif 000144
【図４】
2018109948.tif 000145
【図５】
2018109948.tif 000146
【図６】
2018109948.tif 000147
【図７】
2018109948.tif 000148
【図８】
2018109948.tif 000149
【図９】
2018109948.tif 000150
【図１０】
2018109948.tif 000151
【図１１】
2018109948.tif 000152
【図１２】
2018109948.tif 000153
【図１３】
2018109948.tif 000154
【図１４】
2018109948.tif 000155
【図１５】
2018109948.tif 000156
【図１６】
2018109948.tif 000157
【図１７】
2018109948.tif 000158
【図１８】
2018109948.tif 000159
【図１９】
2018109948.tif 000160
【図２０】
2018109948.tif 000161
【図２１】
2018109948.tif 000162
【図２２】
2018109948.tif 000163
【図２３】
2018109948.tif 000164
【図２４】
2018109948.tif 000165
【図２５】
2018109948.tif 000166