(57)【特許請求の範囲】
【請求項１】
対象となる三角形メッシュの面の数を減らして簡単化した簡単化三角形メッシュを生成する三角形メッシュ簡単化装置において、
前記簡単化を行った場合の簡単化の程度である測定誤差を求める誤差測定手段と、
この測定誤差が当該測定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、
この判定に基づいて前記測定誤差が前記指定誤差を上回らない範囲で前記簡単化の処理を実行する簡単化手段と、を備え、
前記誤差測定手段は、前記対象となる三角形メッシュの面と前記簡単化三角形メッシュの頂点との間の平均距離を計算することにより前記測定誤差を求めるものであることを特徴とする三角形メッシュ簡単化装置。
【請求項２】
前記誤差測定手段は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面を参照するための情報を当該稜線縮退化操作後に残る前記頂点ごとのリストとして保存しておき、稜線削除後に残る頂点座標と前記リストに情報が保存されている面との間の距離の平均値を前記平均距離として前記計算を行うことを特徴とする請求項１に記載の三角形メッシュ簡単化装置。
【請求項３】
前記誤差測定手段は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面の面数を当該稜線縮退化操作後に残る前記頂点ごとに保存しておき、ＱＥＭ（Quadric Error Metrics）法により計算される稜線コスト値を前記面数で割った値の平方根を前記平均距離として前記計算を行うことを特徴とする請求項１に記載の三角形メッシュ簡単化装置。
【請求項４】
前記誤差測定手段は、前記稜線縮退操作の対象となる稜線の両側に存在する面の面数を前記頂点ごとに保存する面数に加えることにより前記保存を行うことを特徴とする請求項３に記載の三角形メッシュ簡単化装置。
【請求項５】
対象となる三角形メッシュの面の数を減らして簡単化した簡単化三角形メッシュを生成することをコンピュータに実行させるコンピュータに読取り可能なプログラムにおいて、
前記簡単化を行った場合の簡単化の程度である測定誤差を求める誤差測定処理と、
この測定誤差が当該測定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、
この判定に基づいて前記測定誤差が前記指定誤差を上回らない範囲で前記簡単化の処理を実行する簡単化処理と、をコンピュータに実行させ、
前記誤差測定処理は、前記対象となる三角形メッシュの面と前記簡単化三角形メッシュの頂点との間の平均距離を計算することにより前記測定誤差を求めるものであることを特徴とするプログラム。
【請求項６】
前記誤差測定処理は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面を参照するための情報を当該稜線縮退化操作後に残る前記頂点ごとのリストとして保存しておき、稜線削除後に残る頂点座標と前記リストに情報が保存されている面との間の距離の平均値を前記平均距離として前記計算を行うことを特徴とする請求項５に記載のプログラム。
【請求項７】
前記誤差測定処理は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面の面数を当該稜線縮退化操作後に残る前記頂点ごとに保存しておき、ＱＥＭ（Quadric Error Metrics）法により計算される稜線コスト値を前記面数で割った値の平方根を前記平均距離として前記計算を行うことを特徴とする請求項５に記載のプログラム。
【請求項８】
前記誤差測定処理は、前記稜線縮退操作の対象となる稜線の両側に存在する面の面数を前記頂点ごとに保存する面数に加えることにより前記保存を行うことを特徴とする請求項７に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、三角形メッシュの要素の数を減らして簡単化する三角形メッシュ簡単化装置およびプログラムに関する。
【０００２】
【従来の技術】
近年、インターネット上でのマルチメディア利用の広がりとともに３次元表現の利用が拡大しており、３次元形状表示の重要性が高まっている。最近は、大規模な設計データを既存のグラフィックス表示装置を用いて更に高速に表示するために、形状データである三角形メッシュをできるだけ形状に影響を与えないように要素数を減らし、簡単化する技術の研究が盛んである。
【０００３】
特に、「Michael Garland and Paul S.Heckbert :“Surface simplification using quadric error metrics”, SIGGRAPH'97 Conference Proceedings,pp.209-216,Aug 1997」に開示の技術に代表される稜線縮退化操作とＱＥＭ（Quadric Error Metrics）を用いた研究が多い。
【０００４】
【発明が解決しようとする課題】
しかしながら、前記の従来技術では、高速に品質の高い簡単化されたメッシュが得られるものの、簡単化の程度を予め指定することができない。すなわち、従来技術では最終的な面数のみが指定できるだけであり、実際に面数を指定して簡単化メッシュを生成して評価するといったトライアンドエラーにより、適切な簡単化の程度を持つ簡単化メッシュを得ていた。そのため、適切な簡単化の程度を持つ簡単化メッシュが得られるまでに非常に時間を要するという不具合があった。
【０００５】
この発明の目的は、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できるようにすることである。
【０００６】
【課題を解決するための手段】
開示の装置は、対象となる三角形メッシュの面の数を減らして簡単化した簡単化三角形メッシュを生成する三角形メッシュ簡単化装置において、前記簡単化を行った場合の簡単化の程度である測定誤差を求める誤差測定手段と、この測定誤差が当該測定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記測定誤差が前記指定誤差を上回らない範囲で前記簡単化の処理を実行する簡単化手段と、を備えていることを特徴とする三角形メッシュ簡単化装置である。
【０００７】
したがって、三角形メッシュの簡単化を行う際に、指定誤差を設定するにより予め簡単化の程度を指定できるので、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【０００８】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記対象となる三角形メッシュの面と前記簡単化三角形メッシュの頂点との間の最大距離を計算することにより前記測定誤差を求めるものであることを特徴とする。
【０００９】
したがって、三角形メッシュの面と簡単化三角形メッシュの頂点との間の最大距離を計算することにより測定誤差を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００１０】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記対象となる三角形メッシュの面と前記簡単化三角形メッシュの頂点との間の平均距離を計算することにより前記測定誤差を求めるものであることを特徴とする。
【００１１】
したがって、三角形メッシュの面と簡単化三角形メッシュの頂点との間の平均距離を計算することにより測定誤差を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００１２】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面を参照するための情報を当該稜線縮退化操作後に残る前記頂点ごとのリストとして保存しておき、稜線削除後に残る頂点座標と前記リストに情報が保存されている面との間の距離の中で最大のものを前記最大距離として前記計算を行うことを特徴とする。
【００１３】
したがって、稜線縮退化操作に伴い削除される面の参照情報を稜線縮退化操作後に残る頂点ごとのリストにして最大距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００１４】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面を参照するための情報を当該稜線縮退化操作後に残る前記頂点ごとのリストとして保存しておき、稜線削除後に残る頂点座標と前記リストに情報が保存されている面との間の距離の平均値を前記平均距離として前記計算を行うことを特徴とする。
【００１５】
したがって、稜線縮退化操作に伴い削除される面の参照情報を稜線縮退化操作後に残る頂点ごとのリストにして平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００１６】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記簡単化の処理として行う稜線縮退化操作に伴い削除される前記面の面数を当該稜線縮退化操作後に残る前記頂点ごとに保存しておき、ＱＥＭ（Quadric Error Metrics）法により計算される稜線コスト値を前記面数で割った値の平方根を前記平均距離として前記計算を行うことを特徴とする。
【００１７】
したがって、稜線縮退化操作に伴い削除される面の面数を稜線縮退化操作後に残る頂点ごとに保存することで平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００１８】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記稜線縮退操作の対象となる稜線の両側に存在する面を参照するための情報を前記頂点ごとのリストに加えることにより前記保存を行うことを特徴とする。
【００１９】
したがって、稜線縮退操作の対象となる稜線の両側に存在する面を参照するための情報を頂点ごとのリストに加えることで最大距離、平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００２０】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記稜線縮退操作の対象となる稜線の両側に存在する面の面数を前記頂点ごとに保存する面数に加えることにより前記保存を行うことを特徴とする。
【００２１】
したがって、稜線縮退操作の対象となる稜線の両側に存在する面の面数を頂点ごとに保存する面数に加えることにより平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００２２】
開示の装置は、上記の三角形メッシュ簡単化装置において、前記誤差測定手段は、前記稜線縮退操作の結果残る頂点の稜線縮退化操作数に加えることにより、これから行う稜線縮退化操作の対象となる稜線に属する２頂点の稜線縮退化操作数の和から２を減ずることで稜線縮退化操作に伴い削除された前記頂点ごとの面数を計算することを特徴とする。
【００２３】
したがって、稜線縮退操作の結果残る頂点の稜線縮退化操作数に加えることにより、これから行う稜線縮退化操作の対象となる稜線に属する２頂点の稜線縮退化操作数の和から２を減ずることで、頂点ごとに保存する面数を計算して平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００４２】
【発明の実施の形態】
この発明の一実施の形態について説明する。
【００４３】
図１は、この発明の一実施の形態である三角形メッシュ簡単化装置１の電気的な接続を示すブロック図である。図１に示すように、三角形メッシュ簡単化装置１は、ＰＣなどのコンピュータであり、各種演算を行ない三角形メッシュ簡単化装置１の各部を集中的に制御するＣＰＵ２と、各種のＲＯＭ、ＲＡＭからなるメモリ３とが、バス４で接続されている。
【００４４】
バス４には、所定のインターフェイスを介して、ハードディスクなどの磁気記憶装置５と、マウス、キーボード等により構成される入力装置６と、表示装置７と、光ディスクなどの記憶媒体８を読み取る記憶媒体読取装置９とが接続され、また、インターネットなどのネットワーク１０と通信を行う所定の通信インターフェイス１１が接続されている。なお、記憶媒体８としては、ＣＤ，ＤＶＤなどの光ディスク、光磁気ディスク、フロッピーディスクなどの各種メディアを用いることができる。また、記憶媒体読取装置９は、具体的には記憶媒体８の種類に応じて光ディスク装置、光磁気ディスク装置、フロッピーディスク装置などが用いられる。
【００４５】
磁気記憶装置５には、この発明のプログラムを実現する三角形メッシュ簡単化プログラムが記憶されている。この三角形メッシュ簡単化プログラムは、記憶媒体８から記憶媒体読取装置９により読み取るか、あるいは、インターネットなどのネットワーク１０からダウンロードするなどして、磁気記憶装置５にインストールしたものである。このインストールにより三角形メッシュ簡単化装置１は動作可能な状態となる。この三角形メッシュ簡単化プログラムは、ＣＡＤにより設計したデータを閲覧する次元形状ビューワなど、特定のアプリケーションソフトの一部をなすものであってもよい。また、所定のＯＳ上で動作するものであってもよい。
【００４６】
以下では、三角形メッシュ簡単化プログラムに基づいて三角形メッシュ簡単化装置１が行う処理の内容について説明する。
【００４７】
まず、かかる処理の内容の前提となる概念について説明する。
【００４８】
（１）メッシュ簡単化
元の三角形メッシュ（以下、元メッシュと呼ぶ）から面や頂点、稜線などの要素を少なくした簡単化三角形メッシュ（以下、簡単化メッシュと呼ぶ）を生成することである。以下で説明するＱＥＭにより計算される稜線コストの低い順に稜線縮退化操作を行っていくことにより、元メッシュから簡単化メッシュを得る。
【００４９】
（２）稜線キュー
稜線キューの各要素は、稜線コストや最適化頂点座標、測定距離などの属性情報とともに元メッシュの稜線への参照が可能な情報（具体的には元メッシュの稜線のＩＤ、名称、ポインタなど）が収められており、各稜線の情報（稜線の両端点をなす頂点）への参照ができるものとする。
【００５０】
（３）稜線縮退化操作
メッシュの要素を減らす操作である。操作前のメッシュの位相を保存するため、この操作では１本の稜線ｅを１個の頂点ｖｓに変換する。図２には、稜線縮退化操作の例を示す。すなわち、図２（ａ）のメッシュに稜線縮退化操作を施すことで、１本の稜線Ｅを１個の頂点ｖｓに変換したのが図２（ｂ）である。この操作により１本稜線ｅが削除されるのと同時に、１個の頂点ｖｅ、２枚の面Ｆｒ、Ｆｌが削除され、１個の頂点ｖｓが残る。稜線縮退化操作後のまわりの面や稜線は残った頂点ｖｓを共有するようになる。
【００５１】
（４）ＱＥＭ（Quadric Error Metrics）
どの稜線から先に稜線縮退操作を行っていくかの優先順位を決めるための稜線コストの計算方法である。
【００５２】
その方法は、まず、メッシュを構成するすべての三角形面について、Ｑ行列を計算する。面ＦのＱ行列Ｑ（ｆ）は、面ｆが乗る平面の方程式“ａｘ＋ｂｙ＋ｃｚ＋Ｄ＝０”（ここで、“ａ２＋ｂ２＋ｃ２＝１”とする）の係数ａ，ｂ，ｃ，ｄを用いて（１）式のように定義される。
【００５３】
【数１】
0004340397.tif 000002
【００５４】
次に、メッシュを構成するすべての頂点についてＱ行列を計算する。頂点ｖのＱ行列Ｑ（ｖ）は、（２）式のように頂点のまわりの隣接する三角形面ｆｉ（ここで、ｉ＝０，１，…，ｎ−１とする）のＱ行列Ｑ（ｆｉ）の和になる。
【００５５】
Ｑｆ（ｖ）＝Ｑ（ｆ０）＋Ｑ（ｆ１）＋…＋Ｑ（ｆｎ−１）    ……  （２）
そして、メッシュを構成するすべての稜線について、最適化頂点座標を計算する。最適化頂点座標ｖｏｐｔ（＝（ｘｏｐｔ，ｙｏｐｔ，ｚｏｐｔ，１）Ｔ）は、稜線ｅに隣接するすべての面、すなわち始点ｖｓ、終点ｖｅに隣接するすべての面と最適化頂点座標ｖｏｐｔとの距離の２乗和である、
【００５６】
【数２】
0004340397.tif 000003
【００５７】
が最も小さくなる座標である。
【００５８】
ここでは、稜線ｅのＱ行列Ｑ（ｅ）を始点頂点ｖｓと終点頂点ｖｅのＱ行列Ｑ（ｖｓ）、Ｑ（ｖｅ）を加えることにより求め、始点頂点、終点頂点に隣接するすべての面のＱ行列の和とする。厳密には稜線の両側の面ｆｒ，ｆｌを頂点で共有するため異なるが、計算を簡単にするため、そのようにする。
【００５９】
Ｑｆ（ｅ）＝Ｑｆ（ｖｓ）＋Ｑｆ（ｖｅ）                    ……  （４）
そうすると、最適化頂点ｖｏｐｔと稜線に隣接するすべての面との距離の２乗和は、
ｖＴｏｐｔＱｆ（ｅ）ｖｏｐｔ                                ……  （５）
となる。
【００６０】
この値が最小になるＶｏｐｔは、この式をｘ，ｙ，ｚそれぞれについて微分することにより得られる連立方程式
【００６１】
【数３】
0004340397.tif 000004
【００６２】
の解になる。ここでＡは３行３列の行列、ｖ，ｂは次元数が３の列ベクトル、ｃはスカラとし、Ｑ（ｅ）をブロック分解した結果得られるものである。解を求めて、距離の２乗和の（５）式に代入し、稜線コストとする。
【００６３】
次に、図３以下のフローチャートを参照して、三角形メッシュ簡単化装置１が行う三角形メッシュ生成の処理について説明する。
【００６４】
まず、かかる処理の概要について、図３を参照して説明する。図３に示すように、ＣＰＵ２は、まず、対象となる元メッシュのすべての面について（１）式を用いてＱ行列を計算する（ステップＳ１）。次いで、元メッシュのすべての頂点についてＱ行列、面リスト、面数を計算する（詳細は後述）（ステップＳ２）。そして、元メッシュのすべての稜線についてＱ行列、最適化頂点、稜線コスト、最大または平均の距離を計算し、メモリ３などに構築した稜線キューに保存する（詳細は後述）（ステップＳ３）。ステップＳ３により誤差測定手段、誤差測定処理を実現している。
【００６５】
次いで、稜線コストの低い順に稜線キューをソートし（ステップＳ４）、ソート後の稜線キューの先頭要素について検査・削除更新する（詳細は後述）（ステップＳ５）。ステップＳ５により判定手段、判定処理を実現している。そして、稜線キューの先頭要素が存在しない場合、すなわち空の場合は（ステップＳ６のＹ）、処理を終了する。空でなければ（ステップＳ６のＮ）、ステップＳ７に進む。ステップＳ７では、稜線キューの先頭の稜線について稜線縮退化操作を行う（詳細は後述）。ステップＳ７により簡単化手段、簡単化処理を実現している。そして、稜線キューの更新を行ない（詳細は後述）（ステップＳ８）、ステップＳ５に戻る。以上の処理により指定誤差の範囲内の簡単化メッシュを得ることができる。
【００６６】
次に、図４のフローチャートを参照して、前記ステップＳ２について詳細に説明する。すなわち、元メッシュのすべての頂点についてＱ行列、面リスト、面数を計算するには、以下の操作を元メッシュのすべての頂点について行う。まず、（２）式を用いて頂点のＱ行列を計算する（ステップＳ１１）。次いで、距離算出方式に応じて（ステップＳ１２）、隣接する面の面リストまたは面数の計算を行う（ステップＳ１３，Ｓ１４）。すなわち、この例において、距離算出方式は、最大距離方式、平均距離方式１、平均距離方式２の３種類の中からユーザにより予め設定されているものとする（この各方式については後述する）。
【００６７】
そして、ステップＳ１２で、最大距離方式または平均距離方式１の場合は、各頂点の隣接する面からなる面リストを計算し（ステップＳ１３）、平均距離方式２の場合は、各頂点に隣接する面数を計算する（ステップＳ１４）。面リストの各要素は、元メッシュの面への参照が可能な情報（具体的には元メッシュの面のＩＤ、名称、ポインタなど）が収められており、各面の幾何的な情報（面の頂点座標や面の法線ベクトル）への参照ができるものとする。
【００６８】
図５のフローチャートを参照して、前記ステップＳ３について詳細に説明する。すなわち、元メッシュのすべての稜線についてＱ行列、最適化頂点、稜線コスト、測定距離を計算し、稜線キューに保存するためには、以下の操作を元メッシュのすべての稜線について行う。まず、（４）式を用いて稜線のＱ行列を計算する（ステップＳ２１）。次いで、（６）式を用いて稜線縮退を行った場合の最適化頂点位置を計算し、稜線キューに保存する（ステップＳ２２）。そして、（５）式を用いて稜線コストを計算し、稜線キューに保存する（ステップＳ２３）。次いで、ユーザにより設定されている距離算出方式に応じて（ステップＳ２４）、最大距離方式（ステップＳ２５）、平均距離方式１（ステップＳ２６）、平均距離方式２（ステップＳ２７）のいずれかの計算により測定距離を求める。
【００６９】
すなわち、最大距離方式（ステップＳ２５）は、（７）式に示す始点および終点のステップＳ１３で求めた面リストから参照されるすべての面と最適化頂点との距離の中で最大のものを最大距離として求め、稜線キューに保存する。
【００７０】
【数４】
0004340397.tif 000005
【００７１】
ここで、ｆｉ（ｉ＝０，１，…，ｎ−１）は始点および終点に属する三角形面、“ａｉｘ＋ｂｉｙ＋ｃｉｚ＋ｄｉ＝０”はその平面を表す方程式とする。
【００７２】
平均距離方式１（ステップＳ２６）は、（８）式に示す始点および終点のステップＳ１３で求めた面リストから参照されるすべての面と最適化頂点との間の距離の相加平均を平均距離１として求め、稜線キューに保存する。
【００７３】
【数５】
0004340397.tif 000006
【００７４】
なお、（８）式において、“||  ||”は絶対値を表す。
【００７５】
平均距離方式２（ステップＳ２７）は、（９）式に示す稜線コストを始点および終点のステップＳ１４で求めた面数の和で割り、平方根をとったものを平均距離２として求め、稜線キューに保存する。
【００７６】
【数６】
0004340397.tif 000007
【００７７】
なお、（９）式において、ｖｓ、ｖｅは稜線ｅのそれぞれ始点頂点、終点頂点とし、#faces（ｖ）は頂点ｖに隣接する面数とする。
【００７８】
図６のフローチャートを参照して、前記ステップＳ５について詳細に説明する。すなわち、稜線キューの先頭の要素について検査・削除を行うには、図６に示すように、まず、稜線キューにおける先頭の要素の有無を調べ（ステップＳ３１）、あれば（ステップＳ３１のＹ）、ステップＳ３２に進み、なければ（ステップＳ３１のＮ）、処理を終了することで行う。ステップＳ３２では、その要素の測定距離が指定誤差を上回っていないか調べ、上回っていなければ（ステップＳ３２のＮ）、処理を終了する。上回っていれば（ステップＳ３２のＹ）、その要素を稜線キューから削除し（ステップＳ３３）、ステップＳ３１に戻る。すなわち、測定誤差は元メッシュの簡単化を行った場合の簡単化の程度を示すものであり、指定誤差は測定誤差の基準値として予め指定された値である。
【００７９】
図７のフローチャートを参照して、前記ステップＳ７について詳細に説明する。すなわち、稜線キューの先頭の稜線について稜線縮退化操作を行うには、まず、稜線キューの先頭の稜線を取り出し、稜線キューから削除する（ステップＳ４１）次いで、稜線キューの先頭の要素と一致する稜線について図２を参照して前記したように稜線縮退化操作を行う（ステップＳ４２）。次いで、最適化頂点座標を残った始点側の頂点ｖｓの座標として設定する（ステップＳ４３）。この操作で、稜線e、稜線eの両側の面、稜線eの終点側の頂点ｖｅが削除される。次いで、ｖｓのＱ行列にｖｅのＱ行列を加える（ステップＳ４４）。そして、距離算出方式に応じ（ステップＳ４５）、ステップＳ５６またはＳ５７の処理を行う。すなわち、距離算出方式が最大距離方式または平均距離方式１のときは、ｖｓの面リストにｖｅの面リストを加える（ステップＳ４６）。また、距離算出方式が平均距離方式２のときは、ｖｓの面数にｖｅの面数を加える（ステップＳ４７）。
【００８０】
図８のフローチャートを参照して、前記ステップＳ８について詳細に説明する。すなわち、稜線キューの更新を行うには、まず、ステップＳ４２で行われた稜線縮退化操作の結果残った頂点ｖｓに隣接する稜線（図９において太線で示す線）について、ステップＳ３で行ったのと同様に最適化頂点位置、稜線コスト、測定距離を計算し、稜線キューに保存する（ステップＳ５１）。次いで、ステップＳ４２で行われた稜線縮退化操作の結果残った頂点ｖｓに隣接する面集合の境界稜線（図１０において太線で示す線）について、ステップＳ３で行ったのと同様に最適化頂点位置、稜線コスト、測定距離を計算し、稜線キューに保存する（ステップＳ５２）。
【００８１】
したがって、三角形メッシュ簡単化装置１によれば、元メッシュの簡単化を行う際に、指定誤差を設定するにより予め簡単化の程度を指定できるので、適切な簡単化の程度を持つ簡単化メッシュを速やかに作成することができる。
【００８２】
【発明の効果】
開示の装置は、三角形メッシュの簡単化を行う際に、指定誤差を設定するにより予め簡単化の程度を指定できるので、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８３】
開示の装置は、上記の三角形メッシュ簡単化装置において、三角形メッシュの面と簡単化三角形メッシュの頂点との間の最大距離を計算することにより測定誤差を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８４】
開示の装置は、上記の三角形メッシュ簡単化装置において、三角形メッシュの面と簡単化三角形メッシュの頂点との間の平均距離を計算することにより測定誤差を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８５】
開示の装置は、上記の三角形メッシュ簡単化装置において、稜線縮退化操作に伴い削除される面の参照情報を稜線縮退化操作後に残る頂点ごとのリストにして最大距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８６】
開示の装置は、上記の三角形メッシュ簡単化装置において、稜線縮退化操作に伴い削除される面の参照情報を稜線縮退化操作後に残る頂点ごとのリストにして平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８７】
開示の装置は、上記の三角形メッシュ簡単化装置において、稜線縮退化操作に伴い削除される面の面数を稜線縮退化操作後に残る頂点ごとに保存することで平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８８】
開示の装置は、上記の三角形メッシュ簡単化装置において、稜線縮退操作の対象となる稜線の両側に存在する面を参照するための情報を頂点ごとのリストに加えることで最大距離、平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００８９】
開示の装置は、上記の三角形メッシュ簡単化装置において、稜線縮退操作の対象となる稜線の両側に存在する面の面数を頂点ごとに保存する面数に加えることにより平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【００９０】
開示の装置は、上記の三角形メッシュ簡単化装置において、稜線縮退操作の結果残る頂点の稜線縮退化操作数に加えることにより、これから行う稜線縮退化操作の対象となる稜線に属する２頂点の稜線縮退化操作数の和から２を減ずることで、頂点ごとに保存する面数を計算して平均距離を求めて、適切な簡単化の程度を持つ簡単化三角形メッシュを速やかに作成できる。
【図面の簡単な説明】
【図１】この発明の一実施の形態である三角形メッシュ簡単化装置の電気的な接続を示すブロック図である。
【図２】前記三角形メッシュ簡単化装置の稜線縮退化操作の例を示す説明図である。
【図３】前記三角形メッシュ簡単化装置が行う処理を説明するフローチャートである。
【図４】図３のフローチャートのサブルーチンとなるフローチャートである。
【図５】同フローチャートである。
【図６】同フローチャートである。
【図７】同フローチャートである。
【図８】同フローチャートである。
【図９】図８のフローチャートで行う処理を説明する説明図である。
【図１０】同説明図である。
【符号の説明】
１      三角形メッシュ簡単化装置
Ｓ３    誤差測定手段、誤差測定処理
Ｓ５    判定手段、判定処理
Ｓ７    簡単化手段、簡単化処理
【図１】
0004340397.tif 000008
【図２】
0004340397.tif 000009
【図３】
0004340397.tif 000010
【図４】
0004340397.tif 000011
【図５】
0004340397.tif 000012
【図６】
0004340397.tif 000013
【図７】
0004340397.tif 000014
【図８】
0004340397.tif 000015
【図９】
0004340397.tif 000016
【図１０】
0004340397.tif 000017