JP4664402B2 - 適応的サンプル距離フィールド生成方法及びその装置 - Google Patents

適応的サンプル距離フィールド生成方法及びその装置 Download PDF

Info

Publication number
JP4664402B2
JP4664402B2 JP2008231977A JP2008231977A JP4664402B2 JP 4664402 B2 JP4664402 B2 JP 4664402B2 JP 2008231977 A JP2008231977 A JP 2008231977A JP 2008231977 A JP2008231977 A JP 2008231977A JP 4664402 B2 JP4664402 B2 JP 4664402B2
Authority
JP
Japan
Prior art keywords
distance
cells
subdivision
cell
adaptive sample
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
Application number
JP2008231977A
Other languages
English (en)
Other versions
JP2009064447A (ja
Inventor
ロナルド・エヌ・ペリー
サラ・エフ・フリスケン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Research Laboratories Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Research Laboratories Inc
Publication of JP2009064447A publication Critical patent/JP2009064447A/ja
Application granted granted Critical
Publication of JP4664402B2 publication Critical patent/JP4664402B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Radar Systems Or Details Thereof (AREA)

Description

本発明は、概して、オブジェクトの形状をモデル化するコンピュータベースの方法の分野に関し、特に、モデル記述からサンプリングされた距離フィールドを生成することに関する。
現実的なデジタル化モデルの設計は、特に、モデルが人間(現実または想像の)、動物および漫画のキャラクタ等のキャラクタを表す場合、アニメーション業界にとっての主な課題である。アニメーションアーティストは、概して、2つの制作方法を単独でまたは組合せて採用する。1つの方法では、粘土のような伝統的な媒体から模型を彫像し、その後それをデジタル化する。他の方法では、MAYA、SoftImage、3DStudioMax、FormZおよびHoudini等のいくつかの商用またはカスタムコンピュータ化モデリングシステムのうちの1つを使用してモデルを作成する。
粘土は、表現力に富むため大抵のアニメーションアーティストが選択する媒体であり、粘土を用いる作業は直観的に行うことができる。理想的なモデリング媒体として粘土に改良を加えることは困難である。粘土ベースのデジタルモデルを設計するための標準的な手法には、粘土模型を彫像することと、模型をデジタル化または走査することによりデジタルモデルを生成することと、が含まれる。オブジェクトを走査し走査データからサーフェスモデルを生成するシステムは大量にある。
しかしながら、粘土で彫像しその後その粘土模型をデジタル化することには、デジタルアニメーションに対しいくつかの制限がある。スキャナおよびデジタイザは解像度に固有の限界を有し、遮蔽されたまたは届き難いサーフェスをデジタル化することができず、雑音を受け易いため、デジタル化プロセスにおいて多くの細部が喪失される可能性があることに留意することが重要である。このため、粘土の利点のいくつかは、走査プロセスにおいて失われる。さらに、粘土モデルを長期保存することは困難である。しかしながら、走査モデルは、粘土模型の幾何学的構造に対し優れた一次近似をもたらすことができ、その後それらはコンピュータベースモデリングシステムにより拡張されることが可能である。このため、いかなるモデリングシステムも入力として走査データを受入れることが重要である。
大抵の従来技術によるコンピュータ化モデリングシステムは、一般に、モデルの形状を表現するために、ポリゴン、非一様有理Bスプライン(non-uniform rational B-spline(NURBS))または他の平面サーフェスの細分割(サブディビジョン、subdivision)を使用する。しかしながら、3つの表現すべてに限界がある。
ポリゴンモデルには、特にサーフェスが非常に湾曲しているか、テクスチャ加工されているかまたは鮮鋭なエッジを含む場合、詳細なサーフェスを表現するために多数の頂点が必要である。これにより、ポリゴンを用いたモデル生成および編集が厄介で時間のかかるものとなる。NURBSは位相的に制限があるため、複雑な形状を形成するためには繋ぎ合せられなければならない。これは、非常に多くの技術的なおよびインタフェースの課題をもたらす。DeRose他による「Subdivision surfaces in character animation」, Proc.SIGGRAPH'98, pp.85〜94, 1998を参照のこと。平面サーフェスの細分割はNURBSのような同じ位相的制限を受けないが、形状変化の制御と編集中の細部の追加が困難である。他の問題として、これらモデリング技術はすべて、サーフェス表現のみである。すなわち、モデルは中空のシェルに過ぎず、内側部分に関しては何も分からない。
さらに悪いことには、サーフェス表現のスカルプティング(suculpting)は、モデルを「隙間の無い(watertight)」ものでなくする可能性がある。例えば、解像度の異なるNURBSを接合する場合の継ぎ目が、分離して厄介な裂け目および穴を形成する可能性がある。これは、隙間の無い完成品を製作する前にスカルプティングされたモデルを注意深く調べて編集しなければならないことを意味する。隙間の無いモデルは、ステレオリソグラフィを含む高速プロトタイピングテクノロジ等のいくつかのアプリケーションに対して重要である。
すべてのコンピュータ化モデリングシステムは、通常、制御頂点を操作することによって編集を行う。これには、細部が必要とされる場所にモデルが十分な制御頂点を有することを確実にするために、先見性および注意深い計画と共にかなりの熟練および忍耐が必要である。これらの理由のために、コンピュータ化モデリングシステムは、粘土の直観的で表現力に富む性質には及ばない。
操作をより直観的にするために、大抵のモデリングシステムは、ユーザが、コンピュータ実現(デジタル)スカルプティング(sculpting)ツールを使用して制御頂点群と対話することができるようにする。例えば、MAYA Artisanでは、NURBSモデルは、制御頂点群を操作するブラシツールを介して変更される。サーフェスをプッシュし、プルし、平滑化し、消去する操作は周知であり、ブラシツールは、その中心の周りの影響が低減する範囲において制御頂点に作用することができ、その結果、スカルプティングされた形状が滑らかになる。スカルプティングされたサーフェスの細部の量は、スカルプティングツールの領域における制御頂点の数によって決まる。より精密な制御には、NURBSサーフェスのさらなる細分割が必要であり、その結果システムの反応が悪くなりモデルが大きくなる。しばしば、メッシュ細分割がユーザによって制御され事前設定される。それは、ツール選択かまたはスカルプティングされたサーフェスの細部に適応しない。このため、所望の領域において他の領域のサーフェスを過度に細分割することなく細部を表現するために、かなりの先見性と計画とが必要である。
SoftImageは、Wyvill他により「Animating soft objects」、the Visual Computer、2(4):235〜242、1986において述べられているような「メタボール」テクノロジに類似した、「メタクレイ(Meta-Clay)」と呼ばれるスカルプティングインタフェースを提供する。メタクレイは、有機的なスカルプティングされたオブジェクトをモデル化するための密度ベースの表現である。この表現は、ブロブ形状を作成し、エッジ、コーナまたは細部を表現しない。
パラメトリックモデルのスカルプティングは、Fowlerによる「Geometric manipulation of tensor product surfaces」、Proc. of the 1992 Symposium on Interactive 3D Graphics, pp.101〜108, 1992と、Khodakovsky他による「Fine Level Feature Editing for Subdivision Surfaces」、ACM Solid Modeling Symposium, 1999と、Terzopoulos他による「Dynamic NURBS with geometric constraints for interacive sculpting」、ACM Transactions On Graphics, 13(2), pp.103〜136, 1994と、に述べられている。しかしながら、これらの各々には、上述した限界のいくつかがあり、いずれも、アニメーション業界に対して要求される品質であるスカルプティングされた結果に達成しない。
ポリゴン、NURBSおよび他のサーフェス細分割表現の問題に対処するために、ボリュメトリック(volumetric)データ構造を使用することができる。これらデータ構造は、パラメトリックに、あるいは例えばレーザまたは他の測距技術かまたはモデル化されるオブジェクトを取込むスキャナを使用するサンプリング技術により、生成することができる。ボリュメトリックデータは、モデルの外部部分と内部部分との両方を表現することができる。そして、ボリュメトリックデータは、デジタルスカルプティングツールを提供することによってスカルプティングされる。それらスカルプティングツールは、それらがボリューム(volume)と対話する場所の近くのサンプル値を変更する。これらの理由のため、サンプルボリュームは、デジタルクレイに対しデータ構造としてより見込みがある。
FreeFormは、ボリュメトリックモデルをスカルプティングする商用システムである。FreeFormは、フォースフィードバックを使用することによりスカルプティング時にユーザに触覚を提供する、3自由度触覚型入力装置を含む。モデルは、定期的にサンプリングされる強度値として表現される。これは、達成することができる細部の量を大幅に制限し、過度な容量のメモリを必要とする。例えば、最低限のシステムでも512MBのランダムアクセスメモリ(RAM)が必要である。強度値は、スカルプティングされたモデルにおけるエイリアシングアーティファクトを低減するためにローパスフィルタリングされることが可能であり、その結果、ボリュメトリックスカルプティングシステムにおいて一般的な平滑化されたエッジと曲線的なコーナとがもたらされる。
標準ハードウェアレンダリングエンジンを利用するために、Lorensen他により「Marching Cubes:A High Resolution 3D Surface Construction Algorithm」、Proc.SIGGRAPH'87, pp.163〜169、1987において述べられているような方法を使用して、ボリュメトリックモデルをポリゴンモデルに変換することができる。しかしながら、ボリュームサイズが大きいため、マーチングキューブは、過度な数の三角形を作成し、グラフィクスレンダリングパイプラインにおいて対話性を制限するメモリオーバロードおよびボトルネックをもたらす。
Avila他による「A haptic interaction method of volume visualization」、Proc.IEEE Visualization '96, pp.197〜204, 1996と、Baerentzenによる「Octree-based volume sculpting Proc. Late Breaking Hot Topics」、IEEE Visualization '98, pp.9〜12, 1998と、Galyean他による「Sculpting:An Interactive Volumetric Modeling Technique」、Proc. SIGGRAPH'91, pp.267〜274, 1991と、Wang他による「Volume sculpting」、1995 Symposium on Interactive 3D Graphics, ACM SIGGRAPH, pp.151〜156, 1995と、を含む、ボリュームベースのスカルプティングシステムを説明する多数の刊行物がある。
しかしながら、これらシステムには各々、大容量メモリ要求、ボリュームサイズによって決定される固定解像度およびソフトエッジ等、上述した制限のうちのいくつかを欠点として持つ。その結果、かかるシステムは、ハイエンドデジタルアニメーション業界にはほとんど役に立たない。
Industrial Light and Magic(ILM)およびPixar他、最新技術のデジタルスタジオは、アニメーション化されたキャラクタ等、アニメートデジタルモデルを設計するために使用することができるスカルプティングシステムに対し、3つの基本的な要求を有する。アニメ制作者およびアーティストは、デジタルクレイ、すなわち本物の粘土の特性(すなわち、平滑な表面と非常に精密な細部とを共に表現する能力において表現力に富み、スカルプティングを行うために直観的であり、操作が容易であり、ユーザ入力に応答性がよい)と、アンドゥし、スクリプトし、複製し、デジタルアニメーションシステムに統合し、永久的に格納する能力を含むデジタル媒体の利点と、を有する媒体を望む。スカルプティング方法は、標準コンピュータハードウェアにおいて対話速度で実行することができるべきであり、システムは、現行のアニメーション製作パイプラインに適合しなければならない。すなわち、システムは、クレイ模型から標準3D表現または3D走査データを読出し、それらパイプラインに互換性のあるモデルを出力することができなければならない。
従来技術によるデータ構造およびモデリングシステムの制限とアニメーション業界のニーズとは、Frisken他により「Adaptively Sampled Distance Fields: A General Representation of Shape for Computer Graphics」、Proc. SIGGRAPH 2000, pp.249〜254, 2000において述べられているように、適応的にサンプリングされた距離フィールド(adaptively sampled distance field(ADF))(以下、適応的サンプル距離フィールド(ADF)とする)の導入によって部分的に対処された。
そこでは、ADFが紹介され、ADFを生成し、レンダリングし、スカルプティングする基本的な方法が説明され、ADFを使用することができる多数のアプリケーションが列挙されている。利点として、ADFは、オブジェクトの細部を表現するために要求されるだけのデータのみを格納する。
伝統的に、距離フィールドは、距離として表現されスカラ値としてメモリに格納されることが可能である。距離は、オブジェクトのサーフェスへの最短距離を指定する。距離に符号が付される場合、その符号を用いて、オブジェクトの内部と外部とを識別することができる。0の距離値はサーフェスを表す。
オブジェクトの形状を適応的にサンプリングし、そのサンプリングされた距離値を効率的に処理するために空間的階層に格納することにより、適応的サンプル距離フィールド(ADF)を生成することができる。
そして、サンプル値から、ADFにおける任意の点の距離を再構成し、それらを、レンダリングまたはスカルプティング等のコンピュータ化された処理のために使用することができる。適応的サンプリングを使用することにより、細部の領域における高サンプリングレートと、距離フィールドが平滑に変化する場所での低サンプリングレートと、が可能になる。このため、ADFは、過度なメモリ要求無しに高精度を可能にする。
Frisken他は、ADFの基本的なスカルプティング手順を論じ、ADFを生成しレンダリングする方法を概説している。しかしながら、多くの態様において、従来技術によるADF操作方法は、アニメーション業界が要求するような製作システムには不適当である。
特に、ボトムアップ生成方法には、非常に多くのメモリと非常に多くの距離計算とが必要であり、トップダウン方法には、八分木(octree)における近傍セルの時間のかかる探索と、距離値の不要な反復再計算と、が必要である。両方法とも、セルおよび距離値の空間的および時間的メモリ一貫性が乏しい。これらメモリおよび処理制限は、生成することができるADFレベルの最大数に対し実際的な制限を加える。
ADFをレンダリングするために、従来技術によるレイキャスティング法は、デスクトップPentium(登録商標)クラスシステム上のわずかなローカルアップデートに対しては十分に高速である。しかしながら、レイキャスティングは、既知のように、ハンドヘルド機器の組込みプロセッサ等、ローエンドシステムでのローカルアップデートには非常に低速であり、パン撮り、回転およびズーム等のカメラまたはビュー変さらに対してはひどく不十分である。さらに、従来技術によるADF操作方法は、(1)デジタルスカルプティングに対して使い勝手のよいユーザインタフェースに対応しておらず、(2)ADFをポリゴン等の標準グラフィカル表現に変換する効率的な方法を提供しておらず、(3)オブジェクトのサーフェスにおける距離値以外の距離値を訂正するいかなる方法も提供しておらず、(4)ハードウェア加速をサポートしておらず、(5)編集中は別々のステップのみをサポートする。
しかしながら、ADFはまだ、十分に改良することができる場合、デジタルスタジオのニーズを満たす上質のスカルプティングシステムと使用するための適当なデータ構造であり得る。ADFは、エンタテイメント業界に対し多数の利点を有する。例えば、ADFは、ボリュームおよびサーフェスを単一表現に統合し、それにより製作システムが要求する独立した表現の数を潜在的に低減する。さらに、ADFは、モデルの個々の部品を別々にモデル化し、後に合せて接合することができるように、単純な構成的立体幾何(constructive solid geometry(CSG))演算によって結合することができる。この特徴は、新たなモデルおよびキャラクタを迅速かつ容易に設計するためにモデル部品のライブラリとフィーチャとを保持することにより、モデル設計中の製作コストを低減することができる。
本発明は、適応的サンプル距離フィールド(ADF)を使用することにより、ユーザが、デジタル化されたモデルのサーフェスに対してスカルプティングツールを方向付けて配置している間により優れた制御を行うことができるようにする、革新的なボリュメトリックスカルプティングシステムを提供する。距離値は、スカルプティングツールを制約するために使用され、制御頂点は、モデルの編集中に三角形に対する領域ベースの変換に対して使用される。さらに、スカルプティングされたモデルは、常に、厄介な裂け目および穴が無く、「隙間のない(watertight)」ものになる。
また、本発明は、メモリ要求を低減し、より適切なメモリ一貫性を提供し、計算コストを低減する、高度のモデル生成および編集方法も提供する。また、複数回のスカルプティング操作後に距離フィールド全体を訂正する方法も提供する。
また、本発明は、三角形およびサーフェス点の高速生成を含む、標準PCにおけるハードウェア加速を利用するいくつかの新しいフェンダリング手法も提供する。システムからモデルを入力および出力する方法は、走査されたレンジ画像からADFを生成する改良された方法と、種々の詳細度レベル(level of detail(LOD))においてADFから位相的に一貫した三角形モデルを生成する新しくかつ非常に高速な方法と、を含む。
本発明は、本明細書で述べるように、アニメーションアーティストに対し、スカルプティングのための対話式システムを提供する。本システムは、デジタルクレイの形態で理想的なモデリング媒体を提供する。本発明のシステムおよび方法は、最小メモリコストで非常に高解像度の形状を表し、標準コンピュータハードウェアと動作し、現行のアニメーション製作パイプラインとの容易な統合を可能にすることができる。
スカルプティングシステムは、ハイエンド製作スタジオの要求を満たすように設計されるが、本システムはまた、ゲームおよび仮想現実環境のためのキャラクタ設計等、エンタテイメント業界の他の分野におけるアプリケーションも有する。また、本システムは、特にモデルをパラメトリックに生成することができない工業モデリングに対しても使用することができる。これらアプリケーションの要求に応じて、低ポリゴン数で可変詳細度レベルモデルを出力する能力により、ADFベースモデルを現行のポリゴンエンジンに容易に統合することができる。さらに、本発明のモデリング方法は、ローエンドコンピューティング装置によって使用することができる。
より具体的には、方法は、まず適応的サンプル距離フィールドの候補セルを選択することにより、オブジェクトの適応的サンプル距離フィールドを生成する。そして、候補セルの距離値が算出され制限付き距離ツリーに格納される。候補セルは、終了条件に達するまで、再帰的に細分割されることにより適応的サンプル距離フィールドの細分割セルにされ、その間、細分割セルの対応する距離値が算出され制限付き距離ツリーに格納される。最後に、距離値が対応するセルに付加されることにより、オブジェクトの適応的サンプル距離フィールドが生成される。
本システムは、デジタルキャラクタ設計およびアニメーションに使用される現行の製作パイプラインに、パワフルな形状表現を統合する。本システムは、直観的に使用することができ、達成することができる解像度および細部の品質において表現力に富み、メモリ使用および処理が効率的である。
ADFを、概念段階を越えて実際的なワーキングシステムに取入れる方法を述べている。これらは、距離フィールドを利用しユーザにさらなる制御を提供するボリュメトリックスカルプティングインタフェースにおける革新と、メモリ要求が低減された効率的な生成および編集アルゴリズムと、より優れたメモリ一貫性および低減された計算と、標準PCにおけるハードウェア加速度を利用するいくつかの新しいレンダリング手法と、ADFから位相的に一貫したLOD三角形モデルを生成する非常に高速な方法と、を含む。
システム構造および構成要素
図1は、本発明によるコンピュータ化されたモデリングシステム100を示す。本モデリングシステムは、基礎として、エンタテイメント業界により使用されるためにアニメーション化することができるデジタル化モデルを表現するために、適応的にサンプリングされる距離フィールド(adaptively sampled distance field(ADF))10を使用する。ADFの基本データ構造は、引用をもって開示内容がすべて本明細書内に援用されたものとする、1999年8月6日付でFrisken他によって出願された、米国特許出願第09/370,091号「Detail-Directed Distance Fields」において述べられている。ADF10は、デジタル化モデルを表現するために使用される。それらはまた、モデルに対して作用するコンピュータ実現ツールを表現するためにも使用することができる。なお、それらツールは、マテリアルを追加することも削除することも可能であることに留意すべきである。
モデリングシステム100の基本コンポーネントは、制限付き距離ツリー(bounded distance tree(BDT))ジェネレータ103と、エディタ104と、レンダラ105と、コンバータ106と、点ジェネレータ107と、アプリケーションおよびユーザ要求109に応答するディスパッチャ108と、に対し入力データ102を提供するユーザインタフェース101を含む。また、システム100は、後により詳細に説明するアイドルプロセッサ110も含む。本システムの出力データ114は、OpenGLおよびRenderMan他の業界標準レンダリングエンジンに供給されることが可能である。出力データ114は、点、三角形および画像を含むことができる。
データ構造
入力データ102は、BDTジェネレータ103に対する3次元(3D)モデルまたはレンジデータ131および生成パラメータ132と、エディタ104に対する編集パラメータ141と、エディタ104に対するツールパス142と、レンダラ105に対するレンダパラメータ151と、コンバータ106に対する変換パラメータ161と、を含む。BDTジェネレータ103は、キャッシュ133に格納される制限付き距離ツリー800に対して作用する。また、レンダラ105は、適応的レイキャスティングによって生成される画像タイル152を表現する中間データ構造に作用する。エディタ104およびアイドルプロセッサ110は、ツールパス142の中間段階を表現するスクリプト112に作用する。レンダラ105、コンバータ106および点ジェネレータ107は、レンダリングエンジン111によって処理される画像、点および三角形114に作用し、コンバータ106は、ADF10から三角形115を生成する。
システムコンポーネントおよびデータ対話
入力データ102は、ユーザによりユーザインタフェース101を用いて指定される。ユーザは、BDTジェネレータ103に対するパラメータ132と、エディタ104に対するパラメータ141と、レンダラ104に対するパラメータ151と、コンバータ106に対するパラメータ161と、を設定する。また、ユーザは、システム100によって処理される3Dモデルまたはレンジデータと、ADF10に対する編集と、ADFが三角形115にいかにしておよびいつ変換されるかと、を選択する。
BDTジェネレータ103とエディタ104とは、ツールパスとモデルジオメトリ(幾何学的構造)とを含む局所的再生データ135を交換することによって対話する。アイドルプロセッサは、編集を精緻化する136ためにエディタと、およびレンダリング画像を精緻化する137ためにレンダラと、対話する。レンダラは、コンバータと対話することにより、ADF10を三角形114に変換する。
システム動作
システム100の動作中、ユーザは、球およびボックス等の標準オブジェクト形状に対するCSG演算を使用して初期モデルを生成することにより開始するか、または標準3DモデルまたはレンジデータをADFに変換することにより開始することができる。そして、ユーザは、エディタおよび選択可能スカルプティングツールを使用してモデルをスカルプティングすることにより続行する。
上述したように、スカルプティングツールはまた、ADFか、あるいは形状が単純、例えば球状である場合、ツールの形状を画定する単純な距離関数によっても、表現することができる。スカルプティング中、レンダラは、ユーザ動作およびシステム能力によっていくつかのレンダリング方法を自動的に切換えながら、画像タイル152を更新する。
アイドル時間中、アイドルプロセッサ110は、適応的レイキャスティングに対する画像タイルのレンダリング解像度を増大させること、スクリプトされたツールパス112から解像度および編集の範囲を増大させることと、スカルプティングされているサーフェス上に無いADFの点に対し距離値を訂正することと、を含む多数の動作を実行する。
対話式スカルプティング
システム100は、当業者には周知である、ファイル操作、動作アンドゥ、選択、形状平滑化、ナビゲーションおよびライティング(lighting)制御に対する対話式ソフトウェアを含む。本明細書では、説明は、ADF10の特性を活かすボリュメトリックデータと対話する本システムの一意の方法に焦点を当てる。
サーフェス追従(surface following)
図2に示すように、システム100は、適応的サンプル距離フィールド10のいずれかの点202からモデル200のサーフェス204の最近傍点203までの距離値と方向201とを算出することができる。システム100は、この情報を使用して、入力手段、例えばマウスまたは距離関数によって操作される可能性のある、スカルプティングツール210のパス205および向きを案内する。システムは、ツールを、オブジェクトのサーフェスに追従させる。それはまた、任意に、モデルのサーフェス204に対して垂直であるツール210の主軸211方向付けることも可能である。オブジェクトはADFによって表され、ツールはADFまたは距離関数によって表されるため、サーフェスとツールとの間の距離と、サーフェスの向き、すなわちオブジェクトの距離フィールドの勾配の方向と、ツールの主軸と、を算出することが可能である。
サーフェス追従は、オブジェクトの距離フィールドの勾配の方向にツールを反復的に移動させることによって達成される。移動した距離は、ツールとサーフェスとの間か、または後述するような制約付きスカルプティングのためのある「オフセット」サーフェス220からの距離に比例する量である。オフセットサーフェスは、オブジェクトのサーフェスの外部とも内部ともすることができる。同時に、ツールの主軸211を、サーフェス上の最近傍点のサーフェス垂線に位置合せすることができる。サーフェス追従は、マウス等の2D入力装置を用いて3D形状を編集する場合に特に有用である。サーフェス上にツールを正確に配置することは困難である可能性がある。サーフェス追従により、ビュー方向に対して斜めであるサーフェスをスカルプティングする場合のより直観的制御が可能になる。
ベジエ(Bezier)ツールパス
スカルプティングは、ツールのパスに沿った別個の編集のセットにより達成することができる。しかしながら、図3aないし図3cに示すように、この手法は、非効率であってエラーをもたらす可能性があり、低速なツール移動の場合の冗長オーバラップ編集(図3a)と高速なツール移動の場合の断続編集(図3b)とをもたらす。ツールの形状が軸的に非対称である場合、ツールがツールのパスに対して斜めである時(図3c)編集は断続的で位置がずれる可能性がある。
これら問題に対処するために、システムは、ツールが3Dベジエ曲線に沿って移動するに従って、ツールのジオメトリ(幾何学的構造)に対応する掃引されたボリューム(スウェプトボリューム、swept volume)により直接ADF10を編集する。本システムは、ベジエクリッピングプロセスを使用して曲線からの距離を計算し、その後ツールのジオメトリを使用して掃引されたボリュームを生成する。Nishita他による「Ray tracing trimmed rational surface patches」、Proc.SIGGRAPH'90, pp.337〜345, 1990を参照のこと。
球状ツールの場合、掃引されたボリュームの距離は、距離をツールパスの中心線に対してずらすことにより計算される。矩形または他の形状を有するツールの場合、距離計算はより複雑であるが、点ベースの評価よりはまだ効率的であり得る。この手法により、2レベルの制御が可能である。第1に、ベジエパスを、ユーザの入力ストロークから自動的に導出した後にカービング(carve 刻む)することが可能である。第2に、ベジエ曲線を、モデルのサーフェス上に明示的に描き、曲線をサーフェス上にカービングする前に制御点を用いて編集することが可能である。
ツールパスのスクリプティング
利点として、システム100は、後の処理のために編集中にスクリプト112に編集パスを記録する。スクリプトされたパスは、3つの重要な特徴を提供する。第1に、対話速度を達成するために、編集解像度とADFに対するツールの影響の範囲とを制限することができる。これが起こる場合、スクリプトされた編集パスは、より高い解像度での編集の遅延評価のため、およびアイドル時間処理中にADFに向けてツールの影響の範囲をさらに増大するために、使用される。第2に、スクリプトされたパスは、編集セッションの履歴を提供し、モデルが異なるメモリおよび処理パワーを有するシステムにおいて再生されることを可能にする。第3に、スクリプトされたパスは、ADFの格納された中間バージョンと結合され、システムが過度に記憶域を使用することなくマルチプルアンドゥを処理することを可能にする。好ましい実施の形態では、スクリプトは、ツールのパスのパラメータを定義するキャラクタストリングまたはバイナリデータの形態である。
ダイナミックツール
システム100は、ツールの形状およびその機能(追加・削除)が、移動した時間/距離により、またはサーフェス上のその位置に従って、またはツールパスにおける記述に従って、変化することを可能にする。記述は、時間、距離、勾配、サーフェス複雑性およびセルジオメトリ等の多数のパラメータに基づいて形状と機能とを共に変更する手順とすることができる。
距離ベースの制約
図4に示すように、ADF10がモデルのサーフェスから空間のいかなる点までの距離を表すため、システム100は、強化されたモデリングインタフェースを提供することができる。ツールは、オフセットサーフェス220に沿って移動するように制約されることが可能である。このため、システムは、ツールに対し、オリジナルサーフェスからの指定された深さ(内部オフセットサーフェス)または高さ(外部オフセットサーフェス)においてマテリアルを削除または追加させることができる。オフセットサーフェス上にツールを維持するための計算は、上述したように真のサーフェス上にツールを維持する程度に簡単である。
さらに、本システムは、ADF形態で、または従来からの距離フィールドとして、デジタル「マスク」420を使用することができる。マスクは、2つの方法で使用することができる。第1に、マスクを使用して、ツールがモデルの指定された2Dまたは3D領域を変更しないようにすることができる。第2に、ツールを使用してマスクの一部を「切取る(cut-away)」ことができ、それにより、モデルの露出した部分のみが、マテリアルを追加するかまたは削除することによりさらに処理される。
マスクは、「フォースフィールド」430の形態とすることができ、それもまたADFとして表すことができる。フォースフィールドの再構成された距離フィールドおよび勾配は、ツール深さまたはモデルのサーフェスに対する近接を示す、物理的および視覚的キュー、例えば触覚用のフォースフィードバックを提供することができる。代替的に、フォースフィールドは、ツールがフォースフィールドの「影響(influence)」431内にある、すなわちツールがマスクエッジ近傍にある間に、編集を制約することができる。さらに、より複雑な編集制約を提供するために、複数のマスクおよびフォースフィールドを結合することができる。なお、マスクがツールをマスク領域内部で移動するように制約する場合、フォースフィールドはマスクから内側へ拡張し、そうでない場合は、外側へ拡張する。
距離ベースの制約に対するアプリケーション
距離ベース制約は、多くのアプリケーションにおいて有用である。Lelerにより「Constraint programming languages, their specification and generation」、Addison-Wesley Publishing Company, 1988において定義されるように、制約は、2つ以上のオブジェクト間の所望の関係である。工業デザインは、しばしば、制約指向であると考えられる。設計の制約は、通常、可能な解決法の範囲における制限を示す。
通常単一モデルまたはサーフェスに関連する、許容制約を考慮する場合、制約の上記定義を拡張しなければならない。従って、システム100の好ましい実施の形態では、制約は単一モデルに課せられるか、または2つ以上のモデル間の所望の関係を表す。
ADF制約は、少なくとも1つのADF、例えば420と、システム100においてその制約を例示化する制約手順440と、を含む。例えば、制約手順440は、マスク420に関し、ツールがADFを入力しないように絶対的に制限するか、ツールがサーフェスから非常に小さい指定された距離内にある時にツールの移動を制限するか、ツールが、ADFのフィールドを歪める陽関数と相まって、そのフィールドによって画定される領域に入力しないように制限しなければならない。さらに、制約を結合することにより、複合制約システムを形成することができる。
この手法の新規性の1つは、制約を、ADFに変換されるかまたはADFとして直接描かれる2Dまたは3Dモデルとして表現することができる、ということである。適応的サンプル距離フィールドとしての制約のこの表現により、制約を、空間を通して適応することができる。手順にADFを関連付けることにより、工業デザインに対する特定のアプリケーションを有する無制限の柔軟性が可能になる。例えば、本システムが集積回路を設計するために使用される場合、ツールを所望の精度に導く制約を指定することにより、サブミクロン精度を容易に取得することができる。
距離ベースの制約に対するサーフェス追従手順
図5は、システム100の距離ベースの制約を実現する手順500を示す。手順500に対する入力データは、モデル、ツール、マスクおよび/またはフォースフィールドのADF10と、制約501、例えばサーフェスからの所望の距離と、ツールの向きおよび位置のパラメータ502、例えばツールの主軸およびサーフェスとの所望の角度と、を含む。モデル、ツールおよび制約は、表示装置において入力装置503、例えばマウスにより操作される。
マウスは、ある現在の入力位置(p)504を指定する。入力位置は、ADFの座標系のp'505に変換される510。p'における距離および勾配506は再構成される520。ツールは、配置され方向付けされる530ことにより、新たな向きおよび位置が算出され507、ユーザに表示される540。
制御点編集
デジタルスカルプティングはデジタルモデル設計に対しパワフルで柔軟な手段を提供するが、制御頂点操作に利点がある場合もある。例えば、キャラクタの頬を膨らませるかまたは頬に皺を寄せるためには、スカルプティングツールを用いてマテリアルを追加または削除することにより頬の形状を変更するよりも、制御頂点のセットを編集する方が容易である可能性がある。
このため、図6および図7に示すように、システム100は、後述するように、ADFモデル10の一部610を選択し、選択された部分を、ユーザが制御する詳細度レベルで制御頂点を用いてポリゴン(三角形)モデル620に変換する手段700を提供する。それにより、制御頂点を操作することができ、三角形モデルからADFの編集部分620を再生することができる。
制御点編集手順700において、入力パラメータは、ADF10および三角形化パラメータ701である。ステップ710は、三角形化するADFセル711を選択する。例えば、ユーザがモデルのサーフェスを指し所望の部分を識別する。マークされたセルは、後により詳細に説明するように三角形化される720。三角形メッシュ721は、指定されたLODで、選択された部分の境界上にエッジを有する。そして、三角形メッシュは、いずれか既知の編集手順を使用して編集される730。編集された三角形731は、編集されたADF630を作成するように局所的に再生される740。編集および再生中、選択された部分のエッジは、鮮鋭なエッジを保持するように有効であり続けることができ、またはサーフェスの選択された部分から残りの(選択されていない)部分への遷移が平滑であるように、緩和されることが可能である。
制限付き距離ツリー生成および編集
Frisken他は、ADFを生成する2つの方法を概説している。ボトムアップ方法は、完全に占められた(fully populated)八分木を生成し、セルの8つの子によって表される距離フィールドがセルのサンプリングされた距離値によって適切に近似される場合にセルを上方に合体させる。トップダウン方法は、モデルの距離関数から計算された距離を複数のテスト点におけるセルのサンプリングされた距離値から再構成される距離と比較する属性(predicate)テストをパスしないセルを、再帰的に細分する。
実際的なアプリケーションでは、これら方法は共に重大な限界を有する。ボトムアップ手法では、高解像度ADFを生成するために過度な量のメモリと非常に多くの距離計算が必要であり、再帰的トップダウン手法は、八分木レベルを上下に移動し、多くの冗長距離計算および再構成を必要とする。両手法ともに、メモリ一貫性が乏しく、キャッシングから取得することができるあらゆる有益な効果を最小にする。8の最大八分木レベル(レベル8ADF)のADFを生成するための時間はおよそ20秒程度であり、レベル9ADFの場合は40秒程度である。これは、デスクトップPentium(登録商標)IIIシステムで実行するトップダウン生成方法を使用する比較的単純なCSGモデルの場合である。両方法において、レベル9より高いADFを生成することは、生成時間およびメモリ要件が過度となるため非実際的である。
本システムにおいて、BDTジェネレータ103は、メモリ要求と、メモリ一貫性と、ADFを構成する際の計算と、のバランスをとる。同様のCSGモデルの生成時間は、レベル8ADFの場合1秒未満、およびレベル9ADFの場合約2秒まで、大幅に低減される。これは、従来技術の方法に対し速度が20倍向上している。よりよいメモリ利用とより高速なジェネレータにより、システムは、約8秒でレベル12ADFを生成することができる。
なお、レベル12ADFは、1:2-12すなわち1:0.00024の解像度範囲を表す。定期的にサンプリングされる従来技術でのボリュームにおいてこの動的範囲を表すためには、明確に大抵の汎用コンピュータの能力を超え、組込みプロセッサには間違いなく不可能である、約700億のサンプル値が必要である。際立って対照的に、一般的なレベル12ADFは、およそ2〜300万程度の距離値と、相当な改良と、ラップトップ、携帯情報端末および無線通信機器等の小型携帯機器の能力の範囲内に十分であることが必要である。
図8に示すように、BDTジェネレータ103は、再帰的細分割を適用し制限付き距離ツリー(BDT)800を使用することにより、トップダウン法で層のルートセル(C1)801からADF10の生成を開始する。図8は、レベル3(803)、レベル6(806)、レベル9(809)およびレベル12(812)の層を有するレベル12ADFの八分木を示す。表記法Cnは、さらなる細分割のための候補セルを示す。層の深さは、その層が処理される時の八分木深さの増大を確定する。例えば、層深さが3で生成されるレベル9八分木は、まずレベル3、次にレベル6、最後にレベル9に対して生成される。
各層内で、ADF八分木は、一度に1つのBDT800で処理される。BDTは、2、3またはそれより大きい次元を有することができる。2Dの場合、BDTは「タイル」と見なすことができ、3Dの場合は「キューブ」と見なすことができる。BDTは、計算され再構成された距離を格納するために使用されるデータ構造であり、それにより隣接するセルに対する冗長な距離計算が避けられる。好ましい実施の形態では、BDTは、キャッシュにおける配列(アレイ)として表される。特徴として、および図8に示すように、BDTは制限された深さを有し、距離値が計算されている間、一時的にキャッシュに格納される。BDTの各距離値は、距離値が有効であるか否かを示す関連する「妥当性」ビットを有する。他の特徴として、正常動作中、例えば編集およびスカルプティング中、サーフェスセルを含む「サーフェス」BDTのみが処理される。完全に内部セルと外部セルとからなるBDTは、距離フィールドの「遠隔」部分が訂正されるまで処理されない。以下の図17を参照のこと。
層深さは、BDTのサイズを設定する。例えば、3Dモデルの場合の3という層深さは、サイズ23×23×23の立方BDTを示す。層深さ3のレベル9ADFを生成する場合、第1層において83リーフセルが生成される。第2層が処理される時、第1層からもたらされる、レベル3の各リーフセルが、さらなる細分割のための候補となり、新たなBDTの親セルとしての役割を果たす。第3層を処理する場合、第2層からもたらされるレベル6の各リーフセルが、さらなる細分割の候補となり、ADFの最大の指定されたレベルに達するまでかまたは候補が無くなるまで続く。
本発明の利点として、各BDTに対する計算され再構成された距離は、再帰的細分割中に必要な場合にのみ生成される。さらに、BDTデータ構造は、ADF10におけるようにポインタを使用しないため、必要な記憶域が大幅に低減され、BDTをキャッシュすることを可能にし処理時間が低減される。さらに、BDTの距離値がポインタベースのツリーではなく配列要素(アレイ要素)として表される場合、距離値へのアクセスには単一の定数時間演算が必要である。
各制限付き距離ツリー800に関連する対応するビットマップ1009(図10参照)は、BDT800の有効な距離値を追跡する。ビットマップは、BDT内の距離値が計算され一度だけ格納されることを確実にする。BDTの各距離値、すなわち各配列要素に対し1つの妥当性ビットがある。
BDTが完全に処理された後、BDTの有効な距離がADFに追加され、有効な距離に対するセルポインタがADFにおいて更新される。異なるBDTの隣接するセルに亙っても距離が共有されることを確実にするために、既に処理された隣接するセルからのBDT800と対応するビットマップ1009とを初期化することにより、BDT境界において特別な配慮がなされる。これによってまた、パフォーマンスが向上する。
BDTのサイズは、キャッシュ133のサイズに合うように調整することができる(図1参照)。例えば、Pentium(登録商標)クラスシステムでは、特に各距離値が2バイトのみを必要とする場合、83までの距離値を格納するBDTが有効に作用する。さらに、ビットマップ1009の使用により、CPUとキャッシュパフォーマンスとが向上する。例えば、32ビットコンピュータでは、ビットマップ1009が単一メモリワードにおいて32の妥当性ビットを格納するため、BDTジェネレータは、単一動作においてBDTの32の距離値を無効にすることができる。利点として、制限付き距離ツリーデータ構造は、ADFのデータ構造より実質的に小さい。
ADF10の最終セルおよび距離がメインメモリの隙間のない配列(隣接するアレイ)に格納されることにより、レンダリング等の他のシステム動作中にADF10を処理する場合の空間的一貫性およびパフォーマンスがさらに向上する。これら配列は、BDT生成中に必要に応じてブロックに割付けられる。BDT生成が完了すると、配列は最大要求サイズに切捨てられる。アレイブロックは隙間がないため、ADFがメモリ内で移動されるかコピーされる場合、セルおよび距離値ポインタの更新が高速かつ容易である。
図9、図10および図11は、BDTジェネレータ103を実現するソフトウェア手順900のステップを示す。ステップ901は、セル、距離値(DistVals)、BDTビットマップ1009およびBDT800に対しメモリのブロックを割付ける。ステップ1000(図10参照)は、セルのフィールドを初期化し、セルのエラーを計算する。ステップ100で実行される他の処理ステップは、最大深さレベル(MaxLevel)を初期化すること、BDTビットマップ1009のビットを無効にすること、候補セルを設定すること(ルートセル801から開始する)と、を含む。候補セルは、更なる細分割を必要とする可能性のあるセルである。候補セルが無くなるまで902、候補セルは再帰的にMaxLevelまで細分割される1100(図11参照)。ステップ903において有効距離値がコピーされ、ステップ904は次の候補セルを取得する。完了時、最終セルおよび距離値が、所定の最大要求サイズに切捨てられる905。
図10に示すように、初期化ステップ1000は、セルのフィールドを初期化するステップ1001と、セルの誤差評価値を計算するステップ1002と、セルの誤差評価値を設定するステップ1003と、を含む。なお、すでに計算された距離を計算することを避けるために、BDT800とその関連するビットマップ1009とを使用する。
再帰的細分割ステップ1100は、以下のサブステップを含む。ステップ1101は、内部セルおよび外部セル、すなわちサーフェスセル以外のすべてのセルが、セルのコーナに対して格納される距離値とセルの対角距離とを使用して、さらに細分割されないようにする。ステップ1102は、エラー基準が満たされる時に細分割を停止する。ステップ1103は、MaxLevelに達すると細分割を停止する。ステップ1104は、実際に、セルの細分を実行し、ステップ1105および1107は、セルの距離値に基づいてセルタイプ(内部、外部およびサーフェス)を設定する。ステップ1106は、可能な場合いつでも、内部および外部セルをより大きいセルになるように合体する。
制限付きサーフェス生成
図8ないし図11に示すBDT生成方法は、通常、サーフェスセルを細分割するのみである。このサーフェス限定生成は、サーフェスセルにおける距離フィールドの正確な表現を確実にしながらメモリ要求を低減する。これは、サーフェスに隣接する領域を処理するためには十分である。
しかしながら、サーフェス追従、距離ベースの制約の使用およびフォースフィードバック等、上述した編集方法のいくつかに対し、距離フィールドは、サーフェスからのある距離に対して正確であることが要求される。これら環境において、セルがサーフェスからの指定された最小距離によって画定される制限された領域内にある時はいつでも、セルが最大エラー制約を満足しない限り外部セルおよび内部セルが合体されないように、BDT生成方法900が訂正される。この制限付きサーフェス生成方法は、従来技術によるADF生成技術とは異なる。
編集
本システムでは、スカルプティングは、局所的編集プロセスを使用してADF10に対して実行される。Frisken他によって述べられているような従来技術によるADF処理技術と比較して、本発明によるBDTの使用により、20(factor of 20)だけ編集時間を縮小し、2(factor of 2)だけセルおよび距離値に対するメモリ要求を低減する。これら進歩により、デスクトップおよび携帯型コンピュータシステムにおいて高詳細スカルプティングの実行が可能になる。
より小型のコンピュータシステムにおけるより少ない資源に適応するため、システム100は、スカルプティングされた解像度とツール影響のボリュメトリックな範囲とを共に制限することにより対話性を保証することができる。上述したように、システム100は、スカルプティング動作のスクリプト112とADFの中間バージョンとを保持する。アイドル時間中にスクリプト112を使用することにより、スカルプティング解像度を増大しADF10にツール影響を拡張することができる。
遠隔距離値の訂正
上述したように、ADF10は、モデルおよびツール距離フィールドに対しCSG演算を施すことによってスカルプティングされる。例えば、Frisken他による正・内部および負・外部の符号付き距離値の変換に続いて、差分スカルプティングツールの場合の点pにおけるスカルプティングされた距離は、dist(p)=min(distmodel(p),−disttool(p))として表すことができ、加算ツールの場合のpにおけるスカルプティングされた距離は、dist(p)=max(distmodel(p)、disttool(p))である。min/max演算子を使用することにより、図12aおよび図12bに示すように、ADFのスカルプティングされたサーフェスから遠隔の点において、ADF10の不正確な距離値がもたらされる可能性がある。
例えば、図12aおよび図12bに示すように、差分ツールを使用する場合の点P1(1201)と加算ツールを使用する場合の点P2(1202)とは共に、スカルプティングされたオブジェクトに存在しないサーフェスに対する距離が割当てられ、これら点に不正確なフィールドがもたらされる。処理が、例えばレンダリング中、サーフェスにおける距離フィールドの正確な表現のみを要求する場合、これら不正確な値は無効である。
しかしながら、編集技術およびアプリケーションのいくつかは、サーフェスから遠隔の距離フィールドの正確な表現を必要とする。例えば、システムが工業デザインに使用される場合、指定されたパスに沿ってツールを適当に案内するために、ボリュームを通してサブミクロン距離精度が要求される場合がある。このため、アイドルプロセッサ110は、システムアイドル時間中に遠隔距離フィールドを訂正する。また、アイドルプロセッサ110は、マテリアルが削除されているか追加されているという事実を反映するように、焦点領域、例えばスカルプティングツールのワーキングサーフェス近くにおいて、要求があり次第距離フィールドを訂正することも可能である。
遠隔距離フィールドをモデルのサーフェスの近くの所定の正確な距離だけ訂正することが可能な多数の方法がある。レベルセット技術から導出される高速前進(fast marching)法を使用して、サーフェス近くの正確な値の狭い帯域から外側に向かって距離を伝搬することができる。他の手法は、ゼロ値のアイソサーフェス(iso-surface)における距離値と距離フィールド境界とを一定に保持し、シミュレートされたアニーリングを使用して中間のフィールドを平滑にする。これら方法のいずれも、適応的距離フィールドのために設計されておらず、両方法ともに対話式編集には非常に低速である。
図17は、例えばアイドル処理110中の、本発明により遠隔距離値を訂正する方法1700を示す。ステップ1701は、各内部/外部(非サーフェス)セルに対し、最小の絶対値の距離値を有するセルコーナをマークする。各非サーレスセルもまた、未処理としてマークされる。なお、サーフェスセルの距離値は、特定の誤差評価値に対して常に正しく、通常訂正される必要はない、と仮定することに留意されたい。しかしながら、例えばサーフェスが通過する大きいセルの場合、誤差評価値を変更することが望ましい場合がある。この場合、これら大きいサーフェスセルを「訂正」のために選択することができる。
そして、ステップ1702は、ソートキーとしてマークされた最小絶対値距離値を使用して、内部/外部セルを昇順にソートする。ステップ1703は、そのソートされた順序で内部/外部セルを処理する。
ステップ1704は、各内部/外部セル1711の各エッジを検査し、エッジを共有しサーフェスセルかまたは処理済みセルのいずれかである近傍セル1705を選択し、その後ステップ1707は、隣接するセルのエッジに対するあらゆる失われた距離値を内部/外部セル1711の共有セルに付加する。なお、セルはサイズが変化するため、距離値は共有エッジのいずれにも現れる可能性があることに留意されたい。
そして、ステップ1708は、後述する訂正方法1710のうちの1つに従って、新たに付加された距離値を使用して、内部/外部セル1711のコーナ値を設定する。最後に、ステップ1708は、処理されるに従ってセル1711をマークし、すべての内部/外部セルが処理されるまで次のソートされた内部/外部セルに対する処理を続ける。
訂正方法1
各セルコーナ頂点を「自由(free)」または「固定(fixed)」としてマークする。本発明の1つの実施の形態では、コーナは、隣接するサーフェスセルと共有されるコーナである場合にのみ固定であり、そうでない場合は自由である。本発明の他の実施の形態では、コーナは、隣接するサーフェスセルかまたは処理済みセルと共有されるコーナである場合には固定であり、そうでない場合は自由である。そして、各コーナに関連する付加された距離値の数を確定する。付加された距離値は、それがあるコーナに接続されたエッジ上にある場合はそのコーナと関連し、コーナとエッジの中間点との間のいずれかにある。次に、関連する距離の最大数を有するコーナCを確定する。そして、セルを指定された解像度で一様にサンプリングされたグリッドに分割する。好ましい実施の形態では、グリッドを表現するために要求されるメモリは、CPUのキャッシュに適合し、それによりパフォーマンスが最大化される。最後に、コーナCから伝搬されセルの自由コーナのみを訂正するレギュラグリッドに対しユークリッド距離変換を実行する。Cuisenaireによる「Ditance Transformations: Fast Algorithms and Applications to Medical Image Processing」, Ph.D.thesis、Universite Catholique de Louvain, 1999を参照のこと。
訂正方法2
各自由コーナに対し最近傍の新たに付加された距離Dを算出する。そして、各自由コーナCに対し、最近傍の新たに付加された距離Dに対するユークリッド距離Nを算出する。Cの距離が距離Dおよび距離Nによって画定される範囲外にある場合、Cの距離をこの範囲に設定する。
訂正方法3
方法2と同様に、しかしながら各自由コーナに対して最近傍の新たに付加された距離を使用する代りに、各自由コーナを訂正するために新たに付加された距離のすべてを使用する。
訂正方法4
エッジに沿った距離の外挿かまたは距離フィールドを通しての距離の外挿を使用して、すべての自由コーナにおいて訂正された距離を導出するために新たに付加された距離を使用する。
訂正のための内部/外部セルの選択
本発明の1つの実施の形態では、ステップ1701は、内部/外部セルをすべて選択する。本発明の他の実施の形態では、ステップ1701は、サーフェスから指定された距離内の内部/外部セルのみを選択する。本発明のさらに他の実施の形態では、ステップ1701は、サーフェスセルに隣接する近傍である内部/外部セルのみを選択する。本発明のさらに他の実施の形態では、ステップ1701は、指定された領域内の内部/外部セルのみを選択し、この場合、その領域は、ユーザからの入力、例えばマウスイベントによって指定される位置によって画定される。いくつかのアプリケーションでは、内部または外部のセルの一方だけが訂正を必要とする。それらの場合、本発明は、ステップ1701を、指定されたセルタイプ、すなわち内部または外部のみを選択するように制限する。
BDT生成中に処理する内部/外部セルの選択
訂正のために内部/外部セルを選択する上に列挙した同様の基準を、いずれの内部/外部セルがBDF生成中に属性(predicate)テストをパスするよう強制されるかの選択に適用することができる。属性テストは、セルの再構成方法が正確に距離フィールドを表すか否かを確定する。Frisken他を参照のこと。本発明の1つの実施の形態では、BDTジェネレータは、内部/外部セルが属性テストをパスすることを要求しない(サーフェス制限生成)。本発明の他の実施の形態では、BDTジェネレータは、サーフェスからの指定された距離内の内部/外部セルに対し属性テストにパスするよう強制する(制限付きサーフェス生成)。本発明のさらに他の実施の形態では、BDTジェネレータは、指定された領域内にある内部/外部セルに対し、その領域がユーザからの入力(例えば、マウスイベントの位置)によって画定される場合に、属性テストをパスするように強制する。
高速レンダリング
高速グローバルレンダリング
本発明によるシステム100はまた、標準ハードウェアおよびソフトウェア実現レンダリングエンジンと統合され得るように、ADF10を三角形および点モデルに変換する方法も含む。NVIDIA GeForce2等の現行の標準ハードウェアの場合、これら変換方法は、ADFの真に対話的な操作を提供する。三角形の場合、ADFは、多くのコンピュータシステムで利用可能なハードウェア三角形ラスタ化を利用して、OpenGLレンダリングエンジン111を使用してレンダリングすることができる三角形モデルに変換される。ADFを三角形に変換する方法は後述する。
変換時間は非常に高速である。すなわち、システム100は、Pentium(登録商標) IVクラスプロセッサにおいて、0.39秒でレベル9ADFから200,000の三角形を有する三角形モデルを生成することができる。LODがより低いモデルは、より高速に、例えば2000三角形モデルの場合10ミリ秒未満で生成することが可能である。このように、ナビゲーションツールが選択される場合、三角形モデルを進行中にわずかな遅延で生成することができ、カメラのパニング、スーミングまたは回転中の高速グローバルレンダリングが可能となる。
代替的に、本システムは、Rusinkiewicz他により「Qsplat:A Multiresolution Point Rendering System for Large Meshes」、Proc.SIGGRAPH'00, pp.343〜352, 2000において述べられているような、コンピュータグラフィクスにおけるハードウェア支援の点レンダリングに向かう最新の傾向を利用して、グローバルビュー変更のための点ベースレンダリングを使用することができる。
好ましい実施の形態では、システム100は、OpenGLレンダリングエンジン111を使用して点をレンダリングする。点ジェネレータ107は、0.2秒で800,000のフォンシェーディングが施された点をもたらすことができ、シェーディングがレンダリングエンジン111によって実行される場合、シェーディングされていない点に対しては、0.12秒未満で生成することができる。点は、デスクトップシステム上で対話的にレンダリングすることができ、三角形モデルのように、ナビゲーションツールが選択される場合は要求があり次第生成されることも可能である。
距離フィールドおよび八分木データ構造を使用することができることにより、ADFに対し、点を生成するための一意の利点が与えられる。例えば、セル内でランダムに生成された点は、その点における距離値と勾配とを使用して1ステップでサーフェス上に単純に投影することができる。さらに、セルサイズを使用して、そのセルで生成される点の数とサイズとを共に確定することができ、それにより多重解像度レンダリング方法が可能となる。
点生成は非常に高速であるため、システムは、後向きセルおよび後向き点を間引き(cull)、セル内の勾配を使用してシルエットエッジ上により多くの点を生成する、ビュー依存の点生成も使用することも可能である。
高速局所レンダリング
本発明は、システム資源に応じて、スカルプティングされた領域の画像を局所的に更新するために2つの方法を使用する。すなわち、ハードウェアレンダリングによる局所的三角形生成と、ソフトウェアベースレンダリングのための適応的レイキャスティングと、である。点生成は、局所的編集に対しては十分に高速であるが、点モデルは、三角形またはレイキャスティングのように画像の微細なスカルプティングされた詳細を表現しない。従って、点モデルは、高速局所レンダリングには利用されない。
局所的三角形
ハードウェアレンダリングに対しADF10が三角形モデルに変換され、ADFと三角形モデルとを共に保持するために十分なメモリがある場合、本システムは、スカルプティング中にこれらモデルを局所的に更新することができる。局所的更新を可能にするために、三角形は、それらが生成されるもとのセルに従ってインデクスされる。セルがスカルプティングによって影響される場合、スカルプティングプロセス中に、進行中に、その関連する三角形は削除され、新たな三角形が生成される。この方法は非常に高速であるが、動的三角形モデルを保持するためのメモリと共に三角形インデクシングのためのセル毎の追加のメモリが必要となる。
適応的レイキャスティング
システム100は、スカルプティングされたサーフェスの高品質レンダリングのためのレイキャスティングを提供する。この方法がスカルプティング中に使用される場合、画像は、ツールによって影響される領域内で局所的に更新される。
ソフトウェアベースのレイキャスティングを対話的更新に対して十分高速に実行することができないアプリケーションの場合、システム100は、適応的レイキャスティン手法152を使用して、特定のビューポイントにおいてモデルの画像表現を作成する。レイキャスティング方法は、Guoにより「Progressive Radiance Evaluation Using Directional Maps」、Proc.SIGGRAPH'98, pp.255〜266, 1998に述べられている方向一貫性マップ(directional coherence map(DCM))の拡張である。
更新される画像領域は、画像タイルの階層に分割され、画像タイルの細分割は、知覚ベースの属性によって導かれる。完全に細分割されていない画像タイル内の画素は、画像を作成するためにバイリニア補間される。
各画像タイルに対し、レイが、タイルコーナにおいてADF10にキャストされ、線形交差方法を使用してサーフェスと交差される。さらなる細分割に対してテストするために使用される属性は、Mitchellにより「Generating antialiased images at low sampling densities」、Proc.SIGGRAPH'87, pp.65〜72, 1987に述べられている方法に基づく。
Mitchellは、赤、緑および青のチャネルのコントラストと、画像タイルに亙るカメラからの深さの変動と、に対し個々に重み付けする。本発明による適応的レイキャスティング手法152は、概して、画素毎に1レイをキャストする場合に対してレンダリング時間を6:1に低減することができ、画像がアンチエイリアシングに対してスーパサンプリングされる場合は、10:1より多く低減する。
キャラクタアニメーションパイプラインに対するスカルプティングシステムの適応
デジタルモデル設計に対し新規なデータ表現を使用するいかなるスカルプティングシステムも、現行のレンダリングパイプラインと統合することができない限り、製作システムに対し無用である。これらパイプラインは、特にアニメーションスタジオにおいて広範囲に亙る可能性がある。そのため、システム100は、三角形モデル、陰関数、CSGモデル、ベジエパッチおよび走査データを含むいくつかの標準タイプの表現からモデルを入力し、三角形モデルを出力する。上記表現のほとんどをADFに変換することは、Frisken他によって述べられている。
この説明は、2つの重要な新しい開発に焦点を当てている。すなわち、最新技術を発展させる走査レンジデータからADFを生成する方法と、位相的に一貫したLOD三角形モデルをたちまち生成する、ADFを三角形にする方法と、である。
レンジデータからの入力
走査データを三角形モデルに変換するために利用可能ないくつかの商用システムがある。ADFをシステムに取入れる1つの手法は、走査データを三角形モデルに変換した後、その三角形モデルをADF10に変換する、というものである。しかしながら、経験から、走査データからの変換によってもたらされる三角形モデルはしばしば、問題があり、穴を含み、裏返された三角形であり、サーフェスにオーバラップすることが分かる。その代りに、本システムは、走査データから直接ADF10を生成する。
いくつかの最近の研究論文は、より頑強で隙間の無い表面再構成のために、走査データを、符号付距離フィールドを利用する三角形モデルに変換する方法を提示した。例えば、Curless他により「A Volumetric Method for Building Complex Models from Range Images」、Proc.SIGGRAPH'96, pp.303〜312, 1996において述べられているような方法は、Cyberware走査システムによって使用されるデータ変換方法の基礎である。Wheelerは、「Automatic Modeling and Localization for Object Recognition」、Ph.D.thesis、Carnegie Mellon University、1996において、真のユークリッド距離関数を使用する方法と、よりボリューム中心の手法と、を述べている。
そこでは、走査データは、異なるビューポイントから取られるオーバラップする2D走査レンジ画像のセットからなる。各レンジ画像はレンジサーフェス三角形メッシュに変換され、三角形メッシュはすべて同じ座標系に取入れられる。そして、Wheelerは、ボリューム要素から各レンジサーフェスまでの符号付距離を計算することにより、トップダウン方式で距離フィールドの三色八分木を生成し、確率重み付き関数を使用して距離を結合する。
確率関数は、元の走査方向に対する各寄与三角形の角度と、その走査画像のエッジに対する三角形の位置と、オーバラップしているレンジサーフェスに対して計算される距離間の一致度と、可能性として他の要因と、によって決まる。最後のステップとして、すべての境界リーフセルに対しLorensen他によるマーチングキューブ法が適用されることにより、ボリューム境界を利用すると仮定すると、符号付距離ボリュームから、閉じた、隙間の無い三角形サーフェスがもたらされる。Whiilerの手法の問題は、モデルのサーフェスを含むすべてのセルが同じ八分木レベルに細分割されるため、メモリ要求および処理時間が増大し、またマーチングキューブを使用して生成される三角形の数が大幅に増大する、ということである。
システム100は、ADF10に対してWheelerの方法を適応させその機能を高める。彼による三色八分木のトップダウン生成は、上述したようなBDT生成に置換えられる。ADF10において、境界セルは、トリリニアフィールドとして表現され、従ってサーフェスの平坦または略平坦領域において細分割を必要とせず、メモリ要求と距離計算の数との両方が三色八分木に対し大幅に節約される。
走査データがシステムに取入れられた後、スカルプティングシステムを使用して、モデルの問題を訂正することができる。問題は、遮蔽された領域と、解像度限界またはスキャナノイズによる詳細の喪失と、レンジ画像間の継ぎ目における粗いまたは破壊されたサーフェスと、による場合がある。最後に、望ましい場合は、後述する手法を使用してADF10を三角形モデルに変換することができる。
本発明の他の利点として、ADF10では、従来技術による三色八分木の場合よりセルが大幅に少ないため、システム100は、従来技術による方法より大幅に少ない三角形を生成する。さらに、ADF10は、指定された詳細度レベルでの三角形の生成をサポートする階層データ構造であるため(下を参照)、システム100は、特にアプリケーションに対してサイズが調整される三角形モデルを作成することができる。
図13は、スキャナまたはレンジファインダ1301から走査データを入力する方法1300を示す。スキャナは、レンジ画像(R1、…、RN)1302を生成する。レンジ画像は、単一座標系のレンジメッシュ1304に変換される1303。確率関数1305を使用することにより、レンジメッシュはBDTジェネレータ103を用いてADF1306に変換される。確率関数は、ADFの対応するセルに対する各メッシュにおける各頂点の寄与(重み)を確定する。そして、ADF10を作成するための遮蔽、ノイズ、細部の喪失等の問題を訂正するために、エディタ104を適用することができる。
三角形への変換
また、本システム100は、レンダリングと、制御点ベース編集と、現行のアニメーションパイプラインに統合することができる出力モデルへの変換と、のためにADF10を三角形化する新しい方法も提供する。三角形化方法は、ADFの八分木等、適応グリッドでサンプリングされる陰関数から一貫した三角形モデルを位相的に作成する。本方法は非常に高速であり、リアルタイムに三角形モデルを作成することができる。本方法をADFデータ構造と共に使用することにより、後述するようなLODモデルを作成することができる。
従来技術によるサーフェスネット手法とは異なり(下の引用参照)、本システムの強化された方法は、適応グリッドでサンプリングされる距離値から三角形メッシュを生成する。これは、ADFの隣接するセルのサイズが大幅に変化する可能性があるため、特別な問題を提示する。これは、頂点が、隣接するセルの共通するエッジのほぼいずれにも現れる可能性があることを意味する。これまで、これら予測不可能に配置された頂点をリアルタイムに接続して「上質の」三角形を形成することは、未解決の問題であった。
新しい方法は、レギュラグリッド上にサンプリングされるバイナリボリュームデータから全体的には平滑であるが局所的に正確である三角形モデルを構築するために、マーチングキューブに対する代替として開発された、サーフェスネット方法に基づく。Gibsonによる「Using distance maps for smooth surface representation in sampled volumes」、Proc. 1998 IEEE Volume Visualization Symposium, pp.23〜30, 1998を参照のこと。しかしながら、その方法は、三角形頂点を移動しながら、反復的なエネルギ最小化プロセスを使用する。これはかなりの時間がかかる。対照的に、本発明による新しい方法は、単一ステップで、実質的にモデルのサーフェス上にある頂点を移動する。
本方法は、モデルのサーフェス上にある三角形頂点と、「良質な」三角形、すなわち等辺に近い三角形と、をもたらす。さらに、後述するように、新しい方法は、一般に適応グリッドと関連する裂け目問題に容易に対処する。言換えれば、新しい方法は、隙間の無い三角形モデルをもたらす。
本方法の基本的な3ステップは以下の通りである。
第1に、ADFの各境界(サーフェス)リーフセルに、最初にセルの中心位置に配置される頂点が割当てられる。
第2に、以下の制約を使用して位相的に一貫した「隙間の無い(watertight)メッシュを作成することにより、三角形を形成するように隣接するセルの頂点が接続される。すなわち、
(1)すべての三角形は、共通のエッジを共有する3つの隣接するセルの頂点によって接続され、そのため三角形はセルエッジに関連付けられ、
(2)三角形は、そのエッジが距離フィールドのゼロ交差を有する、すなわちサーフェスがエッジと交差する場合にのみ、エッジに関連付けられる。
第3に、三角形のすべてが形成された後、距離値に等しい単一ステップサイズで、三角形の頂点がセルのサーフェスに向かって、すなわちADF勾配の方向に移動される。
メッシュの精度およびジオメトリを向上させるために、三角形頂点を、サーフェスに亙って隣接する頂点に向かって移動させることにより、三角形の品質全体を向上させることができる。
好ましい三角形化方法1400の基本ステップを、図14に示す。ステップ1401は、候補選択パラメータ1420を使用して、ADF10のデータ値を格納するために使用されるADF八分木をトラバースすることにより候補セルを選択する。本発明の1つの実施の形態では、候補選択パラメータ1420は、すべての境界リーフセルが候補セルとして選択されることを指定する。本発明の他の実施の形態では、候補選択パラメータ1420は、最大誤差評価値がユーザ指定閾値を満たす境界リーフセルのみが候補セルとして選択されることを指定する。ADF八分木階層の選択されたセルより下のセルは無視される。他の実施の形態では、階層の深さと誤差評価値とを共に使用して候補セルを選択することができる。
ステップ1402は、頂点を各候補セルと関連付け、頂点をセルの中心に設定する。ステップ1403は、処理される候補セルがまだあるか否かを判断する。候補セルが無い場合、ステップ1404は、各頂点を、「平均の」隣接する頂点に向かう方向にセルのサーフェスに向かって、緩和位置を含む接平面に沿って緩和する。もしそうでなく候補セルがある場合、6つのエッジの各々に対し(ステップ1405)、ステップ1406は、サーフェスがエッジを交差するか否かを判断する。真である場合、ステップ1407は、エッジに関連する三角形の頂点V0、V1およびV2を確定し(下の説明を参照)、ステップ1408は、エッジからの三角形の向きを確定する。
ステップ1407において、頂点V0は、セルの関連する頂点、一般にセルの中心点に設定される。頂点V1およびV2は、メソッドgetFaceNeighborVertex()(面近傍頂点取得)によって確定される。なお、エッジは、2つの隣接する面、face1およびface2を有することに留意されたい。頂点V1を確定するために、getFaceNeighborVertex()は、エッジとface1とを入力とし、頂点V1を、セルの面隣接する近傍がセルと同じサイズかそれより大きい場合はその面隣接近傍の頂点に、そうでない場合は、面に隣接しかつエッジ上にゼロ交差を有する面隣接する近傍の一意の子セルの頂点に、設定する。同様に、頂点V2を確定するために、getFaceNeighborVertex()は、エッジとface2とを入力とし、頂点V2を、セルの面隣接する近傍がセルと同じサイズかそれより大きい場合はその面隣接近傍の頂点に、そうでない場合は、面に隣接しかつエッジ上にゼロ交差を有する面隣接する近傍の一意の子セルの頂点に、設定する。
図15は、3Dセルに対する12のエッジのうちの6つのみを考慮する、例えばエッジが対向する対角コーナ1501〜1502に集まる1つの可能性を示す。
サンプリングされた陰関数を三角形化する従来技術による大抵の方法は、セルエッジおよび面に三角形頂点を生成する。例えば、Bloomenthalによる「Polygonization of Implicit Surfaces」、Computer Aided Geometric Design、5(00): pp.341〜355, 1988と、Karron他による「New findings from the SpiderWeb algorithm: toward a digital Morse Theory」、Proc.Vis.in Biomedical Computing, pp.643〜657, 1994と、を参照のこと。
図16aにおいて2Dで示すように、従来技術による方法では、陰関数が適応的にサンプリングされる場合、三角形化サーフェス1602において2つの異なるサイズのセルが接する場所に裂け目がもたらされる可能性がある。これは、1つのセルの補間された頂点位置が、その接続された隣接するセルの補間された位置と一致しない可能性があるためである。これら問題は、いくつかの方法で対処することができるが、概して、従来技術による解決法は、三角形化方法を非常に複雑にする。
対照的に、本システムの改良された方法では、三角形頂点はセル中心に生成され、三角形は異なるサイズのセルの面およびエッジを交差することができる。このため、図16aに示すタイプの裂け目は現れない。しかしながら、図16bに示すようにセルの2つの隣接するセットの間のエッジ交差の数が異なる場合、三角形化サーフェスに裂け目が現れる場合がある。
このタイプの裂け目は、ADFのプレコンディショニングにより、生成時または三角形化前に予防することができる。プレコンディショニングステップは、境界リーフセルの面に亙るアイソサーフェスのゼロ交差の数を、それら面隣接する近傍の関連するアイソサーフェスのゼロ交差の総数と比較する。
ゼロ交差の数が等しくない場合、ゼロ交差の数が一致するまで、セルはその面隣接する近傍からの距離値を用いて細分割される。例えば、図16bの上部の2Dセルはその下部エッジにゼロ交差を有しておらず、エッジ隣接する近傍は同じエッジに対し合計2つのゼロ交差を有する。プリコンディショニング中、上部のセルは、さらに細分割される。
また、本システム100は、LODモデルを作成するためにADFの階層データ構造の利点を利用する。境界リーフセルにおいて三角形頂点を配置する(seed)のではなく、階層データ構造がトラバースされ、頂点は、生成または編集中に計算される最大誤差評価値がユーザ指定閾値を満たす境界セルに配置される。階層においてこれらセルの下のセルは無視される。エラー閾値は、LODモデルにおいて生成される三角形の数に対し細かい制御を連続的に可能としながら変更されることが可能である。
大抵の従来の三角形デシメーションアルゴリズムと異なり、本明細書で述べるようにLODモデルを作成する時間は、入力メッシュのサイズではなく出力メッシュの頂点の数に比例する。生成時間は、従来技術の方法を用いて可能であるより桁違いに優れている。システム100は、Pentium(登録商標) IVクラスプロセッサを備えたデスクトップシステムにおいて、0.37秒で200,000の三角形モデルを生成し、0.010秒未満で2000の三角形モデルを生成することができる。
本発明を好ましい実施の形態の例として説明したが、他のあらゆる適応および変更を本発明の精神および特許請求の範囲内で行ってよい、ということは理解されるべきである。従って、併記の特許請求の範囲の目的は、かかる変形および変更のすべてを発明の精神および特許請求の範囲内にあるように包含することである。
本発明によるモデリングシステムのフロー図である。 本発明によるサーフェス追従の図である。 編集ストロークの図である。 編集ストロークの図である。 編集ストロークの図である。 制約付きサーフェス追従の図である。 制約付きサーフェス追従のフロー図である。 制御点編集の図である。 制御点編集のフロー図である。 ADF生成中のあらゆる段階での制限付き距離ツリー(BDT)の図である。 BDT生成のフロー図である。 BDT生成のフロー図である。 BDT生成のフロー図である。 モデルの外部点の図である。 モデルの内部点の図である。 走査捕捉手順のフロー図である。 三角形化手順のフローチャートである。 図14の手順によって使用されるセルエッジの図である。 エッジ間の裂け目の図である。 エッジ間の裂け目の図である。 ADF訂正方法のフロー図である。

Claims (9)

  1. 記憶装置に格納された適応的サンプル距離フィールドの1の層で細分割する候補セルを選定する選定工程と、
    前記層の所定のレベル深さまで候補セルを細分割したときの細分割セルの情報を配列としてアクセスする記憶装置上の制限付き距離ツリーに前記候補セルの距離値を算出した結果を格納する距離値計算格納工程と、
    前記候補セルを再帰的に前記適応的サンプル距離フィールドの細分割セルヘ細分割して前記細分割セルの対応する距離値を計算して前記制限付き距離ツリーに前記距離値を格納することを前記レベル深さまで繰り返す細分割工程と、
    前記制限付き距離ツリーに格納された前記細分割セルの前記距離値を前記適応的サンプル距離フィールドの対応するセルに付加して前記適応的サンプル距離フィールドを生成する生成工程と、
    前記選定工程、前記格納工程、前記細分割工程及び前記生成工程を終了条件まで繰返す繰返し工程と
    を備えた適応的サンプル距離フィールド生成方法。
  2. 細分割工程の細分割は、細分割セルの距離値が誤差評価値によって当該細分割セルの細分割を終了することを特徴とする請求項1に記載の適応的サンプル距離フィールド生成方法。
  3. 繰返し工程の終了条件は、全ての細分割セルの細分割が終了して候補セルが無いことであることを特徴とする請求項2に記載の適応的サンプル距離フィールド生成方法。
  4. 適応的サンプル距離フィールドは、隙間の無い配列データとしてメインメモリに格納され、制限付き距離ツリーの配列としてアクセスできる記憶領域は、前記隙間の無いアレイの記憶領域よりも小さいことを特徴とする請求項1ないし3のいずれか1項に記載の適応的サンプル距離フィールド生成方法。
  5. 制限付き距離ツリーは、距離値の有効性ビットを有し、細分割工程は、前記制限付き距離ツリーに前記距離値を計算すると前記有効性ビットを有効とし、前記有効性ビットの有効の場合には計算を行わないことを特徴とする請求項1ないし4のいずれか1項に記載の適応的サンプル距離フィールド生成方法。
  6. セルのタイプを候補セルと細分割されたセルとに関連付け、前記セルのタイプは、内部、外部およびサーフェスセルを含み、少なくとも前記サーフェスセルに対して細分割工程を実行することを特徴とする請求項1に記載の適応的サンプル距離フィールド生成方法。
  7. セルのタイプを侯補セルと細分割されたセルとに関連付け、前記セルのタイプは、内部、外部およびサーフェスセルを含み、サーフェスセル、所定の距離内に存在する内部セル及び外部セルに対して細分割工程を実行することを特徴とする請求項1に記載の適応的サンプル距離フィールド生成方法。
  8. 制限付き距離ツリーは、ハードウェアキャッシュに格納されることを特徴とする請求項1に記載の適応的サンプル距離フィールド生成方法。
  9. 適応的サンプル距離フィールドを格納する適応的サンプル距離フィールド記憶手段と、
    前記適応的サンプル距離フィールドの1の層で細分割する候補セルを選定する選定手段と、
    前記層の所定のレベル深さまで候補セルを細分割したときの細分割セルの情報を配列としてアクセスする制限付き距離ツリーを記憶する制限付き距離ツリー記憶手段と、
    前記候補セルの距離値を計算し、前記制限付き距離ツリー記憶手段に前記距離値を格納する距離値計算手段と、
    前記候補セルを再帰的に前記適応的サンプル距離フィールドの細分割セルヘ細分割し、前記細分割セルについて前記距離値計算手段を実行する細分割手段と、
    前記制限付き距離ツリーに格納された前記細分割セルの前記距離値を前記適応的サンプル距離フィールドの対応するセルに付加して前記適応的サンプル距離フィールドを生成する生成手段と、
    前記選定手段、前記距離値計算手段、前記細分割手段及び前記生成手段を終了条件まで繰返す繰返し手段と
    を備えた適応的サンプル距離フィールド生成装置。
JP2008231977A 2001-03-16 2008-09-10 適応的サンプル距離フィールド生成方法及びその装置 Expired - Fee Related JP4664402B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/810,983 US7002570B2 (en) 2001-03-16 2001-03-16 System and method for generating adaptively sampled distance fields with bounded distance trees

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002070606A Division JP4220713B2 (ja) 2001-03-16 2002-03-14 オブジェクトの適応的サンプル距離フィールドを生成するコンピュータで実行される方法

Publications (2)

Publication Number Publication Date
JP2009064447A JP2009064447A (ja) 2009-03-26
JP4664402B2 true JP4664402B2 (ja) 2011-04-06

Family

ID=25205214

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002070606A Expired - Lifetime JP4220713B2 (ja) 2001-03-16 2002-03-14 オブジェクトの適応的サンプル距離フィールドを生成するコンピュータで実行される方法
JP2008231977A Expired - Fee Related JP4664402B2 (ja) 2001-03-16 2008-09-10 適応的サンプル距離フィールド生成方法及びその装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002070606A Expired - Lifetime JP4220713B2 (ja) 2001-03-16 2002-03-14 オブジェクトの適応的サンプル距離フィールドを生成するコンピュータで実行される方法

Country Status (3)

Country Link
US (1) US7002570B2 (ja)
EP (1) EP1241621B1 (ja)
JP (2) JP4220713B2 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603484B1 (en) * 1999-08-06 2003-08-05 Mitsubishi Electric Research Laboratories, Inc. Sculpting objects using detail-directed hierarchical distance fields
US6836562B2 (en) * 2001-04-09 2004-12-28 Mitsubishi Electric Research Laboratories, Inc. Method for determining the shape of objects directly from range images
JP2003022448A (ja) * 2001-07-06 2003-01-24 Canon Inc 階層的格子生成方法、装置およびプログラム
US7006108B2 (en) * 2003-03-25 2006-02-28 Mitsubishi Electric Research Laboratories, Inc. Method for generating a composite glyph and rendering a region of the composite glyph in image-order
US7030881B2 (en) * 2003-03-25 2006-04-18 Mitsubishi Electric Research Laboratories, Inc. Method for converting two-dimensional objects to distance fields
US6982724B2 (en) * 2003-03-25 2006-01-03 Mitsubishi Electric Research Labs, Inc. Method for antialiasing an object represented as a two-dimensional distance field in object-order
US7176926B2 (en) 2003-03-25 2007-02-13 Mitsubishi Electric Research Laboratories, Inc. Method for animating two-dimensional objects
US7034830B2 (en) * 2003-03-25 2006-04-25 Mitsubishi Electric Research Laboratories, Inc. Method for generating a two-dimensional distance field within a cell associated with a corner of a two-dimensional object
US7034845B2 (en) * 2003-03-25 2006-04-25 Mitsubishi Electric Research Laboratories, Inc. Method for antialiasing an object represented as a two-dimensional distance field in image-order
JP2006523891A (ja) * 2003-03-26 2006-10-19 ブリガム・ヤング・ユニバーシティ 局所洗練を用いてt−スプライン及びt−nurcc表面を定義するためのシステム及び方法
CA2544909A1 (en) * 2003-11-28 2005-06-09 Bracco Imaging S.P.A. Method and system for distinguishing surfaces in 3d data sets ("dividing voxels")
US8232962B2 (en) 2004-06-21 2012-07-31 Trading Technologies International, Inc. System and method for display management based on user attention inputs
US8117102B1 (en) * 2004-09-27 2012-02-14 Trading Technologies International, Inc. System and method for assisted awareness
US8452052B2 (en) * 2008-01-21 2013-05-28 The Boeing Company Modeling motion capture volumes with distance fields
CN102282561B (zh) 2009-01-15 2014-11-12 三菱电机株式会社 冲突判定装置以及冲突判定方法
WO2010087820A1 (en) * 2009-01-28 2010-08-05 The Boeing Company Modeling motion capture volumes with distance fields
JP5603720B2 (ja) * 2010-09-13 2014-10-08 新日本工機株式会社 検査画像の生成方法、それを用いた画像検査方法、並びに外観検査装置
US9830743B2 (en) * 2012-04-03 2017-11-28 Autodesk, Inc. Volume-preserving smoothing brush
US10467691B2 (en) 2012-12-31 2019-11-05 Trading Technologies International, Inc. User definable prioritization of market information
US9208609B2 (en) * 2013-07-01 2015-12-08 Mitsubishi Electric Research Laboratories, Inc. Method for fitting primitive shapes to 3D point clouds using distance fields
US10460387B2 (en) 2013-12-18 2019-10-29 Trading Technologies International, Inc. Dynamic information configuration and display
CN104238455B (zh) * 2014-10-09 2017-03-15 南京航空航天大学 一种利用球头刀铣削自由曲面的加工方法
CN111177837B (zh) * 2019-12-30 2023-08-22 北京禹数技术有限公司 基于三维建筑模型的数据处理方法、装置和电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132710A (ja) * 1998-10-27 2000-05-12 Monorisu:Kk 三次元物体定義方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603484B1 (en) * 1999-08-06 2003-08-05 Mitsubishi Electric Research Laboratories, Inc. Sculpting objects using detail-directed hierarchical distance fields
US6724393B2 (en) * 2001-03-16 2004-04-20 Mitsubishi Electric Research Labs, Inc. System and method for sculpting digital models

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132710A (ja) * 1998-10-27 2000-05-12 Monorisu:Kk 三次元物体定義方法

Also Published As

Publication number Publication date
EP1241621A2 (en) 2002-09-18
US7002570B2 (en) 2006-02-21
EP1241621B1 (en) 2014-09-03
JP2002329215A (ja) 2002-11-15
JP4220713B2 (ja) 2009-02-04
EP1241621A3 (en) 2003-09-17
JP2009064447A (ja) 2009-03-26
US20020130858A1 (en) 2002-09-19

Similar Documents

Publication Publication Date Title
JP4664402B2 (ja) 適応的サンプル距離フィールド生成方法及びその装置
JP4810561B2 (ja) グラフィクスモデル変換装置及びグラフィクスモデル変換装置としてコンピュータを機能させるグラフィクスモデル処理プログラム
US6724393B2 (en) System and method for sculpting digital models
JP4220714B2 (ja) コンピュータ実現ツールを用いてグラフィクスオブジェクトを編集するコンピュータで実現される方法
Perry et al. Kizamu: A system for sculpting digital characters
JP4140688B2 (ja) コンピュータ実現ツールを用いてグラフィクスオブジェクトのサーフェスを編集するコンピュータで実現される方法
US7034818B2 (en) System and method for converting range data to 3D models
Tai et al. Prototype modeling from sketched silhouettes based on convolution surfaces
US6741246B2 (en) Hierarchical control point editing of adaptively sampled distance fields
US6628280B2 (en) Method for selectively regenerating an adaptively sampled distance field
US6933939B2 (en) Method for correcting an adaptively sampled distance field
Field et al. Perry
Kim et al. Multiresolution model generation with geometry and texture

Legal Events

Date Code Title Description
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: 20110104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110106

R150 Certificate of patent or registration of utility model

Ref document number: 4664402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees