特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法
【課題】特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法を提供する。
【解決手段】本発明は、特定のシンメトリーオペレーション(20)に関してシンメトリックなパラメトリック曲面を生成する方法を対象にしており、メッシュパターン(15a)を識別するステップと、当該シンメトリーオペレーションにしたがってメッシュパターンから当該シンメトリーオペレーションに関してシンメトリックな基本メッシュを生成するステップと、特定の順序で当該基本メッシュを基本のフェースを定義する細分割されたメッシュに細分割するステップと、当該フェースにしたがってパラメトリック曲面(16s)を形成するステップと、を含む。本発明は、本発明に係る方法を実装するコンピュータプログラムおよびコンピュータシステムをさらに考慮する。
【解決手段】本発明は、特定のシンメトリーオペレーション(20)に関してシンメトリックなパラメトリック曲面を生成する方法を対象にしており、メッシュパターン(15a)を識別するステップと、当該シンメトリーオペレーションにしたがってメッシュパターンから当該シンメトリーオペレーションに関してシンメトリックな基本メッシュを生成するステップと、特定の順序で当該基本メッシュを基本のフェースを定義する細分割されたメッシュに細分割するステップと、当該フェースにしたがってパラメトリック曲面(16s)を形成するステップと、を含む。本発明は、本発明に係る方法を実装するコンピュータプログラムおよびコンピュータシステムをさらに考慮する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ支援設計(CAD)の分野に関する。より詳細には、コンピュータによるパラメトリック曲面の生成、特に、特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面の生成に関する。
【背景技術】
【0002】
CATIA(登録商標)という商標の下で本件特許出願人によって提供されているシステムおよびプログラムなど、多くのシステムおよびプログラムがパーツ(parts)の設計やアセンブリの分野の市場に提供されている。これらのいわゆるコンピュータ支援設計(CAD)システムによって、システムの利用者は、パーツの複雑な3次元(3D)モデルやアセンブリを組み立てることができ、あるいは、巧みに扱うことができる。
【0003】
3Dコンピュータグラフィックスを生成することには、さまざまなステップが含まれる。例えば、モデリングやプロセスのステップ(基本メッシュの細分割(subdivision)、パラメトリック曲面への変換、レンダリング・・・)などが含まれる。
【0004】
アセンブリのモデルを生成するために、多くの相異なるモデリング技法を使用することができる。これらの技法には、ソリッドモデリング、ワイヤーフレームモデリング、およびサーフェスモデリングが含まれる。ソリッドモデリング技法は、トポロジーな3Dモデルを提供するが、この3Dモデルは、例えば、相互に連結したエッジやフェースの集合である。形状の観点から言うと、3Dのソリッドモデルは、クローズドスキン(closed skin)を定義するトリムまたはデリミタされた曲面(サーフェス)の集合である。トリムされた曲面は、エッジによって境界をつけられたトポロジーなフェースに相当する。クローズドスキンは、パーツのマテリアルを用いて満たされた(filled)3D空間の境界をつけられたリージョンを定義する。他方、単一の3Dのラインの集合としてモデルを表すためにワイヤーフレームモデリング技法を使用することができ、外面(exterior surface)の集合としてモデルを表すためにサーフェスモデリングを使用することができる。CADシステムは、これらのモデリング技法と、パラメトリックモデリング技法などの他のモデリング技法とを組み合わせることが可能である。したがって、CADシステムは、エッジまたはラインを用いて、ある場合にはフェースを用いて、モデル化されたオブジェクトの表現を提供する。モデル化されたオブジェクトは多くのエッジやラインを含むが、これらはさまざまな方法、例えば、非一様有理Bスプライン(NURBS)、ベジエ曲線、または曲線を表現する他のアルゴリズムにおいて表現することができる。
【0005】
プロセスのステップに関して、CADプログラムは、オブジェクトのモデリング中に基本メッシュ(base mesh)を使用することが一般的である。基本メッシュは、三角形や四角形などの基本ポリゴンが相互に連結されたネットワークである。
【0006】
基本メッシュは、所要のモデルを得るためにデザインを行う際にシステム利用者によって変更されて、NURBSやBスプラインなどの複数のパラメトリック曲面に変換される。
【0007】
モデル化されたオブジェクトに関して、現在の消費者向けシステムやプログラムは、スムーズな流線型の形状、平面(plane)、箱(box)、および円柱(cylinder)などの単一の解析的な曲面を超える複雑さによって特徴づけられる。そのようなシステムやプログラムは、代わりに、スプライン曲線および曲面などを用いてモデリングされることが典型的である。プロダクトを設計する場合、オブジェクトがスムーズであることは主要な関心事である。結果的に、3Dモデリングを行う人は、スムーズな曲面を生成するツールを各種取り合わせて有していることが通常である。
【0008】
本明細書の以下の説明において、「曲率(curvature)」という用語は、曲線または曲面が完全な直線または平面からの曲がり具合を示す幾何学用語として用いられる。曲率は、通常、局所の曲率半径(osculating radius)の逆数(inverse)として測定される。したがって、曲線がわずかに曲がっているだけの場合、曲線は曲率が小さく、半径が大きいが、一方、曲線が鋭く曲がっている場合、曲線は曲率が大きく、半径は小さい。曲率が円弧(arc)、円、またはそれらに基づく曲面について一定である間、スプライン(およびスプラインに基づく曲面)などの、より複雑な曲線の曲率は、曲線の長さにしたがって継続的に変化する。
【0009】
さらに、「連続(continuity)」という用語は、曲線に沿ったところにある点の間、または曲面上の点の間のオフセット、および隣接する(abutting)曲線や曲面との間のオフセット(または、関連(relationship))を表現するために使用される。そのような関連は、通常、C0、C1、およびC2という異なるレベルの連続に分類される。C0は、(隣接する曲線/曲面の場合のように)位置の連続のみを示す。この場合、曲線はC0におけるねじれ(kink)を示す。同様に、曲面はC0の継ぎ目(seam)に沿ったところにある尖ったクリース(crease)を有する。隣接する曲線と曲面は互いに接しているが、曲率は類似していない。C1は、接線連続(tangent continuity)を用いて増加した連続性のレベルを示し、C2は、曲率連続性(curvature continuity)を増加する。曲線の両端の点における曲率が等しい場合、その曲線は継ぎ目のない状態(seamless)である。
【0010】
また、当該技術分野において知られているように、数学的な観点でわずかに異なるG0、G1、およびG2の「幾何的」連続への参照が本明細書において実際になされている。例えば、それぞれの曲線のn番目の導関数が結合部で「同一方向(same direction)」を有する場合(マトリックスによって定義されたバランス(proportionality)が十分であり、平等(equality)が必要とされていない)、2つの結合曲線(joining curve)の線分(segment)は、Gn連続を有する。結果として、逆数(reciprocal)は必ずしも真ではないが、CnはGnを暗示する。
【0011】
サーフェスモデリングの中核的な手法の中では、通常、区分的に低次の代数曲面または暗黙パッチ(implicit patch)が使用される。パッチは、通常、制御点の格子を介して制御されるパラメトリック基本曲面であるが、それによってパッチは変形する場合がある。パッチを使用する際の重要な点は、パッチの境界に沿って幾何的連続を保証するために、パッチが適切に結合されなければならないということである。通常、パッチのセルは再帰的に細分割され、局所の曲率を所定の連続の要件(requirement)に適合させることは可能である。
【0012】
(コンピュータグラフィックスなどの)多数のアプリケーションにおいて、Catmull−Clarkなどの細分割曲面は、基本メッシュから派生する曲面の近似値を求めるために使用される。具体的には、Catmull−Clark細分割曲面は、滑らかな自由曲面(free-form surface)モデリングの標準である。細分割曲面は、任意のメッシュから、すなわち任意のトポロジーを用いて滑らかな曲面を生成するために使用される。細分割曲面は、無限の改良プロセスの極限(limit)として定義される。キーコンセプトは、リファインメントである。つまり、初期のポリゴンメッシュを繰り返しリファインすることによって、結果として生じた細分割曲面に収束する一連のメッシュが生成される。新しい細分割を行う各ステップは、より多くのポリゴン要素を有し、より滑らかな新しいメッシュを生成する。具体的には、Catmull−Clark細分割曲面を、双三次補間(bi-cubic)一様B−スプラインの一般化したものとして見ることができる。重要な点は、生成されたメッシュは主に四角形から成り、通常頂点(ordinary vertex)の期待されたバレンス(valence)(または調整番号)は4であるということである。
【発明の開示】
【発明が解決しようとする課題】
【0013】
CADの分野においては、細分割曲面はパラメータで表せないので、一般に受け入れられていない。その結果、CADシステムは、細分割曲面をNURBSパッチなどの一連の曲面パッチから成るパラメトリック曲面に変換するために、変換アルゴリズムを提供する。
【0014】
それでもなお、結果として生じるパラメトリック曲面は、品質の劣る連続が発生する。確かに、生成された曲面は、曲率が連続的であるいずれの場所においても体系的ではない。
【0015】
このことは、シンメトリーオペレーション(symmetry operation)に関して対称的になる確定的な(final)曲面を得るために、当該シンメトリーオペレーションにしたがって最初の細分割曲面を対称的にしようとする場合に特に起こる可能性がある。確かに、そのような場合においては、既存のソリューションでは、最初の細分割曲面とその対応する曲面とが接合する点において曲率連続ではない曲面になってしまう。
【0016】
したがって、特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法についての必要性があり、当該方法によれば、特定の幾何的連続Gi(例えば、G1またはG2)の要件は当該曲面を生成する際に考慮される。
【課題を解決するための手段】
【0017】
本発明は、特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法を提案するが、その方法は、以下に述べるステップを含む。
すなわち、当該方法は、
メッシュパターンを識別するステップと、
シンメトリーオペレーションにしたがってメッシュパターンから、当該シンメトリーオペレーションに関してシンメトリックな基本メッシュを生成するステップと、
特定の順序で当該基本メッシュを基本となるフェースを定義する細分割されたメッシュに細分割するステップと、
当該フェースにしたがってパラメトリック曲面を形成するステップと
を含む。
【0018】
本発明の他の実施形態において、本発明に係る方法は、以下に記載する特徴の1つまたは複数を含む。
【0019】
メッシュパターンは、複数のバーテックスを有し、上記生成する方法は、シンメトリーオペレーションにしたがってメッシュパターンのいくつかのバーテックスを修正するステップと、基本メッシュを形成するために当該シンメトリーオペレーションにしたがって基本メッシュと、メッシュパターンの中の未修正のバーテックスを求める(obtain)ステップとを含む。
【0020】
当該修正するステップにおいて、バーテックスは廃棄(discard)される。
【0021】
当該修正するステップにおいて、バーテックスは一部廃棄され、一部適切な位置に調整される(adjust)。
【0022】
当該シンメトリーオペレーションは、プレーンに関して鏡映対称性(reflection symmetry)である。そして、上記メッシュパターンのバーテックスは、パターンフェースを定義するエッジによって結合される。そのプレーンはパターンフェースのいくつかと交差する。
【0023】
未修正のバーテックスは、プレーンの一方の側に完全に位置づけられるパターンフェースに含まれる。廃棄されたバーテックスは、プレーンの他方の側に完全に位置づけられるパターンフェースに含まれる。
【0024】
細分割されたメッシュは、フェースを定義するエッジによって結合された複数のバーテックスを有し、本発明による方法は、当該形成するステップにおいて、細分割されたメッシュを、パラメトリック曲面を形成する基本パラメトリック曲面の各々に変換するステップを含む。
【0025】
当該パラメトリック曲面は、所要の幾何的連続Giを有するように形成される。
【0026】
当該基本メッシュは、Catmull−Clark細分割規則により細分割される。
【0027】
本発明による方法は、当該メッシュパターン、当該シンメトリーオペレーションの表現及びパラメトリック曲面を表示するために適合されたグラフィカルユーザインターフェースを提供するステップをさらに含む。
【0028】
当該メッシュパターン、当該シンメトリーオペレーションの表現及びパラメトリック曲面は、3次元で表示される。
【0029】
本発明による方法は、当該メッシュパターンを識別する前に、メッシュパターンのユーザによる修正やシンメトリーオペレーションを受信するステップをさらに含み、前述した生成するステップ、細分割するステップ、および形成するステップはリアルタイムに実行される。
【0030】
本発明は、コンピュータプログラムおよびそのプログラムを含む記録媒体も提案するが、そのプログラムや記録媒体は、本発明の方法に係る各ステップを実行するために設計された符号化手段を含む。また、本発明は、コンピュータシステムも提案するが、そのコンピュータシステムは、当該方法に係る各ステップを実行することに係るステップを実行するために設計された手段を含む。
【0031】
さらに、本件特許出願人の発明者の知識の及ぶ限りでは、一般にパラメトリック曲面の生成に関連するいくつかの特徴およびバリエーションを提案する一方、従来技術は、本明細書に記載される本発明の非常に有利な特徴のいくつかを開示していない。
【発明を実施するための最良の形態】
【0032】
本発明を具現するシステムは、限定する意図ではない例および添付図面を参照して、説明される。
【0033】
本発明の詳細な説明に入る前に、上述の従来技術における多くのコンセプトや難点を図1乃至図6を参照して例証する。
【0034】
メッシュ15およびその結果として生じる細分割曲面16は、図1において表現される。このメッシュ15は、バーテックス11などのバーテックス(バーテックスはメッシュにおける点(頂点)である)と、エッジ12などのエッジ(エッジは2つのバーテックスを結合する線である)と、少なくとも3つまたはそれ以上のエッジの環状のもの(loop)である、フェース13などのフェースとを備える。
【0035】
CADにおいて、多くの3Dオブジェクトは少なくとも1つの方向に沿って対称的である。すなわち、1つの軸または1つのプレーンに関して対称的である。シンメトリーの制御を可能にする、CADソフトウェアにおける機能性を提供することは結果的に必要である。
【0036】
オブジェクトのシンメトリーは、その特有の特徴である。特定のオペレーションが、当該オブジェクトに適用される場合に、そのオブジェクトを変化させない場合に、当該オブジェクトは、特定のオペレーションに関して対称的である。言ってみれば、サブシステムaが当該オペレーションによってサブシステムbから得られる場合、またはその逆にサブシステムbが当該オペレーションによってサブシステムaから得られる場合、サブシステムaおよびbは特定のオペレーションに関して互いに対称的である。例えば、初期のオブジェクトaから始めて、当該シンメトリーオペレーションを用いて、オブジェクトaおよびオブジェクトbのそれぞれから構成される、最終的なオブジェクトabを得ようとする場合がある。このようにして、最終的なオブジェクトのデザインは、オブジェクトaのみを必要とし、これはシステムを利用する者にとって実質的により少ない時間ですむことになる。
【0037】
例えば、当該技術分野において使用される通常のシンメトリーオペレーションは、鏡映シンメトリー(ミラーシンメトリーまたはミラー画像シンメトリーとも呼ばれる)であり、鏡映(reflection)に関してシンメトリーであることを含む。鏡映シンメトリーは、最も一般的なシンメトリーの種類の1つである。例えば、2D(2次元)においては、シンメトリーについての1つの軸があり、一方、3D(3次元)においては、シンメトリーについてのプレーンがある。1つのオブジェクトの変換された画像は、ミラーシンメトリーと呼ばれる。初期のオブジェクト(例えば、点またはバーテックスから構成されるオブジェクト)から変換されたオブジェクトを得ることは、例えば変換行列を含む場合がある十分に確立された数学的なプロセスである。
【0038】
以下の説明においては、主に、プレーンに対して、3D(3次元)における鏡映シンメトリー(鏡映対称性)に言及する。しかしながら、本発明は、2Dまたは3Dにおけるシンメトリーの軸に関する鏡映などのさまざまな種類の変換のためのアプリケーションを発見する場合があることに留意すべきである。シンメトリーオペレータは、さらに変換、回転(rotation)、または回映(rotoreflection)を含む場合がある。
【0039】
図2は、(細分割の結果として生じる)パラメトリック曲面24の一例を示す。メッシュ15aの内部において、パッチまたは基本パラメトリック曲面29は、形状24上に現れている。この例においては、半分の形状24は、シンメトリープレーン20に相当するシンメトリーオペレーションにしたがって対称化された形状である。通常、本発明に係るシステムの利用者は、半分の形状のデザイン(例えば、全てのパッチ29を備える半分の形状24)を行う。このデザインを完了することまたは修正することは、細分割をトリガする。そして、プレーン20に関して曲面24の対称である補完的なサーフェス26を得るために、シンメトリーオペレータは呼び出される。上述したように、細分割を使用して半分の形状24を生成すること及びシンメトリーを使用することは、シンメトリープレーンに対して交差する線において不連続25を有する形状28を生じさせる。このような不連続は細分割手法に固有の(intrinsic)により発生する。
【0040】
確かに、形状28がメッシュ15aによって定義されるならば、メッシュのバーテックス11がシンメトリープレーン20の周りにどのように位置づけられるかということは所定の幾何的連続を得るために重要である。
【0041】
例えば、半分の形状24が表現されている図3および図4を考える(図2と比較するとy軸について回転されている)。
【0042】
図3のようなある状況においては、バーテックスの配置は、プレーン20の法線ではない、すなわち、法線ベクトル34´と同一線上にはない、プレーン20に接する横断面における接線方向32につながるが、これによって不連続が生じる。
【0043】
さらに、接線連続が達成可能な状況(図4参照)がある。図4において、バーテックスの位置は、接線連続34がプレーン20の法線である。
【0044】
しかしながら、メッシュの複雑さに依存して、あらゆる場合に十分な接線連続を達成することは可能ではない。例えば、図5が示すのは、外見上は非常に単純であるけれども、接線連続を達成することを可能にさせないメッシュ15aの一例である。
【0045】
したがって、細分割を使用して半分の形状を生成することは、最良の接線連続において形状28を生成するが、曲率連続は達成できない。図6において説明するように、このことは、シンメトリープレーンにおける曲率曲線(curvature curve)60の不連続61という結果になり、この業界における必要条件を満たしていない。
【0046】
このような欠点を克服するために、本発明は、単一の細分割において初期オブジェクト及び変換されたオブジェクトの両方の制御を提案する。この制御は、図7において説明するように、例えば、シンメトリープレーンにおいて固有の接触("intrinsic tangency")および曲率連続を可能にする。
【0047】
より詳細に説明すると、本発明は、メッシュパターン15a(“a”は非対称を表す)を最初に識別することを提案する。当該メッシュパターン15aはまだ細分割されておらず、対称化されるべき初期の入力オブジェクト(例えば、図8乃至図9の形状24)に相当する。そして、当該メッシュパターンから、シンメトリーオペレーション20にしたがって、基本メッシュ15s(“s”は対称を表す)を生成する。基本メッシュ15sは、シンメトリーオペレーション20に関して対称になるように変換される。所要のシンメトリーが得られたら、基本メッシュは、所定の順序で、細分割メッシュに細分割される(細分割基本メッシュは、図面を簡略化するために示していない)。最終的には、当業者には知られているように、基本メッシュの初期フェースからパラメトリック曲面16sが生成される。細分割のプロパティによって、上述のスキームは、細分割アルゴリズムの結果通常提供される連続が保存されるということが保証される。図7、図8または図9の例において、単一の細分割を使用して対称的な形状28を生成することは、シンメトリープレーンにおいて曲率連続71を提供し、この連続のレベルは細分割アルゴリズムに固有のものである。例えば、対称化後などのユーザの介入は、不連続を修正することは必要としない。対称的な細分割メッシュを手作業で生成することは、通常のメッシュの複雑さのために達成することがいずれにせよ困難である。
【0048】
本発明による方法の各ステップは、図8乃至図13を参照してより詳細に説明される。
【0049】
図8を参照すると、例えば、オペレータの入力は以下のとおりである。
−初期のメッシュパターンのバーテックス(エッジによって結合される)を適当な位置に置く
−シンメトリーオペレータを特定する(ここでは、シンメトリープレーン20)
−対称化されるメッシュの側(side)を特定する(ここでは、半分の形状24に相当する)
【0050】
当該アルゴリズムは入力メッシュがシンメトリープレーン20と完全にまたは局所的に交差し、または少なくともシンメトリープレーン20に接触することが好ましい(図8において示すように)。プレーン20を初期の形状24の横断面に完全にマッチングすること(図8の場合のように)は、実際には要求されていない。
【0051】
ユーザが入力を検証した後、場合によりユーザ編集可能なパラメータにしたがって、出力は自動的に生成される。結果を即座に表現することが可能になるように、出力はリアルタイムに生成されることが好ましい。また、対称化の最後の結果は、グラフィカルユーザインターフェースにおいて表示されたままであることが可能である。したがって、半分の細分割メッシュの制御の単純さは、最終的な形状の描写の不足によって損なわれる。
【0052】
図9を参照すると、対称化オペレータの最初の出力は対称化された基本メッシュであり、その後、パラメトリック曲面の細分割及び生成につながる。
【0053】
一実施形態において、オペレータは2つのステップにおいて実際に進めることができる。まず第1に、オペレータは半分の形状24の初期のメッシュパターン15aを分析し、必要であれば、メッシュパターン15aを若干作り直す。そして第2に、オペレータは半分のメッシュパターン15aを対称化することを進め、単一のメッシュ15sを生成するために両側を結合する。対称化された基本メッシュ15sが得られると、基本メッシュ15sの細分割を細分割メッシュにすることが続く。
【0054】
当該アルゴリズムが初期のメッシュパターンのバーテックスのいくつかをどのように修正することができるかは、図10および図11を参照して説明される。
【0055】
図10を参照すると、ユーザは上述したように入力を検証すると仮定する。ユーザは初期のメッシュパターン15aのバーテックスを適当な位置に置き、プレーン20に相当するシンメトリーオペレータおよび対称化される側121を特定する。
【0056】
プレーン20は、入力メッシュ15aと交差する。したがって、バーテックスのいくつか(例えば、簡略化するために領域123に含まれて表現されている)は、残りのバーテックス11Aおよび11Rとは異なって、対称化される側121に明らかに属する。残りのバーテックスの適当な制御を実装することが好ましい。
【0057】
この目的のために、初期のメッシュパターン15aを分析する場合、(当該シンメトリーオペレーション20がユーザによってどのように特定されるのかということにしたがって)入力のバーテックス11Aおよび11Rは修正される必要があるということをオペレータは認識することが可能である。入力メッシュを対称化することは未修正のバーテックス123を単に当てにする。
【0058】
実際には、バーテックスのいくつかを修正することは、最終的な形状において望まない特徴を得ないようにするために役立つように見える。本発明の場合においては、バーテックス11Rは取り除かれることが好ましく、さもなければ、非対称的な特徴が残ってしまう。このバーテックスはオペレータによって対称化され、望ましい形状を若干修正する(側121上の)ミラーバーテックスを生じさせる。その結果、いくつかのバーテックスは廃棄され、または取り除かれることが好ましい。
【0059】
また、入力バーテックス11Aのいくつか、例えば、プレーン20に近接しているバーテックスを適切な位置に調整可能であることが好ましく、このことは実際のユーザの希望するものと近接する対称化されたメッシュを生じさせる一方、望まない特徴を得ることも防止する。
【0060】
一実施形態において、以下のスキームを使用することができる。このスキームは、廃棄される、または調整されるバーテックスを選ぶ実際的な方法を提供する。
−保持されるバーテックス123は、対称化される側121において十分に位置づけられるフェースに属するバーテックスである。
−取り除かれるバーテックスは、シンメトリープレーン20の他方の側において完全にフェースに属するバーテックスであり、また、対称化される側121において唯一のバーテックスを有するフェースに属するバーテックスである。
−調整されるバーテックス11Aは、シンメトリープレーン20と交差するフェースに属する残りのバーテックスである。
【0061】
図11を参照すると、調整されるバーテックスは、例えば、再計算されてシンメトリープレーン20に位置づけられる。このことを達成するために、単純な方法は、当該バーテックスをシンメトリープレーン20に投影する(project)ことである。例えば、エッジを結合する方向を使用することができる。ここで留意すべきは、類似の規則が軸対称の場合において、例えば、バーテックスを軸に投影することができる場合において、または他のシンメトリーオペレーションの場合において構築されているということである。
【0062】
従って、メッシュが得られ、対称化をする状態になっている。後者に基づいて、最後の主要なオペレーションは2つのステップで行うことができる。つまり、
−調整されたメッシュの対称化(図12参照)、および
−結果として生じる対称化されたメッシュの細分割(図13参照)
【0063】
(図12を参照すると)調整されたメッシュの対称化に関しては、(シンメトリープレーン上に位置づけられたバーテックスを除いて)調整されたメッシュのバーテックスP1のそれぞれについて、鏡のように反映されたバーテックスP1´は基本変換行列を使用して計算される。対称的なメッシュ15sがそれによって得られる。
【0064】
図13を参照すると、対称化された単一のメッシュ15sは、該当の細分割されたメッシュおよび細分割曲面16sを計算するために使用される。当該細分割曲面16sは、定義付けによって、細分割アルゴリズムによって提供される幾何的連続を有する(例えば、シンメトリープレーンにおけるG2連続)。
【0065】
細分割されたメッシュのフェースは、それぞれの基本のパラメトリック曲面またはパッチに変換される。このようなスキームは、Catmull−Clarkアルゴリズムに適合し、対称化されたメッシュのトポロジーを維持する。基本のパラメトリック曲面は、所要のシンメトリーを有するパラメトリック曲面を形成する。
【0066】
上述の方法及び変形した方法は、CADソフトウェアに含まれる適切なグラフィカルユーザインターフェース(GUI)内において実装されやすい。当該ソフトウェアおよびGUIは、基本メッシュ、場合によっては細分割され、かつ基本のパラメトリック曲面を3D表示することを可能にしやすい。
【0067】
適切なCADのようなインターフェースは、コンピュータの画面底部および画面両サイドにあるツールバーと同様に標準のメニューバーとして提供されることが可能である。例えば、このようなメニューバー及びツールバーは、ユーザが選択可能な一群のアイコンを含むことが可能であり、当技術分野において知られているように、1つまたは複数のオペレーションや関数と関連付けられている。
【0068】
例えば、このようなアイコンのいくつかは、モデル化されたプロダクトまたはプロダクトのパーツについて編集し、及び/または作業をするために適合されたソフトウェアツールに関連付けられる。問題になっているソフトウェアツールは、ワークベンチ内にグルーピングされることが可能である。さもなければ、各ワークベンチは異なるサブセットのソフトウェアツールを備える。具体的には、これらのワークベンチの1つは、モデル化されたプロダクトの幾何的な特徴を編集するために適した編集用ワークベンチになりうる。オペレーションの際に、設計者は、例えば、プロダクトの一部をプレ選択し、その後、適当なアイコンを選択することによってオペレーション(例:次元、色などを変える)を開始することができる。例えば、典型的なCADオペレーションは、スクリーン上に表示された3Dモデル化されたオブジェクトのパンチング(punching)またはフォールディング(folding)のモデリングである。
【0069】
GUIは、例えば、3D表現と同様に、「特徴木(feature tree)」として表示されたプロダクトに関連するデータを表現することができる。GUIは、さらに様々な種類のグラフィックツール、例えば、オブジェクトの3Dオリエンテーションを促進するツールや編集されたプロダクトのオペレーションのシミュレーションをトリガするツールや表示されたプロダクトの様々なアトリビュートをレンダリングするツールを示すことが可能である。
【0070】
一実施形態の例として、本発明の方法は、ユーザコンピュータおよび1つまたは複数のプロダクトデータ管理(PDM)システムを含むコンピュータネットワークにおいて実装される。ユーザコンピュータは、当該PDMシステムとの通信を行う。PDMシステムは、例えば、ネットワークのバックボーンに位置づけられる。PDMシステムは、場合によっては階層的に相互に関連付けられている非常に多くの電子文書、リレーション、およびデータの管理を可能にする。このようなPDMシステムは、モデル化されたプロダクト、アセンブリ、およびプロダクトのパーツに関連するデータを有するプロダクトライフサイクルデータベースに備わっており、これらは設計者によって編集されやすいものである。複数のユーザは、共同的なやり方で、異なるパーツ/プロダクト/アセンブリについて作業をすることが可能である。
【図面の簡単な説明】
【0071】
【図1】メッシュ及び対応する細分割曲面を示す図である。
【図2】プレーンシンメトリーオペレーションにより対称的にされた半形状のパラメトリック曲面の一例を提供する図である。
【図3】曲率の不連続につながりやすい(対称化前の)パラメトリック曲面の例示的なケースを例示する図である。
【図4】曲率の不連続につながりやすい(対称化前の)パラメトリック曲面の例示的なケースを例示する図である。
【図5】曲率の不連続につながりやすい(対称化前の)パラメトリック曲面の例示的なケースを例示する図である。
【図6】細分割曲面の対称化の後に生じる曲率の不連続を例示する図である。
【図7】図6と同様な基本メッシュパターンから始まる、本発明に係る得られた曲率連続を説明する図である。
【図8】本発明の一実施形態に係るメッシュパターンの対称化を説明する図である。
【図9】本発明の一実施形態に係るメッシュパターンの対称化およびトリムされたパッチを含む結合部において生じる曲率連続を説明する図である。
【図10】対称化の前に初期のメッシュパターンのバーテックスのいくつかを修正するステップを例示する図である。
【図11】対称化の前に初期のメッシュパターンのバーテックスのいくつかを修正するステップを例示する図である。
【図12】図10および図11において説明した修正の後の、基本メッシュパターンの対称化を説明する図である。
【図13】G2連続の要件を満たす、結果として生じる細分割曲面を示す図である。
【符号の説明】
【0072】
11、11A、11R、123、P1´ バーテックス
12 エッジ
13 フェース
15、15a、15s メッシュ
16、16s 細分割曲面
20 シンメトリープレーン
24 パラメトリック曲面
25 不連続
26 補完的なサーフェス
29 基本パラメトリック曲面
32 接線方向
34 接線連続
34´ 法線ベクトル
60 曲率曲線
61 不連続
71 曲率連続
【技術分野】
【0001】
本発明は、コンピュータ支援設計(CAD)の分野に関する。より詳細には、コンピュータによるパラメトリック曲面の生成、特に、特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面の生成に関する。
【背景技術】
【0002】
CATIA(登録商標)という商標の下で本件特許出願人によって提供されているシステムおよびプログラムなど、多くのシステムおよびプログラムがパーツ(parts)の設計やアセンブリの分野の市場に提供されている。これらのいわゆるコンピュータ支援設計(CAD)システムによって、システムの利用者は、パーツの複雑な3次元(3D)モデルやアセンブリを組み立てることができ、あるいは、巧みに扱うことができる。
【0003】
3Dコンピュータグラフィックスを生成することには、さまざまなステップが含まれる。例えば、モデリングやプロセスのステップ(基本メッシュの細分割(subdivision)、パラメトリック曲面への変換、レンダリング・・・)などが含まれる。
【0004】
アセンブリのモデルを生成するために、多くの相異なるモデリング技法を使用することができる。これらの技法には、ソリッドモデリング、ワイヤーフレームモデリング、およびサーフェスモデリングが含まれる。ソリッドモデリング技法は、トポロジーな3Dモデルを提供するが、この3Dモデルは、例えば、相互に連結したエッジやフェースの集合である。形状の観点から言うと、3Dのソリッドモデルは、クローズドスキン(closed skin)を定義するトリムまたはデリミタされた曲面(サーフェス)の集合である。トリムされた曲面は、エッジによって境界をつけられたトポロジーなフェースに相当する。クローズドスキンは、パーツのマテリアルを用いて満たされた(filled)3D空間の境界をつけられたリージョンを定義する。他方、単一の3Dのラインの集合としてモデルを表すためにワイヤーフレームモデリング技法を使用することができ、外面(exterior surface)の集合としてモデルを表すためにサーフェスモデリングを使用することができる。CADシステムは、これらのモデリング技法と、パラメトリックモデリング技法などの他のモデリング技法とを組み合わせることが可能である。したがって、CADシステムは、エッジまたはラインを用いて、ある場合にはフェースを用いて、モデル化されたオブジェクトの表現を提供する。モデル化されたオブジェクトは多くのエッジやラインを含むが、これらはさまざまな方法、例えば、非一様有理Bスプライン(NURBS)、ベジエ曲線、または曲線を表現する他のアルゴリズムにおいて表現することができる。
【0005】
プロセスのステップに関して、CADプログラムは、オブジェクトのモデリング中に基本メッシュ(base mesh)を使用することが一般的である。基本メッシュは、三角形や四角形などの基本ポリゴンが相互に連結されたネットワークである。
【0006】
基本メッシュは、所要のモデルを得るためにデザインを行う際にシステム利用者によって変更されて、NURBSやBスプラインなどの複数のパラメトリック曲面に変換される。
【0007】
モデル化されたオブジェクトに関して、現在の消費者向けシステムやプログラムは、スムーズな流線型の形状、平面(plane)、箱(box)、および円柱(cylinder)などの単一の解析的な曲面を超える複雑さによって特徴づけられる。そのようなシステムやプログラムは、代わりに、スプライン曲線および曲面などを用いてモデリングされることが典型的である。プロダクトを設計する場合、オブジェクトがスムーズであることは主要な関心事である。結果的に、3Dモデリングを行う人は、スムーズな曲面を生成するツールを各種取り合わせて有していることが通常である。
【0008】
本明細書の以下の説明において、「曲率(curvature)」という用語は、曲線または曲面が完全な直線または平面からの曲がり具合を示す幾何学用語として用いられる。曲率は、通常、局所の曲率半径(osculating radius)の逆数(inverse)として測定される。したがって、曲線がわずかに曲がっているだけの場合、曲線は曲率が小さく、半径が大きいが、一方、曲線が鋭く曲がっている場合、曲線は曲率が大きく、半径は小さい。曲率が円弧(arc)、円、またはそれらに基づく曲面について一定である間、スプライン(およびスプラインに基づく曲面)などの、より複雑な曲線の曲率は、曲線の長さにしたがって継続的に変化する。
【0009】
さらに、「連続(continuity)」という用語は、曲線に沿ったところにある点の間、または曲面上の点の間のオフセット、および隣接する(abutting)曲線や曲面との間のオフセット(または、関連(relationship))を表現するために使用される。そのような関連は、通常、C0、C1、およびC2という異なるレベルの連続に分類される。C0は、(隣接する曲線/曲面の場合のように)位置の連続のみを示す。この場合、曲線はC0におけるねじれ(kink)を示す。同様に、曲面はC0の継ぎ目(seam)に沿ったところにある尖ったクリース(crease)を有する。隣接する曲線と曲面は互いに接しているが、曲率は類似していない。C1は、接線連続(tangent continuity)を用いて増加した連続性のレベルを示し、C2は、曲率連続性(curvature continuity)を増加する。曲線の両端の点における曲率が等しい場合、その曲線は継ぎ目のない状態(seamless)である。
【0010】
また、当該技術分野において知られているように、数学的な観点でわずかに異なるG0、G1、およびG2の「幾何的」連続への参照が本明細書において実際になされている。例えば、それぞれの曲線のn番目の導関数が結合部で「同一方向(same direction)」を有する場合(マトリックスによって定義されたバランス(proportionality)が十分であり、平等(equality)が必要とされていない)、2つの結合曲線(joining curve)の線分(segment)は、Gn連続を有する。結果として、逆数(reciprocal)は必ずしも真ではないが、CnはGnを暗示する。
【0011】
サーフェスモデリングの中核的な手法の中では、通常、区分的に低次の代数曲面または暗黙パッチ(implicit patch)が使用される。パッチは、通常、制御点の格子を介して制御されるパラメトリック基本曲面であるが、それによってパッチは変形する場合がある。パッチを使用する際の重要な点は、パッチの境界に沿って幾何的連続を保証するために、パッチが適切に結合されなければならないということである。通常、パッチのセルは再帰的に細分割され、局所の曲率を所定の連続の要件(requirement)に適合させることは可能である。
【0012】
(コンピュータグラフィックスなどの)多数のアプリケーションにおいて、Catmull−Clarkなどの細分割曲面は、基本メッシュから派生する曲面の近似値を求めるために使用される。具体的には、Catmull−Clark細分割曲面は、滑らかな自由曲面(free-form surface)モデリングの標準である。細分割曲面は、任意のメッシュから、すなわち任意のトポロジーを用いて滑らかな曲面を生成するために使用される。細分割曲面は、無限の改良プロセスの極限(limit)として定義される。キーコンセプトは、リファインメントである。つまり、初期のポリゴンメッシュを繰り返しリファインすることによって、結果として生じた細分割曲面に収束する一連のメッシュが生成される。新しい細分割を行う各ステップは、より多くのポリゴン要素を有し、より滑らかな新しいメッシュを生成する。具体的には、Catmull−Clark細分割曲面を、双三次補間(bi-cubic)一様B−スプラインの一般化したものとして見ることができる。重要な点は、生成されたメッシュは主に四角形から成り、通常頂点(ordinary vertex)の期待されたバレンス(valence)(または調整番号)は4であるということである。
【発明の開示】
【発明が解決しようとする課題】
【0013】
CADの分野においては、細分割曲面はパラメータで表せないので、一般に受け入れられていない。その結果、CADシステムは、細分割曲面をNURBSパッチなどの一連の曲面パッチから成るパラメトリック曲面に変換するために、変換アルゴリズムを提供する。
【0014】
それでもなお、結果として生じるパラメトリック曲面は、品質の劣る連続が発生する。確かに、生成された曲面は、曲率が連続的であるいずれの場所においても体系的ではない。
【0015】
このことは、シンメトリーオペレーション(symmetry operation)に関して対称的になる確定的な(final)曲面を得るために、当該シンメトリーオペレーションにしたがって最初の細分割曲面を対称的にしようとする場合に特に起こる可能性がある。確かに、そのような場合においては、既存のソリューションでは、最初の細分割曲面とその対応する曲面とが接合する点において曲率連続ではない曲面になってしまう。
【0016】
したがって、特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法についての必要性があり、当該方法によれば、特定の幾何的連続Gi(例えば、G1またはG2)の要件は当該曲面を生成する際に考慮される。
【課題を解決するための手段】
【0017】
本発明は、特定のシンメトリーオペレーションに関してシンメトリックなパラメトリック曲面を生成する方法を提案するが、その方法は、以下に述べるステップを含む。
すなわち、当該方法は、
メッシュパターンを識別するステップと、
シンメトリーオペレーションにしたがってメッシュパターンから、当該シンメトリーオペレーションに関してシンメトリックな基本メッシュを生成するステップと、
特定の順序で当該基本メッシュを基本となるフェースを定義する細分割されたメッシュに細分割するステップと、
当該フェースにしたがってパラメトリック曲面を形成するステップと
を含む。
【0018】
本発明の他の実施形態において、本発明に係る方法は、以下に記載する特徴の1つまたは複数を含む。
【0019】
メッシュパターンは、複数のバーテックスを有し、上記生成する方法は、シンメトリーオペレーションにしたがってメッシュパターンのいくつかのバーテックスを修正するステップと、基本メッシュを形成するために当該シンメトリーオペレーションにしたがって基本メッシュと、メッシュパターンの中の未修正のバーテックスを求める(obtain)ステップとを含む。
【0020】
当該修正するステップにおいて、バーテックスは廃棄(discard)される。
【0021】
当該修正するステップにおいて、バーテックスは一部廃棄され、一部適切な位置に調整される(adjust)。
【0022】
当該シンメトリーオペレーションは、プレーンに関して鏡映対称性(reflection symmetry)である。そして、上記メッシュパターンのバーテックスは、パターンフェースを定義するエッジによって結合される。そのプレーンはパターンフェースのいくつかと交差する。
【0023】
未修正のバーテックスは、プレーンの一方の側に完全に位置づけられるパターンフェースに含まれる。廃棄されたバーテックスは、プレーンの他方の側に完全に位置づけられるパターンフェースに含まれる。
【0024】
細分割されたメッシュは、フェースを定義するエッジによって結合された複数のバーテックスを有し、本発明による方法は、当該形成するステップにおいて、細分割されたメッシュを、パラメトリック曲面を形成する基本パラメトリック曲面の各々に変換するステップを含む。
【0025】
当該パラメトリック曲面は、所要の幾何的連続Giを有するように形成される。
【0026】
当該基本メッシュは、Catmull−Clark細分割規則により細分割される。
【0027】
本発明による方法は、当該メッシュパターン、当該シンメトリーオペレーションの表現及びパラメトリック曲面を表示するために適合されたグラフィカルユーザインターフェースを提供するステップをさらに含む。
【0028】
当該メッシュパターン、当該シンメトリーオペレーションの表現及びパラメトリック曲面は、3次元で表示される。
【0029】
本発明による方法は、当該メッシュパターンを識別する前に、メッシュパターンのユーザによる修正やシンメトリーオペレーションを受信するステップをさらに含み、前述した生成するステップ、細分割するステップ、および形成するステップはリアルタイムに実行される。
【0030】
本発明は、コンピュータプログラムおよびそのプログラムを含む記録媒体も提案するが、そのプログラムや記録媒体は、本発明の方法に係る各ステップを実行するために設計された符号化手段を含む。また、本発明は、コンピュータシステムも提案するが、そのコンピュータシステムは、当該方法に係る各ステップを実行することに係るステップを実行するために設計された手段を含む。
【0031】
さらに、本件特許出願人の発明者の知識の及ぶ限りでは、一般にパラメトリック曲面の生成に関連するいくつかの特徴およびバリエーションを提案する一方、従来技術は、本明細書に記載される本発明の非常に有利な特徴のいくつかを開示していない。
【発明を実施するための最良の形態】
【0032】
本発明を具現するシステムは、限定する意図ではない例および添付図面を参照して、説明される。
【0033】
本発明の詳細な説明に入る前に、上述の従来技術における多くのコンセプトや難点を図1乃至図6を参照して例証する。
【0034】
メッシュ15およびその結果として生じる細分割曲面16は、図1において表現される。このメッシュ15は、バーテックス11などのバーテックス(バーテックスはメッシュにおける点(頂点)である)と、エッジ12などのエッジ(エッジは2つのバーテックスを結合する線である)と、少なくとも3つまたはそれ以上のエッジの環状のもの(loop)である、フェース13などのフェースとを備える。
【0035】
CADにおいて、多くの3Dオブジェクトは少なくとも1つの方向に沿って対称的である。すなわち、1つの軸または1つのプレーンに関して対称的である。シンメトリーの制御を可能にする、CADソフトウェアにおける機能性を提供することは結果的に必要である。
【0036】
オブジェクトのシンメトリーは、その特有の特徴である。特定のオペレーションが、当該オブジェクトに適用される場合に、そのオブジェクトを変化させない場合に、当該オブジェクトは、特定のオペレーションに関して対称的である。言ってみれば、サブシステムaが当該オペレーションによってサブシステムbから得られる場合、またはその逆にサブシステムbが当該オペレーションによってサブシステムaから得られる場合、サブシステムaおよびbは特定のオペレーションに関して互いに対称的である。例えば、初期のオブジェクトaから始めて、当該シンメトリーオペレーションを用いて、オブジェクトaおよびオブジェクトbのそれぞれから構成される、最終的なオブジェクトabを得ようとする場合がある。このようにして、最終的なオブジェクトのデザインは、オブジェクトaのみを必要とし、これはシステムを利用する者にとって実質的により少ない時間ですむことになる。
【0037】
例えば、当該技術分野において使用される通常のシンメトリーオペレーションは、鏡映シンメトリー(ミラーシンメトリーまたはミラー画像シンメトリーとも呼ばれる)であり、鏡映(reflection)に関してシンメトリーであることを含む。鏡映シンメトリーは、最も一般的なシンメトリーの種類の1つである。例えば、2D(2次元)においては、シンメトリーについての1つの軸があり、一方、3D(3次元)においては、シンメトリーについてのプレーンがある。1つのオブジェクトの変換された画像は、ミラーシンメトリーと呼ばれる。初期のオブジェクト(例えば、点またはバーテックスから構成されるオブジェクト)から変換されたオブジェクトを得ることは、例えば変換行列を含む場合がある十分に確立された数学的なプロセスである。
【0038】
以下の説明においては、主に、プレーンに対して、3D(3次元)における鏡映シンメトリー(鏡映対称性)に言及する。しかしながら、本発明は、2Dまたは3Dにおけるシンメトリーの軸に関する鏡映などのさまざまな種類の変換のためのアプリケーションを発見する場合があることに留意すべきである。シンメトリーオペレータは、さらに変換、回転(rotation)、または回映(rotoreflection)を含む場合がある。
【0039】
図2は、(細分割の結果として生じる)パラメトリック曲面24の一例を示す。メッシュ15aの内部において、パッチまたは基本パラメトリック曲面29は、形状24上に現れている。この例においては、半分の形状24は、シンメトリープレーン20に相当するシンメトリーオペレーションにしたがって対称化された形状である。通常、本発明に係るシステムの利用者は、半分の形状のデザイン(例えば、全てのパッチ29を備える半分の形状24)を行う。このデザインを完了することまたは修正することは、細分割をトリガする。そして、プレーン20に関して曲面24の対称である補完的なサーフェス26を得るために、シンメトリーオペレータは呼び出される。上述したように、細分割を使用して半分の形状24を生成すること及びシンメトリーを使用することは、シンメトリープレーンに対して交差する線において不連続25を有する形状28を生じさせる。このような不連続は細分割手法に固有の(intrinsic)により発生する。
【0040】
確かに、形状28がメッシュ15aによって定義されるならば、メッシュのバーテックス11がシンメトリープレーン20の周りにどのように位置づけられるかということは所定の幾何的連続を得るために重要である。
【0041】
例えば、半分の形状24が表現されている図3および図4を考える(図2と比較するとy軸について回転されている)。
【0042】
図3のようなある状況においては、バーテックスの配置は、プレーン20の法線ではない、すなわち、法線ベクトル34´と同一線上にはない、プレーン20に接する横断面における接線方向32につながるが、これによって不連続が生じる。
【0043】
さらに、接線連続が達成可能な状況(図4参照)がある。図4において、バーテックスの位置は、接線連続34がプレーン20の法線である。
【0044】
しかしながら、メッシュの複雑さに依存して、あらゆる場合に十分な接線連続を達成することは可能ではない。例えば、図5が示すのは、外見上は非常に単純であるけれども、接線連続を達成することを可能にさせないメッシュ15aの一例である。
【0045】
したがって、細分割を使用して半分の形状を生成することは、最良の接線連続において形状28を生成するが、曲率連続は達成できない。図6において説明するように、このことは、シンメトリープレーンにおける曲率曲線(curvature curve)60の不連続61という結果になり、この業界における必要条件を満たしていない。
【0046】
このような欠点を克服するために、本発明は、単一の細分割において初期オブジェクト及び変換されたオブジェクトの両方の制御を提案する。この制御は、図7において説明するように、例えば、シンメトリープレーンにおいて固有の接触("intrinsic tangency")および曲率連続を可能にする。
【0047】
より詳細に説明すると、本発明は、メッシュパターン15a(“a”は非対称を表す)を最初に識別することを提案する。当該メッシュパターン15aはまだ細分割されておらず、対称化されるべき初期の入力オブジェクト(例えば、図8乃至図9の形状24)に相当する。そして、当該メッシュパターンから、シンメトリーオペレーション20にしたがって、基本メッシュ15s(“s”は対称を表す)を生成する。基本メッシュ15sは、シンメトリーオペレーション20に関して対称になるように変換される。所要のシンメトリーが得られたら、基本メッシュは、所定の順序で、細分割メッシュに細分割される(細分割基本メッシュは、図面を簡略化するために示していない)。最終的には、当業者には知られているように、基本メッシュの初期フェースからパラメトリック曲面16sが生成される。細分割のプロパティによって、上述のスキームは、細分割アルゴリズムの結果通常提供される連続が保存されるということが保証される。図7、図8または図9の例において、単一の細分割を使用して対称的な形状28を生成することは、シンメトリープレーンにおいて曲率連続71を提供し、この連続のレベルは細分割アルゴリズムに固有のものである。例えば、対称化後などのユーザの介入は、不連続を修正することは必要としない。対称的な細分割メッシュを手作業で生成することは、通常のメッシュの複雑さのために達成することがいずれにせよ困難である。
【0048】
本発明による方法の各ステップは、図8乃至図13を参照してより詳細に説明される。
【0049】
図8を参照すると、例えば、オペレータの入力は以下のとおりである。
−初期のメッシュパターンのバーテックス(エッジによって結合される)を適当な位置に置く
−シンメトリーオペレータを特定する(ここでは、シンメトリープレーン20)
−対称化されるメッシュの側(side)を特定する(ここでは、半分の形状24に相当する)
【0050】
当該アルゴリズムは入力メッシュがシンメトリープレーン20と完全にまたは局所的に交差し、または少なくともシンメトリープレーン20に接触することが好ましい(図8において示すように)。プレーン20を初期の形状24の横断面に完全にマッチングすること(図8の場合のように)は、実際には要求されていない。
【0051】
ユーザが入力を検証した後、場合によりユーザ編集可能なパラメータにしたがって、出力は自動的に生成される。結果を即座に表現することが可能になるように、出力はリアルタイムに生成されることが好ましい。また、対称化の最後の結果は、グラフィカルユーザインターフェースにおいて表示されたままであることが可能である。したがって、半分の細分割メッシュの制御の単純さは、最終的な形状の描写の不足によって損なわれる。
【0052】
図9を参照すると、対称化オペレータの最初の出力は対称化された基本メッシュであり、その後、パラメトリック曲面の細分割及び生成につながる。
【0053】
一実施形態において、オペレータは2つのステップにおいて実際に進めることができる。まず第1に、オペレータは半分の形状24の初期のメッシュパターン15aを分析し、必要であれば、メッシュパターン15aを若干作り直す。そして第2に、オペレータは半分のメッシュパターン15aを対称化することを進め、単一のメッシュ15sを生成するために両側を結合する。対称化された基本メッシュ15sが得られると、基本メッシュ15sの細分割を細分割メッシュにすることが続く。
【0054】
当該アルゴリズムが初期のメッシュパターンのバーテックスのいくつかをどのように修正することができるかは、図10および図11を参照して説明される。
【0055】
図10を参照すると、ユーザは上述したように入力を検証すると仮定する。ユーザは初期のメッシュパターン15aのバーテックスを適当な位置に置き、プレーン20に相当するシンメトリーオペレータおよび対称化される側121を特定する。
【0056】
プレーン20は、入力メッシュ15aと交差する。したがって、バーテックスのいくつか(例えば、簡略化するために領域123に含まれて表現されている)は、残りのバーテックス11Aおよび11Rとは異なって、対称化される側121に明らかに属する。残りのバーテックスの適当な制御を実装することが好ましい。
【0057】
この目的のために、初期のメッシュパターン15aを分析する場合、(当該シンメトリーオペレーション20がユーザによってどのように特定されるのかということにしたがって)入力のバーテックス11Aおよび11Rは修正される必要があるということをオペレータは認識することが可能である。入力メッシュを対称化することは未修正のバーテックス123を単に当てにする。
【0058】
実際には、バーテックスのいくつかを修正することは、最終的な形状において望まない特徴を得ないようにするために役立つように見える。本発明の場合においては、バーテックス11Rは取り除かれることが好ましく、さもなければ、非対称的な特徴が残ってしまう。このバーテックスはオペレータによって対称化され、望ましい形状を若干修正する(側121上の)ミラーバーテックスを生じさせる。その結果、いくつかのバーテックスは廃棄され、または取り除かれることが好ましい。
【0059】
また、入力バーテックス11Aのいくつか、例えば、プレーン20に近接しているバーテックスを適切な位置に調整可能であることが好ましく、このことは実際のユーザの希望するものと近接する対称化されたメッシュを生じさせる一方、望まない特徴を得ることも防止する。
【0060】
一実施形態において、以下のスキームを使用することができる。このスキームは、廃棄される、または調整されるバーテックスを選ぶ実際的な方法を提供する。
−保持されるバーテックス123は、対称化される側121において十分に位置づけられるフェースに属するバーテックスである。
−取り除かれるバーテックスは、シンメトリープレーン20の他方の側において完全にフェースに属するバーテックスであり、また、対称化される側121において唯一のバーテックスを有するフェースに属するバーテックスである。
−調整されるバーテックス11Aは、シンメトリープレーン20と交差するフェースに属する残りのバーテックスである。
【0061】
図11を参照すると、調整されるバーテックスは、例えば、再計算されてシンメトリープレーン20に位置づけられる。このことを達成するために、単純な方法は、当該バーテックスをシンメトリープレーン20に投影する(project)ことである。例えば、エッジを結合する方向を使用することができる。ここで留意すべきは、類似の規則が軸対称の場合において、例えば、バーテックスを軸に投影することができる場合において、または他のシンメトリーオペレーションの場合において構築されているということである。
【0062】
従って、メッシュが得られ、対称化をする状態になっている。後者に基づいて、最後の主要なオペレーションは2つのステップで行うことができる。つまり、
−調整されたメッシュの対称化(図12参照)、および
−結果として生じる対称化されたメッシュの細分割(図13参照)
【0063】
(図12を参照すると)調整されたメッシュの対称化に関しては、(シンメトリープレーン上に位置づけられたバーテックスを除いて)調整されたメッシュのバーテックスP1のそれぞれについて、鏡のように反映されたバーテックスP1´は基本変換行列を使用して計算される。対称的なメッシュ15sがそれによって得られる。
【0064】
図13を参照すると、対称化された単一のメッシュ15sは、該当の細分割されたメッシュおよび細分割曲面16sを計算するために使用される。当該細分割曲面16sは、定義付けによって、細分割アルゴリズムによって提供される幾何的連続を有する(例えば、シンメトリープレーンにおけるG2連続)。
【0065】
細分割されたメッシュのフェースは、それぞれの基本のパラメトリック曲面またはパッチに変換される。このようなスキームは、Catmull−Clarkアルゴリズムに適合し、対称化されたメッシュのトポロジーを維持する。基本のパラメトリック曲面は、所要のシンメトリーを有するパラメトリック曲面を形成する。
【0066】
上述の方法及び変形した方法は、CADソフトウェアに含まれる適切なグラフィカルユーザインターフェース(GUI)内において実装されやすい。当該ソフトウェアおよびGUIは、基本メッシュ、場合によっては細分割され、かつ基本のパラメトリック曲面を3D表示することを可能にしやすい。
【0067】
適切なCADのようなインターフェースは、コンピュータの画面底部および画面両サイドにあるツールバーと同様に標準のメニューバーとして提供されることが可能である。例えば、このようなメニューバー及びツールバーは、ユーザが選択可能な一群のアイコンを含むことが可能であり、当技術分野において知られているように、1つまたは複数のオペレーションや関数と関連付けられている。
【0068】
例えば、このようなアイコンのいくつかは、モデル化されたプロダクトまたはプロダクトのパーツについて編集し、及び/または作業をするために適合されたソフトウェアツールに関連付けられる。問題になっているソフトウェアツールは、ワークベンチ内にグルーピングされることが可能である。さもなければ、各ワークベンチは異なるサブセットのソフトウェアツールを備える。具体的には、これらのワークベンチの1つは、モデル化されたプロダクトの幾何的な特徴を編集するために適した編集用ワークベンチになりうる。オペレーションの際に、設計者は、例えば、プロダクトの一部をプレ選択し、その後、適当なアイコンを選択することによってオペレーション(例:次元、色などを変える)を開始することができる。例えば、典型的なCADオペレーションは、スクリーン上に表示された3Dモデル化されたオブジェクトのパンチング(punching)またはフォールディング(folding)のモデリングである。
【0069】
GUIは、例えば、3D表現と同様に、「特徴木(feature tree)」として表示されたプロダクトに関連するデータを表現することができる。GUIは、さらに様々な種類のグラフィックツール、例えば、オブジェクトの3Dオリエンテーションを促進するツールや編集されたプロダクトのオペレーションのシミュレーションをトリガするツールや表示されたプロダクトの様々なアトリビュートをレンダリングするツールを示すことが可能である。
【0070】
一実施形態の例として、本発明の方法は、ユーザコンピュータおよび1つまたは複数のプロダクトデータ管理(PDM)システムを含むコンピュータネットワークにおいて実装される。ユーザコンピュータは、当該PDMシステムとの通信を行う。PDMシステムは、例えば、ネットワークのバックボーンに位置づけられる。PDMシステムは、場合によっては階層的に相互に関連付けられている非常に多くの電子文書、リレーション、およびデータの管理を可能にする。このようなPDMシステムは、モデル化されたプロダクト、アセンブリ、およびプロダクトのパーツに関連するデータを有するプロダクトライフサイクルデータベースに備わっており、これらは設計者によって編集されやすいものである。複数のユーザは、共同的なやり方で、異なるパーツ/プロダクト/アセンブリについて作業をすることが可能である。
【図面の簡単な説明】
【0071】
【図1】メッシュ及び対応する細分割曲面を示す図である。
【図2】プレーンシンメトリーオペレーションにより対称的にされた半形状のパラメトリック曲面の一例を提供する図である。
【図3】曲率の不連続につながりやすい(対称化前の)パラメトリック曲面の例示的なケースを例示する図である。
【図4】曲率の不連続につながりやすい(対称化前の)パラメトリック曲面の例示的なケースを例示する図である。
【図5】曲率の不連続につながりやすい(対称化前の)パラメトリック曲面の例示的なケースを例示する図である。
【図6】細分割曲面の対称化の後に生じる曲率の不連続を例示する図である。
【図7】図6と同様な基本メッシュパターンから始まる、本発明に係る得られた曲率連続を説明する図である。
【図8】本発明の一実施形態に係るメッシュパターンの対称化を説明する図である。
【図9】本発明の一実施形態に係るメッシュパターンの対称化およびトリムされたパッチを含む結合部において生じる曲率連続を説明する図である。
【図10】対称化の前に初期のメッシュパターンのバーテックスのいくつかを修正するステップを例示する図である。
【図11】対称化の前に初期のメッシュパターンのバーテックスのいくつかを修正するステップを例示する図である。
【図12】図10および図11において説明した修正の後の、基本メッシュパターンの対称化を説明する図である。
【図13】G2連続の要件を満たす、結果として生じる細分割曲面を示す図である。
【符号の説明】
【0072】
11、11A、11R、123、P1´ バーテックス
12 エッジ
13 フェース
15、15a、15s メッシュ
16、16s 細分割曲面
20 シンメトリープレーン
24 パラメトリック曲面
25 不連続
26 補完的なサーフェス
29 基本パラメトリック曲面
32 接線方向
34 接線連続
34´ 法線ベクトル
60 曲率曲線
61 不連続
71 曲率連続
【特許請求の範囲】
【請求項1】
特定のシンメトリーオペレーション(20)に関してシンメトリックなパラメトリック曲面を生成する方法であって、
メッシュパターン(15a)を識別するステップと、
前記シンメトリーオペレーションにしたがってメッシュパターンから、前記シンメトリーオペレーションに関してシンメトリックな基本メッシュを生成するステップと、
特定の順序で前記基本メッシュを基本のフェースを定義する細分割されたメッシュに細分割するステップと、
前記フェースにしたがってパラメトリック曲面(16s)を形成するステップと
を備えることを特徴とする方法。
【請求項2】
前記メッシュパターンは複数のバーテックスを有し、
前記生成するステップは、
前記シンメトリーオペレーションにしたがって前記メッシュパターンのいくつかのバーテックス(11A、11R)を修正するステップと、
基本メッシュを形成するために前記シンメトリーオペレーションにしたがって基本メッシュと、メッシュパターンの中の未修正のバーテックスとを求めるステップと
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記修正するステップにおいて、バーテックスが廃棄されることを特徴とする請求項2に記載の方法。
【請求項4】
前記修正するステップにおいて、バーテックスが一部廃棄され(11R)、一部適切な位置に調整されることを特徴とする請求項2に記載の方法。
【請求項5】
前記シンメトリーオペレーションはプレーン(20)に関して鏡映対称性であり、
前記メッシュパターンのバーテックスはパターンフェースを定義するエッジによって結合され、前記プレーンは前記パターンフェースのいくつかと交差することを特徴とする請求項3または4に記載の方法
【請求項6】
前記未修正のバーテックスは前記プレーンの一方の側に完全に位置付けられるパターンフェース(123)に属し、
前記廃棄されたバーテックス(11R)は前記プレーンの他方の側に完全に位置付けられるパターンフェースに属することを特徴とする請求項5に記載の方法。
【請求項7】
前記細分割されたメッシュはフェースを定義するエッジによって結合された複数のバーテックスを有し、
前記形成するステップにおいて、
細分割されたメッシュのフェースを、前記パラメトリック曲面(16s)を形成する基本パラメトリック曲面の各々に変換するステップをさらに含むことを特徴とする請求項1乃至6のいずれかに記載の方法。
【請求項8】
前記パラメトリック曲面は所要の幾何的連続Giを有するように形成されることを特徴とする請求項7に記載の方法。
【請求項9】
前記基本メッシュは、Catmull−Clark細分割規則により細分割されることを特徴とする請求項8に記載の方法。
【請求項10】
前記メッシュパターン、前記シンメトリーオペレーションの表現、および前記パラメトリック曲面を表示するために適合されたグラフィカルユーザインターフェースを提供するステップをさらに備えることを特徴とする請求項1乃至9のいずれかに記載の方法。
【請求項11】
前記メッシュパターン、前記シンメトリーオペレーションの表現、および前記パラメトリック曲面は、3次元で表示されることを特徴とする請求項10に記載の方法。
【請求項12】
前記メッシュパターンを識別するステップを行う前に、
前記メッシュパターンについてのユーザによる修正または前記シンメトリーオペレーションを受信するステップをさらに含み、
前記生成するステップ、細分割するステップ、および形成するステップはリアルタイムに実行されることを特徴とする請求項1乃至11のいずれかに記載の方法。
【請求項13】
請求項1乃至12のいずれかによるステップを実装するために設計された符号化手段を含むことを特徴とするコンピュータプログラム。
【請求項14】
請求項1乃至12のいずれかによるステップを実装するために設計された手段を含むことを特徴とするコンピュータシステム。
【請求項1】
特定のシンメトリーオペレーション(20)に関してシンメトリックなパラメトリック曲面を生成する方法であって、
メッシュパターン(15a)を識別するステップと、
前記シンメトリーオペレーションにしたがってメッシュパターンから、前記シンメトリーオペレーションに関してシンメトリックな基本メッシュを生成するステップと、
特定の順序で前記基本メッシュを基本のフェースを定義する細分割されたメッシュに細分割するステップと、
前記フェースにしたがってパラメトリック曲面(16s)を形成するステップと
を備えることを特徴とする方法。
【請求項2】
前記メッシュパターンは複数のバーテックスを有し、
前記生成するステップは、
前記シンメトリーオペレーションにしたがって前記メッシュパターンのいくつかのバーテックス(11A、11R)を修正するステップと、
基本メッシュを形成するために前記シンメトリーオペレーションにしたがって基本メッシュと、メッシュパターンの中の未修正のバーテックスとを求めるステップと
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記修正するステップにおいて、バーテックスが廃棄されることを特徴とする請求項2に記載の方法。
【請求項4】
前記修正するステップにおいて、バーテックスが一部廃棄され(11R)、一部適切な位置に調整されることを特徴とする請求項2に記載の方法。
【請求項5】
前記シンメトリーオペレーションはプレーン(20)に関して鏡映対称性であり、
前記メッシュパターンのバーテックスはパターンフェースを定義するエッジによって結合され、前記プレーンは前記パターンフェースのいくつかと交差することを特徴とする請求項3または4に記載の方法
【請求項6】
前記未修正のバーテックスは前記プレーンの一方の側に完全に位置付けられるパターンフェース(123)に属し、
前記廃棄されたバーテックス(11R)は前記プレーンの他方の側に完全に位置付けられるパターンフェースに属することを特徴とする請求項5に記載の方法。
【請求項7】
前記細分割されたメッシュはフェースを定義するエッジによって結合された複数のバーテックスを有し、
前記形成するステップにおいて、
細分割されたメッシュのフェースを、前記パラメトリック曲面(16s)を形成する基本パラメトリック曲面の各々に変換するステップをさらに含むことを特徴とする請求項1乃至6のいずれかに記載の方法。
【請求項8】
前記パラメトリック曲面は所要の幾何的連続Giを有するように形成されることを特徴とする請求項7に記載の方法。
【請求項9】
前記基本メッシュは、Catmull−Clark細分割規則により細分割されることを特徴とする請求項8に記載の方法。
【請求項10】
前記メッシュパターン、前記シンメトリーオペレーションの表現、および前記パラメトリック曲面を表示するために適合されたグラフィカルユーザインターフェースを提供するステップをさらに備えることを特徴とする請求項1乃至9のいずれかに記載の方法。
【請求項11】
前記メッシュパターン、前記シンメトリーオペレーションの表現、および前記パラメトリック曲面は、3次元で表示されることを特徴とする請求項10に記載の方法。
【請求項12】
前記メッシュパターンを識別するステップを行う前に、
前記メッシュパターンについてのユーザによる修正または前記シンメトリーオペレーションを受信するステップをさらに含み、
前記生成するステップ、細分割するステップ、および形成するステップはリアルタイムに実行されることを特徴とする請求項1乃至11のいずれかに記載の方法。
【請求項13】
請求項1乃至12のいずれかによるステップを実装するために設計された符号化手段を含むことを特徴とするコンピュータプログラム。
【請求項14】
請求項1乃至12のいずれかによるステップを実装するために設計された手段を含むことを特徴とするコンピュータシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2008−27445(P2008−27445A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【外国語出願】
【出願番号】特願2007−187568(P2007−187568)
【出願日】平成19年7月18日(2007.7.18)
【出願人】(500102435)ダッソー システムズ (52)
【氏名又は名称原語表記】DASSAULT SYSTEMES
【住所又は居所原語表記】9,quai Marcel Dassault, BP 310 92156 Suresnes Cedex, FRANCE
【Fターム(参考)】
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2007−187568(P2007−187568)
【出願日】平成19年7月18日(2007.7.18)
【出願人】(500102435)ダッソー システムズ (52)
【氏名又は名称原語表記】DASSAULT SYSTEMES
【住所又は居所原語表記】9,quai Marcel Dassault, BP 310 92156 Suresnes Cedex, FRANCE
【Fターム(参考)】
[ Back to top ]