JP3968056B2 - 形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム - Google Patents
形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム Download PDFInfo
- Publication number
- JP3968056B2 JP3968056B2 JP2003165609A JP2003165609A JP3968056B2 JP 3968056 B2 JP3968056 B2 JP 3968056B2 JP 2003165609 A JP2003165609 A JP 2003165609A JP 2003165609 A JP2003165609 A JP 2003165609A JP 3968056 B2 JP3968056 B2 JP 3968056B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cluster
- phase
- graph
- graph data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/422—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
- G06V10/426—Graphical representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Description
【発明の属する技術分野】
本発明は、入力された3次元形状からの認識モデルの作成に関し、より詳細には、3次元形状の入力モデルからクラスタ・データを作成して認識モデルを形成させる場合に、クラスタ・データの位相的整合性を保証することにより、認識モデルのスムースな作成を可能とする、形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラムに関するものである。
【0002】
【従来の技術】
有限要素解析などを目的とした6面体メッシュ生成の手法の1つに、「認識モデル」と呼ばれる近似立体を使う方法がある。認識モデルとは、ijk空間と呼ぶ整数座標空間に定義される立体である。この認識モデルは、3つの軸のどれかに垂直な平面から構成され、単位立方体を積み上げて立体を近似させたモデルということができる。この単位立方体の表面の位相は、2次元多様体から構成される。元の立体を幾何的に近似する認識モデルを一旦作ることができれば、認識モデルは、単位立方体の要素からなる構造メッシュへと容易に変換することができる。こうして得られた構造メッシュの境界面を元の立体の表面にあてはめ、スムージングをかけることにより、元の立体に対応する6面体要素構造メッシュを得ることができる。
【0003】
ここで、従来の認識モデルを構築する方法を概略的に説明する。例えば、認識モデルを構築する方法として、3次元形状の表面をクラスタ分けする方法が知られている。この場合、入力される値は、立体の表面を2次元(2D)要素(3角形か4角形)の集合として表したメッシュ・データである。入力された2D要素は、座標軸との角度や隣接要素との折れ角、領域としての形状(平面度など)を考慮しながら、クラスタとして参照される単位に徐々に寄せ集められる。各クラスタには、カーテシアン座標系の方向であるi、j、kの3方向のいずれか1つが割り当てられ、また各クラスタには、各方向における向きに相当する正負の値が割り当てられる。最終的にすべての要素が3種のクラスタのどれかに属した状態が得られたとき、各クラスタを認識モデルの面分とみなして、認識モデルの位相構築が終了する。
【0004】
クラスタ分けが終了した後、認識モデルの各稜線の分割数(長さに相当)を変数とした最適化問題が設定され、整数計画問題を解くことで認識モデルの構造メッシュが幾何的に確定される。従来のクラスタ法を使用する構造メッシュ生成装置は、概ね下記の機能を含んで構成されている。
(1)形状入力部→メッシュを生成する対象となる形状を入力する。
(2)クラスタ生成部→クラスタ分けによって表面を区分し認識モデルを生成する。
(3)認識モデル幾何決定部→位相が確定した認識モデルに対して、各稜線の分割数を決定する。
(4)メッシュ生成部→構造メッシュを生成し入力形状に合うように変形する。必要ならメッシュを改良する。
【0005】
上述した従来のクラスタ法の問題点は、クラスタ構築の終了時において位相的に整合性のある認識モデルを生成する保証がないことにある。例えば、4角錐のような形を直感的にクラスタ分けすると、頂点の部分にはもともと何も面がないので、独立した面クラスタを割り当てることができず、底面と底面に対向する上側のクラスタが形成されないことになる。このようなクラスタ分けは、入力モデルを再現できない形状整合性を欠いた認識モデルを与えるので、次段階のメッシュ生成の処理に提供することができなかったり、またせっかくメッシュを生成させたとしても、立体的には、まったく別の形状として認識されてしまうという不都合が生じる。
【0006】
そもそも認識モデルの頂点に着目すれば、頂点を取り囲むクラスタの方向として許される構成は、しらみつぶしにリストアップしても高々、数通りに限られる。そこで、クラスタの方向(i、j、k)(以下、本発明では「色」として参照する。)を決める際に、制約に反する頂点が生じる場合は、そこを後回しにするという方法を使うこともできる。しかしそれだけではやはり、4角錐のような場合には行き詰まってしまう。
【0007】
また、一見整合性のあるクラスタ分けが得られた場合でも、各稜線に分割数(正整数)を割り当てる段階で解が存在しえないことがある。これもやはり、クラスタ分け自体が、コンピュータ装置による自動形状認識に適切ではない不整合性を与えるためである。図24には、従来手法において整合性のある認識モデルの生成に失敗する具体的な例を示す。図24に示された入力モデルは、入力モデルを一定の方向に一回りすると、それまで高い位置にあったと認識される面が低いと認識される面に連続している。この場合、面の高低を認識させるために軸方向の長さを予め定義しておいたとしても、低い面と高い面とが連結される部分で、軸方向の長さに矛盾が生じ、メッシュの形成に失敗することになる。
【0008】
【発明が解決しようとする課題】
すなわち、従来の入力モデルのクラスタ分けにおいては、
(i)クラスタ分け(進行中のものも含む)に、位相的な不整合があるかどうかを判定すること、
(ii)位相的な不整合があるときは、クラスタ分けのどの箇所に原因があるのかを特定すること、
(iii)特定された箇所について、位相的な整合性を確保するための修正処理を自動的に実行させることが課題となっていた。
【0009】
上述した課題は、位相的な整合性だけを抽出したものであり、正しい認識モデル提供するためには、位相的な整合性だけでなく幾何的な近似度も重要である。しかしながら、位相的な整合性がなければ、幾何学的な正確さを与えることはできないことになる。本発明は、位相的な整合性を満たし、かつ元のクラスタ分けに関連づけられたクラスタ分けを、可能な限りリストすることができれば、その後に幾何学的に正確な認識モデルを選択する場合に、効率よい選択を可能とすることができるものと考えられる。
【0010】
【課題を解決するための手段】
本発明では形状作成装置を、クラスタ結合部の他に、位相整合性を判断する位相判断部と、位相判断部からの出力を受け取ってクラスタに対して適切な位相を付与するための位相操作部とを含んで構成する。位相判断部は、クラスタ分けの進行中またはクラスタ分けの完了したクラスタ・データの位相を検査・判断して、クラスタ・データの整合性を判断し、整合性の判断結果と、判断したクラスタのラベルと、整合性に対する不適合データとを位相操作部に送る。
【0011】
本発明の形状作成装置は、位相整合性を判断するためのトポロジー情報を含んでいる。位相操作部は、クラスタ・データの位相を変更するための位相変更ルールを含むトポロジー情報を参照して、不適合データを解析し、不適合の内容を判断し、判断に応答して許容される位相条件を選択してクラスタ・データの位相を変更させ、クラスタ生成部へと位相整合性が許容されたクラスタ・データを返す処理を実行する。
【0012】
本発明の構成を採用することにより、従来のクラスタ法では正常に処理できなかった入力形状に対しても、最終的に構造メッシュの生成を可能とする3次元形状を提供することが可能となる。
【0013】
すなわち、本発明によれば、コンピュータ装置を使用する3次元物体のための形状作成装置であって、前記形状作成装置は、
3次元の入力モデル・データを格納する入力モデル格納部と、
前記入力モデル・データに面クラスタを割当てクラスタ・データを作成し、メモリから前記クラスタ・データを読み出して前記面クラスタの結合処理を実行させ、格納するクラスタ結合部と、
前記クラスタ結合部が作成した前記クラスタ・データの双対関係から計算される隣接グラフ・データを格納する隣接グラフ格納部と、
前記隣接グラフ格納部から前記隣接グラフ・データを読み出し、読み出された隣接グラフ・データの位相を、前記隣接グラフ・データの面分およびアークについての局所的位相整合条件で許容されるパターンを使用して判断し、前記局所的位相整合条件で許容された、前記隣接グラフ・データについて前記入力モデル・データの稜線長さを整合させる大局的位相整合条件を判断する位相判断部と、
前記位相判断部の判断に応答し、前記局所的整合条件が前記パターンにより許容されるまで隣接グラフ・データのノード・データまたはアーク・データを変更し、前記局所的整合条件が満たされた前記隣接グラフ・データについて前記大局的位相整合条件が満足されるように面クラスタを分割して前記隣接グラフ・データを更新し、前記隣接グラフ格納部に格納する位相操作部とを含み、
前記隣接グラフ・データは、正多面体の面クラスタを頂点に置換し、隣り合っていた面について前記置換された頂点をノードとし、前記ノードの隣接関係をアークとして識別して作成される、形状作成装置が提供される。
【0014】
本発明の前記位相判断部は、前記隣接グラフ・データを読み出して、前記隣接グラフ・データの前記アークおよび前記ノードの位相を前記局所的整合条件を参照して判断し、前記判断に応答して、前記局所的整合条件を満たすように前記ノードおよび前記アークの向きを更新するために該当する隣接グラフ・データを前記位相操作部に取得させる。
【0015】
本発明の前記位相判断部は、前記隣接グラフ・データの所定のノードから他のノードに到達するまでに横断するアークを識別して前記アークの横断方向を示す方向識別データと、前記所定のノードと前記他のノードとを対応させた軸方向グラフ・データを作成する軸方向グラフ・データ作成部と、作成された軸方向グラフ・データを格納する軸方向グラフ格納部とを含み、前記軸方向グラフ・データを使用して、前記隣接グラフ・データの前記ノード間に前記入力モデル・データの面間に対応する正整数値の前記稜線長さの分割数を割り当てられないことを判断する。
【0016】
本発明の前記位相判断部は、前記軸方向グラフ格納部から前記軸方向グラフ・データを読み出して、前記方向識別データを使用して前記ノードの間におけるサイクルまたはループの存在を判断し、前記サイクルまたはループの存在により前記正整数値の前記分割数を割り当てられないと判断した場合、該当する隣接グラフ・データを前記位相操作部に取得させて前記大局的位相整合条件を修正する。
【0017】
本発明の前記位相操作部は、取得した隣接グラフ・データのノード・データまたはアーク・データを、前記立方体の積み重ねとして前記入力モデル・データを表現する場合に前記隣接グラフ・データの面分および前記アークについての局所的位相整合条件で許容されるパターンを指定するトポロジー・テーブルを参照して隣接グラフ・データを変更し、前記変更した隣接グラフ・データで前記隣接グラフ格納部のデータを更新する。
【0018】
本発明の前記クラスタ結合部は、前記面クラスタの結合処理に対応して前記クラスタ・データを更新し、前記位相判断部は、更新された前記クラスタ・データを読み込んで、隣接グラフ・データを計算する。
【0019】
また、本発明によれば、コンピュータ装置を3次元物体のための形状作成装置として制御するための制御方法であって、前記制御方法は、前記コンピュータ装置に対して、
入力モデル格納部が、3次元の入力モデル・データを格納するステップと、
クラスタ結合部が、前記入力モデル・データに面クラスタを割当てクラスタ・データを作成し、メモリから前記クラスタ・データを読み出して前記面クラスタの結合処理を実行し、格納するステップと、
隣接グラフ格納部が、前記クラスタ結合部が作成した前記クラスタ・データを読み出して前記クラスタ・データの双対関係から計算される隣接グラフ・データを格納するステップと、
位相判断部が、前記隣接グラフ格納部から前記隣接グラフ・データを読み出し、読み出された隣接グラフ・データの位相を、前記隣接グラフ・データの面分およびアークについての局所的位相整合条件で許容されるパターンを使用して判断し、前記局所的位相整合条件で許容された、前記隣接グラフ・データについて前記入力モデル・データの稜線長さを整合させる大局的位相整合条件を判断するステップと、
位相操作部が、前記位相判断部の判断に応答し、前記局所的整合条件が前記パターンにより許容されるまで隣接グラフ・データのノード・データまたはアーク・データを変更し、前記局所的整合条件が満たされた前記隣接グラフ・データについて前記大局的位相整合条件が満足されるように面クラスタを分割して前記隣接グラフ・データを更新し、前記隣接グラフ格納部に格納するステップとを含み、前記隣接グラフ・データは、正多面体の面クラスタを頂点に置換し、隣り合っていた面について前記置換された頂点をノードとし、前記ノードの隣接関係をアークとして識別して作成される、制御方法が提供される。
【0020】
本発明においては、前記位相判断部は、前記隣接グラフ・データを読み出して、前記隣接グラフ・データの前記アークおよび前記ノードの位相を前記局所的整合条件を参照して判断させるステップと、
前記判断に応答して、前記局所的整合条件を満たすように前記ノードおよび前記アークの向きを更新するために該当する隣接グラフ・データを前記位相操作部に取得させるステップと
を実行させる。
【0021】
本発明においては、前記位相判断部は、軸方向グラフ・データ作成部を含み、前記制御方法は、前記軸方向グラフ・データ作成部に対して、
前記隣接グラフ・データの所定のノードから他のノードに到達するまでに横断するアークを識別して前記アークの横断方向を示す方向識別データを計算させるステップと、
前記所定のノードと前記他のノードとを対応させ、前記隣接グラフ・データの前記ノード間に前記入力モデル・データの面間に対応する正整数値の前記稜線長さの分割数を割り当てられないことを判断するための軸方向グラフ・データを作成し、作成された軸方向グラフ・データを格納させるステップと
を実行させる。
【0022】
本発明では、前記位相判断部に対して、
軸方向グラフ格納部から前記軸方向グラフ・データを読み出して、前記方向識別データを使用して前記ノードの間におけるサイクルまたはループの存在を判断するステップと、
前記サイクルまたはループの存在により前記正整数値の前記分割数を割り当てられないと判断した場合、該当する隣接グラフ・データを前記位相操作部に取得させて前記大局的整合条件を修正させるステップと
を実行させる。
【0023】
本発明においては、前記位相操作部に対して、
取得した隣接グラフ・データのノード・データまたはアーク・データを、前記立方体の積み重ねとして前記入力モデル・データを表現する場合に前記隣接グラフ・データの面分および前記アークについての局所的位相整合条件で許容されるパターンを指定するトポロジー・テーブルを参照して隣接グラフ・データを変更させるステップと、
前記変更した隣接グラフ・データで前記隣接グラフ格納部のデータを更新させるステップと、
を実行させる。
【0024】
本発明においては、さらに、前記クラスタの結合処理に対応して前記クラスタ・データを更新し、前記位相判断部は、更新された前記クラスタ・データを読み込んで、隣接グラフ・データを計算するステップを含む。
【0025】
さらに、本発明によれば、コンピュータ装置に対して上述した制御方法を実行させる、コンピュータ実行可能なプログラムが提供される。
【0026】
【発明の実施の形態】
以下本発明を図面に示した実施の形態をもって詳細に説明するが、本発明は図面に示した実施の形態に限定されるものではない。
【0027】
A.隣接グラフによるクラスタ分けの表現
以下、本発明において共通する概念として使用される用語並びにクラスタ分けの表現手法について説明する。本発明においては、最初に未分類の要素(3角形、4角形)だけがある状態から、クラスタ分けを進行させてゆき、クラスタ分けが完成するまでの状態を、一貫して隣接グラフを使って表現する。本発明において使用する隣接グラフとは、正多面体の面を頂点に置き換え、隣り合っていた面についてはその置き換えられた頂点同士を辺で結んだグラフを意味する。また、本発明においては、隣接グラフにおいて、用語「ノード」は実モデルのクラスタを表し、用語「アーク」は、クラスタどうしの隣接関係(つまり稜線が共有されているか否か)を表すものとする。
【0028】
なお、本発明では、隣接グラフについては「ノード」、「アーク」、「面分(多角形、n角形)」を常に用い、実モデルを参照する場合には、「頂点」、「稜線」、「クラスタ」を使用する。クラスタ分けを始める前の状態では、各要素は、それぞれ1つのクラスタとみなすものとする(もしくは最初に要素をある程度寄せ集め、粒度を粗くしておくこともできる。)。図1は、本発明において使用するクラスタの一部(a)と、当該部分の隣接グラフ(b)とを示した図である。図1において(a)と(b)とは、いわゆる双対の関係にある。ノードのまわりのアークの順番は、元の形状モデルで隣接する要素との間にある稜線の順番を示している。
【0029】
隣接グラフにおけるノードとアークとは、それぞれ対応した実モデル中のクラスタと稜線とを反映した属性値を有している。これらの属性値を、以下にまとめて示す。
(I)ノードの属性(クラスタの属性)
○向き(色):i、j、k、 unknownである。i、j、kのときはさらに+方向と−方向に分かれるので、合計7種類となる。
(II)アークの属性(クラスタ間の稜線の属性)
○稜線の向き(i、j、k、 unknown)である。unknownは、両端のノードの一方の向きが未定であるか、両側のノードが同色でかつ異符号であるときを意味する。例えば、(j+、unknown)や(j+、 j-)などにより示される。
(III)稜線の凹凸(凹、凸、unknown)
○向きが未定のアークでは常にunknownとなる。それ以外の場合は、後述するように幾何計算(スカラー3重積)により決定することができる。
【0030】
上述した稜線の凹凸は、認識モデル中での角度に応じて決定される。図2は、面クラスタf1、f2と、稜線Lとからなる形状の凹凸を決定するための概略的な方法を示した図である。本発明において使用する隣接グラフにおいて凹凸を区別するには、上述したスカラー3重積(n×m)・aの符号を使用する。具体的には、スカラー3重積が正ならば凸であり、負ならば凹である。また、本発明においては、3重積の絶対値が一定の閾値以下の場合は、unknownとしておく。但し、n、mは、クラスタから決定される軸方向単位ベクトル(例、(0、-1、0))である。また、aは、nのクラスタを正面から見て反時計方向に回る向きの稜線の方向ベクトルであり、実際のクラスタの幾何学的特性から決定する。稜線の凹凸が決まると、その後各稜線の向き(i、j、k方向)に関する両端点の大小関係が、(n、m)の組合せと稜線の凹凸から論理的に決定することができる。図2に示した形状について得られる凹凸関係を図3に示す。図3に示された大小関係は、後に詳細に説明する位相判断において利用される。
【0031】
クラスタ法のアルゴリズムでは、はじめに明確な法線方向を持ついくつかの要素(クラスタ)に対して方向(i+、 i-、 j+、 j-、 k+、 k-)を決定する。そして方向が未定のクラスタを、最も適切なものから隣接クラスタに併合させてゆき、「色」を割り当ててゆく。
【0032】
なお隣接グラフにおいては、unknownのノードどうしの場合を除いて同種のノードがアークを介して隣接することは許されない。この状態が生じるときは、直ちにアークを縮退させ両側のノードを統合して1つにする。統合されてできたノードは、元の2つのノードが表していたクラスタの和集合領域を表し、方向は元の通りとされる。
【0033】
B.隣接グラフ上での整合性の条件
本発明においては、認識モデルの整合性の判断は、隣接グラフと、派生する「軸方向グラフ」を使用して、隣接グラフ上で一連の処理を行なう。整合性の判断は、ノードまたはアーク間の整合性を処理するための条件である局所的条件と、ノード間の順序整合性を処理するための大局的条件という、2つを使用する。局所的条件と、大局的条件とは、以下のように定義することができる。
【0034】
(a)局所的条件
(a−1)隣接グラフの面分ごとの条件(クラスタの頂点周りで許されるパターン)
(a−2)隣接グラフのノードごとの条件(クラスタの輪郭をなす稜線についての制約)
(b)大域的条件
軸方向グラフ中のサイクルまたはループの条件(稜線への分割数割り当ての可能性)である。上述した各条件の具体的な実施の形態については、より詳細に後述する。
【0035】
C.本発明の形状作成方法の処理
図4には、本発明の形状作成方法の処理の概略的なフローチャートを示す。図4に示した処理は、ステップS10から開始し、ステップS12において初期クラスタを生成させ、ステップS14でクラスタ稜線の指標値を適切なメモリに格納させる。クラスタ稜線の指標値は、その稜線によって代表される隣接クラスタのペアに対して、クラスタの併合の優先度を示すもので、両クラスタの代表法線のなす角度や、結合後クラスタの形状(平面度など)から計算される。ステップS16においてクラスタ稜線を、指標値の順にソーティングして適切なメモリに格納させる。ステップS18においてデータを指標値の大きい順にメモリから読み出させ、ステップS20において読み出されたクラスタ稜線があるか否かを判断させる。ステップS20の判断において稜線がある場合(yes)には、ステップS22において稜線が結合可能であるか否かを判断する。
【0036】
ステップS22の判断において結合可能と判断された場合(yes)には、ステップS24で対応する稜線の端点の位置座標の間の稜線のデータを削除し、新たな併合クラスタのデータを作成してクラスタを結合させ、結合クラスタのデータをメモリに登録する。ステップS28で位相検査・操作処理を実行させて、位相整合性を変更させる。
【0037】
一方、ステップS20の判断において、稜線がないと判断された場合(no)には、ステップS26へと処理を進めてステップS26において、クラスタの未だ色が決められていないもののうち、色を決定できるものについて色を決定させる。また、ステップS22の判断において結合可能ではないと判断された場合(no)には、処理をステップS18に戻し、次のクラスタ稜線を読み出して、処理を繰り返させる。ステップS30では、メモリに登録されたクラスタすべてについて処理が完了したか否かを、例えば色がunknownなクラスタの有無により判断する。ステップS30の判断において、クラスタ分けが完了したと判断された場合(yes)には、ステップS32へと進んで、本発明の処理を終了させる。一方、ステップS30の判断においてまだクラスタ分けが終了していないと判断された場合(no)には、ステップS14へと処理を戻し、ステップS14からステップS28までの処理により生成された結合クラスタのデータを反映させてデータを更新させ、再度ステップS16〜ステップS30の処理を繰り返させる。
【0038】
図5には、本発明の形状作成方法におけるステップS28の局所的条件の判断を行うための条件を、実モデルを使用して限定的に示す。ステップS28において位相整合性の判断基準は、所定の頂点Vを取り囲んで形状を生成する3つの面の、例えば法線ベクトルのカーテシアン座標系における向きおよび面の凹凸を使用することができる。具体的な処理には、図2に示した方法にしたがって計算される面の向きおよび凹凸のデータを使用する。
【0039】
図5に示されるように、所定の頂点Vを取り囲んで立方体を形成する面の種類は、6種類に限定されることが示される。これ以外の関係を面が頂点Vを取り囲んで立方体を形成する場合には、位相的に許容される認識モデルを形成することができない。本発明における位相整合性の検査は、図3に示されるような面のデータを使用して、所定の頂点を形成する3つの面のデータを判定する。判定の結果、図5に示される位相的な関係を有しないクラスタを排除し、位相的に許容されるクラスタを残すことにより実行される。
【0040】
さらに、本発明におけるステップS28の位相検査・操作処理の詳細について説明する。図6には、本発明における位相検査・操作処理の詳細なフローチャートを示す。図6に示す位相検査・操作処理は、ステップS40において更新された隣接グラフのデータをメモリから読み出し、処理の間に保持させておくためのバッファ・メモリに隣接グラフのデータを格納する。ステップS42において上述した局所的条件(a−1)を判断し、局所的条件(a−1)が満足されている場合(yes)には、ステップS44へと処理を進め、さらに局所的条件(a−2)の判断を実行させる。
【0041】
ステップS42において局所的条件(a−1)が満たされない場合(no)には、ステップS46に処理を進め、後述する位相操作1または2をその時点で処理しているクラスタに対して実行させ、処理をステップS42の判断へと戻す。また、ステップS44の処理において、局所的条件(a−2)が満足されない場合(no)には、ステップS48へと処理を進め、後述する位相操作3をその時点で処理しているクラスタに対して実行させ、処理をステップS42へと戻して局所的条件が満たされるまで処理を繰り返させる。
【0042】
局所的条件が所定のクラスタについて満足されると、図6に示した位相検査・操作処理は、ステップS50へと進み、修正の結果を軸方向グラフのデータへと反映させて、データ更新を実行させる。その後、ステップS52へと進んで、更新されたデータを読み込んで、より詳細には後述する大域的条件を算出し、大域的条件が満たされているか否かを判断する。ステップS52の判断において、大域的条件が満たされていないと判断された場合(no)には、後述する処理を適用してステップS54においてクラスタを分割し、処理をステップS50へと戻して分割の結果で軸方向グラフのデータを更新して登録する。ステップS52の判断において大域的条件が満たされている(yes)と判断された場合には、図5のステップS30の判断へと処理を進め、位相整合性が、局所的および大局的に保証されるまで、所定のクラスタについて処理を繰り返させる。
【0043】
D.位相整合性の判断処理の詳細
D−1<局所的な整合性の条件:トポロジー情報>
隣接グラフの面分ごとの条件(a−1)の判断は、図3で列挙したクラスタの頂点周りの並び方を、隣接グラフでのパターンに置換したデータを使用して実行する。この処理を概略的に図7に示す。図7(a)〜(c)が実モデルを示しており、図7(d)〜(f)が隣接グラフにおけるパターンに置換したデータを示す。図7(a)から図7(d)への変換は、具体的には例えば、図7(a)において所定の面分に含まれるポイントを、双対の関係を満たすようにして抽出して生成させ、これらのポイントを、頂点Vを含むように連結して形成することができる。
【0044】
この際、図7(a)の実モデルのデータは、図7(d)の3角形で示される隣接グラフの場合には、例えば(P1,P2,P3)で示されるデータへと変換される。図7に示されるように、実モデルでの頂点V(3つ以上の面クラスタが接する点)は、双対である隣接グラフでは、面分F1〜F3へと変換される。図7では、3種類のハッチングにより実モデルにおける面の色(i、j、k)を表している(本発明において、面の「色」を単にiとして参照する場合には、i+とi-の両方を含むものとする。)。
【0045】
また、1つの隣接グラフのパターンに対して、同色のノードが複数あるときは、ノードに“1”や、“2”のラベルを付して、ノードの符号を相互に区別することができる。図3にも示したように、多角形を構成するアークの属性に関して言えば、立方体の積み重ねとして実モデルを考える場合には、稜線の凹凸について位相的な制約が生じる。隣接グラフが3角形の場合は、凹と凸のすべての組合せが許される。しかしながら、4角形と6角形の際は、凹と凸が交互に現れなければいけないことが、図3から示される。本発明の条件(a−1)の判定は、図7(d)〜図7(f)に示した隣接グラフの面分単位で行う。各面分の境界上に色が定められていないノードがなくなった時点で、評価を実行する。
【0046】
また、隣接グラフのノードごとの条件(a−2)は、実モデル中のクラスタごとの条件に相当するので、下記のように言い換えることができる。
(i)ノードに接続するアークは、i、j、kのうち、2色のクラスタ稜線に対応する(1色でも3色でも不可)。
(ii)アーク(クラスタ稜線)は、各色について2本以上ある。つまりアークは4本以上ある(ノードの度数は4以上)。
【0047】
上述した判断は、クラスタ分けの途中において、「色」が定められていないノードが判定にリストされない限り、局所的条件(a−1)および(a−2)の判定が可能なので、位相的に局所的条件を満たしていない箇所を、隣接グラフの双対関係から容易に特定することができる。より具体的に局所的条件を満たしていない箇所は、局所的条件(a−1)では、実モデルにおける頂点として、局所的条件(a−2)の場合には、面分として特定することができる。
【0048】
また、図7(d)〜(f)に示した隣接グラフのパターン(局所的条件a−1)の中には、同色で異符号のノードを結ぶ(i+、 i-)のようなアークは存在しえないと言える。このため、異符号のノードを連結したアークについては、隣接グラフにおいて面分境界を共有するノードの「色」がすべて決まるより前の段階で、除外することができる。
【0049】
D−2<局所的条件の充足手法>
クラスタ法の途中もしくは最後の時点で、局所的な整合性条件が満たされていない場合には、下記の操作を順次適用することにより、局所的な整合性条件を満たす位相的な隣接グラフを生成することができる。ただし下記に説明する修正処理では、関連するノードの「色」がunknownでないことを前提とする。unknownの場合には、「色」が確定するまで、判断リストに該当する要素を含ませないでおくことにより、処理を進めることができる。
【0050】
図8に、以下で説明する位相操作1〜位相操作3の処理の概略を示す。また、図8には、隣接グラフ上での各位相操作の図と共に、それに対応する実際のクラスタ分けの変化の典型的な実施の形態を示す。
【0051】
位相操作1は、図8(a)に示すように、同色で異符号のノードを結ぶアークを、そのアークに対応した稜線(反対向きのクラスタが接する)に縮退させ、縮退した稜線の対のデータを削除することに相当する。これにより2つの3角形から4角形以上の多角形が生じることになる。図8(a)下側には、隣接グラフに対して施した処理に関連して実モデルがどのように変化するかが示されている。
【0052】
また、位相操作2は、2つの操作aおよびbとして構成することができる。位相操作2aは、隣接グラフの多角形の充足を行うものであり、図7のパターンを満たさない多角形を処理するものである。隣接グラフにおける多角形の面Fcは、位相的には錐の頂点を表す。このため、実モデルでは、頂点を引き伸ばして稜線にするか、新規クラスタを挿入するかのいずれかにより解消されることになる。この処理は、本発明の特定の実施の形態では、図8(b)に示されるように、新規なノード(新規クラスタ)を挿入する処理により実行させることができる。n多角形(n≧4)のループにおいて、2色のノードが交互に表れるものとする。この場合、2色のうち、いずれかを挿入しても図3の条件を満たさないことになるので、残りの1色のノードを新規に挿入し、n個の3角形として隣接グラフを生成させる。この場合、2色のノードが交互になることから、nは偶数となる。新規ノードの符号については、この処理では判断せず、幾何的に実モデルへと変換して矛盾のないように決定することができる。この操作に対応する実モデルのクラスタ分けの変化は、例えば図8(b)の下側に示されている。
【0053】
また、同様に適用することができる位相操作2bは、対角線アークを隣接グラフに生成させる処理である。これを図8(c)に示す。対角線の両端のノードとして可能な組合せは、n角形の場合で、高々(nC2−n)通り、例えば、4角形:2通り、5角形:5通り、6角形:9通りなどである。それぞれの場合につき、以下のどれかに該当するので、対応するように隣接グラフのデータを更新する処理を行なう。
【0054】
2b(i):対角線の両側が異種(i、j、kのうち異なる2つ)の場合、対角線アークを使う多角形が2つできる。3角形ができる場合は、条件(a−1)を必ず満たしている。4角形以上の場合は、局所的条件(a−1)を満たすか否かを上述した方法により判断し、満足していなければ、生成された多角形に対して上述した位相操作2(b)の処理を再度適用する(図8(c)の(i))。
【0055】
2b(ii):対角線の両側が同色で異符号の場合には、その組合せに対しては対角線アークを入れることはできない(図8(c)の(ii))ので、他の可能な処理を行う。
【0056】
2b(iii):また、対角線の両側が同色で同符号の場合には、対角線アークを挿入すると対角線間で直ちに縮退を生じさせることができるので、併合後、ノードの両側には多角形(3角形以上)かアークが計2つできる。この場合、アークができたときに限り、そのアークの反対側にあるノードに関して度数が1つ減少することになる(図8c)の(iii))。
【0057】
また、ノードの度数の問題(局所的条件(ii))を判断する隣接グラフに対しては、あらかじめ位相操作1を施してあるので、ノードは同色のノードと隣接していることはない。このため、互いに隣接するノードの色は1色か2色であることが特定されている。局所的条件のうち、ノードの度数の処理は具体的には、以下に説明するように実行する。図9には、実際のモデルを使用した位相操作3の概略的な処理手順を示す。図9(a)が、1色の場合の実施の形態であり、図9(b)が、隣接ノードの色が2色あるものの、一方の色には隣接ノードが1つしかない場合の実施の形態である。
【0058】
<ノードの色の変更>
隣接ノードの色が1色であるとき、自分自身の色と符号を、その隣接ノードと一致させる。直ちにアークの縮退が起き、整合性が解消されることになる。
【0059】
<隣接ノードを分割>
隣接ノードの色が2色あるが、少なくとも一方の色の隣接ノードが1つしかない図9(b)の状態は、明らかに1つしかない隣接ノードの表すクラスタが大きくなり過ぎているものと判断することができる。このため、該当するクラスタの色をunknownに戻し、クラスタの複数(3つ以上)に分割して、クラスタを更新させ、再びクラスタ分けの処理を行なう。
【0060】
本発明においては、上述した局所的な整合性条件を満たすクラスタ分けの隣接グラフのデータをメモリに格納しておき、それぞれの隣接グラフのデータをメモリから読み出して、双対関係を使用してクラスタ境界を実モデル上で幾何的に確定し、最後にそれらの中から適当な解を選択して認識モデルとすることにより、局所的条件を従属した認識モデルを提供することが可能となる。
【0061】
E.大域的な整合性条件
上記の方法によって局所的条件を満たすクラスタ分けが得られる。しかしそれだけでは、認識モデルとして稜線に合理的な分割数が割り当てられないという問題が残る場合も想定される。図10には、上述した大局的な位相不整合を含む実モデルの例を示す。図10に示す位相不整合については、そのような不整合が存在するか、存在するとすればどこにあるか、それをどう修復するかが、位相整合性検査において判断する必要が生じる。この問題は、上述した局所的な位相整合性が満たされた状態でも存在し得るので、これを大域的な不整合として参照する。
【0062】
図11には、大域的不整合のある実モデルにおいて生じる、具体的な不都合の場合の実施の形態を示す。z軸方向に着目すると、各稜線の長さ(分割数)を表す変数za、zb、zc、zdについて、zaとzdとが位相的に等価な条件にあることを考えれば、下記式が成り立つことがわかる。
【0063】
【数1】
上記式(1)からzb+zc=0が導かれる。一方、変数は正整数であることが前提とされるので、上記式(1)の制約を満たす解はそもそも存在しないことになる。
【0064】
上述した制約を満たす分割処理は、例えば整数計画法を用いる手法では、下記式(2)のような目的関数の最小化と同時に行なわれる。下記式(2)では、大文字は元の形状モデルから決まる各辺の理想的分割数を示す。
【0065】
【数2】
整数計画法を使うにせよ使わないにせよ、矛盾する制約を含む問題を解こうとするのは、計算コストの無駄となる。さらに、解けないことが判明した段階で、不整合を引き起こしたクラスタの箇所を特定するのは容易ではない。
【0066】
そこで、変数(稜線分割数)の制約に矛盾があるかどうかを、本発明においては、隣接グラフから「軸方向グラフ」を作成して判断する。図12に、図11に示した認識モデルのk方向(縦方向)に着目した軸方向グラフの実施の形態を示す。ノードは、k方向のクラスタであり、方向つきアークは、k方向における上下関係を示す。この上下関係は、隣接グラフのアークの属性の一つである「方向」を利用して生成することができる。なお、図12に示したアークには、変数対応関係が視覚的に理解しやすいように、認識モデルにおける変数を示す符号を付記してある。図12に示された軸方向グラフは、図11に示した認識モデルの底面K0から面K2を経由して面K1に到達する場合に得られるk方向の軸方向グラフである。図11および図12を対比すれば理解されるように、面K0からは、za、zd方向にアークが存在し、面K2からは、アークzbを経由して面K1へと到達している。同時に、面K2からは、zc方向に進んで面K1に到達するので、図12に示した軸方向グラフを形成することができる。
【0067】
すなわち、軸方向グラフにおいて上述した不整合(変数に正の値を割り当てられない)が生じる場合は、軸方向グラフの要素間に循環関係(以下、本発明では、簡単に「サイクル」として参照する。)が見出されることに相当する。軸方向グラフの定式化には、種々の方法を採用することができるが、図12に示した本発明の直感的に説明の容易な軸方向グラフの定式化は、例えば下記式(3)のベクトル表記で与えることができる。
【0068】
【数3】
上記式(3)において、K2とK1との間にzb、zcのサイクルが存在することが、軸方向グラフのデータセットにおいて、例えば隣接した面識別子KmとKnとの間において、負の要素が存在するか否かを判断することにより、サイクルの存在を判断することができる。また、これ以外にもループ辺(両端のノードが同一である辺)も、サイクルのうちの一態様とされる。図13には、上述した両端のノードが同一であるノードKから出発してノードKに戻るようなループ辺が存在する軸方向グラフの実施の形態を示す。同様のデータ表示の実施の形態については図12のサイクルを構成する場合についても、ノードK2とノードK1との間に使用できる。下記式(4)には、図12に示したノードK2とノードK1との間のサイクルおよび図13に示すループ辺が存在する場合の、軸方向グラフのベクトル表記での実施の形態を示す。
【0069】
【数4】
【0070】
図11〜図13では、具体的で、かつ直感的に理解のできる実施の形態を使用して説明を行った。図14には、より一般的に軸方向グラフを作る手順を示す。図14(a)が実モデルの構成を示し、図14(b)が対応する隣接グラフの実施の形態である。図14(a)に示された実モデルからは、双対関係を使用して上述した手法により図14(b)に対応する隣接グラフ・データを作成して、登録する。さらに、本発明では、図14(b)に対応するデータを読み出して、下記に示す処理を実行させ、式(3)や、式(4)で例示的に記述されるデータ構造を生成させる。
【0071】
実際的な軸方向グラフの生成手順は、以下のようになる。
【0072】
(1)i、j、kのうち1つの方向に着目し(ここでは仮にkとするが他の2方向についても同様)、隣接グラフからk方向のノード(クラスタ)をすべて抽出し、軸方向グラフのノード、例えばK0、K1、K2などとしてバッファ・メモリなどに一時的に格納させる。
(2)隣接グラフ中のunknownでもkでもない「色」のノード間を結ぶアークについて、対応するクラスタ稜線を探す。クラスタ稜線は、元の実モデル中の異なる色のクラスタが接する幾何的な稜線に対応し、これが、図14(b)中において矢線で示されている。上述したクラスタ稜線のすべてについて以下の処理を実行させる。
(2−1)隣接グラフに対応するデータにおいてノードを識別する。識別された2つのノード、例えばk0、k1を抽出して、その間にクラスタ稜線を識別させると共に、ノードとの対応を指定することが可能な方向識別データ、例えばLi,jを挿入して、例えば、ノード間に下記式(5)で示されるデータ構造を作成する。
【0073】
【数5】
上記方向識別データLi,jは、図14におけるアークに交差する短い矢線で示されている。隣接グラフにおけるアークの両側の面分は、クラスタ稜線の両端点に対応するので、クラスタ稜線に対してk軸方向の向き(正か負)が決まっていれば、座標が小さいほうから大きいほうへ向かうように、データを配列する。例えば、このようなデータ構造は、上記式(5)において、変数Li,jの左が座標の小さいノードであり、右に座標の大きなノードとなるようにシーケンシャルに格納させて形成させることにより実現することができる。このとき問題なのは、k軸方向の正負がunknownの場合であるが、この場合は、方向識別データLi,jを挿入しないことにより、図14においては矢印を付さないことに対応する処理を実行させ、無駄な処理を行うことがないようにすることができる。
【0074】
(2−2)クラスタ稜線の両端点につながるk方向の面分に相当するノードのペアに対して、軸方向グラフを与えるためのベクトル表記データを生成させ、メモリに格納させる。この処理は、まず、軸方向グラフの始点ノードと終点ノードとを選択し、始点ノードから近い方向識別データLi,jを選択し、次ノードを選択し、その次の方向識別データLi,jを選択して、順次バッファ・メモリにシーケンシャルに登録してゆくことにより作成することができる。この処理は、図14においても追跡することができ、例えばノードK1から符号“a”、符号“b”で示されるクラスタ稜線を通過して、ノードK2に達するようにして作成することができる。このとき、式(3)または式(4)に対応する表記は、符号“a”、符号“b”についての変数Li,jをそれぞれ、La、Lbとして記述すれば、下記式(6)で与えられることになる。
【0075】
【数6】
上記式(6)と、式(3)、式(4)とを比較すれば容易に判断されるように、軸方向グラフのアークzaなどが方向識別データLi,jにより指定されることが示されており、方向識別データLi,jの符号をサイクルを判断するために使用することができることがわかる。また、上記隣接グラフの処理から、軸方向グラフのデータを導出することができることが示される。
【0076】
上述した手順により、図11の実モデルを使用して作成したk方向の軸方向グラフを図15に示す。図15に示されるように、軸方向グラフにおいて、k方向のアークは、太い矢印で示されるように8本生成できる。これれが図11に示した認識モデル中の8本のk方向の稜線を表すものとなっている。
【0077】
上述した軸方向グラフを使った大域的不整合の判定は、進行中のクラスタ分けについても適用可能である。つまり、隣接グラフ中に「色」の定められていないノードが残っていても、i、j、kで指定される「色」情報が登録されたノードだけに着目して処理をすれば、確定した範囲内での不整合の有無がわかる。
【0078】
F.大域的な整合性の充足方法
これまで説明したデータ構成を使用して、軸方向グラフにおけるサイクルが判断されることが示された。大域的な整合性を満たすための位相操作は、1つまたは複数のノードから形成されるサイクルやループを解消し、実モデルの整合性を与える操作に対応する。この位相操作としては、位相的に単純な方法として、サイクルまたはループ内のアークの方向の逆転またはノードの分割(クラスタの分割)として導入することができる。しかしながらアークを逆転させることは、元の認識モデルの幾何学的な整合性を大きく変化させる可能性がある。このため、アークの方向を逆転させる方法は、本発明において使用することができないと言うわけではないものの、幾何的な意味を考えると汎用的に採用するには無理があるといえる。このため、本発明の好適な実施の形態では、大局的な位相整合性を満たすための処理としては、ノード分割により大局的な位相整合性を満たす処理を実行することが好ましい。
【0079】
ここで、ノードの分割によってサイクルや、ループを解消すると言っても、種々の分割方法を使用することができる。分割するノードの選び方はサイクル中のノードの数だけあるし、特定のノード(クラスタ)を分割するやり方についても、位相的に複数の方法が想定できる。本発明においては、位相的に可能な解決策をすべて提示することで幾何的な選択を可能にすることを目的とするので、できるだけ制限の少ない妥当な方法を使用することが望ましい。
【0080】
一般にn角形を2つに分割するということは、それを構成するn個の頂点(すなわち接続するn本の稜線)を、2グループに分けることに相当する(多角形の頂点を通る分割は除外する)。すなわち、面分を構成するn本の稜線から2つを選んで、それを横切るように分割すると考えてもよい。したがってこの場合の選択数は、高々nC2通りである。しかも、本発明の目的においては、分割するべき多角形の2稜線の選び方には以下の制約があることがわかる。すなわち、2つの稜線は、i、j、kの3方向のうち同じ方向であること、およびクラスタの外周を一定方向に回る向きを考えたとき、2つの稜線は軸に対して正方向と負方向になること、である。上述した制約条件下では、結局のところ、許容される2稜線は、nC2通りのうちのごく一部だけが残されることになる。
【0081】
図16には、許容される分割方法(a)と、許容されない分割方法(b)を示す。図16(a)に示された許容される分割条件を文章化すれば、「クラスタ稜線であって、クラスタ外周に沿って一周した場合に所定の軸i、j、kのいずれかに関連して反対向きの稜線を横断して分割する」として表現することができる。コンピュータ装置を使用した分割の具体的な処理は、隣接グラフ領域で実行され、分割が許容されたクラスタ稜線のペアの適切な位置にノード・ペアを形成させ、このノード・ペア間に新たにクラスタ稜線を示す変数を挿入することにより実行させることができる。
【0082】
図17は、ノード分割の一般的なパターンを、図11に示した実施の形態を使用して説明した図である。図17(a)が軸方向グラフであり、図17(b)が軸方向グラフを与えた実モデルの概略的な形状を示した図である。図17には、軸方向グラフの8本アーク(a−h)と、実モデルの稜線とが対応するように、同一の符号を使用して示されている。図17に示した実施の形態では、図17(a)に示すように、2つのノードクラスタK1とK2とによりサイクルが構成されている。ここで、例えばK2を分割する場合の処理について説明する。
【0083】
クラスタを分割することにより、図17(a)の軸方向グラフの左側のサイクル(K1とK2との間)を解消するためには、K2に接続する(a、b、c、d)の4つのアークを、(a、b)および(c、d)に分けて、別々のノードに接続するようにするしかない。なぜなら、aとbとは、K2に入り、cとdとは、K2から出る向きなので、これ以外の分割方法(例えば(a、c)と(b、d))では、K2を分けた2つのノード間をどちら向きに連結してもサイクルは解消できないからである。
【0084】
上述した点から、図17に示すようにクラスタを分割する際に横切る稜線の1つは、K2とJ1に共有される稜線でなければならない。この稜線は隣接グラフのK2とJ1を結ぶ破線で示したアークに相当する。上述の条件から、横切るべきもう1つの稜線は、アーク(K2、J1) またはアーク(K2、J2)のいずれかである。位相的にはどちらも同等に可能である。図18には、アーク(K2、J2)を選択して、ノードK2をK2’とK2”とIxとに分解した様子を示す。K2がK2’とK2”に分割されたのに伴って新たにノードIxが挿入されている。またK2’とK2”の間のアークには、サイクルができない方向d1、d2を与える。また、そのような方向を与えることが幾何的に不適切であれば、このノードの分割は、後続する検査においていずれ排除されることになる。図18(b)には、図18(a)において示した分割により生成される面クラスタの実施の形態を示す。
【0085】
このパターンによって影響を受けたノードはJ1、 J2、 K2’、 K2”の4つである。これらのノードに接続する隣接グラフのアーク数はどれも2本ずつ増えている。アークの数が減らないため、これらのノードが条件(a-2)を破ることはない。新しくできたノードIxも条件(a-2)を満たすことになる。また、図18(a)に示される隣接グラフ中に新たな3角形が3つ形成されるが、どれも異なる3色のノードをあたえることで、(a-1)を満たすことがわかる。すなわち、この分割パターンの適用によって、局所的条件(a-1)および(a-2)が破られることはない。
【0086】
また大域的条件(b)について、K軸方向については今回の分割で充足されたが、他の軸方向については、新たなノード(Ix)が挿入されたこともあり、改めて条件のチェックを後続する検査において実行する必要がある。
【0087】
図18に示した分割方法は、人間が幾何的なことを考慮して判断すれば最も適当である。しかし本発明の目的は、幾何的な選択を行なうために位相的に許容される認識モデルを列挙することである。このため、上の解だけでなく、図19に示すように、本発明では、例えば隣接グラフでアーク(K2、J1)と(K2、J0)を選んだ場合の位相的な解も同様に出力するものとし、またK1の分解についても同様に解を出すことも可能である。
【0088】
図20は、本発明の形状作成装置10の概略的な機能ブロック図である。本発明の形状作成装置10は、概ねCPUと、メモリと、ハードディスクといった大容量の記憶装置とを含むコンピュータ装置12を含んで構成されている。本発明の形状作成方法は、C++言語、C言語、Java(登録商標)などのコンピュータ実行可能な言語で記述されたプログラムをCPUが読み込んで、コンピュータ装置12のCPU自体、メモリ、ハードディスク装置、ディスプレイ装置などを制御させて、本発明により作成された形状を、ハードディスク、光磁気ディスク、CD-ROM、DVD-ROM、DVD-RAMなどの記録媒体や、ディスプレイ装置へと表示させることができる構成とされている。
【0089】
図20を参照して本発明の形状作成装置10を説明すると、本発明の形状作成装置10は、コンピュータ装置12と、キーボード、マウスといった入力装置14と、表示スクリーンを含むディスプレイ装置16とを含んで構成されている。また、コンピュータ装置12は、図示しないネットワーク・インタフェースを介して、インターネット、LAN、WANといったネットワーク18に接続されていて、ネットワーク環境下で必要とされるデータを他のコンピュータ装置から入手できる構成とすることもできる。
【0090】
また、コンピュータ装置12には、入力モデル格納部20と、隣接グラフ・データ格納部22と、軸方向グラフ格納部24とが接続されていて、各データを、処理要求に応答してコンピュータ装置12へと提供している。ディスプレイ装置16のスクリーンには、例えば、直前に行われた位相操作により与えられる、実モデルのデータが表示されていて、ユーザに対して位相操作の状態を表示させることができる構成とされている。
【0091】
図21には、コンピュータ装置12の詳細な機能ブロック図を示す。図21に示されたコンピュータ装置12は、まず、認識モデルを作成することを希望する入力モデルの位置座標を、入力モデル格納部20から読み出して、クラスタ・データ作成部26において初期クラスタを作成し、作成されたクラスタの値を使用してクラスタ稜線や、頂点の指標値を算出する。算出されたクラスタ稜線および頂点の位置座標は、クラスタを識別するための識別子と共に、一旦適切なメモリ32にクラスタ・データとして格納される。クラスタ結合部28は、メモリ32に格納されたクラスタ・データを読み出して、クラスタの「色」を決定すると共に、クラスタの結合処理を実行させ、クラスタ・データを結合の程度に応じて更新して、クラスタ・データとして再度メモリ32に格納させる。
【0092】
位相判断部30は、更新されたクラスタ・データをメモリ32から読み込んで、双対関係を使用して隣接グラフを算出させ、ハードディスクなどにより構成された隣接グラフ格納部22へと隣接グラフ・データを格納させている。位相判断部30は、さらに、隣接グラフ格納部22から隣接グラフ・データを読み込んで、局所的整合条件および大局的整合条件の判定を実行させ、その結果を位相操作部34へと渡している。位相操作部34は、まず、局所的条件を満たすように隣接グラフ・データを処理し、処理が終了した後、処理後の隣接グラフ・データを再度位相判断部32へと送り、大局的整合条件の判断を実行する。
【0093】
位相判断部30は、大局的整合条件の判断に際して、受け取った隣接グラフ・データから軸方向グラフを生成するための軸方向グラフ・データ作成部30aを含んでおり、軸方向グラフ・データ格納部22に軸方向グラフ・データを格納させている。位相判断部30は、軸方向グラフ・データを使用して、大局的整合条件を判断し、大局的整合条件が満たされていない場合には、対応する隣接グラフ・データを位相操作部34へと読み込ませ、大局的整合条件を満足させるように隣接グラフ・データを分割処理させている。分割処理された隣接グラフ・データは、隣接グラフ・データ格納部22へと格納され、データが更新される。その後、更新された隣接グラフ・データは、クラスタ結合部28が読み出して、局所的整合条件および大局的整合条件を満足したクラスタ・データを作成し、再度クラスタ結合処理部へと、整合条件の改善されたクラスタ・データを渡して処理を実行させている。
【0094】
図22は、本発明における位相判断処理および位相操作処理の結果を概略的に示した図である。本発明の処理は、認識モデルとして位相的に整合性のある解を列挙的に生成する。これは、整合性条件充足の位相操作(後述する局所的操作と大域的な「ノードの分割」操作)を適用する場合に、複数通りの操作が適用できることに起因する。1つの不整合な状態(クラスタ分け)に対して複数通りの改善方法があるとき、方針として、各々の方法を適用した別々の状態を作る。このため、図22に示すように状態はツリー状に発展してゆき、位相的な不整合が解消されたところ(ハッチングにより示したノード)で枝は止まる。
【0095】
この過程で施される位相操作はどれも不整合を解消する方向に作用するので、ツリーが無限に大きくなることはない。また、枝の長さは加えた位相操作の数を示すので、位相的にあまり原型からと離れたクラスタ分けを避ける意味で、枝の長さを制限することもできる。いずれにせよ現実の問題で発生する不整合は少数なので、ツリーが巨大になることはない。
【0096】
図23は、本発明の方法にしたがって、認識モデルの作成段階ごとに、作成される形状を示した図である。処理のために使用する入力モデルは、大局的な不整合性を有する、図24に示した入力モデルと同一である。本発明の方法にしたがって、大局的な不整合性を解消するべく、面が分割されており、良好な構造メッシュへの分割が可能とされているのがわかる。
【0097】
本発明の処理により生成された整合性のあるクラスタ分けの集合は、一連の位相操作によって生成できるクラスタ分けをすべて含んでいる。したがってその中から、幾何的に最適なもの(近似度の高い認識モデルを構成できるもの)を、コンピュータ装置におけるグラフィカルな対話処理を使用して選択することができる。
【0098】
【発明の効果】
また、形状モデルの表面を構成する要素3角形(及び4角形)をクラスタ分けして認識モデルの位相を構築する従来の方法は整合性の保証ができず、そのためメッシュ生成の処理が進まなくなる問題があった。本手法では、クラスタ分けの位相的構造を、隣接グラフと軸方向グラフという2つのグラフによって抽象化し、ノードとアークに与えた属性を利用して条件判定を行うことで、局所的および大域的な整合性の判定と原因箇所を特定することができる。
【0099】
さらに、局所的・大局的な不整合の両方について、隣接グラフ上での一連の操作を適用することで、整合条件を満たす位相構造を機械的に得る方法を示した。これらの方法によって、位相的整合性を保証された認識モデルの候補解を複数示すことができる。このため、ユーザは、位相の問題に煩わされずに、幾何的な基準だけを考えて1つの解に絞り込むことができ、また幾何的な絞込みの自動化が実現すれば、全体を通した自動化も期待できる。
【0100】
提案した判定および修正操作は、クラスタ分けの途中においても適用可能である。これらを早い段階で適用することにより、より望ましいクラスタ分けに到達する可能性を高めることもできる。
【0101】
<先行技術文献のリスト>
・高橋宏明ほか、形状認識を用いた三次元自動要素分割システムの開発、日本機械学会論文集(A編), 59(569), pp. 279-285, 1993.
・Reza Taghavi, Automatic Block Decomposition Using Fuzzy Logic Analysis, 9th International Meshing Roundtable, pp. 187-192, 2000.
・David R. White, et. al, Automated Hexahedral Mesh Generation by Virtual Decomposition, 4th International Meshing Roundtable, 1995.
・土井淳ほか,6面体メッシュ生成のための認識モデル構築手法−クラスタリングによる位相生成−, グラフィクスとCADシンポジウム
・山田敦ほか,6面体メッシュ生成のための自己干渉のない認識モデル構築手法,日本応用数理学会2002年度年会,2002/9/19-21.
【図面の簡単な説明】
【図1】 本発明において使用するクラスタの一部(a)と、当該部分の隣接グラフ(b)とを示した図。
【図2】 面クラスタf1、f2と、稜線Lとからなる形状の凹凸を決定するための概略的な方法を示した図。
【図3】 図2に示した形状について得られる凹凸関係を示した図。
【図4】 本発明の形状作成方法の処理の概略的なフローチャート。
【図5】 本発明の形状作成方法におけるステップS28の局所的条件の判断を行うための条件を、実モデルを使用して限定的に示した図。
【図6】 本発明における位相検査・操作処理の詳細なフローチャート。
【図7】 図3で列挙したクラスタの頂点周りの並び方を、隣接グラフでのパターンに置換したデータを使用して実行する処理を示した概略図。
【図8】 位相操作1〜位相操作2の処理の概略を示した図。
【図9】 実際のモデルを使用した位相操作3の概略的な処理手順を示した図。
【図10】 位相不整合を含む実モデルの例を示した図。
【図11】 大域的不整合のある実モデルにおいて生じる具体的な不都合の場合の実施の形態を示した図。
【図12】 図11に示した認識モデルのk方向(縦方向)に着目した軸方向グラフの実施の形態を示した図。
【図13】 両端のノードが同一である辺が存在する軸方向グラフの実施の形態を示した図。
【図14】 一般的に軸方向グラフを作る手順を示した図。
【図15】 図11の実モデルを使用して作成したk方向の軸方向グラフを示した図。
【図16】 許容される分割方法(a)と、許容されない分割方法(b)を示した図。
【図17】 ノード分割の一般的なパターンを、図11に示した実施の形態を使用して説明した図。
【図18】 アーク(K2、J2)を選択して、ノードK2をK2’とK2”とIxとに分解した様子を示した図。
【図19】 本発明の出力結果の別の実施形態を示した図。
【図20】 本発明の形状作成装置の概略的な機能ブロック図。
【図21】 コンピュータ装置12の詳細な機能ブロック図。
【図22】 本発明における位相判断処理および位相操作処理の結果を概略的に示した図。
【図23】 本発明の方法にしたがって、認識モデルの作成段階ごとに、作成される形状を示した図。
【図24】 従来手法において整合性のある認識モデルの生成に失敗する具体的な例を示した図。
【符号の説明】
10…形状作成装置、12…コンピュータ装置、14…入力装置、16…ディスプレイ装置、18…ネットワーク、20…入力モデル格納部、22…隣接グラフ格納部、24…軸方向グラフ格納部、26…クラスタ・データ作成部、28…クラスタ結合部、30…位相判断部、32…メモリ、34…位相操作部
Claims (13)
- コンピュータ装置を使用する3次元物体のための形状作成装置であって、前記形状作成装置は、
3次元の入力モデル・データを格納する入力モデル格納部と、
前記入力モデル・データに面クラスタを割当てクラスタ・データを作成し、メモリから前記クラスタ・データを読み出して前記面クラスタの結合処理を実行させ、格納するクラスタ結合部と、
前記クラスタ結合部が作成した前記クラスタ・データの双対関係から計算される隣接グラフ・データを格納する隣接グラフ格納部と、
前記隣接グラフ格納部から前記隣接グラフ・データを読み出し、読み出された隣接グラフ・データの位相を、前記隣接グラフ・データの面分およびアークについての局所的位相整合条件で許容されるパターンを使用して判断し、前記局所的位相整合条件で許容された、前記隣接グラフ・データについて前記入力モデル・データの稜線長さを整合させる大局的位相整合条件を判断する位相判断部と、
前記位相判断部の判断に応答し、前記局所的整合条件が前記パターンにより許容されるまで隣接グラフ・データのノード・データまたはアーク・データを変更し、前記局所的整合条件が満たされた前記隣接グラフ・データについて前記大局的位相整合条件が満足されるように面クラスタを分割して前記隣接グラフ・データを更新し、前記隣接グラフ格納部に格納する位相操作部とを含み、
前記隣接グラフ・データは、正多面体の面クラスタを頂点に置換し、隣り合っていた面について前記置換された頂点をノードとし、前記ノードの隣接関係をアークとして識別して作成される、形状作成装置。 - 前記位相判断部は、前記隣接グラフ・データを読み出して、前記隣接グラフ・データの前記アークおよび前記ノードの位相を前記局所的整合条件を参照して判断し、前記判断に応答して、前記局所的整合条件を満たすように前記ノードおよび前記アークの向きを更新するために該当する隣接グラフ・データを前記位相操作部に取得させる、請求項1に記載の形状作成装置。
- 前記位相判断部は、前記隣接グラフ・データの所定のノードから他のノードに到達するまでに横断するアークを識別して前記アークの横断方向を示す方向識別データと、前記所定のノードと前記他のノードとを対応させた軸方向グラフ・データを作成する軸方向グラフ・データ作成部と、作成された軸方向グラフ・データを格納する軸方向グラフ格納部とを含み、前記軸方向グラフ・データを使用して、前記隣接グラフ・データの前記ノード間に前記入力モデル・データの面間に対応する正整数値の前記稜線長さの分割数を割り当てられないことを判断する、請求項2に記載の形状作成装置。
- 前記位相判断部は、前記軸方向グラフ格納部から前記軸方向グラフ・データを読み出して、前記方向識別データを使用して前記ノードの間におけるサイクルまたはループの存在を判断し、前記サイクルまたはループの存在により前記正整数値の前記分割数を割り当てられないと判断した場合、該当する隣接グラフ・データを前記位相操作部に取得させて前記大局的位相整合条件を修正する、請求項3に記載の形状作成装置。
- 前記位相操作部は、取得した隣接グラフ・データのノード・データまたはアーク・データを、前記立方体の積み重ねとして前記入力モデル・データを表現する場合に前記隣接グラフ・データの面分および前記アークについての局所的位相整合条件で許容されるパターンを指定するトポロジー・テーブルを参照して隣接グラフ・データを変更し、前記変更した隣接グラフ・データで前記隣接グラフ格納部のデータを更新する、請求項1に記載の形状作成装置。
- 前記クラスタ結合部は、前記面クラスタの結合処理に対応して前記クラスタ・データを更新し、前記位相判断部は、更新された前記クラスタ・データを読み込んで、隣接グラフ・データを計算する、請求項5に記載の形状作成装置。
- コンピュータ装置を3次元物体のための形状作成装置として制御するための制御方法であって、前記制御方法は、前記コンピュータ装置に対して、
入力モデル格納部が、3次元の入力モデル・データを格納するステップと、
クラスタ結合部が、前記入力モデル・データに面クラスタを割当てクラスタ・データを作成し、メモリから前記クラスタ・データを読み出して前記面クラスタの結合処理を実行し、格納するステップと、
隣接グラフ格納部が、前記クラスタ結合部が作成した前記クラスタ・データを読み出して前記クラスタ・データの双対関係から計算される隣接グラフ・データを格納するステップと、
位相判断部が、前記隣接グラフ格納部から前記隣接グラフ・データを読み出し、読み出された隣接グラフ・データの位相を、前記隣接グラフ・データの面分およびアークについての局所的位相整合条件で許容されるパターンを使用して判断し、前記局所的位相整合条件で許容された、前記隣接グラフ・データについて前記入力モデル・データの稜線長さを整合させる大局的位相整合条件を判断するステップと、
位相操作部が、前記位相判断部の判断に応答し、前記局所的整合条件が前記パターンにより許容されるまで隣接グラフ・データのノード・データまたはアーク・データを変更し、前記局所的整合条件が満たされた前記隣接グラフ・データについて前記大局的位相整合条件が満足されるように面クラスタを分割して前記隣接グラフ・データを更新し、前記隣接グラフ格納部に格納するステップとを含み、前記隣接グラフ・データは、正多面体の面クラスタを頂点に置換し、隣り合っていた面について前記置換された頂点をノードとし、前記ノードの隣接関係をアークとして識別して作成される、制御方法。 - 前記位相判断部は、前記隣接グラフ・データを読み出して、前記隣接グラフ・データの前記アークおよび前記ノードの位相を前記局所的整合条件を参照して判断させるステップと、
前記判断に応答して、前記局所的整合条件を満たすように前記ノードおよび前記アークの向きを更新するために該当する隣接グラフ・データを前記位相操作部に取得させるステップと
を実行させる、請求項7に記載の方法。 - 前記位相判断部は、軸方向グラフ・データ作成部を含み、前記制御方法は、前記軸方向グラフ・データ作成部に対して、
前記隣接グラフ・データの所定のノードから他のノードに到達するまでに横断するアークを識別して前記アークの横断方向を示す方向識別データを計算させるステップと、
前記所定のノードと前記他のノードとを対応させ、前記隣接グラフ・データの前記ノード間に前記入力モデル・データの面間に対応する正整数値の前記稜線長さの分割数を割り当てられないことを判断するための軸方向グラフ・データを作成し、作成された軸方向グラフ・データを格納させるステップと
を実行させる、請求項8に記載の方法。 - 前記位相判断部に対して、
軸方向グラフ格納部から前記軸方向グラフ・データを読み出して、前記方向識別データを使用して前記ノードの間におけるサイクルまたはループの存在を判断するステップと、
前記サイクルまたはループの存在により前記正整数値の前記分割数を割り当てられないと判断した場合、該当する隣接グラフ・データを前記位相操作部に取得させて前記大局的整合条件を修正させるステップと
を実行させる、請求項9に記載の方法。 - 前記位相操作部に対して、
取得した隣接グラフ・データのノード・データまたはアーク・データを、前記立方体の積み重ねとして前記入力モデル・データを表現する場合に前記隣接グラフ・データの面分および前記アークについての局所的位相整合条件で許容されるパターンを指定するトポロジー・テーブルを参照して隣接グラフ・データを変更させるステップと、
前記変更した隣接グラフ・データで前記隣接グラフ格納部のデータを更新させるステップと、
を実行させる請求項10に記載の方法。 - さらに、前記クラスタの結合処理に対応して前記クラスタ・データを更新し、前記位相判断部は、更新された前記クラスタ・データを読み込んで、隣接グラフ・データを計算するステップを含む
請求項11に記載の方法。 - コンピュータ装置に対して請求項7〜請求項12のいずれか1項に記載の制御方法を実行させる、コンピュータ実行可能なプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165609A JP3968056B2 (ja) | 2003-06-10 | 2003-06-10 | 形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム |
US10/819,272 US20050021318A1 (en) | 2003-06-10 | 2004-04-07 | Shape generation apparatus, control method to cause computer apparatus to operate as shape generation apparatus and computer executable program to allow computer apparatus to execute the control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165609A JP3968056B2 (ja) | 2003-06-10 | 2003-06-10 | 形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005004382A JP2005004382A (ja) | 2005-01-06 |
JP3968056B2 true JP3968056B2 (ja) | 2007-08-29 |
Family
ID=34074223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003165609A Expired - Fee Related JP3968056B2 (ja) | 2003-06-10 | 2003-06-10 | 形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050021318A1 (ja) |
JP (1) | JP3968056B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060047436A (ko) * | 2004-04-23 | 2006-05-18 | 니혼 소아 가부시키가이샤 | 2차원 및 3차원 도형의 데이터를 컴퓨터의 메모리에기록하는 데이터 구조, 프로그램 및 기록 매체 |
JP4654020B2 (ja) * | 2004-12-21 | 2011-03-16 | 富士通株式会社 | メッシュデータ作成装置,メッシュデータ作成プログラム,同プログラムを記録したコンピュータ読取可能な記録媒体及びメッシュデータ作成方法並びに構造解析装置 |
EP1995673A1 (en) * | 2007-05-21 | 2008-11-26 | Archi. Con.Des Inventions (Uk) Limited | Computer-aided design apparatus |
CN101944239B (zh) * | 2009-07-08 | 2016-03-23 | 富士通株式会社 | 三维模型分割方法、装置以及包含该装置的图像处理系统 |
JP5772446B2 (ja) * | 2010-09-29 | 2015-09-02 | 株式会社ニコン | 画像処理装置及び画像処理プログラム |
US9734040B2 (en) * | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
WO2015071777A1 (en) | 2013-11-13 | 2015-05-21 | Concurix Corporation | Software component recommendation based on multiple trace runs |
CN107247836B (zh) * | 2017-06-05 | 2019-09-10 | 中国水利水电科学研究院 | 基于拓扑识别的三维接触单元生成方法 |
US20200082026A1 (en) * | 2018-09-06 | 2020-03-12 | International Business Machines Corporation | Graph data processing |
EP3675059B1 (en) * | 2018-12-29 | 2022-09-14 | Dassault Systèmes | Extracting a feature tree from a mesh |
CN112115076A (zh) * | 2019-06-20 | 2020-12-22 | 慧荣科技股份有限公司 | 使用者数据的加解密装置及方法 |
US11217014B2 (en) * | 2020-02-06 | 2022-01-04 | The Boeing Company | Topological surface detector |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175806A (en) * | 1989-03-28 | 1992-12-29 | Computer Design, Inc. | Method and apparatus for fast surface detail application to an image |
US5255352A (en) * | 1989-08-03 | 1993-10-19 | Computer Design, Inc. | Mapping of two-dimensional surface detail on three-dimensional surfaces |
EP0526881B1 (en) * | 1991-08-06 | 2002-02-06 | Canon Kabushiki Kaisha | Three-dimensional model processing method, and apparatus therefor |
US6858826B2 (en) * | 1996-10-25 | 2005-02-22 | Waveworx Inc. | Method and apparatus for scanning three-dimensional objects |
US6246784B1 (en) * | 1997-08-19 | 2001-06-12 | The United States Of America As Represented By The Department Of Health And Human Services | Method for segmenting medical images and detecting surface anomalies in anatomical structures |
-
2003
- 2003-06-10 JP JP2003165609A patent/JP3968056B2/ja not_active Expired - Fee Related
-
2004
- 2004-04-07 US US10/819,272 patent/US20050021318A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2005004382A (ja) | 2005-01-06 |
US20050021318A1 (en) | 2005-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3968056B2 (ja) | 形状作成装置、コンピュータ装置を形状作成装置として動作させるための制御方法、該制御方法をコンピュータ装置に対して実行させるためのコンピュータ実行可能なプログラム | |
Guo et al. | A survey on algorithms of hole filling in 3D surface reconstruction | |
JP3195498B2 (ja) | 三次元形状作成方法及びその装置 | |
CN101944239B (zh) | 三维模型分割方法、装置以及包含该装置的图像处理系统 | |
EP1710720B1 (en) | Method of computer-aided design of a modeled object having several faces | |
JP3962361B2 (ja) | 位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システム | |
KR101741402B1 (ko) | 평행 지오데식 곡선들에 의해 모델링되는 부품의 설계 | |
US4845651A (en) | Geometric modelling system | |
JP4381743B2 (ja) | 境界表現データからボリュームデータを生成する方法及びそのプログラム | |
JP2753085B2 (ja) | 形状モデリング方法及びその装置 | |
JPH0658677B2 (ja) | 対話式図形探索置換方法 | |
Lee et al. | Perceptual organization of 3D surface points | |
CN113077553B (zh) | 一种基于表面属性的三维模型分割方法 | |
WO2012071688A1 (zh) | 基干感知信息的三维模型形狀分析方法 | |
JP2020115339A (ja) | メッシュからの特徴木の抽出 | |
JP2002024306A (ja) | 解析モデルデータ作成方法及び装置並びに解析モデルデータ作成用プログラムを記録した記録媒体。 | |
CN111428811B (zh) | 一种单环多边形自相交模式识别及处理方法 | |
Barbieri et al. | An interactive editor for curve-skeletons: SkeletonLab | |
JP2003330976A (ja) | 境界データの内外判定方法とそのプログラム | |
JP2020115338A (ja) | 生メッシュからの構造化3dモデルの生成 | |
CN112967333B (zh) | 基于等级划分的复杂点云骨架提取方法及系统 | |
Cignoni et al. | Zeta: A resolution modeling system | |
US7236168B2 (en) | Method for removing blends in B-rep models | |
Melero et al. | On the Interactive 3D Reconstruction of Iberian Vessels. | |
EP2751723A1 (en) | Notch blends in brep models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060919 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060928 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070418 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070529 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20070529 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070601 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |