JP4237806B2 - プログレッシブメッシュの適応細分方法および装置 - Google Patents

プログレッシブメッシュの適応細分方法および装置 Download PDF

Info

Publication number
JP4237806B2
JP4237806B2 JP2007191484A JP2007191484A JP4237806B2 JP 4237806 B2 JP4237806 B2 JP 4237806B2 JP 2007191484 A JP2007191484 A JP 2007191484A JP 2007191484 A JP2007191484 A JP 2007191484A JP 4237806 B2 JP4237806 B2 JP 4237806B2
Authority
JP
Japan
Prior art keywords
mesh
vertex
transformation
adjacent
vertices
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
JP2007191484A
Other languages
English (en)
Other versions
JP2007265459A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007265459A publication Critical patent/JP2007265459A/ja
Application granted granted Critical
Publication of JP4237806B2 publication Critical patent/JP4237806B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation

Landscapes

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

Description

特許権付与
この特許文書の開示の一部は、著作権保護を受ける資料を含む。著作権所有者は、関連する特許オーソリティのファイルまたは記録においてのみ現れるため、本発明文書または特許開示のいずれによっても複製に対する意義を申し立てておらず、他の場合ならすべての著作権を保有する。
発明の分野
本発明はコンピュータグラフィックスに関する。より特に、グラフィカルイメージにおけるグラフィカルオブジェクトに関する複雑な幾何学的モデルのレンダリングに関する。
発明の背景および要約
インタラクティブレートにおける複雑な幾何学的モデルのレンダリングは、コンピュータグラフィックにおける挑戦的な問題である。レンダリング性能が絶え間なく改善されていく限り、幾何学的モデルの複雑さを、前記モデルが特定のレンダリングされたグラフィカルイメージを形成する際の寄与に適応させることによって、重大な利益を得ることができる。コンピュータグラフィックス技術において知られる伝統的なモデル化システムにおいて、精細化された幾何学的モデルを、多用途のモデル化動作(例えば、押し出し、構造的ソリッドジオメトリおよび自由造形変形)を、グラフィカルオブジェクトまたはイメージを規定するのに使用される幾何原型の巨大なアレイに用いることによって形成する。前記幾何原型は、代表的に、三角形、多角形および他の多辺形形状を含む。能率的な表示のため、結果として生じる幾何学的モデルを、代表的に、「メッシュ」と呼ばれる幾何原型の多角形近似に変換する。
メッシュは、タプル(K,V)によって示されるジオメトリを有し、ここでKを、メッシュ単体の連結度を示す単体複体(すなわち、頂点、稜線および面の)とする。V={v1,...vm}を、R3空間におけるメッシュの形状を規定する頂点位置の組とする。すなわち、変数領域|K|⊂Rを、頂点KをRのカノニカル基本ベクトルと関係させることによって構成し、前記メッシュをイメージφv(|K|)として規定し、ここでφv:R→R3を線形マップとする。メッシュにおける他の情報に関して、ACM SIGGRAPH'93会報、19〜26ページの、Hugues Hoppe、T.Derose、T.Duchamp、J.McDonaldおよびW.Stuetzleによる「メッシュ最適化」を参照されたい。
コンピュータグラフィックスにおける多くの幾何学的モデルは、三角形メッシュを使用して表される。幾何学的に、三角形メッシュは、稜線において連結された多数の三角形面による区分的線形表面である。メッシュを使用してグラフィカルオブジェクトまたはイメージを表示するある一般的な技術は、幾何学的モデルの種々の精細レベル(LOD)におけるいくつかの変形を、プログレッシブメッシュを使用して形成することである。これらのようなLODメッシュを、当該技術分野において既知の種々のメッシュ単純化技術を使用して、自動的に計算することができる。
また、プログレッシブメッシュ(PM)表現を使用し、ビューに依存しないLOD制御に対して最適化されたメッシュの連続的な配列を獲得する。プログレッシブメッシュは、実行時における前記メッシュ配列の高速な横断を可能にする。
さらなる情報に関して、ACM SIGGRAPH'96会報、99〜108ページの、Hugues Hoppeによる「プログレッシブメッシュ」を参照されたい。ビューに依存しないプログレッシブLODメッシュの組すなわち配列は、多くのコンピュータグラフィックス用途に適している。しかしながら、見る人を取り囲んでもよいグラフィカル地形または他のグラフィカル環境のような大規模幾何学的モデルをレンダリングする場合、ビューに依存しないプログレッシブLODメッシュの使用に関していくつかの問題がある。
ある問題は、前記幾何学的モデルの多数の個別的な多角形または面は、見る人の選択した視野錐台(ビュー平面)の外にあるかもしれず、したがってグラフィカルイメージまたはオブジェクトをレンダリングする際に寄与しないことである。前記視野錐台の外にある面を最終的に選択する(すなわち、破棄する)としても、前記視野錐台内に用いるのと同じレベルの精細度を前記視野錐台の外の面にも用いるため、処理リソースがグラフィカルイメージまたはオブジェクトのレンダリング中に浪費される。
他の問題は、見る人から離れた方を向いた面の不必要なレンダリングである。これらのような面を、代表的に、レンダリング中、「背面」試験を使用して選択する。しかしながら、この背面試験は、再びレンダリング中に多大な処理リソースを浪費する。
更に別の問題は、前記視野錐台内で前記モデルのいくつかの領域が、他の領域よりも見る人に近づきすぎるかもしれないことである。プログレッシブLODメッシュは、適切な精細度レベルを前記幾何学的モデル全体に与えられず、これらのような領域を処理できない。
これらの問題のいくつかを、グラフィカルシーンをメッシュの階層表示として階層表示的に表すことによって処理することができる。前記シーンの部分を、前記階層表示における各メッシュに対して別々に適応させることができる。しかしながら、これらのような階層表示をグラフィカルオブジェクトまたはイメージの連続的な表面において確立することは、余計な挑戦的な問題を与える。
階層表示の選択の確立に関するある問題は、視覚的「隙間」が前記プログレッシブLODメッシュにおいて現れるかもしれないことである。例えば、あるグラフィカル地形を表すメッシュをブロックに分割すると、これらのブロックは、異なったレベルの精細度でレンダリングされ、これが表示されると、前記地形に隙間が現れるかもしれない。加えて、これらプログレッシブLODメッシュブロックの境界線は、前記地形表面における自然の特徴に対応しそうになく、結果として、次善の近似が生じる。同様の問題は、滑らかなパラメトリック表面の適応モザイク化においても生じる。
グラフィカル地形に関する高い領域の場合と、いくつかのパラメトリック表面とに関するメッシュを適応細分する、グラフィカル技術の当業者に既知の限定された方法が開発されている。しかしながら、これらの方法を、任意のメッシュに一般的に適用することはできない。
当該技術分野において既知のように、メッシュを、メッシュ変換の組における拘束の組と、一定の細分基準の組とを使用して、細分することができる。例えば、プログレッシブメッシュ表示を、稜線削除動作と、頂点の組によって拘束される頂点分割処理とを含むメッシュ変換の組によって細分することができる。一定の細分基準の組は、稜線削除に関するすべての候補稜線を優先権待ち行列に置くことを含み、ここで、各変換の優先権を、初期メッシュからの少数の点をプログレッシブメッシュ表示におけるメッシュに適応させるのに使用されるエネルギーコストとする。さらなる情報に関して、上記で引用した論文「プログレッシブメッシュ」を参照されたい。
プログレッシブメッシュ表示を細分基準の一定の組によって細分することは、多数の問題を生じさせる。前記プログレッシブメッシュに使用される拘束の組および一定の細分基準の組は、プログレッシブメッシュ表示を適応細分することに適切でない。適応細分中、プログレッシブメッシュ表示のいくつかの領域(例えば、見る人の方を向いた領域)は細分されるが、同じプログレッシブメッシュ表示の他の領域(例えば、見る人から離れた方を向いた領域)は粗くなる。前記プログレッシブメッシュに使用される拘束されたメッシュ変換の組および一定の細分基準の組は、任意のプログレッシブメッシュ表示を適応細分することにも適していない。
本発明の説明的な実施形態によれば、プログレッシブLODメッシュに関する問題、階層表示を選択することと、プログレッシブメッシュ表示を適応細分することは克服される。任意のプログレッシブメッシュをビュー依存パラメータの変化に応じて適応細分する方法およびシステムを説明する。任意のプログレッシブメッシュを、選択的細分基準の組を使用する拘束されたメッシュ変換の組によって適応細分一般的な方法も示す。
任意のプログレッシブメッシュを変化するビュー依存パラメータに応じて適応細分する方法は、プログレッシブメッシュ表示MRを再パラメータ化し、再パラメータ化プログレッシブメッシュ表示MREを形成することを含む。前記再パラメータ化は、プログレッシブメッシュMR表現に関するNデータ構造記録の配列から新たな頂点、面または稜線を選択することを含む。頂点階層表示を、再パラメータ化プログレッシブメッシュ表示MREにおいて構成する。前記頂点階層表示の構成を、再パラメータ化頂点の横断を使用して行う。しかしながら、他の構成技術も使用できる。
前記頂点階層表示は、ツリー構造の「森」を形成し、この森において、「ルート」ノードはプログレッシブメッシュ表示(例えば、MR)の頂点であり、「リーフ」ノードは再パラメータ化メッシュ表現(例えば、MRE)の頂点である。しかしながら、他の形式の頂点階層表示も使用できる。前記頂点階層表示の確立は、再パラメータ化プログレッシブメッシュ表示MREにおける再パラメータ化された頂点に関する細分依存の形成を可能にする。
選択的細分基準の組に関する値を予め計算し、選択的細分基準の組の実行時評価をより速く形成する。本発明の他の実施形態において、選択的細分基準の組を実行時に計算する。
実行時において、一つ以上のビュー依存パラメータが変更したことについての指示を受ける。再パラメータ化プログレッシブメッシュMREを、前記頂点階層表示と、予め計算された選択的細分基準と、実行時に計算された選択的細分基準とを使用して適応細分し、適応細分化メッシュを形成する。パラメータ化プログレッシブメッシュ表示MREを適応細分することは、MREのいくつかの領域を拘束された変換の列で細分し、MREの他の領域を拘束された変換の組で荒くすることを含む。
本発明の説明的な実施形態に関するシステムは、任意のプログレッシブメッシュ表示を構成するローケータ/コンストラクタモジュールと、前記プログレッシブメッシュ表示をコンピュータシステムのメモリにロードし、前記プログレッシブメッシュ表示を再パラメータ化し、選択的細分基準の組における前処理を行う前処理モジュールと、ビュー依存パラメータにおける変化を受け、選択的細分基準を評価し、再パラメータ化プログレッシブメッシュ表示を適応細分し、アクティブ面をレンダリングするレンダリングモジュールとを含む。しかしながら、本システムは、より多くのまたはより少ないモジュール含むこともでき、前記モジュールの機能をより多くのまたはより少ないモジュールにおいて結合することもできる。
任意のプログレッシブメッシュを選択的細分基準を使用する拘束されたメッシュ変換の組で適応細分する一般的な方法は、任意のプログレッシブメッシュ表示を選択することを含む。メッシュ変換の組と,前記メッシュ変換の組における拘束と、選択的細分基準の組とを選択する。実行時において、前記プログレッシブメッシュ表示の細分を、幾何原型を前記プログレッシブメッシュ表示に、前記メッシュ変換の拘束された組と、選択的細分基準の組とを使用して加えることによって適応細分し、選択的に細分されたメッシュの第1近似を形成する。前記選択的に細分されたメッシュを、前記選択的に細分されたメッシュを通過することによって適応細分する。適応細分は、前記選択的に細分されたメッシュのいくつかの領域をさらに細分し、同じ選択的に細分されたメッシュの他の領域を粗くする。この方法は、任意の幾何学的モデルに関する任意のプログレッシブメッシュ表示を適応細分させる。また、この方法は、開発者が前記選択的細分基準の組を選択できるため、きわめて適応性がある。前記選択的細分基準をビュー依存とすることもでき、または、多数の目的に関するプログレッシブメッシュ表示の適応細分に適応性を与えるいくつかの他の依存性の組を基礎とすることもできる。
本発明の説明的な実施形態の上述したおよび他の特徴および利点は、添付した図面を参照して進める以下の詳細な説明から、より容易に明らかになるであろう。
本発明の出願は、カラーにおいて作成された少なくとも1つの図面を含む。カラーの図面を伴う本発明の複製を、要求及び必要経費の支払いに応じて関連する特許オーソリティによって与える。
カラーにおいて作成されたこれらの図面のいくつかは、ユタ州プロボのビューポイントデータラブズインターナショナル(Viewpoint Datalabs International)によって元々形成され、著作権を取得されているデータセットから形成されたメッシュのイメージである。
実施例の詳細な説明
図1は本発明の実施例を実施するコンピュータシステムのブロック図である。
図1につき説明すると、本発明の好適実施例の動作環鏡は、少なくとも1つの高速処理装置(CPU)14と、関連するメモリシステム16、入力装置18及び出力装置20を具えるコンピュータ12を有するコンピュータシステム10である。これらの素子はバス構造22により相互接続されている。
図示のCPU14は普通の設計のものであり、計算を実行するALU24、データ及び命令の一時記憶用のレジスタ群26、及びシステム10の動作を制御する制御ユニット28を含む。種々のプロセッサ(Digital Equipment,Sun,MIPS,IBM,motorola,NEC,Intel,Cyrix,AMD,Nexgen等からのプロセッサを含む)の任意のものもCPU14として等しく好適である。1つのCPU14を示すが、コンピュータシステム10は多数の処理装置を含むことのできる。
メモリシステム16は主メモリ30及び補助メモリ32を含む。図示の主メモリ30は高速ランダムアクセスメモリ(RAM)及びリードオンリメモリ(ROM)である。主メモリ30は任意の追加の又は他の高速メモリ装置又はメモリ回路を含むことができる。補助メモリ32はROM、光又は磁気ディスク、有機メモリ又は任意の他の揮発性又は不揮発性大容量メモリシステムのような長期メモリの形のものとする。入力/出力装置18、20は他のコンピュータシステム又は装置との通信用のネットワーク接続手段、モデム、又はその他の装置も含む。
当業者によく知られているように、コンピュータシステム10は更にオペレーティングシステム及び少なくとも1つのアプリケーションプログラムを含む。オペレーティングシステムはコンピュータシステムのオペレーション及びリソースの割当てを制御するソフトウエア命令のセットである。アプリケーションプログラムは、ユーザが所望するタスクをオペレーティングシステムにより使用可能にされたコンピュータリソースを使用して実行するソフトウエア命令のセットである。どちらも図示のメモリシステム16内に常駐する。
コンピュータプログラミング分野の通常の知識を有する者のプラクティスに従って、本発明を、特にことわらない限り、コンピュータシステム10により実行されるオペレーションの動作及び記号表現に関連して以下に説明する。このようなアクト及びオペレーションは時々コンピュータ実行されるという。動作及び記号表現オペレーションはデータビットを表わす電気信号のCPU14による操作を含む。この操作は電気信号表現の変換又は還元及びメモリシステム16内のメモリ位置におけるデータビットの維持を行ってコンピュータシステムのオペレーションを再構成又は変更するとともに、信号の他の処理を行う。データビットが維持されるメモリ位置はデータビットに対応する電気的、磁気的、光学的又は有機的特性を有する物理的位置である。
データビットはコンピュータ12により読み取り得る磁気ディスク及び任意の他の揮発性又は不揮発性大容量メモリシステムを含むコンピュータ読取り可能媒体上に維持することもできる。コンピュータ読取り可能媒体は、コンピュータシステム10にのみ存在する又は多数の相互接続コンピュータシステム10(ローカル又はリモートシステムにすることができる)の間で分配される協働又は相互接続コンピュータ読取り可能媒体も含む。
グラフィック物体のレンダリング
グラフィック物体を発生させるために、グラフィック物体を規定するのに使用される幾何プリミティブにモデリングオペレーションを適用することにより詳細グラフィックモデルを生成する。幾何プリミティブは代表的には三角形、多角形(ポリゴン)及びその他の多辺形を含む。グラフィック画像をレンダリングするために、グラフィック物体を処理し、得られたグラフィック画像をフレームバッファ(例えばメモリシステム16)に蓄積する。フレームバッファは1フレームのグラフィックデータを含む。レンダリングされた画像データを次にディスプレイ(ディスプレイ20)に転送する。グラフィックデータは所定のサイズのフレーム(例えば3メガバイト)で蓄積される。グラフィック画像は代表的にはフレームごとにレンダリングされる。レンダリングについてのこれ以上の情報については、「Fundamental of Interactive Computer Graphlcs」第2版、J.D.Foley及びA.Van Dam著、Addison-Wesley出版社、を参照されたい。
フレーム単位の効率的表示のために、1以上のグラフィック物体を含むグラフィック画像に対するグラフィックモデルは代表的には「メッシュ」という幾何プリミティブの多角形近似に変換される。メッシュはタプル(k,v)により示されるジオメトリを有し、ここでkはメッシュ単体の連結度(即ち頂点、稜線及び面の隣接度)を指定する単体複体である。v={v1,..vm}はR3空間内のメッシュの形状を規定する頂点位置のセットである。即ち、Rmの標準基ベクトルを有する頂点を識別するとともにメッシュをΦv(|k|)として規定することにより媒介変数領域|k|⊂Rmが構成される。ここで、Φv:Rm−R3はリニアマップである。メッシュを用いてグラフィック物体を表示する一つの共通の技術はプログレッシブメッシュを用いて種々のビュー独立詳細レベル(LOD)で幾何モデルのいくつかのバージョンを生成するものである。
プログレッシブメッシュ
Mを全てのあり得るメッシュのセットとすると、任意のメッシュMのプログレッシブメッシュ表示MPM(ここで、M⊂M及びMPM⊂M)は増大する精度のメッシュ近似の連続シーケンスMi(i={0,..n-1}、M0,M1,..Mn-1)を規定し、これから任意所望の複雑さのビュー独立詳細レベル近似を効率的に検索することができる。幾何モデルに対するプログレッシブメッシュ表示MPMを生成するために、固定の細分化基準セットを用いて任意のメッシュMを一連の稜線削除(ecol)処理により簡単化してもっと簡単な基本メッシュMを生成する。従来既知の稜線削除処理を使用するプログレッシブメッシュ簡単化処理を式(1)に示す。
(M=M)⇒ecoln-1⇒...ecol1⇒M1⇒ecol0⇒M0 (1)
図2は稜線削除処理36及び頂点分割処理38を示すブロック図である。Ecol(V,V,VR,VT,FL,FR)としてパラメータ化される稜線削除処理36は細分化された(精)メッシュMF48の2つの追加の頂点VL44及びVR46間の2つの隣接頂点VS40及びVT42を統一して粗メッシュMC52上の単一の頂点VS'50にする。粗メッシュM52はプログレッシブメッシュ表示における最終基本メッシュM0又は別の中間粗メッシュM(例えば、M1,M2,...等)とすることができる。頂点VT40及び頂点VT40と関連する面FL54及びFR56は稜線削除処理において消滅する。新しいメッシュ位置は統一頂点VS'50に対し指定される。
稜線削除処理36は頂点分割(vsplit)処理38の逆である。頂点分割を用いるプログレッシブメッシュ細分化処理を式(2)に示す。
⇒vsplit0⇒M1⇒vsplit1⇒...Mn-1⇒vsplitn-1⇒(M=M) (2)
細分化された(精)メッシュMF48は式(2)に示すプログレッシブメッシュシーケンス(例えばMn-1,Mn-2,...等)において三角形メッシュM又は任意のメッシュとすることができる。Vsplit(VS,VL,VR)としてパラメータ化される頂点分割処理は新しい頂点VT42及び2つの新しい面FL54及びFR56を導入することにより粗メッシュM52を変更する。面FL54は3つの頂点FL={VS,VL,VT}(42、44、40)で規定され、面FR56は3つの頂点FR={VS,VR,VT}(42、46、40)で規定される。得られるメッシュシーケンスM0,...M=Mはビュー独立詳細レベル(LOD)制御に有効である。固定の細分化基準を用いるプログレッシブメッシュについてのこれ以上の情報については「Progressive Meshes」,Hugues Hoppe著,ACM SIGGRAPH'96 Proceedings,pp.99-108,を参照されたい。
図3A−3Dは地形格子に対するビュー独立プログレッシブメッシュ表示のスクリーンディスプレイを示す一連のカラーブロック図60である。頂点分割処理38を基本メッシュM062に繰り返し適用する。例えば、図3Aにおいて、粗基本メッシュMO62は三角形を規定する3つの頂点と1つの面を有するが、図3Dの最も細分化されたメッシュMn68は200×200の頂点及び79,202の面を有し、複雑な地形のグラフィック画像を規定する。図3B及び3Cはそれぞれ1,000及び10,000の面を有する中間メッシュM514及びM5066のカラースクリーンディスプレイ(64、66)を示す。粗基本メッシュM062は稜線削除処理36を細分化メッシュMn68に繰り返し適用することにより細分化メッシュMn68から復元することができる。
式(1)及び(2)に示す演算で処理されるプログレッシブメッシュはいくつかの大きな問題を残す。例えば、プログレッシブメッシュは、代表的には、レンダリングプロセス時に選択的細分化に対し良好なリアルタイム実行を保証するよう設計されておらず、スクリーン空間の幾何誤差を測定することができず、ビュー依存パラメータ変化につれてメッシュを選択的に細分化するのに使用することはできない。
プログレッシブメッシュのビュー依存細分化
式(1)及び(2)により生成される図2に示すプログレッシブメッシュはビュー独立であり、固定の細分化基準セットを用いて生成される。図4は、任意のプログレッシブメッシュMAを変化するビュー依存パラメータに従って選択的に細分化する本発明の一実施例の方法70を示す。方法70は本発明の図示の実施例のコンピュータシステム10のメモリ16内のアプリケーションプログラムとして実現される。しかし、他の実現も使用可能である。方法70はステップ72においてプログレッシブメッシュ表示Mを再パラメータ化して再パラメータ化されたプログレッシブメッシュ表示MREを生成する。再パラメータ化はプログレッシブメッシュ表示Mと関連するN個のデータ構造記録の系列からの新しい頂点、面及び稜線の選択を含む。ステップ74において、再パラメータ化されたプログレッシブメッシュ表示MREから頂点階層表示を構成する。頂点階層表示の構成は再パラメータ化された頂点の横断を用いて行われる。しかし、他の構成技術を使用することもできる。頂点階層表示は「根」ノードがプログレッシブメッシュ表示(例えばM)の頂点であり且つ「葉」ノードが再パラメータ化されたメッシュ表現(例えばMRE)の頂点であるツリー構造の「森」を構成する。しかし、他のタイプの頂点階層表示を使用することもできる。頂点階層表示の確立により再パラメータ化されたプログレッシブメッシュ表示MRE内の再パラメータ化された頂点に対する細分化依存性の生成が得られる。ステップ76において選択的細分化基準セットの値を予め計算して選択的細分化基準セットの実行時評価を高速にする。本発明の代替実施例では、ステップ76を実行時に完了させる。本発明の図示の実施例ではステップ72-76を前処理ステップとして完了させる。本発明の代替実施例では、ステップ72-76を実行時に完了させる。
実行時に、ステップ78において1以上のビュー依存パラメータが変更されていることを示す指示を受信する。ステップ80において、再パラメータ化されたプログレッシブメッシュ表示MREを、頂点階層表示、予め計算された選択的細分化基準及び実行時に計算された選択的細分化基準を用いて選択的に細分化して選択的細分化メッシュを生成する。パラメータ化されたプログレッシブメッシュ表示の選択的細分化は一連の拘束頂点分割変換を用いるMREの細分化エリアと一連の拘束稜線削除変換を用いるMREの粗大化エリアを含む。拘束頂点分割変換及び稜線削除変換について以下に説明する。
得られた選択的細分化メッシュは所定の詳細近似レベルに対し少数のポリゴン(三角形)を必要とし、選択された幾何モデルに対し少数の頂点依存性を用いて変更されたビュー依存パラメータに基づいて幾何学的に最適化された一連の頂点再パラメータ化である。
頂点分割変換
プログレッシブメッシュ表示MRはステップ72(図4)において、新しい拘束稜線削除及び頂点分割変換を用いて再パラメータ化される。新拘束稜線削除変換及び新拘束頂点分割変換は式(1)及び(2)に示すプログレッシブメッシュ処理を更に改善したものである。新稜線削除変換及び新頂点分割変換は式(1)及び(2)に示す変換には考慮されていない対を成す隣接面を考慮するものである。
図5は拘束頂点分割変換82及び拘束稜線削除変換84を示すブロック図である。図5に示すように、任意のプログレッシブメッシュ表示MR86は頂点VS88及び多数の隣接面(90-102)を有する。Vsplit(VS,fn0,fn1,fn2,fn3)としてパラメータ化される頂点分割変換82は親頂点VS88と関連する第1組の対を成す隣接面{fn0,fn1}(96-98)及び第2組の対を成す隣接面{fn2,fn3}(100−102)を決定する。本発明の図示の実施例では、対を成す隣接面(即ち一対の隣接する面)は共通の境界を有する。しかし、他のタイプの面を使用することもできる。図5に示す例では、対を成す隣接面の組として面96-98及び100−102を選択した。しかし、他の組の対を成す隣接面、例えば(94、100)及び(90、92)を選択することもできる。親頂点VS88はプログレッシブメッシュ表示MR86において、この親頂点を2つの子頂点VU104及びVT106及び2つの新しい面fL108及びfR110と置き換えることにより再パラメータ化する。第1の新しい面fL108は第1組の対を成す隣接面{fn0,fn1}(96,98)の間に生成される。第2の新しい面fR110は第2組の対を成す隣接面{fn2,fn3}(100,102)の間に生成される。2つの新しい面fL108及びfR110は子頂点VU104及びVT106を結ぶ新しい稜線112を共有する。頂点分割変換82をプログレッシブメッシュ表示MR86に実行することにより第1の再パラメータ化されたプログレッシブメッシュ表示MRE114が形成される。プログレッシブメッシュ表示MR86は再パラメータ化されたプログレッシブメッシュ表示MRE114から以下に記載する新しい拘束稜線削除変換84により再現することができる。
頂点分割変換82は頂点{V1,V2,V3}を有する三角形プログレッシブメッシュ表示Mnにつき示すと表1に示すようになる。
例えば、第1頂点分割変換S1は頂点V2を頂点V4及びV5に分割し、第2頂点分割変換S2は頂点V5を頂点V6及びV7に分割し、以下同様である。頂点{V1,V2,V3}を有する初期粗プログレッシブメッシュ表示及び頂点{V14,V15,V11,V4,V6,V12,V13,V8,V9}を有する最終再パラメータ化プログレッシブメッシュ表示を図9に示す。
稜線削除変換
ecol(VS,VT,VU,fL,fR,fno,fn1,fn2,fn3)としてパラメータ化される拘束稜線削除変換84は頂点分割変換82の逆変換を実行する。稜線削除変換84は、2つの新しい面fL108及びfR110を除去するとともに子頂点VU104及びVT106を親頂点VS88と置き換えることにより再パラメータ化メッシュ表現MRE114をメッシュ表現M86に変換する。
稜線削除変換84は頂点{V14,V15,V11,V4,V6,V12,V13,V8,V9}を有する再パラメータ化三角形プログレッシブメッシュ表示Mnにつき示すと表2に示すようになる。
表2に示すように、再パラメータ化三角形プログレッシブメッシュ表示は稜線削除変換84によって、頂点{V1,V2,V3}を有する三角形プログレッシブメッシュ表示Mに戻すことができる。表2は表1に示す変換の逆を示す。
図6は境界118を有するプログレッシブメッシュ116を示すブロック図である。境界は原プログレッシブメッシュ表示に発生し得る。境界118を有するプログレッシブメッシュ表示MRを支持するために、第1組の対を成す隣接面{fn0,fn1}(96,98)又は第2組の対を成す隣接面{fn2,fn3}(100,102)を存在させないことができる。例えば図6では、境界118のために第2組の対を成す隣接面{fn2,fn3}を存在させない。その結果として、頂点分割変換82は第1の再パラメータ化された境界プログレッシブメッシュ表示MRE120においてメッシュMR116に存在する一組の対を成す隣接面(例えば{fn0,fn1}(96,98))のみを用いて単一の面fL108を生成する。稜線削除変換84は第1の再パラメータ化境界プログレッシブメッシュ表示MRE120から単一の面fL108を除去して境界プログレッシブメッシュ表示MR116を再生成する。
拘束頂点分割変換用の方法
頂点分割変換82はプログレッシブメッシュ表示におけるアクティブ頂点及び面により拘束される。図7は図5のブロック図に示す頂点分割変換82用の方法のステップを示す流れ図である。ステップ124において、1つの頂点(例えば頂点88)を分割のために選択する。ステップ126において、選択された頂点がプログレッシブメッシュ表示において「アクティブ」であるか否かを決定する検査を行う。この頂点(面)はプログレッシブメッシュ表示に存在する場合、「アクティブ」である。ステップ126において選択された頂点がアクティブでない場合には、頂点分割変換82は「正当」でなく、即時に完了させることはできない。ステップ126において選択された頂点がアクティブである場合には、ステップ128において、選択された頂点に隣接する第1組の対を成す隣接面{fn0,fn1}(例えば96,98)及び第2組の対を成す隣接面{fn2,fn3}(例えば100,102)がアクティブであるか否かを決定する検査を行う。ステップ128において頂点分割変換82は「正当」でなく、即時に完了させることはできない。2組の対を成す隣接面がアクティブでない場合には、頂点分割変換82は「正当」でなく、即時に完了させることはできない。ステップ128において第1組及び第2組の対を成す隣接面がアクティブである場合には、ステップ130において選択された頂点88を2つの子頂点(例えば104、106)に分割する。ステップ132において、第1組の対を成す隣接面(96、98)の間に、2つの新しい頂点(104、106)を結ぶエッジ(例えば112)を有する新しい面(例えば108)を生成する。ステップ134において、第2組の対を成す隣接面(100、102)の間に、2つの新しい頂点(104、106)を結ぶエッジ(例えば112)を有する第2の新しい面(例えば110)を生成する。得られる再パラメータ化されたメッシュ表現MREは図5にメッシュ有114で示す構成を有する。
拘束稜線削減変換法
また、拘束稜線削減変換84はプログレッシブメッシュ表示におけるアクティブ頂点および面によって拘束する。図8は図5に示す拘束稜線削減変換法84を示すフローチャートである。ステップ138で拘束する一対の頂点(例えば104、106)を選択する。選択された頂点が再パラメータ化プログレッシブメッシュ表示MRE114で拘束チェックをステップ140で行う。選択された頂点(104、106)がアクティブでない場合には、稜線削減は“正当”ではなく、拘束稜線削減変換84は直ちに完了し得えなくなる。2つの頂点がステップ140でアクティブとなる場合には第1の面fおよび第2の面f(例えば、108、110)がアクティブとなるとともに第1および第2面(108、110)に対で隣接する第1および第2組の面(例えば、(96、98)(100、102))がアクティブになる場合には、並びに第1および第2組の面{fn0,fn1,fn2,fn3}(96−102)が再パラメータ化プログレッシブメッシュ表示MREの一組の面{fn0,fn1,fn2,fn3}と対向するように等しくなる。本発明の図示の例では第1および第2面(108、110)はステップ138で選択された2の頂点(104、106)を接続する共通の稜線(例えば、112)を有する。第1組の面(96、98)は第1面108に対で隣接し、第2組の面(100、102)は図5に示すように第2面110に対で隣接する。ステップ142のチェックが誤り(false)である場合には稜線削減は正当ではなく、稜線削減変換84は直ちに完了し得なくなる。
ステップ142でのチェックが真である場合には、2つの子頂点(104、106)ステップ144で1つの親頂点88に結合される。第1組の対隣接面(96、98)間の第1面108はステップ146で除去する。第2面110はステップ148で除去する。その結果としてのプログレッシブメッシュ表示MR86は図5に示す構造とする。
頂点分割変換および稜線削減変換の拘束
頂点分割変換82および稜線削減変換84は表3に示す一組の拘束によって拘束する。
しかし、数個以上の拘束を用いることもできる。表3に示す拘束によって頂点分割変換82および稜線削減変換84を用いてプログレッシブメッシュ表示を再パラメータ化し得る手段を決める。拘束によってアクティブ頂点および面を考慮する。
頂点階層表示
プログレッシブメッシュ表示をステップ72で再パラメータ化した後、頂点階層表示は頂点分割変換82および再パラメータ化メッシュMREからの情報によってステップ74で構成する。従来既知のように頂点階層表示は頂点分割操作および変換削減操作とともに用いてメッシュのリアルタイム選択細分化を行う簡素化階層表示を生ぜしめるようにする。さらに詳細な説明はXiaおよびVarshneyによる論文「Dynamic View-dependent Simplification for Polygonal Models」IEEE Visualization'96 Proceedings327-334頁を参照されたい。
XiaおよびVarshneyは所定の三角形メッシュMに対してマージツリーをボトムアップ方向に予備計算する。全ての頂点Vはツリーのレベル0でリーブスとしてエンターされる。次いで各レベルl>=0に対して一組の稜線削減操作を選択して頂点の対を併合するとともに、その結果の頂点の適当なサブセットをレベル(l+1)に促進する。レベルlの稜線削減操作は稜線長さに基づいて選択するが、その隣接部は重畳しないように削減する。木(即ち、森の木)の最高レベルは粗メッシュMOの頂点に相当する。
実行時には、選択細分化は頂点フロントをマージツリー階層表示により上下に動かすことによって達成する。細分化を均一にするための、稜線削減操作または頂点分割操作はレベルlの予め計算されたメッシュのそれと同一となる。即ち、これら追加の特性はマージツリーに記憶される。これがため、表現によって4つのツリー状の階層表示の特性を分割し徐々の変化のみが高度の細分化から低度の細分化に向かって行われるようにする。
稜線長さに基づく頂点階層表示の構成の拘束並びにXiaおよびVarshneyにより行われたように非重畳変換による階層表示の一組への削減よりもむしろ、頂点階層表示を、変換間の可能な数個の依存性の導入に関し、頂点分割変換82の最適化シーケンスによって任意のメッシュから構成する。これは、表3に示されるを用いることにより本発明の図示の例においてメッシュを概算する際の複雑性を最小にする。加うるに、本発明の図示の例では、XiaおよびVarshneyにより行われたように稜線長さと観察者からの距離との比を調べる代わりに、曲面および視野方向にメッシュ細分化を採用するスクリーン空間概算誤差を用いる。
本発明の図示の例では、|VR|および|FR|はプログレッシブメッシュ表示MR86の頂点および面の数を示す。頂点および面はステップ74でこれらが頂点階層表示に発生した順序で番号を付して、頂点分割変換82のv分割iが頂点階層表示の頂点vsiに対し頂点vti=|VR|+2i+1,およびvui=|VR|+2i+2を導入する。例えば、i=0およびメッシュMRが3の頂点を有する場合には、vti=3+(2*0)+1=4およびvti=3+(2*0)+2=5となる。頂点はこれらが分割される際再パラメータ化(即ち、vsi=vti,vui)され、且つこの再パラメータ化は少数細分化依存性(例えば、子頂点vt4,vu5が親頂点vsiに依存)に寄与する。頂点階層表示は後述するC++データ構造(表4)に記憶されている頂点分割情報の簡単なツリー構造トラバーサルを用いるトップーダウン態様で構成される。しかし、他の構造技術を用いることもできる。
本発明の図示の例における頂点階層表示は不平衡ツリー構造の「森」(即ち、全ての葉(リーブ)は同一深さにはない)として形成される。不平衡ツリー構造の頂点階層表示は、これに導入される数個の依存性の結果として不平衡ツリー構を用いる場合よりも数個の葉を用いる選択的に細分化されたメッシュを発生する。しかし、不平衡ツリー構造を用いることもできる。一組の頂点に対する頂点階層表示はツリー構造の森を形成する親頂点vsiおよび子頂点vtiおよびvuiを含み、このツリー構造では「根」ノードが粗いメッシュ(例えば、基本メッシュMR=MO)の頂点であり、且つ「葉」ノードは最も細分化されたメッシュ(例えば、元の任意のメッシュMA=MN)の頂点である。
図9は頂点階層表示150を示すブロック図である。図9に示す例では、3つのルート頂点v1,v2およびv3(152-156)によってプログレッシブメッシュ表示MR=MO158(例えば、三角形)ノードルートノードの「森」を形成する。頂点v2154は頂点分割変換82によって2つの子頂点に分割されてそれぞれv4およびv5(168-170)(即ち、3+(2*0)+1=4,3+(2*0)+2=5)が付される。順次に、頂点v5170は頂点分割変換82によって2つの子頂点v6172およびv7174(即ち、3+(2*1)+1=6,3+(2*1)+2=7)に分割される。頂点v3,v10およびv7(156、160、174)に対して頂点分割変換82を繰返し実行する。最も細分化されたメッシュ184(即ち、元のメッシュM=Mn=MA)は頂点階層表示150のリーフノード頂点(164,166,162,168,172,176,178,180,182)から形成され、ここにMは任意の三角形プログレッシブメッシュ表示である。
本発明の図示の例では、再パラメータ化メッシュMREは視野依存パラメータの変化に基づいて頂点階層表示84によって“頂点フロント”を用いるステップ80で最適に細分化される。頂点フロントは頂点分割変換82および視野依存パラメータの変化に基づく稜線削減変換84を用いて発生する1つのメッシュ概算に相当する。
データ構造
表4は本発明の一例として、プログレッシブメッシュ表示のN-データ構造の記録に用いられるC++データ構造を示す。ステップ72(図4)で発生する再パラメータ化メッシュは表4のデータ構造を用いて記憶された頂点配列および面配列を具える。また、ステップ74(図4)で発生する頂点階層表示も次表4に示すデータ構造を用いる。頂点および面の選択されたもののみが選択的に細分化されたプログレッシブメッシュで任意の時間にアタティブとなる。アクティブ頂点および面はプログレッシブメッシュ表示シーケンスを具えるN-データ構造の記録のサブセットによってスレッドされた2つの二重リンクリストにより特定化される。しかし、他のリスト構造を用いることもできる。
表4のVertex(頂点)データ構造フィールドParent(親)およびvtを用いて図9に示す頂点階層表示150から親頂点階層表示vsおよび子頂点vtを符号化する。親頂点が頂点分割変換82により分割し得る場合には、flおよびfn[4]フィールド(即ち、{fn0,fn1,fn2,fn3})によって頂点分割変換82の残存パラメータを符号化する。頂点階層表示においては、fR=fL+1,およびvt=vu+1であるため、これら値を迅速に計算し得る関係上fRおよびvuに対するVertex(頂点)データ構造にフィールドは存在しない。
Face(面)データ構造はフィールドvertices[3]を有する面でフィールドactiveの現在の頂点を有するアクティブ面へのリンク、フィールドneighbore[3]を有する現在の面隣接部へのリンクを含む。マテリアル識別子matidはレンダリングに用いる。データ構造Srmeshは選択的に細分化メッシュを記憶するために用いるとともにステップ80(図4)で発生する適応細分化メッシュからの出力を記憶するために用いる。
視野-依存型パラメータ
本発明の図示の例では、一組の選択的細分化規準を用いてプログレッシブメッシュ表示を細分化する。一組の選択的細分化規準は視野−依存性パラメータを含む。視野−依存性パラメータは視野−錐台(即ち、視野面)、表面配向およびスクリーン空間幾何学的誤差を含む。しかし、数個以上の視野−依存性パラメータを用いることができ、且つ視野−依存性パラメータの各々は個別に用いる(例えば、視野錐台のみを用い、表面配向のみを用いる、等)ことができる。視野−依存性パラメータの1つ以上がステップ78で変化する(例えば、再パラメータ化プログレッシブメッシュ表示MREの領域がビューワに向かって配向されている)場合には再パラメータ化プログレッシブメッシュ表示MREは適応的に細分化されて異なるディテールレベルを含むようになる。
選択的細分化規準
図10は再パラメータ化メッシュMRE頂点が視野−依存性選択的細分化規準に基づいて分割または削減する必要があることを決めるための方法186を示すフローチャートである。この方法186(図10)を用いて頂点が頂点分割変換82を用いて分割すべきか、変化した視野−依存性パラメータに基づく稜線削減変換84を用いて粗分化すべきを決めるようにする。方法186は3つの視野−依存性規準を用いて頂点が分割かまたは粗分化か:視野錐台、表面配向、およびスクリーン空間誤差;を決める。しかし、更に多くの数又は更に少ない数の視野−依存性パラメータを用いることもできる。さらに1つ以上の視野−依存性パラメータを個別に用いることもできる。
最初のテストをステップ188で行って頂点が視野錐台内のグラフィックオブジェクトに影響を及ぼすかどうかを決める。頂点が視野錐台内のグラフィックオブジェクトに影響を及ぼさない場合にはこれを分割しない。視野錐台内のグラフィックオブジェクトに影響を及ぼす場合にはステップ190で第2のテストを完了する。ステップ190で頂点が視点に配向しない場合には頂点を分割しない。頂点が視点に配向する場合にはステップ192で第3のテストを完了する。頂点に対して計算されたスクリーン空間誤差が所定トレランス以上になると、頂点を含むプログレッシブメッシュ表示はステップ194で細分化する必要がある。頂点に対して計算されたスクリーン空間誤差がステップ192で所定トレランス以上にならない場合には、現在の頂点の2つの子頂点をステップ196で現在の頂点に削減するように候補に挙げる。表5は方法184を実行するサブ−ルーチンの疑似−コードを示す。しかし、方法186および表5に示すサブ−ルーチンに対して他の視野−依存性選択細分化規準を用いることもできる。
視野錐台
図11は図10の一層詳細なステップ188を示すフローチャートである。本例では頂点Vが視野錐台内にあるかどうかを決めるステップ198を示す。
本例では任意のプログレッシブメッシュ表示Mのメッシュ表現コンピュータシステム10のメモリシステム16にロードした後、頂点Vが有界スペース階層表示を用いる視野錐台内にあるかどうかを方法198(図11)によって決める。頂点v∈V(例えば、M183に対する頂点階層表示150のリーフノード)に対して、vに隣接する一組の頂点を境界付ける半径rv'の第1組の球Sv'をステップ200で決める。しかし、有界球は他の有界素子(例えば、軸整列ボックス)により置換することができる。頂点階層表示150のポストオーダ(後行順)横断線をステップ202で実行して頂点階層表示の頂点viの組に対し半径rvの第2組の球Svを発生させる。ポストオーダ横断線において従来既知のように階層表示の任意のルートノードをその子孫後に処理する。ステップ202のポストオーダ横断線は頂点v'∈V'(即ち、リーフノード)で開始する。しかし、頂点階層表示の他の横断線を用いることもできる。ポストオーダ横断線は頂点階層表示の親頂点vsiを子頂点vtおよびvuの球SvtiおよびSvuiの境界付けを行う半径rvsiの最小球Svsiに割当てる。形成された球が頂点viを中心としていないので、第2組の球Svを境界付ける頂点Vを中心とする第3組の大きな球SLをステップ204で頂点viに対する半径rLを見いだすことによって決める。本発明の変更例では、すべての下降頂点は所定ノードに対する境界量を構成するものと考えることができる。この考えはコンピュータ化時代には生ぬるいが一層正確なものである。本発明の図示の例では、ステップ200−204は前処理ステップとして計算する。本発明の変更例では、ステップ200−204は実行時に計算する。
本発明の図示の例では、視野錐台はグラフィック技術では既知の4−辺(即ち、半無限)ピラミッドとする。実行時にはあるテストを導入して頂点V=(vx,vy,vz)を中心とする半径rLの球SLが次式(3)に示されるテストを用いるステップ206で視野錐台の外側にあるかどうか決める。
i=1,...4に対して、aivx+bivy+civz+di<(-rL) (3)
式(3)の4つの線形関数aivx+bivy+civz+diによって中心Vから視野錐台の4辺のうちの一つまでの符号のついたユークリッド距離を測定する。しかし、他の関数および他の視野錐台形状を用いることもできる。半径rLの有界球SLが視野錐台の完全に外側にある場合には、頂点Vの分割によって影響を受け得るメッシュMの領域は視野錐台の外側にあり、分割しない。頂点Vの分割によって影響を受け得るメッシュMの領域が視野錐台の外側にある場合には、頂点はいまだステップ208で分割する候補であり、ステップ190(図10)でのテストを行って頂点Vを分割すべきかどうかを決める。
図12は方法198(図11)に対する有界スペース階層表示210を示すブロック図である。頂点V212と視野錐台214の2次元視野は親頂点vs1216およびvs2218、子頂点vt1,vu1,vu2およびvt2(220,222,224,226)を有する頂点階層表示の一部分とともに示す。図11の方法198を用い、頂点v∈V(216、218)に対し、頂点階層表示のVに隣接する一組の頂点(224、226)を囲む半径rv∧の第1組の球Sv∧をステップ200(図11)で決める。ステップ202(図11)においてリーフノード(220、222)で開始される頂点階層表示のポストオーダ横断線によって頂点階層表示の親頂点vsi216を子頂点vtおよびvu(220、222)の球SvtiおよびSvui(228、230)の境界付けを行う半径rvsiの最小球Svsi(232)に割当てる。形成された第2組の球Sv232、そのうちの一つを図12に示す、が頂点V212を中心としていないので、第3組の大きな球SLを発生させる。第3組の大きな球からの一つの球234は第2組の球Sv232を囲む頂点階層表示V212を中心とし、図12に示す。球234は頂点V212に対し半径rLを見いだすことによってステップ204(図11)で決める。
図12において、ステップ204(図11)でのテストに対する4つの線形関数aivx+bivy+civz+di(式3)のうちの2つの関数を用いて符号のついたユークリッド距離(236、238)を測定し、視野錐台214の2つの側部を図12に示す。ユークリッド距離(236、238)は双方共有界球SL234に対し(-rL)240よりも短い。これがため、頂点V212は視野錐台214の外側にあり、分割しない。頂点V212が視野錐台214の内側にある場合にはステップ190(図10)のテスト、即ち、表面配向のテストを行う。
表面配向
図13A−13Cは視点に対する頂点の配向をテストするステップ190(図10)を示すブロック図である。図13Aは頂点vi244および標準ベクトルn^vi246によって影響を受けるメッシュM'242の表面の領域を示す。図13Bは3次元グラフィック影像248(例えば、グラフィカル地形、メッシュM^242のサブセクション)の領域を示す。図13Cはメッシュ242のガウスマップ150を示す。コンピュータグラフィック技術で既知のように、ガウスマップはグラフィックオブジェクトの表面の一群の点から単位球の一群の点への写像である。
図10のステップ190のテストはグラフィカル像面248自体の代わりに、ガウスマップ150により規定された表面上の一組のスペース法線を用いること以外、図11のステップ200のテストと同様である。法線252のセットスペースはユニット球S254のサブセットである。ここにS={p∈R3:||p||=1}であり、pは任意の三角形メッシュM^の三角面の法線に対応する一組の点であり、R3は線形マップである。
頂点vi244に対しM^248の領域は頂点vi244およびその頂点階層表示150の地形によってサポートされた法線252のスペースを規定する。法線256の錐面はベクトルn vi246に対する半角αvi258によって規定する。半角αvi258はプログレッシブメッシュが“法線スペース階層表示”を用いるコンピュータシステム10のメモリシステム16にロードした後計算する。球Svi260は法線252の関連するスペースを囲む。視点e262を用いて頂点vi144を監視する。視点e262が頂点vi144の背面領域264にある場合には影響を受けた表面領域のどの部材も視点に向かって配向されてはいない。
図14は、表面配向に関する図10のステップ190をより詳細に説明する流れ図である。方法266(図14)におけるステップ268において、球S’vi260(図13C)を、法線252の関連するスペースを境界付けるM^248の面からの法線に関して決定する。しかしながら、前記境界球を、他の境界素(例えば、軸合わせされた箱)と交換してもよい。ステップ270において、要S’vi260およびS2254の交線を取り囲むベクトルn^vi246についての境界円錐256のセミアングルαvi258を決定する。セミアングルαvi<π/2を有する境界円錐256がステップ272において存在しない場合、セミアングルαviをステップ274においてπ/2に設定する(すなわち、π=3.1415927...)。本発明の説明的実施形態において、ステップ268−274を前処理ステップとして完成する。しかしながら、本発明の他の実施形態において、ステップ268−274を実行時に完成する。視点e262を与えた場合、頂点viがe262の背面領域264にある場合、頂点viを分割する必要はない。先行技術において、式4に示す試験が背面試験として一般的に使用される。
(avi−e)/(‖avi−e‖)・n^vi>sin αvi (4)
式4において、aviを、Sviの幾何学的境界量に関する円錐アンカ点とする。円錐アンカ点と視点e262との差を、これらのベクトル差の大きさで割る。当該技術分野において既知のように、ベクトル差の大きさ
に対する||v||は、ベクトルn^vi246とのドット積をとるのに使用される。当該技術分野において既知のように、AおよびBを2つのベクトルの大きさとし、θをこれらの間の角度として、ABcosθの組み合わせは、スカラー積であり、AおよびBの積ではない。したがって、AおよびBのドット積=A・B=AXX+AYY+AZZ=Σiiiである。式4におけるドット積値がセミアングルαViの正弦より大きい場合、頂点Vi244は、視点e242に関する背面領域264において存在し、分割されない。
本発明の説明的実施形態において、円錐アンカ点aviを頂点vi244によって近似し(すなわち、平行投影近似)、式5において示す試験を、実行時にステップ276における背面試験の代わりに使用する。
(vi−e)・n^vi>0および((vi−e)・n^vi2>||vi−e||sin2αvi (5)
ステップ190において用いられる(5)式に示すテストは、(4)式に示す従来の後向きテストに対して時間及びスペース効率を改良する。頂点vi244と視点e262との間のベクトル差を決定する。この場合、ベクトル(vi−e)を用いてベクトルn^vi246とのドット積を作る。
この第1のドット積が零よりも大きい場合(すなわち、(vi−e)・n^vi>O)、第2のテストを行なう。第2のテストにおいて、第1のドット積の2乗を用いて、この値が、半角αvi258のサインの2乗が乗算された、頂点vi244と視点242との間のベクトル差の大きさの2乗よりも大きいか否かを決定する。ステップ276において第1及び第2のテストが真の場合、頂点244は後側領域264に存在し視点e262から見られない。視点e262から見られない頂点vi244は分割しない。ステップ276において第1のテスト又は第2のテストのいずれかが適合していない場合、頂点vi244は後側領域264に存在せず視点e262から見ることができる。この場合、ステップ278(図14)において頂点vi244は視点e262の方向に向いており、図10のステップ192における分割の対象となる。
スクリーン空間の幾何学的誤差
図10のステップ192を用いて、スクリーン−空間誤差が予め定められた公差を超えるか否かをテストする。頂点v∈Vについて、vとその現在の隣接区域Nv(すなわち、vに隣接する面の組)及びMの対応する隣接区域N vとの間の偏移の量を決定する。その量は、
及び
について最小スカラーrとして規定されるハウスドルフの距離H(Nv,N v)である。ここで、B(r)は半径rの閉止空間であり、演算子
はミンコウスキー和である。このミンコウスキー和
は、
として規定される。H(Nv,N v)=rの場合、隣接区域Nvと隣接区域N vとの間のスクリーン空間はB(r)のスクリーン−空間投影により境界される。ハウスドルフ距離及びミンコウスキー和は当業者にとって既知である。
隣接区域Nv及びN vが互いに類似しほぼ平坦な場合、より一般的な偏移空間DによりB(r)を置換することにより一層密な距離境界を得ることができる。例えば、高さフィールドの偏移(すなわち、xy面のグラフ)は、偏移空間Dz(δ)={hz:−δ<=h<=δ}を表わすスカラー値δを頂点の組と関連付けることにより記録される。Dz(δ)を用いる主要な利点は、対応するB(δ)とは異なり、スクリーン投影の主軸Zが視る方向と平行になるにしたがってスクリーン投影が消滅することである。Dz(δ)の導出についてのより詳細な情報に関して、「Real-time Continuous Level of Detail Rendering of Helght Field」by P.Lindstrom等、ACM SIGGRAPH’96,pp.109〜118を参照されたい。
本発明の図示の実施例において、Dz(δ)は任意の表面に対して発生する。図15A〜図15Bは、新たなスクリーン空間の幾何学的な誤差を示すブロック図である。新しい偏移空間D(μ,δ)を規定する。図15Aは偏移空間Dn(μ,δ)280を示す。図15Bは図15Aの断面282を示す。
偏移空間Dn(μ,δ)280の大部分は表面に対して直交し、スカラー成分δ284から方向成分δ nにより捕獲されるが、表面隣接区域N v288が湾曲している場合均一成分μ286が必要となる。均一成分μ286により、偏移が表面に接する不連続曲線(例えば、表面境界及び有形境界)を正確に近似することができる。本発明の図示の実施例において、Dn(μ,δ)280は、見る方向vに沿う投影半径がMAX(μ,δ‖n×v‖)として表わされる形状に対応する。すなわち、Dn(μ,δ)280は2個の値の最大値、すなわち均一成分μ286、又は法線ベクトルn v246と半径方向vとの交差積のベクトル差の大きさが乗算されたスカラー成分δ284の最大値である。従来から知られているように、交差積A×Bは大きさABsinθを有するベクトルである。交差積の大きさ‖A×B‖=ABsinθである。
図16は、頂点V∈Vにおける偏移空間Dn(μv,δv)を見い出す方法290に関するフロー線図である。エッジ削除変換84が適用された後、隣接する区域NvsとN vsとの間の偏移は、ステップ292において、Nvs上に局部的に投影される領域M248についてサンプリングした点Xiの高密度の(すなわち、密接に関連する)組から残留誤差ベクトルE={ei}を試験することにより決定する。ステップ294において、MAXeieE(ei−N- v)/MAXei∈E(ei×N- v)を用いて、Eを境界する比δv/μvを有する最小偏移空間Dn(μv,δv)を決定する。すなわち、比δv/μvを固定し、ベクトルeiと隣接区域N- vについてのベクトルとのドット積の大きさの最大残留誤差により分割された隣接区域N- vについてのベクトルとベクトルeiとのドット積の最大残留誤差eiを見い出すことにより偏移空間Dv(μv,δv)を決定する。一方、他の簡単なスキムを用いて保証された境界を有する偏移空間を得ることができる。
視点e262、スクリーン空間公差τ及び視角ζが与えられると、(6)式に示すテストを用いてスクリーン空間投影Dn(μs,δv)がスクリーン空間公差τを超えるか否かを決定することができる。
MAX(μvv‖N^v×((v-e)/‖v-e‖)‖)/‖v-e‖>=(2cot ζ/2)τ(6)
μvの最大値及びδvを有する大きな項が、スクリーン空間公差τのζ/2倍したもののコタンジェントの2倍に等しいか又はそれ以上の場合、Dn(μvv)は、スクリーン公差τを超える。
本発明の図示の実施例において、ステップ292〜294は予備処理工程として完結する。本発明の変形例において、ステップ292〜294はランタイムで完了する。
本発明の図示の実施例においては、ステップにおいて、(7)式に示す等価なテストを用いてスクリーン空間投影Dn(μv,δv)がスクリーン空間公差τを超えるか否かを決定する。
μ2 v>=κ2=‖v-e‖2又はδ2 v(‖v-e‖2−((v-e)・N^v)2)2) >=κ2‖v-e‖4 (7)
ここで、κ2=(2cotζ/2)2τ2であり、フレーム毎に計算される新たな視角ファクタである。第1のテストは、均一成分の2乗が、κの成分の2乗に頂点vと視点eとの間のベクトル差の大きさの2乗をかけ合せたものに等しいか又はそれ以上が否かを決定する。この第1のテストの結果が適合している場合、Dn(μvv)がスクリーン空間公差τを超えていることになる。第1のテストの結果が適合していない場合、第2のテストにより、スカラー成分δの2乗に、頂点Vと視点eとの間のベクトル差の2乗から頂点vと視点eとの間のベクトル差と隣接区域Nvに対するベクトルとのドット積の2乗を引いたものを乗算した値が、κ成分の2乗に頂点vと視点eとの間のベクトル差の絶対値の4乗したものを乗算した値に等しいか又はそれ以上であるか否かを決定する。この条件に適合しうる場合、Dn(μv,δV)はスクリーン空間公差τを超えることになる。
ステップ296において、(7)式のいずれのテストも適合していない場合、スクリーン空間の幾何学的誤差はスクリーン空間公差τを超えず、プログレッシブメッシュは適合細分されない。ステップ296におけるいずれかのテスト結果が条件に適合する場合、ステップ298において、この頂点は依然として分割の対象となる。
本発明の実施例において、図10の方法186のステップは以下の順序で完了する。ステップ100、ステップ192、次にステップ188を行ない、方法186を最適な方法とする。一方、このテストに関して別の順序を用いることもできる。3個のテストの全ては共通のサブ数式をとるので、方法186で完了するテストは、フレームを本発明の実施例の平均にレンダリングするために用いられる時間の15%以下の時間を必要とする。方法290(図16)を用いてステップ76(図4)で計算したスカラー値{−γv,sinα2 V,μ2 v,δ2 v}は、アクセスのためにv細分情報フィールド(表4)としてデータ構造記憶媒体に記憶する。
メッシュの選択的細分
変更されたビュー依存性パラメータに基づいて方法186の3個のテスト(図10)の後ステップ80において選択的細分されたメッシュを作成するための(図4)再パラメータ化したメッシュを細分するため、メッシュを選択的細分する方法を利用する。頂点v∈Vに関して、頂点分割変換82を用いて分割すべきか、或いはエッジ削除変換84を用いて削除すべきかを決定する。メッシュを選択的細分するため、所望の頂点及び面がアクティブになる前及び所望の細分されたメッシュが作成される前に、多重頂点分割変換82及び多重エッジ削除変換84を行なうことができる。
図17A及び図17Bは、メッシュを選択的細分する方法302を示すフロー線図である。ステップ304(図17A)において、ループを用いて変更されたビュー依存性パラメータに基づき再パラメータ化されたメッシュMREのアクティブ頂点V(例えば、表4からのアクティブ頂点)の二重リンクしたリストについて繰り返えす。選択的細分されたメッシュMsは表4に示すデータ構造SRMeshに記憶する。ステップ306においてテストを行ない、アクティブ頂点Vがビュー依存性パラメータの変化により細分すべきか否かを決定する。
アクティブ頂点を分割すべきことを決定するために用いるテストは方法186(図10)及び表5の擬似コードにより記述される。しかしながら、他のテストを用いることもできる。ステップ306におけるテストが適合する場合、ステップ308においてテストを行ない、アクティブ頂点vに対して行なわれる頂点分割変換82が適合しているか否かを決定する。頂点(例えば、vペアレントに記憶されている88)並びに頂点88と隣接する対の隣接する面の第1及び第2の組(例えば、v.fn〔0・・・3〕に記憶されている(96〜102))がアクティブの場合、頂点分割変換82は適合となる。これらの面のいずれかがアクティブでない場合(すなわち、メッシュに現在含まれていない場合)、ステップ310において一連の頂点分割変換82を行ない、ステップ308における頂点分割変換を適合とする。ステップ310において一連の頂点分割変換82を行ない、要求されたアクティブではない面(例えば、v.fn〔0・・・3〕の組)をアクティブな面とする。ステップ310における頂点分割が適合している場合、アクティブな頂点と関連する頂点も同様にアクティブとなり、アクティブ頂点vはステップ312において頂点分割変換82を用いて2個の子供の頂点に分割される。
ステップ306におけるテストが条件に適合していない場合、ステップ314においてアクティブ頂点vの親の頂点についてのエッジ削除変換84が適合か否かを決定するテストを行なう(図17B)。エッジ削除変換84は、そのテストが適合している場合(すなわち、頂点vの親もアクティブであり、親の頂点fの隣接面が親頂点fn〔0・・・3〕の隣接面と整合している場合)だけ実行する。ステップ314におけるテストが適合していない場合、アクティブ頂点Vについてはなにも行わない。
ステップ316(図17B)において、アクティブ頂点の親がビュー依存性パラメータの変化に基づいて細分すべきか否かを決定するためのテストを行なう。
このステップ316におけるテストが適合していない場合、ステップ318において、アクティブ頂点Vをエッジ削除変換84を用いて削除する。ステップ314におけるテストが適合していない場合、アクティブ頂点の親についての細分が完了する(図17A)。表6は、本発明の図示の実施例として方法302を実施するためのサブルーチン用の擬似コードを示す。
procedure force_split(V’)は、頂点分割変換82を用いて分割される頂点についての頂点情報を記憶するスタックを用いる。一方、別のデータ記憶構造体を用いることもできる。
方法302(図17)は、変更されたビュー依存性パラメータに基づいてメッシュ区域を選択的細分し(例えば、頂点分割変換82を用いて)、可能な場合にはメッシュ区域を粗くする(例えば、エッジ削除変換84を用いて)。頂点分割変換82又はエッジ削除変換84が実行された後、得られた区域内の頂点について別の変換を考慮する。これらの頂点はVの横断において以前に調査されているので、これらの頂点は頂点リストに再配置されたリストの繰り返し後に直ちにリストに含ませる。例えば、頂点分割変換82の後、繰り返し後v.vtを頂点リストに付加する。エッジ削除変換89の後、v.親を付加し、v.vl及びv.vrを再配置する。
をMに変換する方法302の時間的な複雑性は、より悪い場合O(|VA|+|VB|)となる。この理由は、MA−MO−MBはO(|VA|)のエッジ削除変換84及びO(|VB|)の頂点分割変換82を必要とし、これらの変換には一定時間かかるためである。頂点VBの組は頂点VAの組と同様である。
従来から知られているように、O(f(n))の表記を用いて、関数f(n)の成長レートの漸近複雑性を表記する。ビュー依存性が連続して変化する場合、アクティブ頂点|V|の簡単な横断はO(|V|)となり、これは方法302の時間を消費する部分である。時間的複雑性O(|F|≒2|V|)を典型的に有するレンダリング処理はO|V|よりも大きい時定数を有する。尚、|F|はアクティブ面の数である。従って、方法302は、所定のコンピュータシステム形態の場合(例えば、128MBのメモリを有するSilicon Graphics Indigo 2 Extreme,150MHzR4400を用いる場合)、本発明の図示の実施例の平均としてフレームをレンダリングするために使用する全時間の約14%だけを必要とする。
所定のメッシュ及び一定のスクリーン−空間公差τの場合、アクティブ面の数|F|はビューに応じて大幅に変化する。細分時間及びレンダリング時間の両方が|F|と密接に相関するので、フレームレートの大幅な変化が生ずる。本発明の図示の実施例において、スクリーン−空間公差τは|F|が一定のレベルに維持されるように調整する。
mを面の所望の数とし時間tにおいて方法302が呼び出される場合、(8)式を用いてスクリーン−空間誤差τを調整する。
τt=τt-1(|Ft-1|/m) (8)
量|Ft-1|は、以前に描画されたフレームアクティブ面の数である。この(8)式を用いる簡単なフィードバック制御システムは良好な安定性を呈する。この理由は、|F|がτの滑らかな単調な関数となるからである。本発明の図示の実施例において、フレームの直接調整を用いたが、フレームレートは動作システムの不整合性に一層強く影響を受けるので、(8)式のmを調整することにより第2の遅いコントローラを用いて間接的に達成することができる。
方法302(図17)のステップ304はリストV全体の簡単な横断であるから、方法302により達成される作用は、フレーム中のリストVのサブ組だけをトラバースすることにより連続する複数のフレームに対して作用する。ゆっくりと変化するビュー依存性パラメータの場合、償却方法302はステップ80におけるアクティブ細分の低いオーバヘッドを減少させると共に数個の可視アーチファクトを導入する。
一方、償却(amortization)を利用する場合、スクリーン−空間公差τの調整による|F|の調整は一層困難になる。この理由は、|F|の応答が数個のフレームにわたって遅れるからである。償却を利用する本発明の図示の実施例において、リストV全体をトラバースする代わりに、リストVの全体のサブ組だけが各フレーム毎にトラバースされる。従って、スクリーン空間τについての調整作業は1個又はそれ以上の連続するフレームに分布する。リストV全体がトラバースされるまで、スクリーン−空間公差τに対する変更は行なわれない。オーバーシューティングを減らすため、アクティブ面の数が上限値(例えば、|F|>=1.2m)に達する場合頂点分割変換82は許可されないが、公差τの次の調整に向けて導入されるアクティブ面の数は計測される。
地形図形
方法302は、2個の選択的に組合されたメッシュMとMとの間の地形図形も形成する。地形図形メッシュMG(α)は、その頂点がパラメータO<=α<=1の関数として変化するメッシュであるので、MG(0)とMAと同一に見えMG(1)はMBと同一に見える。地形図形メッシュMG(α)は、そのアクティブ頂点フロント(vertex front)がこの頂点フロント中の各頂点に対してMA及びMBの頂点に等しいか又はそれ以下であることが見い出されている。図18は、メッシュMA324及びMA326に等しいか又はそれ以下の地形図形メッシュMG(α)322についての頂点階層構造320を示すブロック図である。これらのメッシュの個々の頂点(150〜182)は図9に基づいて説明した。
メッシュMAはこの性能を通常満足する(M-=MA,84、図9を参照)。一方、一層簡単な地形図形メッシュMGは、その面FGが面FA及びFBのスーパーセット(superset)となる性能及び、いかなる頂点vJ∈VGも特定の祖先vρG-A(j)∈VA及び特定の祖先vρG-A(j)∈VBを有する性能を有する。地形図形メッシュMG(α)308は(9)式に示す関係を有するメッシュ(FG,VG(α))とする。
j G(α)=(1−α)vρG-A(j)+(α)vρG-B(j) (9)
BがMAについての方法302の結果の場合、地形図形メッシュMGは一層直接的に得ることができる。ステップ304におけるVを通る単一のパスの代わりに、2個の別個のパスがVを通って完結する。
図19は地形図形MB(α)を直接作成する方法328を示すフロー線図である。第1のパスMA→MB(α)は、ステップ330において頂点分割変換82だけが考慮される方法302(図17)を用いて完了する。頂点分割変換82のシーケンスはステップ332において記録する。第2のパスMG(α)→MBは、ステップ334においてエッジ削除変換84だけが考慮されて完了する。頂点分割変換82のシーケンスはステップ336において記録する。両方のパスに関して、変換(82,84)のシーケンスは記録され(332,334)、中間メッシュMG(α)を再生することができると共に所望の祖先関数ρG-A及びρG-Bを構成することができる。得られた地形図形MG(α)を用いてメッシュMAとMBとの間のスムースな遷移を実現する。このスムースな遷移は、メッシュが視認された際「ポッピング」と称されている突然の遷移を除去する助けとなる。
三角形ストリップ
多数のグラフィックシステムは、最適な描写パフォーマンスに対して図形イメージの三角形ストリップを形成する。三角形ストリップを、隣接する面を有する接続した三角形のシーケンスとする。図20は、三角形ストリップ340を示す図形領域338のブロック図である。三角形ストリップ340は、面342に始点を有するとともに面344に終点を有する。三角形ストリップを右回りに形成する。図形イメージが描写される際、図形イメージ内の接続領域を効率的に描写し及び表示するさめに三角形ストリップが用いられる。
本発明の図示した実施の形態において、微細化方法302(図17)がインクリメンタルである。その結果、図20に示した三角形ストリップ(340)を事前に計算するのは容易でない。図21は、変更したビュー依存パラメータに対する本発明の図示した実施の形態において三角形ストリップを発生させる方法350を示す流れ図であり、方法302とともに用いられる。方法350は、有効な描写に対するストリップに対して10−15面の長さを有する三角形ストリップを発生させる。
ステップ352において、アクティブ面f∈Fのリストを横断する。ステップ354において、面f(例えば344)がまだ描写されていないか否かを決定するテストを行う。面fが描写されている場合、新たな三角形ストリップを開始しない。
面fがまだ描写されていない場合、ステップ356において、面fに対する新たな三角形ストリップ(例えば340)を開始する。ステップ358において、面fを描写する。ステップ360において、面fに隣接する任意の面が描写されていないか否かを決定するテストを行う。隣接する面が描写されていない場合、ステップ362において、その面が描写されるとともに三角形ストリップに追加される。同様な特徴を有する隣接する面は、図形ハードウェアの図形状態を変化させない三角形ストリップを形成するように考えられる。
分断化を減少させるために、本発明の図示した実施の形態では、三角形ストリップ340が右回り(例えば、342−344)に構成される。本発明の他の実施の形態では、三角形ストリップ340に対して左回り(例えば、344−342)を用いる。ステップ360のテストが失敗する(すなわち、隣接する全ての面が描写された)場合、三角形ストリップは行き止まり(例えば344)に到達し、ステップ354における面Fのリストの検討を新たな面(例えば346)で再開する。Face.matid領域(表4)の1ビットを、描写した面を記録するブールフラグとして用いる。全ての面が描写されると、Fを通じた第2パスによって描写面ビットが迅速にクリアされる。
本発明の図示した実施の形態において、パラメータ表面のリアルタイム適応テッセレーションを用いる。従来既知のように、テッセレーションは、構造、色及び陰影を有する円滑な表面を三角形に分けるプロセスである。図22は、パラメータ表面の適応テッセレーション364を示す流れ図である。方法364を、本発明の図示した実施の形態の事前の計算として仕上げる。本発明の他の例において、方法364をリアルタイムで仕上げる。ステップ366において、図形オブジェクトの表面の密な(すなわち詳細な)テッセレーションメッシュを計算する。密なテッセレーションメッシュは、図形モデルの頂点、縁及び面の構造、陰影及び色の近似を有する。ステップ368において、密なテッセレーションメッシュを、プログレッシブメッシュシーケンスを構成するのに用いる。ステップ370において、プログレッシブメッシュシーケンスを、所望のレベルの詳細で打ち切る。リアルタイムで、打ち切られたプログレッシブメッシュシーケンスを、変更するビュー依存パラメータのセットに基づく視点e262に従う図4のステップ78−80で細分化する。
テッセレーションがランタイム前に固定されるとしても、ランタイムの実現は、テッセレーショントリミング又はステッチングを必要とせず、インクリメンタル細分化(例えば方法302)が用いられるために有効であり、かつ、連結性が表面湾曲及び視点に適合するテッセレーションに対して非常に適合性がある。
適応細分化システム
図23A及び23Bは、本発明の図示した実施の形態のシステム372を示すブロック図である。システム372は、任意のプログレッシブメッシュ表示M^に対するNデータ構造記録を配置するロケータ/コンストラクタモジュール374を有する。本発明の他の例において、ローダ/コンストラクタモジュール374は、コンピュータシステム10のメモリシステム16の任意のプログレッシブメッシュ表示M^に対するNデータ構造記録を構成する。事前処理モジュール376を用いて、コンピュータシステム10のメモリシステム16のプログレッシブメッシュ表示をロードし、プログレッシブメッシュ表示を再パラメータ化し、かつ、選択細分化基準のセット(72−76,図4)を用いてプログレッシブメッシュ表示を事前処理する。ランタイムに任意のプログレッシブメッシュM^を適切に細分化するために、描写モジュール378は、ビュー依存パラメータを受信し、選択細分化基準を評価し、かつ、ユーザの表示装置にアクティブ面を描写する。描写モジュールを、図形イメージを描写するのに用いられる従来既知のハードウェア及びソフトウェアの任意の組合わせとすることができる。本発明の図示した実施の形態において、カリフォルニア州のマウンテンビュウ(Mountain View)のシリコングラフィックス社によるIndigo2 Extreme(例えば、150MHz,128MBのメモリを有するR4400)グラフィックシステムを、描写モジュール378として用いる。しかしながら、他の描写を用いることもできる。ロケータ/コンストラクタモジュール374及び事前処理モジュール376を、シリコングラフィックシステムのソフトウェアアプリケーションプログラムとして実現する。しかしながら、他の形態を用いることもできる。更に多い又は更に少ないモジュールをシステム372に対して用いることもでき、モジュール374−378の機能を、更に少ないモジュールに組み合わせた追加のモジュールに分割することができ、かつ、事前処理時又はランタイム時に用いることができる。図23Bは、上記システム372の詳細を示すブロック図である。
本発明の追加の例図
本発明の図示した実施の形態の方法及びシステムの追加の実例を図24−27に示す。図24−27は、本発明の種々の態様のカラ一例図である。図3は既に説明した。
図24A−Fは、プログレッシブメッシュ表示のビュー依存細分化のカラースクリーン表示380−390である。図24A−24Bにおいて、2次元錐台をオレンジ色で強調し、予め設定されたスクリーン空間幾何学的誤差τを用いて図形領域を表示する。図24Aは、図形領域のプログレッシブメッシュ表示の平面のカラースクリーン表示380であり、この場合、スクリーン空間幾何学的誤差τを0.0%とし、33,119面を有する。このスクリーン表示は、ビューの錐台内で非常に高いレベルを示す。ビューの錐台を、図の上方向を指示するオレンジ“V”として示す。図24Bは、図24Aのプログレッシブメッシュ表示の平面のカラースクリーン表示382であり、この場合、スクリーン空間幾何学的誤差τを0.33%とし、10,013面を有する。図24Bは、方法70(図4)によって適切に細分化される。図24Cは、図4の方法70で適切に細分化した図24Aのプログレッシブメッシュ表示の規則的なビュー384のカラースクリーン表示である。図24のビューの錐台内のプログレッシブメッシュ表示を粗くし、それは図24B及び24Cにおいて更に低いレベルの詳細を有する。方法70(図4)を図24B及び24Cのプログレッシブメッシュ表示とともに使用し、図24B及び24Cのメッシュを適切に細分化することによって図24Aのプログレッシブメッシュを形成する。
図24Dは、79,202面を有するテクスチャマップ付けしたプログレッシブメッシュ表示M^のカラースクリーン表示386である。図24Eは、10,103面を有する構造マップ付けしたプログレッシブメッシュ表示M^のカラースクリーン表示388である。図24D及び24Eからわかるように、図24Eが僅かに少ない面を有する(例えば、図24Eを方法70によって近似する。)としても、図24Dと図24Eとの間にはビュー的な差がほとんどない。図24Fは、図24D及び24Eのメッシュから発生した三角形ストリップ(黄色ライン)のカラースクリーン表示390である。図24B,24C,24D及び24Eは、600×600画素図形イメージに対して2画素を表す0.33%のスクリーン空間幾何学的誤差τを有する。図24Fは、同様な特性を有する三角形ストリップの形成を示す。例えば、図24D及び24Eの表面のこげ茶色部分(右上コーナー)は、図24Fの右上コーナーの三角形ストリップに相当する。
図25A−25Cは、球に対する方法70(図4)を用いたビュー依存細分化を示すカラースクリーン表示392−396である。図25Aは、19,800面を有する元の碁盤目状にした球のカラースクリーン表示392である。図25Bは、方法70によって形成した図25Aに示す碁盤目状にした球の前面のカラースクリーン表示394である。図25Cは、図25Bから粗い碁盤目状の球の上面のカラースクリーン表示396である。図25Bからわかるように、球は、図25Aに示した元の球に非常に類似している。2次元ビュー錐台をオレンジ“V”で示す。球の背面部を、更に細分化したビュー錐台の“V”に最も近い球の前面部に比べて粗くする。
図26A−26Cは、方法364(図22)を用いて碁盤目状のパラメータ表面で形成した打ち切られたプログレッシブメッシュ表示(10,000面)のビュー依存細分化を示すカラースクリーン表示398−402である。図26Aは、25,440面の元の碁盤目状の図形表示(すなわち、ティーポットの部分)のカラースクリーン表示398である。図26Bは、τ=0.15%及び1,782面のプログレッシブメッシュシーケンスの打ち切られたプログレッシブメッシュ表示のカラースクリーン表示400である。図26Cは、図26Bの打ち切られたプログレッシブメッシュの正面を示すカラースクリーン表示402である。2次元ビュー錐台を黄色“V”によって示す。ビュー錐台の外側の領域の粗化をビュー錐台の右に対して観察することができる。
図27A−27Cは、方法70の図形キャラクタに対して任意のメッシュMのビュー依存細分化を示すカラースクリーン表示404−408である。図27Aは、42,712面の図形キャラクタを表す元の任意メッシュMのカラースクリーン表示404である。図27Bは、3,157面の第1の打ち切られたプログレッシブメッシュのカラースクリーン表示406である。用いられるビュー錐台を、図27Bの図形キャラクタ頭部の周辺の黄色ボックスによって示す。ビュー錐台の外側の図形の一部を粗くし、それは、更に低く規定した詳細を有する一般形状として現れ、粗くしたメッシュによって表される。図27Cのビュー錐台を、図形キャラクタの腕の周りの黄色ボックスによって表す。ビュー依存パラメータ(例えば、ビュー錐台)を図27Bと27Cとの間で変更する。図形キャラクタの頭部を表すメッシュを、図27Cの上部付近に示したように粗くする。ビュー錐台内の腕、膝及び脚の上部を図27Bと図27Cとの間で方法70によって細分化して、増大した詳細のレベルを示す。その理由は、これら領域がビュー錐台内に現れるからである。
任意のメッシュに対する一般化した適応細分化
を全てのあり得るメッシュのセットとする場合、
及び
であるメッシュMのプログレッシブメッシュ表示MPMが、増大する精度のi={0,...,n−1},MO,M1,...,Mn-1に対するメッシュ近似Miの連続シーケンスを規定し、任意の所望の複雑さのビューに依存しないレベルの詳細近似を有効に回復することができる。ビューに依存しないプログレッシブメッシュ表示MPMを、第1セットのメッシュ変換、メッシュ変換のセットに対する第1セットの制約及び固定した細分化基準のセットを有するメッシュMに対して形成する。プログレッシブメッシュ表示を形成するのに用いられる第1セットのメッシュ変換は、稜線削除処理36及び頂点分割処理38(図2)を有する。稜線削除処理36及び頂点分割処理38を頂点に基づく動作とする。第1セットのメッシュ変換は、表7に示す制約のセットによって拘束される。
開始メッシュMnを、表7の制約及び固定された細分化基準のセットを用いてn−1の連続する稜線削除処理36のシーケンスを適用することによって、更に粗いメッシュM0に簡単化することができる。固定された細分化基準のセットは、縁消失36に対する全ての候補の優先待ち行列への置換を有し、この場合、各変換の優先順位をそのエネルギーコストΔEとする。エネルギーコストΔEは、開始メッシュMnからの少数の頂点を有する点xi∈R3のセットXを、プログレッシブメッシュ表示のメッシュMiに正確に適合させる。
稜線削除処理36を実行すべき場合、優先待ち行列の最初(すなわち、最小ΔEを有する)の稜線削除処理を完了し、稜線削除処理に隣接する縁の優先順位を再計算し及び優先待ち行列に配置する。更なる情報については上記Progressive Meshesの文献を参照されたい。固定された細分化基準のセットによって、中間メッシュ近似Miを、メッシュMのプログレッシブメッシュ表示MPMに対して形成することができる。稜線削除処理36が可逆であるので、更に粗いメッシュM0をn個の連続する頂点分割処理38とともに用いて、開始メッシュMnを再形成することができる。
本発明の図示した実施の形態に対して既に説明した方法70(図4)及び他の方法を用いて、任意の三角形メッシュMを適切に細分化し、この場合、M⊂Mとし、Mを適切なメッシュ表示として格納する。適切に細分化したメッシュMを、第2セットのメッシュ変換に対する第2セットの制約及び選択細分化基準のセットを用いて、任意の三角形メッシュMから形成する。第2セットの細分化基準を、相違するメッシュ変換を有する任意のメッシュMの用いられた相違する処理部とする。本発明の図示した実施の形態において、第2セットの細分化基準を用いて、任意のメッシュMのビュー依存近似を構成する。第2セットのメッシュ変換は、頂点分割変換82及び縁消失変換84を有する。以下の表8の制約によって、頂点分割変換82及び縁消失変換84が、シーケンスの外側(すなわち、プログレッシブメッシュ表示に対する稜線削除処理36及び頂点分割処理38によって課された厳密な全体の順位内に存在しない。)に供給されるとともに、面を考察する。第2セットのメッシュ変換(82,84)を用いて、任意のメッシュを適切に細分化するために用いられる頂点階層(例えば、図9における150)を構成する。本発明の図示した実施の形態で用いられる第2セットのメッシュ変換に対する第2セットのメッシュ変換を以下の表8に示す。
選択細分化基準のセットはビュー依存パラメータ(表4、図10)に基づき、そのパラメータは、ビュー錐台、表面方位及びスクリーン空間投影誤差を有する。選択細分化基準のセットは、上記セット固定細分化基準と異なる。選択細分化基準のセットは、メッシュ上で変更する細分化レベルを有する非対称変換を許容する(すなわち、メッシュMsの領域を、同一メッシュMsの他の領域を縁消失変換84によって粗くすることができる頂点分割変換82によって細分化することができる。)。それに対して、固定された細分化基準のセットによって、メッシュ上の固定レベルの細分化(すなわち、Mi+1からMiに移る一連の縁消失変換36又はMiからMi+1に移る一連の頂点分割変換)を有する一様な変換のみを許容する。選択細分化基準のセットによって、頂点分割変換82及び縁消失変換84の任意の連続を基本メッシュに適用して、適切に細分化したメッシュを形成する。しかしながら、本発明は、図示した上記実施の形態における第2セットのメッシュ変換に対する第2セットの制約及び選択細分化基準に限定されるものではない。例えば、任意のセットのメッシュ変換は、頂点分割変換82及び縁消失変換84以外のメッシュ変換を制約することができる。任意のセットのメッシュ変換に対する任意のセットの制約は、上記表8に示したよりも多い又は少ない制約を有することができる。任意のセットの選択細分化基準は、時間変動パラメータや表面収束パラメータのようなビュー依存基準の変化以外の基準を有することができる。時間変動パラメータによって、相違する期間で同一図形イメージの相違する部分で収束することができる(例えば、図形イメージの一部で移動光源を光らせて、その部分を照射する。)。表面収束パラメータによって、図形イメージの表面の一部に相違する情報を表示することができる(例えば、図形的に表示した表面上の温度変化)。
図28は、任意のセットのメッシュ変換及び任意のセットの選択細分化基準に対する任意のセットの制約によって任意のメッシュを適切に規定する一般化された方法410を示す流れ図である。ステップ412において、任意のメッシュを選択する。任意のメッシュをメッシュMのセットからの任意のメッシュとすることができる。任意のメッシュを、プログレッシブメッシュ表示として格納することができる。しかしながら、他のメッシュ表示を用いることもできる。任意のメッシュに対するメッシュ変換のセットに対する制約のセットをステップ414で選択する。
任意のメッシュに対する選択細分化基準のセットをステップ416で選択する。選択細分化基準によって、メッシュ内で変動するレベルの細分化(すなわち、表示の同一瞬時におけるメッシュの相違する領域の細分化及び粗化)を許容することができる。ステップ418において、任意のメッシュの細分化を、メッシュ変換に対する制約のセット及び細分化基準のセットを用いて調整し、幾何学的な基本を任意のメッシュに追加して、選択的に細分化したメッシュの第1近似を行う。ステップ420において、細分化基準に影響を及ぼす変化に基づく選択細分化メッシュを通じたナビゲートによって適切に細分化して、適切に細分化したメッシュを形成する。例えば、ナビゲーションを、メッシュに対して形成した頂点階層の前の頂点によって完了し、これによってメッシュ内で変動するレベルの細分化を行う。
既に説明したようなメッシュのビュー依存細分化は、一般化した方法410によって適切に規定した任意のメッシュの一つの特定例である。例えば、任意の三角形メッシュM∈Mをステップ412で選択する。任意の三角形メッシュMを、プログレッシブメッシュ表示M0,...,Mn-1,Mn=Mとして記憶する。メッシュ変換のセット(例えば、頂点分割変換82及び縁消失変換84)に対する制約のセット(例えば、表8)をステップ414で選択する。選択細分化基準のセット(例えば、ビュー依存パラメータ(図10)の変更)をステップ406で選択する。ステップ418において、メッシュの細分化を、制約のセット及び細分化基準のセットを用いて調整し、選択的に細分化したメッシュの第1近似を行う(例えば、ステップ72−76、図4、表5)。ステップ410において、選択細分化メッシュを、細分化基準(例えば、ステップ78−80、図4、表6)に影響を及ぼす変化に基づいて、選択的に細分化したメッシュを通じたナビゲーションによって適切に規定して、適切に細分化したメッシュを形成する。一般化した方法410を、本発明による図示した実施の形態に対して説明した選択構成要素を置換することによって任意のメッシュ上で用いることができる。新たなセットのメッシュ変換を、頂点分割82及び縁消失84の変換を新たなメッシュ変換に置換することによって選択することができる。新たなセットの制約は、(新たな頂点階層構造となる)表8に示した制約に取って代わることができる。新たなセットの選択細分化基準を、(例えば、表5に示すビュー依存パラメータ機能呼出しqrefine(vs)サブルーチンを置換することによって)選択することができる。選択的な細分化メッシュを通じた新たなナビゲーション方法も(例えば表6に示したadapt_refinment()サブルーチンを置換することによって)選択することもできる。
一般化した方法は、連続的なメッシュシーケンスとして格納された任意のメッシュからの変動するレベルの細分化を有する適切に細分化したメッシュを形成し、その連続的なメッシュシーケンスを、図形イメージを表示するのに用いられる大抵の任意の基本的な幾何学的モデルとともに使用することができる。結果的に得られる適切に細分化したメッシュは、所望のレベルの近似の際に従来既知の細分化形態に比べて少ない多角形しか必要としない。適切な細分化の結果、多角形の数を、より少ないコンピュータリソースによって図形イメージを描写することができる選択したビュー状態の下で観察者によって見えないメッシュの粗い領域によって減少させる。適切に細分化したメッシュを、コンピュータゲーム又は他のアプリケーションで用いられるイメージに対してインターネットやイントラネットのようなコンピュータネットワーク上でメッシュを連続的に伝送するのにも用いることができる。
ここで説明するプログラム、プロセス及び方法は、特に示さない場合、コンピュータ装置(ハードウェア又はソフトウェア)の任意の特定のタイプに関連せず及び限定されない。種々のタイプの汎用又は特別なコンピュータ装置をもちいることができ、それは、ここで説明した技術によって動作を実行することができる。
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。
本発明の説明的実施形態を実行するのに使用されるコンピュータシステムのブロック図である。 先行技術による頂点分割および稜線削除動作のブロック図である。 図2による頂点分割および稜線削除動作を使用する地形格子に関するプログレッシブメッシュのカラースクリーン表示のシーケンスである。 図2による頂点分割および稜線削除動作を使用する地形格子に関するプログレッシブメッシュのカラースクリーン表示のシーケンスである。 図2による頂点分割および稜線削除動作を使用する地形格子に関するプログレッシブメッシュのカラースクリーン表示のシーケンスである。 図2による頂点分割および稜線削除動作を使用する地形格子に関するプログレッシブメッシュのカラースクリーン表示のシーケンスである。 ビュー依存パラメータを変化させることによって任意のプログレッシブメッシュ表示を適応細分する方法を説明する流れ図である。 新たな稜線削除変換および新たな頂点分割変換を説明するブロック図である。 図5によるメッシュ変換を使用する境界を有するメッシュを説明するブロック図である。 図5に示す頂点分割変換に関するステップを説明する流れ図である。 図5に示す稜線削除変換に関するステップを説明する流れ図である。 頂点階層表示を説明するブロック図である。 メッシュを選択的に細分または粗くすべき場合を決定する方法を説明する流れ図である。 頂点を視野錐台内である場合を決定する方法を説明する流れ図である。 境界空間階層表示を説明するブロック図である。 頂点に関する表面配向試験を説明するブロック図である。 表面配向を決定する方法を説明する流れ図である。 スクリーン空間幾何誤差表現を説明するブロック図である。 スクリーン空間幾何誤差を見つける方法を説明する流れ図である。 メッシュを適応細分する方法を説明する流れ図である。 メッシュを適応細分する方法を説明する流れ図である。 地形メッシュに関する頂点階層表示を説明するブロック図である。 地形メッシュを形成する方法を説明する流れ図である。 三角形ストリップを説明するグラフィカル地形のブロック図である。 三角形ストリップを発生する方法を説明する流れ図である。 パラメトリック表面の適応モザイク化方法を説明する流れ図である。 本発明の説明的実施形態用システムを説明するブロック図である。 本発明の説明的実施形態用システムを説明するブロック図である。 グラフィカル地形に関するプログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である グラフィカル地形に関するプログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカル地形に関するプログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカル地形に関するプログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカル地形に関するプログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカル地形に関するプログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 モザイク化球に関するビュー依存細分化を説明するカラースクリーン表示である。 モザイク化球に関するビュー依存細分化を説明するカラースクリーン表示である。 モザイク化球に関するビュー依存細分化を説明するカラースクリーン表示である。 モザイク化パラメトリック表面によって形成された截頭形プログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 モザイク化パラメトリック表面によって形成された截頭形プログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 モザイク化パラメトリック表面によって形成された截頭形プログレッシブメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカルキャラクタに関する任意のメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカルキャラクタに関する任意のメッシュのビュー依存細分化を説明するカラースクリーン表示である。 グラフィカルキャラクタに関する任意のメッシュのビュー依存細分化を説明するカラースクリーン表示である。 メッシュを適応細分する一般的な方法を説明する流れ図である。

Claims (6)

  1. メモリシステムと、オブジェクトのコンピュータグラフィックイメージを生成するために前記オブジェクトの可変解像度表示を適切かつ選択的に細分化する方法を実行する中央処理装置とを有するコンピュータシステムであって、
    前記オブジェクトのメッシュデータモデルの順次のメッシュ表示を発生する手段であって、そのメッシュデータモデルが、任意の接続性を有する相互接続した多角形の表面を規定し、前記順次のメッシュ表示が、基本メッシュ及び頂点分割変換のシーケンスで構成され、その頂点分割変換が、前記基本メッシュに適用した際に前記メッシュデータモデルを正確に再構成する手段と、
    前記頂点分割変換の各々をパラメータのセットとしてパラメータ化する手段であって、そのパラメータのセットが、親頂点の指定及びその親頂点に隣接する対になって互いに隣接する多角形面の2対の指定を有し、前記頂点分割変換、指定された親頂点を結果的に得られる子頂点に置換するとともに前記対になって互いに隣接する多角形面の2対の間で隣接する2個の多角形面を付加する手段と、
    選択的な細分化基準のセットを事前計算する手段と、
    前記事前計算した選択的な細分化基準のセットを頂点分割変換データ構造内に格納する手段と、
    実行時に、現在のメッシュモデル上の複数の位置に亘る複数の横断を繰り返す際に、当該位置についての前記事前計算した選択的な細分化基準のセット、及び変換制約のセットに応じて、メッシュ細分化変換とメッシュ粗化変換のいずれを当該位置に適用するかを決定し、これによって、前記現在のメッシュモデルを適切かつ選択的に細分化する手段とを具え、
    前記メッシュ細分化変換上の前記変換制約によって、前記親頂点及び前記対になって互いに隣接する多角形面の2対が、前記現在のメッシュモデルの現在の横断上に存在し、
    適切かつ選択的に細分化した前記現在のメッシュモデルを用いて、ビューイングパラメータに応じたコンピュータグラフィックスイメージを生成する手段を更に具え、
    前記手段がそれぞれ、前記メモリシステムにソフトウェアインストラクションを具え、前記ソフトウェアインストラクションが、前記中央処理装置によって実行されることを特徴とするコンピュータシステム。
  2. 前記メッシュ細分化制約のパラメータ化を、親頂点の指定、互いに隣接する頂点の対の指定及び結果的に得られる頂点の指定を有するパラメータの以前のセットから、前記親頂点の指定及び前記親頂点に隣接する対になって互いに隣接する多角形面の2対を有するパラメータのセットに変換する手段を更に具え、
    前記変換する手段が、前記中央処理装置によって実行されるソフトウェアインストラクションを具えることを特徴とする請求項1記載のコンピュータシステム。
  3. 前記メッシュ粗化変換の各々をパラメータのセットとしてパラメータ化する手段であって、そのパラメータのセットが、2個の子頂点の指定、親頂点の指定、前記2個の子頂点間のエッジに沿って互いに隣接する2個の消失した多角形面の指定、及びこれら消失した多角形面にそれぞれ隣接する2対の多角形面の指定を有し、パラメータ化された個別に所定の位置に配置した前記メッシュ粗化変換を、指定された前記子頂点を前記親頂点に置換するとともに前記2個の消失した多角形面を除去して多角形面の互いに隣接する対の各々が対となって隣接するようにしたエッジ消失とした手段を更に具え、
    前記メッシュ粗化変換上の前記変換制約によって、前記子頂点、前記2個の消失した多角形面及び前記互いに隣接する多角形面の2対が、前記現在のメッシュモデルの現在の横断に存在するようにし、
    前記メッシュ粗化変換の各々をパラメータのセットとしてパラメータ化する手段が、前記中央処理装置によって実行されるソフトウェアインストラクションを具えることを特徴とする請求項1記載のコンピュータシステム。
  4. コンピュータシステムのオブジェクトのコンピュータグラフィックイメージを生成するために前記オブジェクトの可変解像度表示を適切かつ選択的に細分化する方法であって、
    前記コンピュータシステムのオブジェクトの現在のメッシュモデルを構成するステップであって、その現在のメッシュモデルが、相互接続した多角形の表面を規定し、かつ、前記相互接続した多角形を規定するデータ構造内に選択的な細分化基準のセットを格納するステップと、
    現在のメッシュモデル上の複数の位置に亘る複数の反復的な横断において、前記データ構造内に格納された前記選択的な細分化基準のセット、及び変換制約のセットに応じて、メッシュ細分化変換とメッシュ粗化変換のいずれを当該位置に適用するかを決定し、これによって、前記現在のメッシュモデルを適切かつ選択的に細分するステップと、
    適切かつ選択的に細分化した前記現在のメッシュモデルを用いて、ビューイングパラメータに応じたコンピュータグラフィックイメージを、前記コンピュータシステムに生成するステップと、
    生成したコンピュータグラフィックイメージを出力するステップとを具え、
    前記メッシュ細分化変換を、互いに隣接する4個の多角形面のセットを有する頂点を結果的に得られる2個の頂点に置換するとともに前記互いに隣接する4個の多角形面の間で隣接する2個の多角形面を付加する頂点分割とし、前記変換制約によって、前記頂点及び前記互いに隣接する4個の多角形面のセットが前記現在のメッシュモデルに存在するようにしたことを特徴とする方法。
  5. 前記変換制約によって、前記互いに隣接する4個の多角形面が前記現在のメッシュモデルの互いに隣接する対の多角形面の2対となるようにしたことを特徴とする請求項4記載の方法。
  6. オブジェクトのコンピュータグラフィックイメージを生成するために前記オブジェクトの可変解像度表示を適切かつ選択的に細分化する方法を実行するコンピュータシステムであって、前記コンピュータシステムがメモリシステムを具え、
    前記メモリシステムが、
    前記オブジェクトの現在のメッシュモデルを構成し、前記現在のメッシュモデルに関連する選択的な細分化基準を事前計算し、前記現在のメッシュモデルが、相互接続した多角形の表面を規定するソフトウェアインストラクションと、
    現在のメッシュモデル上の複数の位置に亘る複数の反復的な横断において、前記事前計算した選択的な細分化基準のセット、及び変換制約のセットに応じて、メッシュ細分化変換とメッシュ粗化変換のいずれを当該位置に適用するかを決定し、これによって、前記現在のメッシュモデルを適切かつ選択的に細分化するソフトウェアインストラクションと、
    適切かつ選択的に細分化した前記現在のメッシュモデルを用いて、ビューイングパラメータに応じたコンピュータグラフィックイメージを生成するソフトウェアインストラクションとを格納
    前記ソフトウェアインストラクションによって、前記メッシュ粗化変換を、互いに隣接する4個の多角形面のセットを有する2個の多角形面間のエッジに沿って互いに隣接する2個の頂点の置換を行うエッジ消失とし、前記メッシュ粗化変換上の前記変換制約によって、2個の頂点、2個の多角形面及び互いに隣接する4個の多角形面のセットが前記現在のメッシュモデルに存在するようにし、
    前記コンピュータシステムが、前記メモリシステムに格納されたソフトウェアインストラクションを実行する処理ユニットを更に具えることを特徴とするコンピュータシステム。
JP2007191484A 1997-04-03 2007-07-23 プログレッシブメッシュの適応細分方法および装置 Expired - Fee Related JP4237806B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/826,570 US6108006A (en) 1997-04-03 1997-04-03 Method and system for view-dependent refinement of progressive meshes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP54202998A Division JP4012258B2 (ja) 1997-04-03 1998-04-02 プログレッシブメッシュの適応細分方法および装置

Publications (2)

Publication Number Publication Date
JP2007265459A JP2007265459A (ja) 2007-10-11
JP4237806B2 true JP4237806B2 (ja) 2009-03-11

Family

ID=25246922

Family Applications (2)

Application Number Title Priority Date Filing Date
JP54202998A Expired - Fee Related JP4012258B2 (ja) 1997-04-03 1998-04-02 プログレッシブメッシュの適応細分方法および装置
JP2007191484A Expired - Fee Related JP4237806B2 (ja) 1997-04-03 2007-07-23 プログレッシブメッシュの適応細分方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP54202998A Expired - Fee Related JP4012258B2 (ja) 1997-04-03 1998-04-02 プログレッシブメッシュの適応細分方法および装置

Country Status (4)

Country Link
US (1) US6108006A (ja)
EP (1) EP0974127A4 (ja)
JP (2) JP4012258B2 (ja)
WO (1) WO1998044454A2 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3050184B2 (ja) * 1997-09-19 2000-06-12 日本電気株式会社 四面体格子の生成方式およびそのプログラムを記録した記録媒体
FR2772162B1 (fr) * 1997-12-10 2000-02-25 Ge Medical Syst Sa Procede de segmentation semi-automatique pour l'estimation de volumes tridimensionnels
US6377865B1 (en) * 1998-02-11 2002-04-23 Raindrop Geomagic, Inc. Methods of generating three-dimensional digital models of objects by wrapping point cloud data points
JP3515689B2 (ja) * 1998-05-22 2004-04-05 富士通株式会社 階層化ポリゴンデータを用いた3次元ポリゴン表示装置
WO1999064944A2 (en) 1998-06-08 1999-12-16 Microsoft Corporation Compression of time-dependent geometry
US6421051B1 (en) * 1998-06-18 2002-07-16 Spatial Corporation Multi-resolution geometry
US6879324B1 (en) * 1998-07-14 2005-04-12 Microsoft Corporation Regional progressive meshes
US6198486B1 (en) * 1998-09-23 2001-03-06 Intel Corporation Method of using a hybrid error metric for multi-resolution mesh generation
US6313837B1 (en) * 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6373489B1 (en) * 1999-01-12 2002-04-16 Schlumberger Technology Corporation Scalable visualization for interactive geometry modeling
US6285805B1 (en) * 1999-01-25 2001-09-04 International Business Machines Corp. System and method for finding the distance from a moving query point to the closest point on one or more convex or non-convex shapes
US6693646B1 (en) * 1999-04-28 2004-02-17 Microsoft Corporation Method and system for iterative morphing
US8830235B1 (en) * 1999-09-13 2014-09-09 Alcatel Lucent Non-uniform relaxation procedure for multiresolution mesh processing
IES20010131A2 (en) * 1999-12-20 2001-05-30 Headway Res Ltd System and method for computer-aided graph-based dependency analysis
WO2001052194A1 (en) * 2000-01-14 2001-07-19 California Institute Of Technology Use of normal meshes in three-dimensional imaging
US7129947B1 (en) 2000-07-26 2006-10-31 California Institute Of Technology Use of normal meshes in three-dimensional imaging
US6910001B2 (en) * 2000-03-22 2005-06-21 Schlumberger Technology Corp. Distributed multiresolution geometry modeling system and method
US6996505B1 (en) 2000-06-21 2006-02-07 Raindrop Geomagic, Inc. Methods, apparatus and computer program products for automatically generating nurbs models of triangulated surfaces using homeomorphisms
US7050876B1 (en) 2000-10-06 2006-05-23 Phonak Ltd. Manufacturing methods and systems for rapid production of hearing-aid shells
US8924506B2 (en) 2000-12-27 2014-12-30 Bradium Technologies Llc Optimized image delivery over limited bandwidth communication channels
US6738062B1 (en) * 2001-01-10 2004-05-18 Nvidia Corporation Displaced subdivision surface representation
US6853373B2 (en) 2001-04-25 2005-02-08 Raindrop Geomagic, Inc. Methods, apparatus and computer program products for modeling three-dimensional colored objects
US6735556B2 (en) 2001-06-15 2004-05-11 International Business Machines Corporation Real-time model evaluation
EP1573672B1 (en) * 2002-12-12 2008-04-16 Philips Intellectual Property & Standards GmbH Method of segmenting a three-dimensional data set allowing user corrections
US7348989B2 (en) * 2003-03-07 2008-03-25 Arch Vision, Inc. Preparing digital images for display utilizing view-dependent texturing
US20060250401A1 (en) * 2005-05-06 2006-11-09 Patrick Pannese Systems and methods for generating 3D simulations
US7458763B2 (en) 2003-11-10 2008-12-02 Blueshift Technologies, Inc. Mid-entry load lock for semiconductor handling system
US20070269297A1 (en) 2003-11-10 2007-11-22 Meulen Peter V D Semiconductor wafer handling and transport
US10086511B2 (en) 2003-11-10 2018-10-02 Brooks Automation, Inc. Semiconductor manufacturing systems
US7369972B2 (en) * 2003-11-25 2008-05-06 International Business Machines Corporation System, method, and program product for re-parameterizing three dimensional models represented as Catmull-Clark subdivision surfaces
EP1688885B1 (en) * 2005-02-03 2013-06-19 Samsung Electronics Co., Ltd. Method, apparatus, and medium for transforming graphic data of an object
EP1902425A4 (en) * 2005-05-02 2009-05-20 Agency Science Tech & Res OBERFLÄCHENPARAMETRISIERUNGSVERFAHREN
US20080002880A1 (en) * 2006-06-30 2008-01-03 Intelisum, Inc. Systems and methods for fusing over-sampled image data with three-dimensional spatial data
FR2906388B1 (fr) * 2006-09-26 2008-12-19 Commissariat Energie Atomique Procede et dispositif de detection de collision entre deux objets simules numeriquement
US8866815B2 (en) * 2007-05-23 2014-10-21 Oracle International Corporation Automated treemap configuration
US8286100B2 (en) * 2007-07-05 2012-10-09 Oracle International Corporation Linking graphical elements of data visualizations
US8640056B2 (en) 2007-07-05 2014-01-28 Oracle International Corporation Data visualization techniques
US8139063B2 (en) 2007-05-07 2012-03-20 Oracle International Corporation Rendering data visualization with minimal round-off error
US9477732B2 (en) * 2007-05-23 2016-10-25 Oracle International Corporation Filtering for data visualization techniques
US8910084B2 (en) * 2007-05-07 2014-12-09 Oracle International Corporation Aggregate layout for data visualization techniques
US7991595B2 (en) 2007-06-13 2011-08-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Adaptive refinement tools for tetrahedral unstructured grids
CA2694554C (en) * 2007-07-27 2016-05-31 Vorum Research Corporation Method, apparatus, media and signals for producing a representation of a mold
CA2703651C (en) * 2007-10-24 2016-08-09 Vorum Research Corporation Method, apparatus, media, and signals for applying a shape transformation to a three dimensional representation
WO2009095906A2 (en) * 2008-01-30 2009-08-06 Ramot At Tel Aviv University Ltd. Method, system and computer program product for manipulating a graphic entity
US8188999B2 (en) * 2008-06-17 2012-05-29 Qualcomm Incorporated Method and apparatus for organizing object geometry for spatial and memory coherency and optimal rendering
WO2010006405A1 (en) * 2008-07-18 2010-01-21 Vorum Research Corporation Method, apparatus, signals and media for producing a computer representation of a three-dimensional surface of an appliance for a living body
CA2757410C (en) 2009-03-31 2015-09-29 Vorum Research Corporation Method and apparatus for applying a rotational transform to a portion of a three-dimensional representation of an appliance for a living body
US8384715B2 (en) * 2009-04-13 2013-02-26 Microsoft Corporation View-dependent rendering of parametric surfaces
KR101591472B1 (ko) * 2009-04-15 2016-02-03 삼성전자주식회사 점진적 메쉬 복호화 방법과 장치
US9396241B2 (en) 2009-07-15 2016-07-19 Oracle International Corporation User interface controls for specifying data hierarchies
FR2953316B1 (fr) * 2009-11-30 2012-08-24 Eurocopter France Procede d'obtention d'une base locale d'elevation de terrain a partir d'un moyen de detection embarque a bord d'un vehicule et dispositif pour la mise en oeuvre de ce procede
WO2011104746A1 (ja) * 2010-02-23 2011-09-01 三菱電機株式会社 画像表示装置
US8730235B2 (en) * 2010-07-14 2014-05-20 Disney Enterprises, Inc. Method for determining point connectivity on a two manifold in 3D space
US8669980B1 (en) * 2010-12-16 2014-03-11 Pixar Procedural methods for editing hierarchical subdivision surface geometry
CN102360515B (zh) * 2011-10-19 2013-04-24 武汉大学 一种三维模型渐进网格数据组织方法
KR101555426B1 (ko) * 2014-02-07 2015-09-25 고려대학교 산학협력단 지형 렌더링 방법 및 장치
CN104183020B (zh) * 2014-07-09 2017-06-06 浙江大学 基于带惩罚项的局部二次误差测量的地物网格化简方法
US9691178B2 (en) * 2014-10-21 2017-06-27 Microsoft Technology Licensing, Llc Scanning and processing objects into three-dimensional mesh models
JP6942964B2 (ja) 2017-01-17 2021-09-29 カシオ計算機株式会社 図形描画方法、図形描画装置、及びプログラム
US10818061B2 (en) * 2017-07-28 2020-10-27 Baobab Studios Inc. Systems and methods for real-time complex character animations and interactivity
JP7282532B2 (ja) 2019-01-24 2023-05-29 キヤノン株式会社 情報処理装置、情報処理方法、データ構造、及びプログラム
JP7442993B2 (ja) * 2019-07-26 2024-03-05 キヤノン株式会社 情報処理装置、情報処理方法、データ構造、及びプログラム
US11321904B2 (en) 2019-08-30 2022-05-03 Maxon Computer Gmbh Methods and systems for context passing between nodes in three-dimensional modeling
US11217014B2 (en) * 2020-02-06 2022-01-04 The Boeing Company Topological surface detector
US11714928B2 (en) 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) * 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes
US11636041B2 (en) 2020-10-12 2023-04-25 Seagate Technology Llc Object storage data storage systems and methods
US20220129505A1 (en) * 2020-10-27 2022-04-28 Seagate Technology Llc Object storage data storage approaches

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4930091A (en) * 1987-11-04 1990-05-29 Schlumberger Systems, Inc. Triangle classification setup method and apparatus for 3-D graphics display system
US5448686A (en) * 1992-01-02 1995-09-05 International Business Machines Corporation Multi-resolution graphic representation employing at least one simplified model for interactive visualization applications
US5553206A (en) * 1993-02-12 1996-09-03 International Business Machines Corporation Method and system for producing mesh representations of objects
AU7603994A (en) * 1993-08-27 1995-03-21 Apple Computer, Inc. System and method for generating smooth low degree polynomial spline surfaces over irregular meshes
JP2838968B2 (ja) * 1994-01-31 1998-12-16 日本電気株式会社 半導体デバイスシミュレータのメッシュ生成方法
US5689577A (en) * 1994-10-14 1997-11-18 Picker International, Inc. Procedure for the simplification of triangular surface meshes for more efficient processing
US5613049A (en) * 1994-10-26 1997-03-18 The Boeing Company Method for creating spatially balanced bounding volume hierarchies for use in a computer generated display of a complex structure
US5801711A (en) * 1995-08-08 1998-09-01 Hewlett Packard Company Polyline and triangle strip data management techniques for enhancing performance of computer graphics system
US5886702A (en) * 1996-10-16 1999-03-23 Real-Time Geometry Corporation System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities

