(57)【特許請求の範囲】
【請求項１】
面上の注釈を簡略化するコンピュータ・システムであって、
１つまたは複数のメモリおよびプログラムの実行を共有する複数の中央処理装置（ＣＰＵ）と、
平面内にあり、テスト辺の端の照会点にセンタリングされ、前記テスト辺に垂直な許容範囲ウィンドウを作成する許容範囲ウィンドウ作成手段であって、前記許容範囲ウィンドウが、前記面に接する平面内での簡略化された経路から元の経路までの距離によって測定される第１誤差の量を指定する第１許容範囲と、前記面に垂直な平面内での前記簡略化された経路から前記元の経路までの距離によって測定される第２誤差の量を指定する第２許容範囲とによって定義され、前記元の経路が、前記面上の元の辺の組である、前記許容範囲ウィンドウ作成手段と、
１つまたは複数の第２辺の第２端点を前記許容範囲ウィンドウの前記平面に射影する手段であって、前記第２辺が、やはり端点として照会点を有し、前記第２端点の前記射影が、射影された点である、前記射影する手段と、
辺を「無効」としてマークし、簡略化可能な辺のリストおよび簡略化された辺の最終リストの両方から除去する無効化手段と、
前記簡略化された経路を作成するために元の辺の前記組の各々の第２辺および前記テスト辺を置換する新しい辺を作成するために、前記許容範囲ウィンドウを含む前記平面内に射影された点を有する前記第２端点の１つを選択し、前記照会点を削除し、原点を各々の前記第２端点に接続する手段と、
前記辺のリストの簡略化走査中の高速アクセスのために前記注釈のすべての頂点スターおよび辺のリスト情報を構築する、前処理手段とを含み、
前記許容範囲ウィンドウ作成手段において、前記頂点スターおよび辺のリスト情報が使用される
コンピュータ・システム。
【請求項２】
前記許容範囲ウィンドウが、前記許容範囲の平面内にある、長方形、正方形、楕円、円、または他のパラメータ化された経路の１つまたは複数である、請求項１に記載のコンピュータ・システム。
【請求項３】
前記第１許容範囲が、前記注釈の外見の許容される変化、前記注釈の形状の許容される変化、前記面に接する前記平面内で測定された前記元の経路からの前記簡略化された経路の前記距離の許容される変化の１つまたは複数によって決定される、請求項１に記載のコンピュータ・システム。
【請求項４】
前記第２許容範囲が、前記面からの許容される離脱、前記面への許容される貫通の１つまたは複数によって決定される、請求項１に記載のコンピュータ・システム。
【請求項５】
前記許容範囲ウィンドウが、前記新しい辺が作成された後にシフトされる、請求項１に記載のコンピュータ・システム。
【請求項６】
前記許容範囲ウィンドウが、第２照会点にシフトされ、前記元の面の接線に関する方位角において前記第２照会点にセンタリングされるが、前記元の面の接線に関する高さにおいて変更されない、請求項５に記載のコンピュータ・システム。
【請求項７】
前記各注釈辺を含む、面三角形の法線を見つける前処理手段をさらに含む、請求項１に記載のコンピュータ・システム。
【請求項８】
前記許容範囲ウィンドウ作成手段において、前記法線が使用される、請求項７に記載のコンピュータ・システム。
【請求項９】
コンピュータ・システム上で実行され、複数のＣＰＵが面上の注釈を簡略化する方法であって、
ａ．テスト辺の端の照会点にセンタリングされ、前記テスト辺に垂直な平面内にある許容範囲ウィンドウを作成するステップであって、前記許容範囲ウィンドウが、前記面に接する平面内での簡略化された経路から元の経路までの距離によって測定される第１誤差の量を指定する第１許容範囲と、前記面に垂直な平面内での前記簡略化された経路から前記面までの距離によって測定される第２誤差の量を指定する第２許容範囲とによって定義され、前記元の経路が、前記面上の元の辺の組であり、前記簡略化された経路が、簡略化プロセスから生じる辺である、ステップと、
ｂ．１つまたは複数の第２辺の第２端点を、前記許容範囲ウィンドウを含む前記平面に射影するステップであって、前記第２辺が、やはり端点として照会点を有し、前記第２端点の前記射影が、射影された点である、ステップと、
ｃ．前記簡略化された経路を作成するために元の辺の前記組の各々の第２辺および前記テスト辺を置換する新しい辺を作成するために、許容範囲の平面内に射影された点を有する前記第２端点の１つを選択し、前記照会点を削除し、原点を各々の前記第２端点に接続するステップと、
前記辺リストの簡略化走査中の高速アクセスのために前記注釈のすべての頂点スターおよび辺リスト情報を構築する、前処理プロセスとを含み、
前記許容範囲ウィンドウを作成するステップが、前記頂点スターおよび辺リスト情報を使用する、
方法。
【請求項１０】
ｄ．前記許容範囲の平面を、前記テスト辺に沿った初期シフト方向で第２照会点までシフトするステップと、
ｅ．前記許容範囲の平面を、前記元の面の接線に関する方位角において前記第２照会点にセンタリングするが、前記元の面の接線に関する高さにおいて変更しないステップと
をさらに含む、請求項９に記載の方法。
【請求項１１】
さらに、ステップｂおよびｃを繰り返すステップを含むが、
ｆ．前の照会点のすべてが、前記シフトされた許容範囲の平面内の照会点射影を有し、かつ、前記照会点に接続される他の辺のどれもが、前記第１辺よりも前記第２辺と同一線に近くない場合に限って、前記新しい辺を作成し、
ｇ．前記前の照会点のいずれもが、前記シフトされた許容範囲の平面内の前記照会点射影を有しない場合に、前記初期シフト方向での前記許容範囲の平面のシフトを終了する
請求項９に記載の方法。
【請求項１２】
前記前の照会点の１つまたは複数が、前記シフトされた許容範囲の平面内の前記照会点射影を有しない場合に、
ｈ．前記許容範囲の平面を前記テスト辺に沿って前記初期シフト方向と逆の方向にシフトするステップ
を実行する、請求項１１に記載の方法。
【請求項１３】
ｉ．ステップｅを繰り返すステップ
をさらに含む、請求項１２に記載の方法。
【請求項１４】
ｊ．ステップｂおよびｆを、
ｋ．前記反対方向の前記前の照会点の１つまたは複数が、前記反対方向の前記シフトされた許容範囲の平面内の各々の照会点を有しない
ようになるまで繰り返すステップと、
ｌ．その後、前記反対方向での前記許容範囲の平面の前記シフトを終了するステップと
をさらに含む、請求項１３に記載の方法。
【請求項１５】
前記反対方向での前記許容範囲の平面の前記シフトを終了した後に、新しい原点が、元の辺の前記組からの新しいテスト辺上で選択され、前記方法のステップａないしｌが繰り返される、請求項１４に記載の方法。
【請求項１６】
各注釈辺を含む面三角形の法線を見つける前処理ステップをさらに含む、請求項９に記載の方法。
【請求項１７】
前記許容範囲ウィンドウを作成するステップが前記頂点を使用する、請求項１６に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、幾何学モデリングの分野に関する。より詳細には、本発明は、幾何学モデルの計算、視覚化、および／または注釈に関する。
【０００２】
【従来の技術】
ＣＡＤ／ＣＡＭおよび他の領域では、ローカル計算機またはリモート・サーバから得られた３Ｄモデルを表示し、これと対話する必要がある。これらの３Ｄモデルには、その形状を定義する幾何形状と、色および注釈などの面特徴の両方が含まれる。一部の注釈は、幾何学モデルの面に写像された２次元図形に対応する。性能を改善するために、コンピュータのメモリに保管するのがより安価であり、あるコンピュータから別のコンピュータにネットワークを介して伝送するのがより高速であり、コンピュータ上でレンダリングするのがより高速である簡略化された版によって、これらの複雑な３次元モデルを表現する必要も増大している。これに対処するために、知覚される品質の最小限の低下でモデルを簡略化する多数の技法が開発されてきた。たとえば、米国特許第５９２９８６０号明細書または、ガーランド（M. Garland）およびヘックバート（P. Heckbert）共著の論文「Surface Simplification Using Quadric Error Metrics」、Computer Graphics Proceedings, Annual Conference Series、１９９７年、第２０９ないし２１６ページを参照されたい。そのような技法では、モデルの幾何形状を減らし、その結果、簡略化されたモデルがコンピュータ上でレンダリングされる時に、元のモデルのレンダリングと比較して、見る人が、あるとしてもわずかな相違しか知覚できなくすることが試みられる。この目標を達成するために、多数の簡略化技法で、幾何形状を簡略化する時に、モデルの属性も考慮される。たとえば、米国特許第６１００９０２号明細書、シニョーニ（P. Cignoni）、モンタニ（C. Montani）、ロッシーニ（C. Rocchini）、およびスコピーニョ（R. Scopigno）共著、「A General Method for Preserving Attribute Values on Simplified Meshes」、Proceedings of IEEE Visualization、第５９ないし６６ページ、１９９８年、ガーランド（M. Garland）およびヘックバート（P. Heckbert）共著、「Simplifying Surfaces with Color and Texture Using Quadric Error Metrics」、Proceedings of IEEE Visualization、第２６４ないし２６９ページ、１９９８年、およびホップ（H. Hoppe）著、「New Quadric Metric for Simplifying Meshes with Appearance Attributes」、Proceedings of IEEE Visualization,、第５９ないし６６ページ、１９９９年を参照されたい。これらの技法では、属性によって簡略化プロセスを案内し、その結果、簡略化されたモデルの幾何形状および属性が、元のモデルと同一に見えるようになる。モデルの総合的な外見をさらに保存するために、簡略化技法を使用する時に、簡略化されたモデルに注釈をマッピングしなければならない。というのは、注釈が、かなりの量の情報を伝える可能性があるからである。
【０００３】
あるイメージからオブジェクトの面への写像を実行する通常の方法を、「テクスチャ・マッピング」と称し、少数のポリゴンを含む面に微細な詳細を有する特徴を表すのに一般的に使用されている。近くの面に写像されるオブジェクトが、線によって接続された頂点からなる幾何形状メッシュに対応する場合には、テクスチャ・マッピングを使用して新しい面でそのメッシュを描くのに、メッシュのレンダリングとその後の面へのテクスチャ・マッピングが必要になる。オブジェクトへの面特徴のテクスチャ・マッピングの確立された技法があるが、これらの技法では、注釈テクスチャとコンテスト・テクスチャが分離されていない。
【０００４】
テクスチャ・マッピングは、ヘックバート（P. Heckbert）著、「Survey of Texture Mapping」、IEEE Computer Graphics and Applications, volume 6, number 11、第５６ないし６７ページ、１９８６年１１月に詳細に記載されているが、モデルの面にイメージを写像する技法を指す。テクスチャ・マッピングは、注釈をモデルの面に写像するのに一般に使用されてきた。これを達成するためには、注釈を、まずイメージとしてレンダリングし、コンピュータのメモリに保管する。モデルが見られる時に、注釈のテクスチャ・マップをモデルの面に適用して、注釈によって提供される追加情報を伝える。そのような手法を使用することによって、モデルの注釈を、モデルの元の面または簡略化された面に写像することができる。というのは、注釈が、イメージの形で保管されるからである。
【０００５】
イウ（D. Eu）およびトゥーサン（G. T. Toussaint）共著、「On approximating polygonal curves in two and three dimensions」、CVGIP: Graph. Models Image Process., 56(3):231-246、１９９４年５月に、許容される許容範囲を超えて元の経路から逸脱しない、３次元の元の経路の簡略化された版をもたらす「並列ストリップ」概念を使用する空間内の経路を簡略化する技法が記載されている。ベアクェット（G. Barequet）、チェン（D. Chen）、デスク（O. Daescu）、ゴールドリッチ（M. Goodrich）、およびスノイインク（J. Snoeyink）共著、「Efficiently approximating polygonal paths in three and higher dimensions」、Proc. 14th Annu. ACM Sympos. Comput. Geom.、第３１７ないし３２６ページ、１９９８年に、３次元の経路をより効率的に簡略化する改善されたアルゴリズムが記載されている。
【０００６】
従来技術に関する問題
テクスチャ・マッピングは、表示中の適度なパフォーマンスのために特殊化されたグラフィックス・ハードウェアを必要とし、そのハードウェアは、現在、すべてのコンピュータに存在することが保証されていない。さらに、テクスチャ・マッピングは、異なる視点からの注釈の１つまたは複数の表示のレンダリングと、テクスチャ座標を介するレンダリングされたイメージの面への射影を必要とする。同時に複数のイメージを使用して、モデルの注釈を表現する時には、イメージの間のレンダリング・パラメータの相違によって、イメージが互いに縁取られる不連続性がもたらされる可能性があり、この不連続性が、気がかりなアーチファクトとして目立つ可能性がある。シームレスに見えない注釈は、解釈が困難になる可能性がある。というのは、目が、面の実際の特徴ではなく、面特性の急激な変化に引き付けられるからである。その結果、注釈が、見る人に追加情報を伝えるためには非効率的な手段になる可能性がある。
【０００７】
テクスチャ・マップは、高倍率でぼけおよびピクセライゼーションもこうむる。注釈は、イメージとして保管されるので、固定された解像度で記録される。通常、イメージの解像度は、幅と高さの画素数に関して測定される。見る人が、面の詳細をより明瞭に見るためにモデルにズーム・インする場合に、注釈テクスチャ・マップが、ぼけ、不自然に見える可能性がある。面の注釈は、高倍率でぼける時に、情報を与える面マークアップとしての影響力を失い、その代わりに、面に貼り付けられた不自然なイメージに見える。注釈は、テクスチャ・マップと一体化している時に、面マークアップとしての視覚的影響力を失い、その視覚的重要性を強化するのではなく減ずる形で、背景特徴に溶けこむ。最終結果は、注釈によって伝えられる情報が、見る人によって失われることである。
【０００８】
テクスチャ・マップは、単純な幾何学モデルに最も効率的である。複雑なモデルの場合、異なる視点からの多数の追加のイメージが必要になる。これによって、前に述べた不連続性の問題が非常に悪化する。
【０００９】
２次元および３次元で経路を簡略化する既存の技法は、面に貼り付けられた経路を考慮せず、面に接する誤差と面に垂直な誤差に対する異なる感度を許容しない。これが、簡略化が不十分であるか、不自然な形で面を貫通するかその上に浮いているのいずれかである注釈につながる。
【００１０】
【発明が解決しようとする課題】
本発明の目的は、面上の注釈を簡略化する改善されたシステムおよび方法である。
【００１１】
本発明の目的は、面上の注釈として使用される線分の数を簡略化する改善されたシステムおよび方法である。
【００１２】
本発明の目的は、面に垂直な許容範囲と比較して異なる、面に接する平面内の簡略化の度合を許容する、有向非対称許容範囲ウィンドウを使用する、面上の注釈として使用される線分の数を簡略化する改善されたシステムおよび方法である。
【００１３】
【課題を解決するための手段】
本発明は、面上の注釈を簡略化するコンピュータ・システムおよび方法である。許容範囲プロセスによって、平面内にあり、テスト辺の端の照会点にセンタリングされ、テスト辺に垂直である許容範囲ウィンドウが作成される。許容範囲ウィンドウは、面に接する平面内での簡略化された経路から元の経路までの距離によって測定される第１誤差の量を指定する第１許容範囲と、面に垂直な平面内での簡略化された経路から元の経路までの距離によって測定される第２誤差の量を指定する第２許容範囲とによって定義される。元の経路は、面上の元の辺の組である。点射影プロセスによって、１つまたは複数の第２辺の第２端点を許容範囲ウィンドウの平面に射影する。第２辺は、やはり第２端点の射影が射影された点になる端点として照会点を有する。無効化プロセスによって、辺を「無効」としてマークし、それを簡略化可能な辺のリストおよび簡略化された辺の最終リストの両方から除去する。選択プロセスによって、許容範囲ウィンドウを含む平面内の射影された点を有する第２端点の１つを選択し、照会点を削除し、原点を各々の第２端点に接続して、テスト辺および元の辺の組の各々の第２辺を置換する新しい辺を作成して、簡略化された経路を作成する。
【００１４】
【発明の実施の形態】
ここで図面を参照すると、具体的には、図１は、１つまたは複数の幾何学モデルが保管されるメモリ１０４を含む好ましい実施形態の幾何学モデリング・システム１０１のブロック図である。１つまたは複数の中央処理装置（ＣＰＵ）１０２が、内部バス１０５を介してモデルにアクセスし、グラフィックス・プロセッサ１０３がイメージをレンダリングし、入出力サブシステム１０６およびグラフィックス・アクセラレータ１０７を介してディスプレイ１０８にそのイメージを伝達するのを補助する。任意選択として、内部バス１０５を、ネットワーク・インターフェースに接続して、ネットワークを介してリモート・モデリング・システムに幾何学モデルを送信することができる。これらの構成要素は、すべて周知である。図５で詳細に説明する、新規の注釈簡略化プロセス４００が、１つまたは複数のＣＰＵによって実行される。
【００１５】
図２に、モデル２３０の面上の注釈の例２００を示す。モデルの幾何形状によって、面の実際の形状が定義される。この例では、幾何形状が、起伏のある面を表す。このモデルの属性は、レンガの壁の外見を与える色である。符号２０５、２１０などの注釈は、モデルの面にドレーピングされる線分である。ここでは、例として、線分が、三角形メッシュの注釈２０５と曲線の注釈２１０を形成する。下で説明する新規のドレーピングプロセスの後に、射影された注釈２１５および２２０が、元の注釈２０５および２１０と同一の全体的な外見を維持する。モデル２３０は、注釈と同様に、当技術分野で明瞭に定義されている。
【００１６】
有向非対称許容範囲に基づいて面注釈を簡略化する技法を提示する。テクスチャではなく幾何形状として注釈を維持することによって、広範囲の倍率にわたってモデルの全体的な外見を維持しながら注釈を簡略化することができる。まだ、テクスチャ・マップを使用して、色などの低解像度の面詳細を提供することができる。
【００１７】
辺によって任意に接続された頂点からなる３次元注釈が近くの表面に貼り付けられる、最も一般的なシナリオから始める。最終目的は、図２に示されるように、注釈が面にドレーピングされたかのように注釈の外見を維持することである。図２には、オブジェクトの面に貼り付けられた異なるタイプの注釈の概念が示されている。注釈は、線分の単純な接続された経路、または共通の頂点で出会う多数の辺を含む複雑なメッシュとすることができる。
【００１８】
図３は、注釈情報を伝えるために通常の従来技術のテクスチャ・マップの技法を使用した、図２のモデルのクローズアップ・イメージ３３０である。この図では、注釈３４０が、イメージとしてレンダリングされ、保管され、その後、モデル幾何形状にテクスチャ・マッピングされている。高解像度の下では、レンダリングされるイメージに気を散らすようなアーチファクトを引き起こすテクスチャ・マップの固定解像度に起因して、注釈がひずみ、ぼけ、ピクセライズされて見える。注釈は、見る人がイメージにズーム・インする時に非常にジャギーがあるように見える。この例のテクスチャ・マップによって引き起こされる注釈を表現する際の忠実度の欠如は、見る人に、見られるものに関する正しくない結論を行わせる可能性がある。
【００１９】
図４は、モデル幾何形状上の注釈３６０の簡略化に本発明を使用した、図２のモデルのクローズアップ・イメージ３５０である。注釈が、テクスチャ・マップではなく幾何形状として維持されたので、その外見は、高倍率レベルでも明瞭に保たれている。
【００２０】
図５に、最初の頂点４１０から最後の頂点４３０まで延び、やはり面上の複数の頂点４２０を接続する複数の線分４４０からなるモデル２３０の面上の注釈３６０の一部を示す。この経路は、かなりまっすぐであり、面が比較的平坦なので、経路の全般的な形状を失わずにより少数の線分を用いて同一の経路を描く可能性がある。
【００２１】
図６に、過剰な簡略化の場合すなわち、頂点４１０が、２つの点５２０でモデル２３０の面を貫通する単一の線分５１０によって頂点４３０に直接に接続され、線分が、一部の領域で面の上に浮き、他の領域で面の下に隠れている場合を示す。図７は、図５の元の経路と図６の過剰に簡略化された経路の間の妥協である。この図では、経路の線分６２０の数が、経路の形状と面への一致を大きく変更せずに大幅に減らされている。また、経路を定義するのにより少数の頂点６１０が必要であり、元の簡略化されない経路と比較して、表現に必要なメモリが減り、レンダリングが高速になる。経路は、まだ面を貫通６３０しているが、その深さは、標準的な方法によるレンダリングが面によるローカルな不明瞭化を示さないほど十分に小さい。
【００２２】
レンダリングのためには、面上の注釈の辺が、面を貫通せずに面の近くにとどまり、面の平面内での辺の位置誤差が、はるかに目立たないことが重要である。本明細書に記載のアルゴリズムは、面にレンダリングされる注釈の外見に合わせて調整され、外見を大きく損ねることなく注釈のトポロジを変更できるので、独自である。これによって、面に一致しながら、元の注釈よりはるかに少数の辺を含む簡略化された注釈を作ることができる。
【００２３】
辺簡略化アルゴリズムは、２を超える度数の頂点スターの特殊な処理によって、メッシュおよびそれ自体と交わる経路に適応する。ここでは、用語頂点スターを使用して、１つの頂点を含むすべての辺の組を指す。多数の他の辺によって共有される頂点を有する辺は、それと最もよく対になる接続する辺を用いて簡略化されるが、この接続する辺は、高い次数の頂点スターと、頂点を共有する辺の間の非常に鋭角の角度を含む任意の不規則なメッシュについては明瞭に定義することができない。下で概要を示すアルゴリズムでは図８および図９を参照するが、これらの図では、辺ＰＱが、Ｑで接続する他の辺ＱＶ１およびＱＶ２を用いて簡略化される。図８では、Ｑの頂点スターが、辺ＰＱ、ＱＶ１、およびＱＶ２によって共有されるので、度数３を有する。図９に、アルゴリズムの継続を示すが、ここでは、ＰＱおよびＱＶ１が、新しい辺ＰＶ１に簡略化されており、Ｖ１によって共有される辺が、簡略化についてテストされる。この場合、Ｖ１の頂点スターが、２の度数を有し、テストされる唯一の辺が、Ｖ１Ｖ３である。
【００２４】
達成される簡略化の度合は、注釈、注釈がドレーピングされる面、および許容範囲ウィンドウの指定された寸法に依存する。許容範囲ウィンドウの最適サイズは、応用例固有であり、注釈の形状の許容される変更と、オクルージョンに起因して部分的にレンダリングされる前に線分がどれほど面を貫通できるかとに、独立に依存する。面の接平面内の許容範囲は、簡略化中に注釈の形状がどれほど維持されるかに直接に影響し、面に垂直な許容範囲によって、注釈がどれほど面を貫通または面の上に浮くかが制御される。したがって、この２つのパラメータは、注釈の外見の許容される変化に関係する、応用例の必要と、面三角形が部分的に埋もれた線を隠す時を決定するレンダリング技法とに合わせて独立に設定することができる。
【００２５】
図８に、Ｑで線分ＱＶ１およびＱＶ２に接続される辺ＰＱについて構成された有向非対称の許容範囲ウィンドウ７３０を示す。許容範囲ウィンドウは、Ｑにセンタリングされ、ＰＱを含む三角形７６０に垂直であり、簡略化実行について指定された平面内許容範囲および垂直許容範囲によって寸法を設定される。許容範囲ウィンドウが、ＱでＰＱに垂直な許容範囲平面７５０内にあり、したがって、ＰＱを含む三角形７６０によって定義される面のローカル断面に垂直であることに留意されたい。許容範囲平面は、ＰＱを含む三角形７６０と辺を共有する次の三角形７７０に対して必ずしも垂直ではない。次の頂点Ｖ１およびＶ２を許容範囲ウィンドウ７３０に射影７８５および７９５することによって、Ｖ１がウィンドウ内にあり７８０、簡略化の候補であるが、Ｖ２がウィンドウの外にあり７９０、簡略化の候補でないことがわかる。
【００２６】
辺を簡略化するアルゴリズムは、次の通りである。
【００２７】
注釈の辺のリストから辺ＰＱを選択する。
【００２８】
ＰＱの端点の１つＱで、許容範囲平面７５０を構成する。この平面には、Ｑが含まれ、この平面は、ＰＱに垂直である。次に、モデルについて指定された寸法ＥｘおよびＥｙの、Ｑにセンタリングされた許容範囲平面７５０内の許容範囲ウィンドウ７３０を構成する。ＱでＰＱに接続される注釈の辺、たとえば図８のＱＶ１およびＱＶ２のそれぞれについて、Ｑでない端点を許容範囲平面に投影する。投影された頂点が、許容範囲ウィンドウ７３０の外にある場合には、それを拒否し、Ｑの頂点スターの次の辺に継続する。図８には、Ｖ２の射影が許容範囲ウィンドウの外にあり７９０、簡略化の可能な辺として失格になることが示されている。
【００２９】
新しい頂点Ｖ１が、許容範囲ウィンドウ内に７８０射影される場合には、図９に示されるように、潜在的な新しい辺ＰＶ１  ８５０に基づいて新しい許容範囲平面を構成するが、この許容範囲平面は、線分ＰＶ１に垂直ではなく、ＰＱを含む元の三角形７６０へのＰＶ１の射影に垂直な、Ｖ１を通る平面として定義される。その後、横方向にはＶ１にセンタリングされるが、縦方向は元の面の三角形７６０を含む平面によって二等分される、新しい許容範囲ウィンドウ８１０を構成する。これによって、許容範囲ウィンドウが、横方向に回転できるが、高さでは元の面の三角形７６０によって定義される元の面の接平面に制限されたままになる。図９では、Ｖ１が、新しい許容範囲ウィンドウ８１０上で横方向にセンタリングされるが、その中央のわずかに下にあることに留意されたい。
【００３０】
ＰＱからＰＶ１にステップする際に、中間の点Ｑが、経路から除去されるが、Ｑは、それでも、追加の線分に沿って移動する際に許容範囲ウィンドウへの射影についてテストされなければならない。新しい許容範囲ウィンドウを作る時に、ＰからＶ１までの元の経路に沿ったすべての中間の点を新しい許容範囲ウィンドウに射影し、どれかがウィンドウの外になる場合には、Ｖ１は、簡略化の候補ではなく、頂点Ｑに戻って、Ｑで許容範囲ウィンドウ内に射影される、Ｑの辺スターの他の辺をテストする。すべての中間の点が許容範囲ウィンドウ内に射影される場合には、辺ＰＱおよびＱＶ１を「無効」としてマークし、新しい辺ＰＶ１を使用して継続する。図９では、唯一の中間の点がＱであり、新しい許容範囲ウィンドウ８１０へのその射影７７０'は、もちろん中におさまり、ＰＶ１が、指定された許容範囲ウィンドウ・サイズについて、接続された線分ＰＱおよびＱＶ１の許容可能な簡略化であることが確認される。
【００３１】
このプロセスは、頂点Ｖ１で継続され、Ｖ１の辺スターが、簡略化の候補の辺についてテストされる。Ｖ３が、元の許容範囲ウィンドウの外に射影されるが、新しいウィンドウ内に射影され８４０、簡略化の候補であることに留意されたい。したがって、新しい許容範囲ウィンドウは、ＱからＶ１を経てＶ３への経路の屈曲を追跡するためにわずかに回転されている。
【００３２】
このプロセスは、接続される辺のどれもが許容範囲ウィンドウにおさまらなくなるまでこの方向で継続され、その後、辺ＰＱのＰ側から繰り返される。ＰＱで接続する簡略化可能な辺の完全なリストを得た後に、この２つの端点を接続する新しい辺が、出力の簡略化された辺のリストに追加され、簡略化された元の辺のそれぞれが、元の注釈の辺リストで「無効」としてマークされる。
【００３３】
ＰＱが両方向で簡略化され、構成要素の辺が無効とマークされた状態で、注釈辺リストの次の辺について、「無効」としてマークされた辺は元の注釈から効果的に除去されているので無視して、このプロセスを繰り返す。
【００３４】
図１０に、上で説明した簡略化プロセスの詳細な流れ図を示す。簡略化プロセスは、記憶域９０１から３Ｄモデルおよび注釈を、許容範囲ウィンドウ・サイズＥｘ、Ｅｙ９１１と共にロード９０２することによって開始９００される。前処理ステップ９０３で、辺リストの簡略化走査中の高速アクセスのために注釈のすべての頂点スターおよび辺リスト情報を構築する。追加の前処理ステップ９０４で、各注釈辺を含む面三角形の法線を見つける。
【００３５】
辺リストの走査は、辺リストの最初の辺の最初の頂点を選択する９０５ことによって開始される。選択された頂点の辺スターのすべての辺を、上で説明したアルゴリズムによる簡略化の許容範囲ウィンドウを使用して検査する９０６。現在の辺を用いる簡略化のための候補として１つまたは複数の辺が見つかる９０７場合には、最適の辺を、上の追加の判断基準に基づいて選択し、最初の辺を用いて簡略化する９０８。その後、次の頂点を選択９０９するが、この頂点は、９０７で見つかった辺の第２の頂点か、現在の経路について使用される最初の辺の第２の頂点のいずれかである。追加の頂点が使用可能である場合には、このアルゴリズムは、新しい頂点に関連するスターの最適の辺を見つけることによって繰り返され、そうでない場合には、簡略化が完了し、辺および頂点の新しいリストを出力９１０する。
【００３６】
上のアルゴリズムは、面上の経路について良好に動作するが、（ａ）４つを超える辺によって共有される頂点、（ｂ）頂点で鋭角を形成する辺、および（ｃ）頂点のスターでの短い線分を含む注釈についてアーチファクトを作成する可能性がある。これらの特徴を有する注釈は、問題の頂点の付近の屈曲（または「凹凸」）および分離の形の顕著な誤差を作る可能性がある。この問題を避けるために、問題の辺の簡略化を行わせない判断基準の追加の組を追加する。これらの判断基準は、簡略化された結果の辺の数を大きくは増加させず、そうでなければ目立つドレーピングされた注釈の変形を除去する。
【００３７】
追加の判断基準は次の通りである。
辺ＱＶ１が、Ｑの頂点スターの他の辺とThetaMin未満の角度を形成する場合に、ＰＱを用いてその辺を簡略化しない。
辺ＱＶ１が、ＰＱを用いたよりもＱの頂点スターの他の辺とより同一線に近い場合に、ＰＱを用いてその辺を簡略化しない。
【００３８】
第１の判断基準によって、頂点で鋭角になる辺の外見が修正され、ThetaMinの値は、モデルに依存する。図１２（ａ）に、ＢＣとＢでの辺スターのもう１つの辺ＢＤの間の角度１１０５がThetaMin未満の場合に、接続する辺ＢＣを用いて簡略化することができない辺ＡＢを示す。第２の判断基準によって、辺の凹凸をもたらす誤った方向の短い辺の簡略化が防止される。図１２（ｂ）に、両方が、おそらくは、たとえば許容範囲ウィンドウ内に射影される辺ＱＴおよびＱＲを用いて簡略化される辺ＰＱを示す。ＰＱを含む線からのＴの垂直距離１１１０が、ＱＲの対応する距離１１２０未満なので、線分ＱＴが、まずＰＱを用いる簡略化について検査される。しかし、ＱＴは、元の辺ＰＱよりもＱＵと同一線に近いので、辺ＱＴが、ＰＱを用いる簡略化について拒否され、ＱＲが有効な選択肢になる。ＰＱを用いてＱＴを簡略化しないことによって、ＱＴを、後に、より同一線に近い、Ｑで接続する他の辺ＱＵを用いて簡略化することができるようになる。
【００３９】
図１１は、許容範囲ウィンドウ射影アルゴリズムの詳細を示す流れ図である。辺ＰＱから開始１０００して、辺スター・リスト１００１を使用して、Ｑで接続するすべての辺を見つける１００２。その後、辺スターの頂点を許容範囲平面に射影１００３し、どれかが許容範囲ウィンドウ１００４内におさまるかどうかを判定１００５する。内側に含まるものがない場合には、簡略化が不可能１０１３である。１つ以上がウィンドウ内に含まれる場合には、ＰＱを含む線からの距離の順番でそれらをソートする１００６。ここで、まずＱのスターの別の辺とのより大きい共直線性を有する最も近い頂点を有する辺を検査する１００７ことによって、辺スター判断基準を適用する。ＰＱよりより同一線に近い辺がある場合には、次に近い頂点についてもう一度テストする。この頂点が、Ｑのスターの別の辺とThetaMin未満の角度になる場合１００８には、次に近い頂点を試す。頂点Ｖｋが、この２つのテストに合格する場合１００９、それを使用して、横方向にＶｋにセンタリングされた新しい許容範囲ウィンドウを構成１０１０する。この頂点に対する最後の検査として、Ｐと現在の頂点の間のすべての中間の点が、新しい許容範囲ウィンドウ内に射影されることを確認する１０１１。どれかがウィンドウの外に落ちる場合には、簡略化の候補としてその頂点を拒否する。そうでない場合には、新しい辺と許容範囲ウィンドウを用いて継続１０１２する。
【００４０】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４１】
（１）面上の注釈を簡略化するコンピュータ・システムであって、
１つまたは複数のメモリおよび１つまたは複数の中央処理装置（ＣＰＵ）と、
平面内にあり、テスト辺の端の照会点にセンタリングされ、前記テスト辺に垂直な許容範囲ウィンドウを作成する許容範囲プロセスであって、前記許容範囲ウィンドウが、前記面に接する平面内での簡略化された経路から元の経路までの距離によって測定される第１誤差の量を指定する第１許容範囲と、前記面に垂直な平面内での前記簡略化された経路から前記元の経路までの距離によって測定される第２誤差の量を指定する第２許容範囲とによって定義され、前記元の経路が、前記面上の元の辺の組である、許容範囲プロセスと、
１つまたは複数の第２辺の第２端点を前記許容範囲ウィンドウの前記平面に射影する点射影プロセスであって、前記第２辺が、やはり端点として照会点を有し、前記第２端点の前記射影が、射影された点である、点射影プロセスと、
辺を「無効」としてマークし、簡略化可能な辺のリストおよび簡略化された辺の最終リストの両方から除去する無効化プロセスと、
前記簡略化された経路を作成するために元の辺の前記組の各々の第２辺および前記テスト辺を置換する新しい辺を作成するために、前記許容範囲ウィンドウを含む前記平面内に射影された点を有する前記第２端点の１つを選択し、前記照会点を削除し、原点を各々の前記第２端点に接続する選択プロセスと
を含むコンピュータ・システム。
（２）前記許容範囲ウィンドウが、前記許容範囲の平面内にある、長方形、正方形、楕円、円、または他のパラメータ化された経路の１つまたは複数である、上記（１）に記載のコンピュータ・システム。
（３）前記第１許容範囲が、前記注釈の外見の許容される変化、前記注釈の形状の許容される変化、前記面に接する前記平面内で測定された前記元の経路からの前記簡略化された経路の前記距離の許容される変化の１つまたは複数によって決定される、上記（１）に記載のコンピュータ・システム。
（４）前記第２許容範囲が、前記面からの許容される離脱、前記面への許容される貫通の１つまたは複数によって決定される、上記（１）に記載のコンピュータ・システム。
（５）前記許容範囲ウィンドウが、前記新しい辺が作成された後にシフトされる、上記（１）に記載のコンピュータ・システム。
（６）前記許容範囲ウィンドウが、第２照会点にシフトされ、前記元の面の接線に関する方位角において前記第２照会点にセンタリングされるが、前記元の面の接線に関する高さにおいて変更されない、上記（５）に記載のコンピュータ・システム。
（７）面上の注釈を簡略化する、コンピュータ・システム上で実行される方法であって、
ａ．テスト辺の端の照会点にセンタリングされ、前記テスト辺に垂直な平面内にある許容範囲ウィンドウを作成するステップであって、前記許容範囲ウィンドウが、前記面に接する平面内での簡略化された経路から元の経路までの距離によって測定される第１誤差の量を指定する第１許容範囲と、前記面に垂直な平面内での前記簡略化された経路から前記面までの距離によって測定される第２誤差の量を指定する第２許容範囲とによって定義され、前記元の経路が、前記面上の元の辺の組であり、前記簡略化された経路が、簡略化プロセスから生じる辺である、ステップと、
ｂ．１つまたは複数の第２辺の第２端点を、前記許容範囲ウィンドウを含む前記平面に射影するステップであって、前記第２辺が、やはり端点として照会点を有し、前記第２端点の前記射影が、射影された点である、ステップと、
ｃ．前記簡略化された経路を作成するために元の辺の前記組の各々の第２辺および前記テスト辺を置換する新しい辺を作成するために、許容範囲の平面内に射影された点を有する前記第２端点の１つを選択し、前記照会点を削除し、原点を各々の前記第２端点に接続するステップと
を含む方法。
（８）ｄ．前記許容範囲の平面を、前記テスト辺に沿った初期シフト方向で第２照会点までシフトするステップと、
ｅ．前記許容範囲の平面を、前記元の面の接線に関する方位角において前記第２照会点にセンタリングするが、前記元の面の接線に関する高さにおいて変更しないステップと
をさらに含む、上記（７）に記載の方法。
（９）さらに、ステップｂおよびｃを繰り返すステップを含むが、
ｆ．前の照会点のすべてが、前記シフトされた許容範囲の平面内の照会点射影を有し、かつ、前記照会点に接続される他の辺のどれもが、前記第１辺よりも前記第２辺と同一線に近くない場合に限って、前記新しい辺を作成し、
ｇ．前記前の照会点のいずれもが、前記シフトされた許容範囲の平面内の前記照会点射影を有しない場合に、前記初期シフト方向での前記許容範囲の平面のシフトを終了する
上記（７）に記載の方法。
（１０）前記前の照会点の１つまたは複数が、前記シフトされた許容範囲の平面内の前記照会点射影を有しない場合に、
ｈ．前記許容範囲の平面を前記テスト辺に沿って前記初期シフト方向と逆の方向にシフトするステップ
を実行する、上記（９）に記載の方法。
（１１）ｉ．ステップｅを繰り返すステップ
をさらに含む、上記（１０）に記載の方法。
（１２）ｊ．ステップｂおよびｆを、
ｋ．前記反対方向の前記前の照会点の１つまたは複数が、前記反対方向の前記シフトされた許容範囲の平面内の各々の照会点を有しない
ようになるまで繰り返すステップと、
ｌ．その後、前記反対方向での前記許容範囲の平面の前記シフトを終了するステップと
をさらに含む、上記（１１）に記載の方法。
（１３）前記反対方向での前記許容範囲の平面の前記シフトを終了した後に、新しい原点が、元の辺の前記組からの新しいテスト辺上で選択され、前記方法のステップａないしｌが繰り返される、上記（１２）に記載の方法。
【図面の簡単な説明】
【図１】クライアント／サーバ・コンピューティング環境を示す、システムの１つの好ましい実施形態でのブロック図である。
【図２】オブジェクトの面に貼り付けられる異なるタイプの注釈の概念を示す図である。
【図３】テクスチャ・マップの一部ではなく描かれた線として注釈をレンダリングすることの利益を示す図である。
【図４】テクスチャ・マップの一部ではなく描かれた線として注釈をレンダリングすることの利益を示す図である。
【図５】三角形化された面に従う線分からなる経路を示す図である。
【図６】経路の外側端点を単純に接続し、すべての内側頂点を除去することの悪影響を示す図である。
【図７】図３および図４の元の経路と、図５の過剰に簡略化された経路の間の妥協を示す図である。
【図８】Ｑで線分ＱＶ１およびＱＶ２を接続する辺ＰＱについて構成された有向非対称許容範囲ウィンドウを示す図である。
【図９】ＱＶ１を用いてＰＱを簡略化した後に構成された新しい許容範囲ウィンドウを示す図である。
【図１０】注釈簡略化アルゴリズムの流れ図である。
【図１１】許容範囲ウィンドウ内の射影に基づく、簡略化に関する照会点のテストを示す流れ図である。
【図１２】共直線性および最小角度判断基準に基づく簡略化のための辺の拒否を示す図である。
【符号の説明】
９００  開始のステップ
９０１  記憶域
９０２  モデル、注釈、および許容範囲をロードするステップ
９０３  注釈の頂点スターおよび辺リストを構築するステップ
９０４  各注釈辺に関連する面の法線を見つけるステップ
９０５  最初の辺の最初の頂点を選択するステップ
９０６  許容範囲ウィンドウに基づいて、簡略化について、頂点スターの最適の辺を見つけるステップ
９０７  辺が見つかったかどうかを判定するステップ
９０８  前の辺と合併するステップ
９０９  最初の頂点または次の辺を選択するステップ
９１０  簡略化された注釈を出力するステップ
９１１  許容範囲ウィンドウ・サイズＥｘ、Ｅｙ
【図１】
0004001733.tif 000002
【図２】
0004001733.tif 000003
【図３】
0004001733.tif 000004
【図４】
0004001733.tif 000005
【図５】
0004001733.tif 000006
【図６】
0004001733.tif 000007
【図７】
0004001733.tif 000008
【図８】
0004001733.tif 000009
【図９】
0004001733.tif 000010
【図１０】
0004001733.tif 000011
【図１１】
0004001733.tif 000012
【図１２】
0004001733.tif 000013