Also Published As

Publication number Publication date
EP0974127A2 (en) 2000-01-26
WO1998044454A2 (en) 1998-10-08
EP0974127A4 (en) 2001-12-12
WO1998044454A9 (en) 1999-07-22
JP2002501639A (ja) 2002-01-15
WO1998044454A3 (en) 1999-03-18
JP4012258B2 (ja) 2007-11-21
US6108006A (en) 2000-08-22
JP2007265459A (ja) 2007-10-11

Similar Documents

Publication Publication Date Title
JP4237806B2 (ja) プログレッシブメッシュの適応細分方法および装置
JP4083238B2 (ja) プログレッシブメッシュの適応細分方法および装置
US8698809B2 (en) Creation and rendering of hierarchical digital multimedia data
US8731876B2 (en) Creating editable feature curves for a multi-dimensional model
US6323863B1 (en) Object structure graph generation and data conversion using the same
US8725466B2 (en) System and method for hybrid solid and surface modeling for computer-aided design environments
Liao et al. A subdivision-based representation for vector image editing
US20180144545A1 (en) Method of simplifying a geometry model
EP1560163B1 (en) Wrap deformation using subdivision surfaces
KR100915574B1 (ko) 충분히 매끄럽게 만들어진 메쉬의 각진 부분을 복원하는메쉬 재구성 방법 및 장치
JP2001052206A (ja) モデルとして表現されるオブジェクトを彫塑する方法
Boyé et al. A vectorial solver for free-form vector gradients
US6914601B2 (en) Method, apparatus, and computer program for generating three-dimensional shape data or volume data
Campagna et al. Ray tracing of spline surfaces: Bézier clipping, Chebyshev boxing, and bounding volume hierarchy–a critical comparison with new results
JP2837584B2 (ja) 地形データの作成方法
US7453457B2 (en) Computer graphics using coarse level meshes
JP2655056B2 (ja) テクスチャデータ生成装置
Wang Robust Geometry Kernel and UI for Handling Non-orientable 2-Mainfolds
JP3268665B2 (ja) コンピュータ・グラフィックス制作装置
EP4425363A1 (en) Three-dimensional cad system
Kim et al. Multiresolution model generation with geometry and texture
JP3071495B2 (ja) 物体モデル編集装置
JPH04360275A (ja) 図面データ入力方式
Wang et al. Feature-preserved geometry simplification of triangular meshes from LiDAR sensor
Cheng et al. Multi-resolution Modeling for Virtual Design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080804

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081106

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: 20081202

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: 20081218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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