Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4480306B2 - Mesh simplification device, program and storage medium - Google Patents
[go: Go Back, main page]

JP4480306B2 - Mesh simplification device, program and storage medium - Google Patents

Mesh simplification device, program and storage medium Download PDF

Info

Publication number
JP4480306B2
JP4480306B2 JP2001283715A JP2001283715A JP4480306B2 JP 4480306 B2 JP4480306 B2 JP 4480306B2 JP 2001283715 A JP2001283715 A JP 2001283715A JP 2001283715 A JP2001283715 A JP 2001283715A JP 4480306 B2 JP4480306 B2 JP 4480306B2
Authority
JP
Japan
Prior art keywords
vertex
mesh
sharing operation
error
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
JP2001283715A
Other languages
Japanese (ja)
Other versions
JP2003091742A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001283715A priority Critical patent/JP4480306B2/en
Publication of JP2003091742A publication Critical patent/JP2003091742A/en
Application granted granted Critical
Publication of JP4480306B2 publication Critical patent/JP4480306B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置、プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
近年、インターネット上でのマルチメディア利用の広がりとともに3次元表現の利用が拡大しており、3次元形状表示の重要性が高まっている。最近は、大規模な設計データを既存のグラフィックス表示装置を用いて更に高速に表示するために、形状データである三角形メッシュ(この明細書で「メッシュ」という)をできるだけ形状に影響を与えないように要素数を減らし、簡単化する技術の研究が盛んである(この明細書で、簡単化の対象となるメッシュを「元メッシュ」、簡単化したメッシュを「簡単化メッシュ」という)。
【0003】
特に、「Michael Garland and Paul S.Heckbert:“Surface simplification using quadric error metrics”,SIGGRAPH’97 Conference Proceedings,pp.209-216,Aug 1997」に開示の技術に代表される頂点共有化操作とQEM(Quadric Error Metrics)を用いた研究が多い。
【0004】
【発明が解決しようとする課題】
しかしながら、前記の従来技術では、高速に品質の高い簡単化メッシュが得られるものの、簡単化の程度を予め指定することができない。すなわち、従来技術では最終的な面数のみが指定できるだけであり、実際に面数を指定して簡単化メッシュを生成して評価するといったトライアンドエラーにより、適切な簡単化の程度を持つ簡単化メッシュを得ていた。そのため、適切な簡単化の程度を持つ簡単化メッシュが得られるまでに非常に時間を要するという不具合があった。
【0005】
これに対し、本願出願人は、QEMからのメッシュの面と簡単化メッシュとの間の平均距離と最大距離を求める技術を提案している(平成13年5月11日出願の特願2001-141070(本願の出願時において未出願公開))。
【0006】
しかし、かかる技術により得られる結果に比べて、元メッシュと簡単化メッシュとの間の距離をさらに正確に求めたい。
【0007】
この発明の目的は、元のメッシュと簡単化メッシュとの間の距離を正確に求めて、適切な簡単化の程度を持つ簡単化メッシュを速やかに作成できるようにすることである。
【0010】
【課題を解決するための手段】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の最大値を計算し、又、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の最大値を計算して、前記両最大値のうち大きい方を、前記元メッシュの面と前記簡単化メッシュの頂点との最大距離として求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置である。
【0011】
したがって、元メッシュの面と簡単化メッシュの頂点との最大距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の最大値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0012】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置である。
【0013】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0014】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の平均値を計算し、及び、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置である。
【0015】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0016】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積を前記面のコスト値として計算し、このコスト値を前記頂点数で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置である。
【0017】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0018】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面数を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、QEM(Quadric Error Metrics)法で計算される前記頂点ペアコスト値、及び、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積として計算される前記面のコスト値の総和を求め、この総和を前記削除される面数と前記頂点共有化操作で削除される頂点数との和で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置である。
【0019】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0022】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の最大値を計算し、又、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の最大値を計算して、前記両最大値のうち大きい方を、前記元メッシュの面と前記簡単化メッシュの頂点との最大距離として求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラムである。
【0023】
したがって、元メッシュの面と簡単化メッシュの頂点との最大距離を求めるために、元メッシュの頂点と簡単化メッシュの面との間の距離の最大値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0024】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラムである。
【0025】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0026】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の平均値を計算し、及び、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラムである。
【0027】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0028】
請求項に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積を前記面のコスト値として計算し、このコスト値を前記頂点数で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラムである。
【0029】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0030】
請求項10に記載の発明は、元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面数を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、QEM(Quadric Error Metrics)法で計算される前記頂点ペアコスト値、及び、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積として計算される前記面のコスト値の総和を求め、この総和を前記削除される面数と前記頂点共有化操作で削除される頂点数との和で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラムである。
【0031】
したがって、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0032】
請求項11に記載の発明は、請求項10のいずれかの一に記載のプログラムを記憶したコンピュータに読取可能な記憶媒体である。
【0033】
したがって、請求項10のいずれかの一に記載の発明と同様の作用、効果を奏する。
【0034】
【発明の実施の形態】
この発明の一実施の形態について説明する。
【0035】
図1は、この発明の一実施の形態であるメッシュ簡単化装置1の電気的な接続を示すブロック図である。図1に示すように、メッシュ簡単化装置1は、PCなどのコンピュータであり、各種演算を行ない、メッシュ簡単化装置1の各部を集中的に制御するCPU2と、各種のROM、RAMからなる記憶装置であるメモリ3とが、バス4で接続されている。
【0036】
バス4には、所定のインターフェイスを介して、ハードディスクなどの磁気記憶装置5と、マウス、キーボード等により構成される入力装置6と、表示装置7と、光ディスクなどの記憶媒体8を読み取る記憶媒体読取装置9とが接続され、また、インターネットなどのネットワーク10と通信を行なう所定の通信インターフェイス11が接続されている。なお、記憶媒体8としては、CD,DVDなどの光ディスク、光磁気ディスク、フロッピーディスクなどの各種メディアを用いることができる。また、記憶媒体読取装置9は、具体的には記憶媒体8の種類に応じて光ディスク装置、光磁気ディスク装置、フロッピーディスク装置などが用いられる。
【0037】
磁気記憶装置5には、メッシュ簡単化プログラムが記憶されている。このメッシュ簡単化プログラムは、記憶媒体8から記憶媒体読取装置9により読み取るか、あるいは、インターネットなどのネットワーク10からダウンロードするなどして、磁気記憶装置5にインストールしたものである。このインストールによりメッシュ簡単化装置1は動作可能な状態となる。このメッシュ簡単化プログラムは、CADにより設計したデータを閲覧する次元形状ビューワなど、特定のアプリケーションソフトの一部をなすものであってもよい。また、所定のOS上で動作するものであってもよい。
【0038】
以下では、メッシュ簡単化プログラムに基づいてメッシュ簡単化装置1が行なう処理の内容について説明する。
【0039】
まず、かかる処理の内容の前提となる概念について説明する。
【0040】
(1)メッシュ簡単化
元メッシュから面や頂点、稜線などの要素を少なくした簡単化メッシュを生成することである。以下で説明するQEMにより計算される稜線ペアコストの低い順に頂点共有化操作を行っていくことにより、元メッシュから簡単化メッシュを得る。
【0041】
(2)頂点ペアキュー
頂点ペアキューの各要素は、頂点ペアコストや最適化頂点座標、測定距離などの属性情報とともに元メッシュの稜線への参照が可能な情報(具体的には元メッシュの稜線のID、名称、ポインタなど)が収められており、各稜線の情報(稜線の両端点をなす頂点)への参照ができるものとする。
【0042】
(3)頂点共有化操作
メッシュの要素を減らす操作である。この操作では、2個の頂点からなる頂点ペア(v,v)を、頂点vを残し、頂点vを削除する。v,vには共有する稜線が存在してもよいし、存在しなくてもよい。
【0043】
図2に頂点共有化操作の例を示す。図2(a)は、頂点ペアが共有する稜線が存在する場合であり、図2(b)は、頂点ペアが共有する稜線が存在しない場合である。図2(a)においては、頂点共有化操作により1本の稜線Eが削除されるのと同時に、1個の頂点v、頂点ペアを共有する面f,fが削除され、1個の頂点vが残る。図2(b)においては、頂点共有化操作により、削除される要素はvだけである。いずれの場合も、頂点共有化操作後のまわりの面や稜線は残った頂点vを共有するようになる。
【0044】
(4)QEM(Quadric Error Metrics)
どの頂点ペアから先に頂点共有化操作を行っていくかの優先順位を決めるための頂点ペアコストの計算方法である。
【0045】
その方法は、まず、メッシュを構成するすべての三角形面について、Q行列を計算する。面fのQ行列Q(f)は、面fが乗る平面の方程式“ax+by+cz+d=0”(ここで、“a+b+c=1”とし、座標(x,y,z)と平面の間の距離は、“ax+by+cz+d”で求められるようにしておく)の係数a,b,c,dを用いて(1)式のように定義される。
【0046】
【数1】

Figure 0004480306
【0047】
次に、メッシュを構成するすべての頂点についてQ行列を計算する。頂点vのQ行列Q(v)は、(2)式のように頂点のまわりの隣接する三角形面f(ここで、i=0,1,…,n−1とする)のQ行列Q(f)の和になる。
【0048】
(v)=Q(f)+Q(f)+…+Q(fn−1) …… (2)
【0049】
次に、頂点ペアをすべての稜線及び(3)式を満たす頂点の組(v,v)とする。
【0050】
||v−v||<δ …… (3)
但し、“|| ||”は絶対値を示す(以下同様)。
【0051】
δは、頂点共有を行なう距離のしきい値で、大きければ大きいほど頂点の組が増える。そして、すべての頂点ペアについて、最適化頂点座標を計算する。最適化頂点座標voptは、頂点ペアに隣接するすべての面、すなわち始点v、終点vに隣接するすべての面と最適化頂点座標voptとの距離の2乗和が最も小さくなる座標である。
【0052】
【数2】
Figure 0004480306
が最も小さくなる座標である。
【0053】
ここでは、頂点ぺアの隣接面のQ行列の和Q(vpair)を、始点頂点vと終点頂点vの隣接面のQ行列の和Q(v),Q(v)を加えることにより(5)式のように求め、始点頂点、終点頂点に隣接するすべての面のQ行列の和とする。
【0054】
(vpair)=Q(v)+Q(v) …… (5)
厳密には頂点ペアが稜線である場合、面を共有するため異なるが、計算を簡単にするため、そのようにする。
【0055】
そうすると、最適化頂点voptと頂点ペアに隣接するすべての面との距離の2乗和は、
opt(vpair)vopt …… (6)
となる。
【0056】
この値が最小になるvoptは、この式をx,y,zそれぞれについて微分することにより得られる連立方程式
【0057】
【数3】
Figure 0004480306
の解になる。
【0058】
ここでAは3行3列の行列、v,bは次元数が3の列ベクトル、cはスカラとし、Q(vpair)をブロック分解した結果得られるものである。解を求めて、距離の2乗和の(6)式に代入し、頂点コストとする。
【0059】
次に、図3以下のフローチャートを参照して、メッシュ簡単化装置1が行なうメッシュ簡単化の処理について説明する。
【0060】
まず、かかる処理の概要について、図3を参照して説明する。図3に示すように、CPU2は、まず、対象となる元メッシュのすべての面について(1)式を用いてQ行列を計算する(ステップS1)。次いで、元メッシュのすべての頂点についてQ行列、Q行列、面リスト、面数を計算する(詳細は後述)(ステップS2)。頂点についてQ行列については(8)式を用いて計算する。
【0061】
【数4】
Figure 0004480306
【0062】
そして、元メッシュのすべての頂点ペアについてQ行列、最適化頂点、頂点ペアコスト、最大又は平均の距離を、それぞれ計算し、メモリ3などに構築した頂点ペアキューに保存する(詳細は後述)(ステップS3)。ステップS3により推定手段、推定処理を実現している。
【0063】
次いで、頂点ペアコストの低い順に頂点ペアキューをソートし(ステップS4)、ソート後の頂点ペアキューの先頭要素について検査・削除更新する(詳細は後述)(ステップS5)。ステップS5により判定手段、判定処理を実現している。そして、頂点ペアキューの先頭要素が存在しない場合、すなわち空の場合は(ステップS6のY)、処理を終了する。空でなければ(ステップS6のN)、ステップS7に進む。ステップS7では、頂点ペアキューの先頭の頂点ペアについて頂点共有化操作を行なう(詳細は後述)。ステップS7により頂点共有化手段、頂点共有化処理を実現している。そして、頂点ペアの始点頂点vに隣接する頂点ペアについて、ステップS3と同様に、Q行列、最適化頂点、頂点ペアコスト、最大又は平均の距離を、それぞれ計算し、メモリ3などに構築した頂点ペアキューに保存して(ステップS8)、ステップS5に戻る。以上の処理により指定誤差の範囲内の簡単化メッシュを得ることができる。
【0064】
次に、図4のフローチャートを参照して、前記ステップS2について詳細に説明する。すなわち、元メッシュのすべての頂点についてQ行列、Q行列、面リスト、面数を計算するには、以下の操作を元メッシュのすべての頂点について行なう。まず、(8)式を用いて頂点のQ行列を計算する(ステップS11)。次いで、(2)式を用いて頂点のQ行列を計算する(ステップS12)。
【0065】
このメッシュ簡単化装置1では、元メッシュの面と簡単化メッシュの頂点の最大距離、あるいは、平均距離を求める。そして、これらの処理を行なうには、いくつかの距離算出方式が考えられる。これらの距離算出方式としては、最大距離を求めるものとして次の最大距離方式1〜2、平均距離を求めるものとして次の平均距離方式1〜4が考えられる。
【0066】
最大距離方式1
元のメッシュの頂点と簡単化メッシュの面との間の距離の最大値を最大距離として計算する。
【0067】
最大距離方式2
元のメッシュの頂点と簡単化メッシュの面との間の距離及び元のメッシュの面と簡単化メッシュの頂点との距離の最大値を最大距離として計算する。
【0068】
平均距離方式1
元のメッシュの頂点と簡単化メッシュの面の間の距離の平均値を平均距離として計算する。
【0069】
平均距離方式2
元のメッシュの頂点と簡単化メッシュの面との間の距離及び元のメッシュの面と簡単化メッシュの頂点との距離の平均値を平均距離として計算する。
【0070】
平均距離方式3
簡単化メッシュの面コストを元メッシュの頂点数で割った値の平方根を平均距離とて計算する。
【0071】
平均距離方式4
頂点ペアコスト及び簡単化メッシュの面コストの和を削除面数と削除頂点数の和により割った値の平方根を平均距離として計算する。
【0072】
そして、これらのうち何れの方式を用いるかに応じて、所定の計算を行なう(ステップS13)。すなわち、最大距離方式2又は平均距離方式2を用いる場合は、隣接する面の面リストの計算を行ない、平均距離方式3,4を用いる場合は、隣接する面の面数の計算を行なう。両リストの各要素は、元メッシュの面への参照が可能な情報(具体的には元メッシュの面のIDや名称、ポインタなど)が収められており、各面の幾何的な情報(面の頂点座標や面の法線ベクトル)への参照ができるものとする。
【0073】
次に、図5のフローチャートを参照して、前記ステップS3について詳細に説明する。すなわち、(4)式を用いて、頂点ペアのQ行列を計算する(ステップS21)。次いで、(6)式を用いて、頂点共有を行った場合の最適化頂点位置を計算し、頂点ペアキューに保存する(ステップS22)。次いで、(5)式を用いて頂点ペアコストを計算し、頂点ペアキューに保存する(ステップS23)。そして、(9)式を用いて、面コストを計算する(ステップS24)。
【0074】
【数5】
Figure 0004480306
【0075】
ここで、nは、最適化頂点位置で頂点共有化を行った場合の隣接面の平面の方程式を表わすベクトルである。Qは頂点共有化を行ない失われた頂点のQ行列の和を示しており、初期値はQ(v)とQ(v)の和になる。すなわち、(10)式のとおり。
【0076】
【数6】
Figure 0004480306
【0077】
次いで、前記の距離算出方式に応じた処理をおこなう(ステップS25)。
【0078】
すなわち、最大距離方式1の場合は、頂点共有化した際に失われる元メッシュの頂点の座標と、頂点共有化後の面との間の距離の中で最大のものを求め、頂点ペアキューに保存する。面と頂点座標との距離は、次の(11)式を用いて計算する。
【0079】
dist(v,f)=||ax+by+cz+d||,a+b+c=1……(11)
但し、(x,y,z)は頂点の座標、ax+by+cz+dは面fを表わす平面の式とする。
【0080】
最大距離方式2の場合は、ステップS13の面コストから参照されるすべての面と最適化頂点との距離、及び、頂点共有化した際に失われる頂点と、頂点共有化した際の面との間の距離の中で最大のものを求め、頂点ペアキューに保存する。
【0081】
平均距離方式1の場合は、頂点共有化した際に失われる元メッシュの頂点座標頂点共有化した際の面との間の距離の相加平均を求め、頂点ペアキューに保存する。
【0082】
平均距離方式2の場合は、最適化頂点とステップS13の面リストとの間の距離、及び、頂点共有化した際の面との間の距離の相加平均を求め、頂点ペアキューに保存する。
【0083】
平均距離方式3の場合は、面コストを“削除頂点数×頂点共有後の隣接面数”で除算し、その平方根を計算することにより、平均距離を求め、頂点ペアキューに保存する。すなわち、(12)式のとおり。
【0084】
【数7】
Figure 0004480306
【0085】
ここで、♯voldは頂点共有化により失われた頂点の数であり、♯f(vopt)は頂点共有化後の頂点に隣接する面の数である。
【0086】
平均距離方式4の場合は、(13)式に示す頂点ペアコストと面コストとの和を求め、始点及び終点の面数の和、さらに、“削除頂点数×頂点共有後の隣接面数”を加えた値で除算し、その平方根を計算することにより、平均距離を求め、頂点ペアキューに保存する。
【0087】
【数8】
Figure 0004480306
【0088】
ここで、v,vは頂点ペアvpairそれぞれの始点頂点、終点頂点であり、♯f(v)は頂点vに隣接する数である。
【0089】
図6のフローチャートを参照して、前記ステップS5について詳細に説明する。すなわち、頂点ペアキューの先頭の要素について検査・削除を行なうには、図6に示すように、まず、頂点ペアキューにおける先頭の要素の有無を調べ(ステップS31)、あれば(ステップS31のY)、ステップS32に進み、なければ(ステップS31のN)、処理を終了することで行なう。
【0090】
ステップS32では、その要素の推定誤差が指定誤差を上回っていないか調べ、上回っていなければ(ステップS32のN)、処理を終了する。上回っていれば(ステップS32のY)、その要素を頂点ペアキューから削除し(ステップS33)、ステップS31に戻る。すなわち、推定誤差は元メッシュの簡単化を行った場合の簡単化の程度を示すものであり、指定誤差は推定誤差の基準値として予め指定された値である。
【0091】
図7のフローチャートを参照して、前記ステップS7について詳細に説明する。すなわち、項点ペアキューから先頭の頂点ペアを取り出し、頂点ペアキューから削除する(ステップS41)。次いで、頂点ペアキューの先頭の要素に一致する頂点ペアについて、図2を参照して説明したような頂点共有化操作を行なう(ステップS42)。そして、最適化頂点座標を、残った始点側の頂点vの座標として設定する(ステップS43)。
【0092】
この操作で、頂点ペアe、頂点ペアeの両側の面、頂点ペアeの終点側の頂点vが削除される。次いで、vのQ行列にvのQ行列を加える(ステップS44)。次いで、前記の距離算出方式に応じた処理を行なう(ステップS45)。すなわち、最大距離算出方式1及び平均距離算出方式1では、vの削除頂点リストにvを加える。最大距離算出方式2及び平均距離算出方式2では、vの面リストにvの面リストを加えた後、vの削除頂点リストにvを加える。平均距離算出方式3では、vの削除頂点数を1増やす。平均距離算出方式4では、vの面数にvの面数を加えた後、vの削除頂点数を1増やす。
【0094】
【発明の効果】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との最大距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の最大値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0095】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0096】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0097】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0098】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0100】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との最大距離を求めるために、元メッシュの頂点と簡単化メッシュの面との間の距離の最大値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0101】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0102】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0103】
請求項に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0104】
請求項10に記載の発明は、元メッシュの面と簡単化メッシュの頂点との平均距離を求めるために、元メッシュの面と簡単化メッシュの面との間の距離の平均値を求めることで、元メッシュと簡単化メッシュとの間の距離を正確に求めることができる。
【0105】
請求項11に記載の発明は、請求項10のいずれかの一に記載の発明と同様の効果を奏する。
【図面の簡単な説明】
【図1】この発明の一実施の形態であるメッシュ簡単化装置の電気的な接続を示すブロック図である。
【図2】頂点共有化操作について説明する説明図である。
【図3】前記メッシュ簡単化装置が行なう処理について説明するフローチャートである。
【図4】同フローチャートである。
【図5】同フローチャートである。
【図6】同フローチャートである。
【図7】同フローチャートである。
【符号の説明】
1 メッシュ簡単化装置
3 記憶装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a mesh simplification device, a program, and a storage medium that generate a simplified mesh simplified by reducing the number of elements of an original mesh.
[0002]
[Prior art]
In recent years, the use of three-dimensional representations has expanded with the spread of multimedia on the Internet, and the importance of three-dimensional shape display has increased. Recently, in order to display large-scale design data at a higher speed using an existing graphics display device, the shape of a triangular mesh (referred to as “mesh” in this specification) as shape data is not affected as much as possible. As described above, research on techniques for reducing and simplifying the number of elements has been actively conducted (in this specification, a mesh to be simplified is referred to as an “original mesh”, and a simplified mesh is referred to as a “simplified mesh”).
[0003]
In particular, vertex sharing and QEM represented by the technique disclosed in “Michael Garland and Paul S. Heckbert:“ Surface simplification using quadric error metrics ”, SIGGRAPH '97 Conference Proceedings, pp.209-216, Aug 1997” There are many studies using Quadric Error Metrics.
[0004]
[Problems to be solved by the invention]
However, although the above-described conventional technique can obtain a high-quality simplified mesh at high speed, the degree of simplification cannot be designated in advance. In other words, in the prior art, only the final number of faces can be specified, and simplification with an appropriate degree of simplification by trial and error such as actually specifying the number of faces and generating a simplified mesh for evaluation. I got a mesh. Therefore, there is a problem that it takes a very long time to obtain a simplified mesh having an appropriate degree of simplification.
[0005]
On the other hand, the applicant of the present application has proposed a technique for obtaining an average distance and a maximum distance between the surface of the mesh from the QEM and the simplified mesh (Japanese Patent Application No. 2001- filed on May 11, 2001). 141070 (unpublished at the time of filing this application)).
[0006]
However, we would like to determine the distance between the original mesh and the simplified mesh more accurately than the results obtained with this technique.
[0007]
An object of the present invention is to accurately obtain a distance between an original mesh and a simplified mesh so that a simplified mesh having an appropriate degree of simplification can be quickly created.
[0010]
[Means for Solving the Problems]
  Claim1In the mesh simplification device for generating a simplified mesh simplified by reducing the number of elements of the original mesh, the estimation error that is the degree of simplification when the vertex sharing operation of the mesh is performed Is calculated for each vertex pair, and the calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation and remaining by the vertex sharing operation. The maximum value of the distance between the coordinates of the vertex and the stored surface is calculated, and the vertex deleted by the vertex sharing operation is stored in the storage device for each vertex, and the vertex sharing is performed. The maximum value of the distance between the surface adjacent to the remaining vertex by the operation and the stored coordinates of the vertex is calculated, and the larger of the two maximum values is calculated as the surface of the original mesh and the simplified mesh. As the maximum distance from the vertex of Estimation means for performing the estimation, determination means for determining whether the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimation error, and the estimation error based on the determination A mesh simplification apparatus comprising: vertex sharing operation means for sequentially executing the vertex sharing operation that does not exceed an error from the vertex pair with the smallest estimation error.
[0011]
Therefore, in order to find the maximum distance between the face of the original mesh and the vertex of the simplified mesh, the maximum value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0012]
  Claim2In the mesh simplification device for generating a simplified mesh simplified by reducing the number of elements of the original mesh, the estimation error that is the degree of simplification when the vertex sharing operation of the mesh is performed For each vertex pair, the calculation of this estimation error is to store the vertices deleted by the vertex sharing operation in a storage device for each vertex, and the surface adjacent to the remaining vertices by the vertex sharing operation and the By calculating the average distance between the stored coordinates of the vertices and calculating the average distance between the surface of the original mesh and the vertices of the simplified mesh, the estimation error includes: Determining means for determining whether or not a specified error that is a value specified in advance as a reference value for the estimated error is exceeded; and based on this determination, the vertex sharing operation in which the estimated error does not exceed the specified error. A mesh simplified apparatus characterized by comprising a vertex sharing operation means for executing sequentially from smaller the apex pairs of the estimation error a.
[0013]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0014]
  Claim3In the mesh simplification device for generating a simplified mesh simplified by reducing the number of elements of the original mesh, the estimation error that is the degree of simplification when the vertex sharing operation of the mesh is performed Is calculated for each vertex pair, and the calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation and remaining by the vertex sharing operation. The average value of the distance between the coordinates of the vertex and the stored surface is calculated, and the vertex deleted by the vertex sharing operation is stored in the storage device for each vertex, and the vertex sharing is performed. Obtaining an average distance between the surface of the original mesh and the vertex of the simplified mesh by calculating the average value of the distance between the surface adjacent to the remaining vertex by the operation and the coordinates of the stored vertex; Estimating means performed in Determining means for determining whether or not the estimated error exceeds a specified error that is a value specified in advance as a reference value of the estimated error; and the vertex whose estimated error does not exceed the specified error based on this determination A mesh simplification apparatus comprising: a vertex sharing operation unit that sequentially executes a sharing operation from the vertex pair with a small estimation error.
[0015]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0016]
  Claim4In the mesh simplification device for generating a simplified mesh simplified by reducing the number of elements of the original mesh, the estimation error that is the degree of simplification when the vertex sharing operation of the mesh is performed Is calculated for each vertex pair, and the calculation of this estimation error is performed by storing the sum of squares of the coordinates of the vertices deleted by the vertex sharing operation and the number of vertices in the storage device as attributes of the remaining vertices by the vertex sharing operation. The square root of the value obtained by calculating the product of the vector of the plane formula coefficients of the surface adjacent to the remaining vertices and the sum of squares as the cost value of the surface and dividing the cost value by the number of vertices Is estimated as an average distance between the surface of the original mesh and the vertex of the simplified mesh, and the estimation error exceeds a specified error which is a value specified in advance as a reference value of the estimated error. Determining means for determining whether or not, and vertex sharing operation means for executing the vertex sharing operation in which the estimation error does not exceed the specified error based on the determination in order from the vertex pair with the small estimation error, It is the mesh simplification apparatus characterized by having.
[0017]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0018]
  Claim5In the mesh simplification device for generating a simplified mesh simplified by reducing the number of elements of the original mesh, the estimation error that is the degree of simplification when the vertex sharing operation of the mesh is performed Is calculated for each vertex pair, and the calculation of this estimation error is performed by storing the number of faces deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation, and QEM (Quadric Error Metrics) The vertex pair cost value calculated by the method, the sum of squares of the coordinates of the vertices deleted by the vertex sharing operation, and the number of vertices are stored in the storage device as attributes of the vertices remaining by the vertex sharing operation. The sum of the cost values of the surface calculated as the product of the vector of the plane equation of the surface adjacent to the remaining vertex and the sum of squares is obtained, and this sum is calculated as the number of surfaces to be deleted. Vertex sharing Estimating means for obtaining the square root of the value divided by the sum of the number of vertices to be deleted by the operation as an average distance between the surface of the original mesh and the vertices of the simplified mesh, and the estimation error is the estimation error Determining means for determining whether or not a specified error that is a value specified in advance as a reference value of the reference value is determined, and based on this determination, the vertex sharing operation in which the estimated error does not exceed the specified error is performed. A mesh simplification apparatus comprising: a vertex sharing operation unit that executes in order from a small number of vertex pairs.
[0019]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0022]
  Claim6In the invention described in the above, the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh. An estimation error that is a degree of simplification in each case is obtained for each vertex pair, and the calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation. The maximum value of the distance between the coordinates of the vertices remaining in the vertex sharing operation and the stored surface is calculated, and the vertices deleted by the vertex sharing operation are stored for each vertex. And calculating the maximum value of the distance between the surface adjacent to the remaining vertex by the vertex sharing operation and the stored coordinates of the vertex, and the larger of the two maximum values, The original mesh An estimation process performed by obtaining the maximum distance between the surface and the vertex of the simplified mesh, and a determination to determine whether the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimated error And causing the computer to execute a vertex sharing operation process in which, based on this determination, the vertex sharing operation in which the estimation error does not exceed the specified error is executed in order from the vertex pair with the small estimation error. It is a featured program.
[0023]
Therefore, in order to find the maximum distance between the face of the original mesh and the vertex of the simplified mesh, the maximum value of the distance between the vertex of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0024]
  Claim7In the invention described in the above, the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh. An estimation error that is a degree of simplification in each case is obtained for each vertex pair, and the calculation of the estimation error is performed by storing the vertex deleted by the vertex sharing operation in a storage device for each vertex, Obtaining an average distance between the surface of the original mesh and the vertex of the simplified mesh by calculating the average value of the distance between the surface adjacent to the remaining vertex by the operation and the coordinates of the stored vertex; And a determination process for determining whether or not the estimation error exceeds a specified error that is a value specified in advance as a reference value for the estimated error, and based on this determination, Estimation error is a program for causing to execute a vertex shared operation processing to be executed sequentially from smaller the apex pairs of the estimated error of the vertex sharing operation does not exceed the specified error into the computer.
[0025]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0026]
  Claim8In the invention described in the above, the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh. An estimation error that is a degree of simplification in each case is obtained for each vertex pair, and the calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation. The average value of the distance between the coordinates of the vertices remaining in the vertex sharing operation and the stored surface is calculated, and the vertices deleted by the vertex sharing operation are stored for each vertex And storing the original mesh surface and the simplification by calculating an average value of the distance between the surface adjacent to the vertex remaining in the vertex sharing operation and the coordinates of the stored vertex. Me An estimation process that is performed by calculating an average distance from the top of the channel, a determination process that determines whether or not the estimation error exceeds a specified error that is a value that is specified in advance as a reference value of the estimated error, and this determination And a vertex sharing operation process for sequentially executing the vertex sharing operation in which the estimation error does not exceed the specified error from the vertex pair with the small estimation error. is there.
[0027]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0028]
  Claim9In the invention described in the above, the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh. An estimation error that is a degree of simplification in each case is obtained for each vertex pair, and this estimation error is calculated by calculating the sum of squares of the coordinates of the vertices to be deleted by the vertex sharing operation and the number of vertices. Is stored in the storage device as the attribute of the remaining vertex, and the product of the vector of the plane formula of the surface adjacent to the remaining vertex and the sum of squares is calculated as the cost value of the surface, and this cost value Is calculated by obtaining the square root of the value obtained by dividing the number of vertices by the average distance between the surface of the original mesh and the vertices of the simplified mesh, and the estimation error is the estimation error. A determination process for determining whether or not a specified error that is a value specified in advance as a reference value is exceeded, and the vertex sharing operation in which the estimated error does not exceed the specified error based on this determination is performed with a small estimated error A program for causing a computer to execute vertex sharing operation processing executed in order from the vertex pair.
[0029]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0030]
  Claim10In the invention described in the above, the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh. The estimation error, which is the degree of simplification of the case, is obtained for each vertex pair, and the calculation of this estimation error stores the number of faces deleted by the vertex sharing operation in the storage device for each vertex remaining by the vertex sharing operation. The vertex pair cost value calculated by the QEM (Quadric Error Metrics) method and the sum of squares of the coordinates of the vertexes deleted by the vertex sharing operation and the number of vertices are obtained by the vertex sharing operation. The sum of the cost values of the surface calculated as the product of the vector of the plane equation coefficients of the surface adjacent to the remaining vertex and the sum of squares is stored in the storage device as the attribute of the remaining vertex. The square root of the value obtained by dividing the sum by the sum of the number of faces to be deleted and the number of vertices to be deleted by the vertex sharing operation is an average distance between the face of the original mesh and the vertices of the simplified mesh. The estimation process performed by obtaining the estimation error, the determination process for determining whether or not the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimation error, and the estimation error based on this determination A program for causing a computer to execute a vertex sharing operation process in which the vertex sharing operation that does not exceed the specified error is executed in order from the vertex pair with the smallest estimation error.
[0031]
Therefore, in order to find the average distance between the face of the original mesh and the vertex of the simplified mesh, the average value of the distance between the face of the original mesh and the face of the simplified mesh is obtained. The distance between the two can be accurately determined.
[0032]
  Claim11The invention described in claim6~10A computer-readable storage medium storing the program according to any one of the above.
[0033]
Therefore, the claims6~10The same action and effect as the invention described in any one of the above are obtained.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described.
[0035]
FIG. 1 is a block diagram showing electrical connection of a mesh simplification apparatus 1 according to an embodiment of the present invention. As shown in FIG. 1, the mesh simplification apparatus 1 is a computer such as a PC, which performs various calculations and centrally controls each part of the mesh simplification apparatus 1, and a memory composed of various ROMs and RAMs. A memory 3 as a device is connected by a bus 4.
[0036]
The bus 4 is provided with a magnetic storage device 5 such as a hard disk, an input device 6 including a mouse and a keyboard, a display device 7, and a storage medium reading device such as an optical disk via a predetermined interface. A device 9 is connected, and a predetermined communication interface 11 for communicating with a network 10 such as the Internet is connected. As the storage medium 8, various media such as an optical disk such as a CD and a DVD, a magneto-optical disk, and a floppy disk can be used. As the storage medium reader 9, specifically, an optical disk device, a magneto-optical disk device, a floppy disk device, or the like is used according to the type of the storage medium 8.
[0037]
The magnetic storage device 5 stores a mesh simplification program. This mesh simplification program is installed in the magnetic storage device 5 by being read from the storage medium 8 by the storage medium reader 9 or downloaded from the network 10 such as the Internet. By this installation, the mesh simplification apparatus 1 becomes operable. This mesh simplification program may be a part of specific application software such as a dimensional shape viewer for browsing data designed by CAD. Further, it may operate on a predetermined OS.
[0038]
Below, the content of the process which the mesh simplification apparatus 1 performs based on a mesh simplification program is demonstrated.
[0039]
First, the concept that is the premise of the contents of such processing will be described.
[0040]
(1) Simplification of mesh
It is to generate a simplified mesh with fewer elements such as faces, vertices, and edges from the original mesh. A simplified mesh is obtained from the original mesh by performing the vertex sharing operation in ascending order of the edge pair cost calculated by the QEM described below.
[0041]
(2) Vertex pair queue
Each element of the vertex pair queue is information that can refer to the edge of the original mesh along with attribute information such as vertex pair cost, optimized vertex coordinates, and measurement distance (specifically, the ID, name, pointer, etc. of the edge of the original mesh) ) Are stored, and information on each ridge line (vertices forming both end points of the ridge line) can be referred to.
[0042]
(3) Vertex sharing operation
This operation reduces the number of mesh elements. In this operation, a vertex pair (vs, Ve) At the vertex vs, Vertex veIs deleted. vs, VeThere may or may not be a shared ridgeline.
[0043]
FIG. 2 shows an example of the vertex sharing operation. FIG. 2A shows a case where a ridge line shared by a vertex pair exists, and FIG. 2B shows a case where a ridge line shared by the vertex pair does not exist. In FIG. 2 (a), one vertex v is deleted at the same time as one edge E is deleted by the vertex sharing operation.e, Face f sharing a vertex pairr, FlIs deleted and one vertex vsRemains. In FIG. 2B, the element deleted by the vertex sharing operation is veOnly. In either case, the surrounding faces and edges after the vertex sharing operation are the remaining vertices vsTo share.
[0044]
(4) QEM (Quadric Error Metrics)
This is a vertex pair cost calculation method for determining the priority of which vertex pair should be used first for vertex sharing operation.
[0045]
In the method, first, a Q matrix is calculated for all triangular faces constituting the mesh. The Q matrix Q (f) of the surface f is an equation “ax + by + cz + d = 0” (where “a2+ B2+ C2= 1 ”and coordinates (x0, Y0, Z0) And the plane is “ax0+ By0+ Cz0It is defined as the equation (1) using the coefficients a, b, c and d (which are obtained by + d ″).
[0046]
[Expression 1]
Figure 0004480306
[0047]
Next, the Q matrix is calculated for all the vertices constituting the mesh. The Q matrix Q (v) of the vertex v is an adjacent triangular surface f around the vertex as shown in equation (2).iQ matrix Q (f) (where i = 0, 1,..., N−1)i).
[0048]
Qf(V) = Q (f0) + Q (f1) + ... + Q (fn-1) (2)
[0049]
Next, the vertex pair is defined as a pair of vertices (v1, V2).
[0050]
|| v1-V2|| <δ (3)
However, “||||” indicates an absolute value (the same applies hereinafter).
[0051]
δ is a threshold value for the distance at which vertex sharing is performed. Then, optimized vertex coordinates are calculated for all vertex pairs. Optimized vertex coordinates voptIs all faces adjacent to the vertex pair, ie the starting point vs, End point veAll faces adjacent to and optimized vertex coordinates voptThis is the coordinate where the sum of squares of the distance to is the smallest.
[0052]
[Expression 2]
Figure 0004480306
Is the smallest coordinate.
[0053]
Here, the sum Q (v of the Q matrix of adjacent faces of the vertex pairpair) For the starting vertex vsAnd end vertex veSum of Q matrices of adjacent faces of Q (vs), Q (ve) To obtain the sum of the Q matrices of all the faces adjacent to the start point vertex and the end point vertex.
[0054]
Qf(Vpair) = Qf(Vs+ Qf(Ve) (5)
Strictly speaking, if the vertex pair is a ridge line, it is different because it shares a face, but in order to simplify the calculation, it is so.
[0055]
Then, optimization vertex voptAnd the sum of squares of the distances between all faces adjacent to a vertex pair is
vT optQf(Vpair) Vopt                    (6)
It becomes.
[0056]
V where this value is minimizedoptIs a simultaneous equation obtained by differentiating this expression with respect to x, y, z.
[0057]
[Equation 3]
Figure 0004480306
It becomes the solution of.
[0058]
Where A is a 3 × 3 matrix, v and b are 3 column vectors, c is a scalar, and Q (vpair) Is obtained as a result of block decomposition. The solution is obtained and substituted into the formula (6) of the sum of squares of the distance to obtain the vertex cost.
[0059]
Next, the mesh simplification process performed by the mesh simplification apparatus 1 will be described with reference to the flowchart in FIG.
[0060]
First, an outline of such processing will be described with reference to FIG. As shown in FIG. 3, the CPU 2 first calculates a Q matrix using the equation (1) for all the faces of the target original mesh (step S1). Then the Q matrix for all vertices of the original mesh, QfA matrix, a surface list, and the number of surfaces are calculated (details will be described later) (step S2). For the vertices, the Q matrix is calculated using equation (8).
[0061]
[Expression 4]
Figure 0004480306
[0062]
And Q for all vertex pairs of the original meshfThe matrix, the optimized vertex, the vertex pair cost, and the maximum or average distance are calculated and stored in the vertex pair queue built in the memory 3 or the like (details will be described later) (step S3). Step S3 realizes estimation means and estimation processing.
[0063]
Next, the vertex pair queue is sorted in ascending order of the vertex pair cost (step S4), and the first element of the sorted vertex pair queue is inspected / deleted (details will be described later) (step S5). Determination means and determination processing are realized by step S5. If the top element of the vertex pair queue does not exist, that is, if it is empty (Y in step S6), the process is terminated. If not empty (N in step S6), the process proceeds to step S7. In step S7, a vertex sharing operation is performed for the first vertex pair in the vertex pair queue (details will be described later). In step S7, vertex sharing means and vertex sharing processing are realized. And the starting vertex v of the vertex pairsAs for the vertex pair adjacent to Q, as in step S3, QfThe matrix, the optimized vertex, the vertex pair cost, and the maximum or average distance are respectively calculated and stored in the vertex pair queue constructed in the memory 3 or the like (step S8), and the process returns to step S5. With the above processing, a simplified mesh within a specified error range can be obtained.
[0064]
Next, the step S2 will be described in detail with reference to the flowchart of FIG. That is, the Q matrix for all vertices of the original mesh, QfTo calculate the matrix, face list, and number of faces, perform the following operation on all vertices of the original mesh. First, the vertex Q matrix is calculated using equation (8) (step S11). Next, the vertex Q using equation (2)fA matrix is calculated (step S12).
[0065]
In the mesh simplification device 1, the maximum distance or the average distance between the surface of the original mesh and the vertex of the simplified mesh is obtained. In order to perform these processes, several distance calculation methods can be considered. As these distance calculation methods, the following maximum distance methods 1 and 2 can be considered as methods for obtaining the maximum distance, and the following average distance methods 1 through 4 as methods for obtaining the average distance.
[0066]
Maximum distance method 1
The maximum distance between the original mesh vertex and the simplified mesh face is calculated as the maximum distance.
[0067]
Maximum distance method 2
The maximum distance is calculated as the maximum distance between the original mesh vertex and the simplified mesh face and the distance between the original mesh face and the simplified mesh vertex.
[0068]
Average distance method 1
The average distance between the original mesh vertex and the simplified mesh face is calculated as the average distance.
[0069]
Average distance method 2
The average value of the distance between the vertex of the original mesh and the face of the simplified mesh and the average of the distance between the face of the original mesh and the vertex of the simplified mesh are calculated.
[0070]
Average distance method 3
The square root of the value obtained by dividing the surface cost of the simplified mesh by the number of vertices of the original mesh is calculated as the average distance.
[0071]
Average distance method 4
The square root of the value obtained by dividing the sum of the vertex pair cost and the surface cost of the simplified mesh by the sum of the number of deleted faces and the number of deleted vertices is calculated as an average distance.
[0072]
Then, a predetermined calculation is performed according to which method is used (step S13). That is, when the maximum distance method 2 or the average distance method 2 is used, the surface list of the adjacent surfaces is calculated, and when the average distance methods 3 and 4 are used, the number of surfaces of the adjacent surfaces is calculated. Each element of both lists contains information that can refer to the face of the original mesh (specifically, the ID, name, pointer, etc. of the face of the original mesh). Can be referred to).
[0073]
Next, the step S3 will be described in detail with reference to the flowchart of FIG. That is, using equation (4), the vertex pair QfA matrix is calculated (step S21). Next, using the equation (6), the optimized vertex position when vertex sharing is performed is calculated and stored in the vertex pair queue (step S22). Next, the vertex pair cost is calculated using equation (5) and stored in the vertex pair queue (step S23). Then, the surface cost is calculated using equation (9) (step S24).
[0074]
[Equation 5]
Figure 0004480306
[0075]
Here, n is a vector representing an equation of the plane of the adjacent surface when vertex sharing is performed at the optimized vertex position. QvIndicates the sum of the Q matrices of the lost vertices by sharing the vertices, and the initial value is Q (vs) And Q (ve). That is, as shown in equation (10).
[0076]
[Formula 6]
Figure 0004480306
[0077]
Next, processing according to the distance calculation method is performed (step S25).
[0078]
That is, in the case of the maximum distance method 1, the maximum distance between the coordinates of the vertex of the original mesh lost when the vertex is shared and the face after the vertex sharing is obtained, and stored in the vertex pair queue. To do. The distance between the surface and the vertex coordinates is calculated using the following equation (11).
[0079]
dist (v, f) = || ax + by + cz + d ||, a2+ B2+ C2= 1 …… (11)
However, (x, y, z) is a vertex coordinate, and ax + by + cz + d is a plane expression representing the surface f.
[0080]
In the case of the maximum distance method 2, the distances between all the faces referenced from the face cost in step S13 and the optimized vertices, the vertices lost when the vertices are shared, and the faces when the vertices are shared Find the largest of the distances between them and save it in the vertex pair queue.
[0081]
In the case of the average distance method 1, the arithmetic average of the distance between the vertex coordinates of the original mesh that is lost when the vertex is shared and the face when the vertex is shared is obtained and stored in the vertex pair queue.
[0082]
In the case of the average distance method 2, the arithmetic average of the distance between the optimized vertex and the surface list in step S13 and the distance between the surfaces when the vertex is shared is obtained and stored in the vertex pair queue.
[0083]
In the case of the average distance method 3, the surface cost is divided by “the number of deleted vertices × the number of adjacent surfaces after vertex sharing” and the square root is calculated to obtain the average distance, which is stored in the vertex pair queue. That is, as shown in equation (12).
[0084]
[Expression 7]
Figure 0004480306
[0085]
Where #voldIs the number of vertices lost due to vertex sharing, and #f (vopt) Is the number of faces adjacent to the vertex after vertex sharing.
[0086]
In the case of the average distance method 4, the sum of the vertex pair cost and the surface cost shown in the equation (13) is obtained, the sum of the number of surfaces of the start point and the end point, and “the number of deleted vertices × the number of adjacent surfaces after sharing the vertex” The average distance is obtained by dividing by the value obtained by adding and calculating the square root, and stored in the vertex pair queue.
[0087]
[Equation 8]
Figure 0004480306
[0088]
Where vs, VeIs the vertex pair vpairEach is a start point vertex and an end point vertex, and #f (v) is a number adjacent to the vertex v.
[0089]
The step S5 will be described in detail with reference to the flowchart of FIG. That is, in order to inspect and delete the head element of the vertex pair queue, as shown in FIG. 6, first, the presence or absence of the head element in the vertex pair queue is checked (step S31), and if there is (Y in step S31), If it does not proceed to step S32 (N in step S31), the process is terminated.
[0090]
In step S32, it is checked whether the estimated error of the element exceeds the specified error. If it does not exceed the specified error (N in step S32), the process ends. If it exceeds (Y in step S32), the element is deleted from the vertex pair queue (step S33), and the process returns to step S31. That is, the estimation error indicates the degree of simplification when the original mesh is simplified, and the designation error is a value designated in advance as a reference value for the estimation error.
[0091]
The step S7 will be described in detail with reference to the flowchart of FIG. That is, the top vertex pair is extracted from the item pair queue and deleted from the vertex pair queue (step S41). Next, a vertex sharing operation as described with reference to FIG. 2 is performed on the vertex pair that matches the head element of the vertex pair queue (step S42). Then, the optimized vertex coordinates are set to the remaining starting point side vertex v.sAre set as the coordinates (step S43).
[0092]
By this operation, the vertex pair e, the faces on both sides of the vertex pair e, and the vertex v on the end point side of the vertex pair eeIs deleted. Then vsV in the Q matrixeQ matrix is added (step S44). Next, processing according to the distance calculation method is performed (step S45). That is, in the maximum distance calculation method 1 and the average distance calculation method 1, vsV in the deleted vertex listeAdd In the maximum distance calculation method 2 and the average distance calculation method 2, vsV in the face listeAfter adding the face list of vsV in the deleted vertex listeAdd In the average distance calculation method 3, vsIncrease the number of deleted vertices by 1. In the average distance calculation method 4, vsV is the number of faceseAfter adding the number of faces, vsIncrease the number of deleted vertices by 1.
[0094]
【The invention's effect】
  Claim1In order to obtain the maximum distance between the face of the original mesh and the vertex of the simplified mesh, the invention described in (1) obtains the maximum value of the distance between the face of the original mesh and the face of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0095]
  Claim2In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0096]
  Claim3In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0097]
  Claim4In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0098]
  Claim5In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0100]
  Claim6In order to obtain the maximum distance between the face of the original mesh and the vertices of the simplified mesh, the invention described in (1) obtains the maximum value of the distance between the vertex of the original mesh and the face of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0101]
  Claim7In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0102]
  Claim8In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0103]
  Claim9In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0104]
  Claim10In order to obtain the average distance between the surface of the original mesh and the vertex of the simplified mesh, the invention described in the above item is obtained by calculating the average value of the distance between the surface of the original mesh and the surface of the simplified mesh. And the distance between the simplified mesh and the simplified mesh can be determined accurately.
[0105]
  Claim11The invention described in claim6~10There exists an effect similar to the invention as described in any one of these.
[Brief description of the drawings]
FIG. 1 is a block diagram showing electrical connection of a mesh simplification apparatus according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram for explaining a vertex sharing operation.
FIG. 3 is a flowchart illustrating processing performed by the mesh simplification device.
FIG. 4 is a flowchart of the same.
FIG. 5 is a flowchart of the same.
FIG. 6 is a flowchart of the same.
FIG. 7 is a flowchart of the same.
[Explanation of symbols]
1 Mesh simplification device
3 Storage device

Claims (11)

元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の最大値を計算し、又、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の最大値を計算して、前記両最大値のうち大きい方を、前記元メッシュの面と前記簡単化メッシュの頂点との最大距離として求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置。  In a mesh simplification device that generates a simplified mesh that is simplified by reducing the number of elements of the original mesh, an estimation error that is a degree of simplification when the mesh vertex sharing operation is performed is obtained for each vertex pair. The calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation, and storing the coordinates of the vertex remaining by the vertex sharing operation and the memory. The maximum value of the distance to the marked surface is calculated, and the vertices deleted by the vertex sharing operation are stored in the storage device for each vertex and adjacent to the remaining vertices by the vertex sharing operation. The maximum value of the distance between the surface to be stored and the coordinates of the stored vertex is calculated, and the larger of the two maximum values is determined as the maximum distance between the surface of the original mesh and the vertex of the simplified mesh. To do by asking Means for determining whether or not the estimated error exceeds a specified error which is a value specified in advance as a reference value of the estimated error, and based on this determination, the estimated error does not exceed the specified error A mesh simplification apparatus, comprising: vertex sharing operation means for sequentially executing the vertex sharing operation from the vertex pair with the least estimation error. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置。  In a mesh simplification device that generates a simplified mesh that is simplified by reducing the number of elements of the original mesh, an estimation error that is a degree of simplification when the mesh vertex sharing operation is performed is obtained for each vertex pair. In this calculation of the estimation error, vertices to be deleted by the vertex sharing operation are stored in a storage device for each vertex, and the surfaces adjacent to the vertices remaining by the vertex sharing operation and the stored vertices are stored. An estimation means for calculating an average distance between the surface of the original mesh and a vertex of the simplified mesh by calculating an average value of the distance between the coordinates, and the estimation error is a reference value of the estimation error. Determining means for determining whether or not a specified error that is a value specified in advance is exceeded, and based on this determination, the vertex sharing operation in which the estimated error does not exceed the specified error Mesh simplification apparatus characterized by comprising a vertex sharing operation means for executing sequentially from smaller the vertex pairs. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の平均値を計算し、及び、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置。  In a mesh simplification device that generates a simplified mesh that is simplified by reducing the number of elements of the original mesh, an estimation error that is a degree of simplification when the mesh vertex sharing operation is performed is obtained for each vertex pair. The calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation, and storing the coordinates of the vertex remaining by the vertex sharing operation and the memory. Calculate the average value of the distance to the marked surface, store the vertices deleted by the vertex sharing operation in a storage device for each vertex, and adjoin the remaining vertices by the vertex sharing operation Estimating means for calculating an average distance between the surface of the original mesh and the vertex of the simplified mesh by calculating an average value of the distance between the surface to be stored and the coordinates of the stored vertex; The estimation error A determination unit that determines whether or not a specified error that is a value specified in advance as a reference value for the estimation error is exceeded, and the vertex sharing operation in which the estimated error does not exceed the specified error based on the determination A mesh simplification device comprising: vertex sharing operation means that executes in order from the vertex pair with a small estimation error. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積を前記面のコスト値として計算し、このコスト値を前記頂点数で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置。  In a mesh simplification device that generates a simplified mesh that is simplified by reducing the number of elements of the original mesh, an estimation error that is a degree of simplification when the mesh vertex sharing operation is performed is obtained for each vertex pair. In this calculation of the estimation error, the sum of the squares of the coordinates of the vertices deleted by the vertex sharing operation and the number of vertices are stored in the storage device as attributes of the vertices remaining by the vertex sharing operation, and the remaining The product of the vector of the plane equation of the surface adjacent to the vertex and the sum of squares is calculated as the cost value of the surface, and the square root of the value obtained by dividing the cost value by the number of vertices is calculated as the original mesh. An estimation unit that is obtained by obtaining an average distance between a surface and a vertex of the simplified mesh, and whether or not the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimated error And a vertex sharing operation unit that sequentially executes the vertex sharing operation in which the estimation error does not exceed the specified error based on this determination, starting from the vertex pair with the least estimation error. Feature mesh simplification device. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するメッシュ簡単化装置において、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面数を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、QEM(Quadric Error Metrics)法で計算される前記頂点ペアコスト値、及び、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積として計算される前記面のコスト値の総和を求め、この総和を前記削除される面数と前記頂点共有化操作で削除される頂点数との和で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定手段と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定手段と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作手段と、を備えていることを特徴とするメッシュ簡単化装置。  In a mesh simplification device that generates a simplified mesh that is simplified by reducing the number of elements of the original mesh, an estimation error that is a degree of simplification when the mesh vertex sharing operation is performed is obtained for each vertex pair. In the calculation of the estimation error, the number of faces deleted by the vertex sharing operation is stored in a storage device for each vertex remaining in the vertex sharing operation, and the calculation is performed by the QEM (Quadric Error Metrics) method. The vertex pair cost value and the sum of squares of the coordinates of the vertices deleted by the vertex sharing operation and the number of vertices are stored in the storage device as attributes of the vertices remaining by the vertex sharing operation, and the remaining vertices are stored. The sum of the cost values of the surface calculated as the product of the vector of the plane equation of the surface adjacent to and the sum of squares is obtained, and this sum is calculated by the number of surfaces to be deleted and the vertex sharing operation. Deleted Estimating means for obtaining the square root of the value divided by the sum of the points as the average distance between the surface of the original mesh and the vertex of the simplified mesh; and the estimation error is designated in advance as a reference value for the estimation error Determination means for determining whether or not a specified error that is a determined value is exceeded, and based on this determination, the vertex sharing operation in which the estimated error does not exceed the specified error is sequentially performed from the vertex pair with the least estimated error A mesh simplification apparatus comprising: a vertex sharing operation means to be executed. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の最大値を計算し、又、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の最大値を計算して、前記両最大値のうち大きい方を、前記元メッシュの面と前記簡単化メッシュの頂点との最大距離として求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラム。  Degree of simplification when the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh The estimation error is obtained for each vertex pair, and the calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation. Calculating the maximum value of the distance between the coordinates of the vertices remaining in the conversion operation and the stored surface, and storing the vertices deleted by the vertex sharing operation in a storage device for each vertex, The maximum value of the distance between the surface adjacent to the vertex remaining in the vertex sharing operation and the stored coordinates of the vertex is calculated, and the larger of the two maximum values is determined as the surface of the original mesh. Simplification An estimation process performed by obtaining the maximum distance from the top of the cache, a determination process for determining whether the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimation error, and this determination And a vertex sharing operation process in which the vertex sharing operation in which the estimation error does not exceed the specified error is executed in order from the vertex pair with the least estimation error. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラム。  Degree of simplification when the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh For each vertex pair, the estimation error is calculated by storing the vertices deleted by the vertex sharing operation in a storage device for each vertex and adjacent to the remaining vertices by the vertex sharing operation. An estimation process performed by obtaining an average distance between the surface of the original mesh and the vertex of the simplified mesh by calculating an average value of the distance between the surface to be stored and the coordinates of the stored vertex, A determination process for determining whether or not the estimated error exceeds a specified error that is a value specified in advance as a reference value of the estimated error, and based on this determination, the estimated error is A program characterized by executing the vertex sharing operation process executing said vertex sharing operation does not exceed a constant error from less the apex pairs of the estimated error in the order, to the computer. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点の座標と前記記憶がされた面との間の距離の平均値を計算し、及び、前記頂点共有化操作で削除される頂点を頂点ごとに記憶装置に記憶しておき、前記頂点共有化操作で残る頂点に隣接する面と前記記憶がされた頂点の座標との間の距離の平均値を計算することにより、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離を求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラム。  Degree of simplification when the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh The estimation error is obtained for each vertex pair, and the calculation of the estimation error is performed by storing a surface to be deleted by the vertex sharing operation in a storage device for each vertex remaining by the vertex sharing operation. Calculating the average value of the distance between the coordinates of the vertices remaining in the conversion operation and the stored surface, and storing the vertices deleted in the vertex sharing operation in the storage device for each vertex, By calculating the average value of the distance between the surface adjacent to the remaining vertex by the vertex sharing operation and the coordinates of the stored vertex, the surface of the original mesh and the vertex of the simplified mesh are calculated. An estimation process performed by obtaining a uniform distance, a determination process for determining whether or not the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimation error, and the estimation based on this determination A program for causing a computer to execute a vertex sharing operation process in which the vertex sharing operation in which an error does not exceed the specified error is executed in order from the vertex pair with a small estimation error. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積を前記面のコスト値として計算し、このコスト値を前記頂点数で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラム。  Degree of simplification when the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh For each vertex pair, the estimation error is calculated by calculating the sum of squares of the coordinates of the vertices to be deleted by the vertex sharing operation and the number of vertices as attributes of the remaining vertices by the vertex sharing operation. Stored in a storage device, calculate the product of the vector of the plane equation coefficients of the surface adjacent to the remaining vertices and the sum of squares as the cost value of the surface, and divide the cost value by the number of vertices An estimation process performed by obtaining a square root of the obtained value as an average distance between the surface of the original mesh and the vertex of the simplified mesh, and the estimation error is preliminarily used as a reference value of the estimation error. A determination process for determining whether or not a specified error that is a specified value is exceeded, and based on this determination, the vertex sharing operation in which the estimated error does not exceed the specified error is performed from the vertex pair with a small estimated error. A program that causes a computer to execute vertex sharing operation processing to be executed in order. 元メッシュの要素の数を減らして簡単化した簡単化メッシュを生成するための処理をコンピュータに実行させるコンピュータに読取可能なプログラムにおいて、前記メッシュの頂点共有化操作を行った場合の簡単化の程度である推定誤差を頂点ペアごとに求め、この推定誤差の演算は、前記頂点共有化操作で削除される面数を前記頂点共有化操作で残る頂点ごとに記憶装置に記憶しておき、QEM(Quadric Error Metrics)法で計算される前記頂点ペアコスト値、及び、前記頂点共有化操作で削除される頂点の座標の2乗和と頂点数とを前記頂点共有化操作で残る頂点の属性として記憶装置に記憶しておき、前記残る頂点に隣接する面の平面式の係数からなるベクトルと前記2乗和との積として計算される前記面のコスト値の総和を求め、この総和を前記削除される面数と前記頂点共有化操作で削除される頂点数との和で除算した値の平方根を、前記元メッシュの面と前記簡単化メッシュの頂点との平均距離として求めることで行なう推定処理と、前記推定誤差が当該推定誤差の基準値として予め指定された値である指定誤差を上回るか否かを判定する判定処理と、この判定に基づいて前記推定誤差が前記指定誤差を上回らない前記頂点共有化操作を前記推定誤差の少ない前記頂点ペアから順に実行する頂点共有化操作処理と、をコンピュータに実行させることを特徴とするプログラム。  Degree of simplification when the vertex sharing operation of the mesh is performed in a computer-readable program that causes a computer to execute a process for generating a simplified mesh by reducing the number of elements of the original mesh For each vertex pair, the estimation error is calculated by storing the number of faces to be deleted in the vertex sharing operation in a storage device for each vertex remaining in the vertex sharing operation. Stores the vertex pair cost value calculated by the Quadric Error Metrics method, the sum of squares of the coordinates of the vertices deleted by the vertex sharing operation, and the number of vertices as attributes of the remaining vertices by the vertex sharing operation. The sum of the cost values of the surface calculated as a product of the vector of the plane formula of the surface adjacent to the remaining vertex and the sum of squares is stored in the apparatus, and this sum is obtained. The square root of the value divided by the sum of the number of deleted faces and the number of vertices deleted by the vertex sharing operation is obtained as an average distance between the face of the original mesh and the vertices of the simplified mesh. An estimation process; a determination process for determining whether or not the estimation error exceeds a specified error that is a value specified in advance as a reference value of the estimated error; and based on this determination, the estimated error exceeds the specified error. A program that causes a computer to execute a vertex sharing operation process in which the vertex sharing operation that does not exist is sequentially executed from the vertex pair with the least estimation error. 請求項10のいずれかの一に記載のプログラムを記憶したコンピュータに読取可能な記憶媒体。A computer-readable storage medium storing the program according to any one of claims 6 to 10 .
JP2001283715A 2001-09-18 2001-09-18 Mesh simplification device, program and storage medium Expired - Fee Related JP4480306B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001283715A JP4480306B2 (en) 2001-09-18 2001-09-18 Mesh simplification device, program and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001283715A JP4480306B2 (en) 2001-09-18 2001-09-18 Mesh simplification device, program and storage medium

Publications (2)

Publication Number Publication Date
JP2003091742A JP2003091742A (en) 2003-03-28
JP4480306B2 true JP4480306B2 (en) 2010-06-16

Family

ID=19107165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001283715A Expired - Fee Related JP4480306B2 (en) 2001-09-18 2001-09-18 Mesh simplification device, program and storage medium

Country Status (1)

Country Link
JP (1) JP4480306B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101794537B1 (en) 2011-01-21 2017-11-07 삼성전자주식회사 Data processing apparatus and method
CN117168339A (en) * 2023-08-31 2023-12-05 中国三峡新能源(集团)股份有限公司 Processing methods, systems and media for photovoltaic module deformation fault detection

Also Published As

Publication number Publication date
JP2003091742A (en) 2003-03-28

Similar Documents

Publication Publication Date Title
CN108830931B (en) A laser point cloud reduction method based on dynamic grid k-neighbor search
JP7735518B2 (en) Method and system for generating polygon meshes that approximate surfaces using root finding and iteration on mesh vertex positions - Patents.com
CN111581776B (en) An isogeometric analysis method based on geometric reconstruction model
Gregson et al. All‐hex mesh generation via volumetric polycube deformation
US8711143B2 (en) System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves
US9959670B2 (en) Method for rendering terrain
CN115222879B (en) A model surface reduction processing method, device, electronic equipment and storage medium
CN113781642B (en) Three-dimensional model multi-level LOD generation method based on face reduction algorithm
CN114119837A (en) Geometric processing compression method and device in Revit model lightweight rendering process
EP1688885B1 (en) Method, apparatus, and medium for transforming graphic data of an object
CN102763139B (en) Image display device
CN107945258B (en) Automatic simplified generation method of three-dimensional graph
JP2011033987A (en) Map creating device and map creating method
JP7799478B2 (en) Information processing device, information processing method, and program
JP4480306B2 (en) Mesh simplification device, program and storage medium
US10529444B1 (en) System that rapidly generates a solvent-excluded surface
JP2017168081A (en) Determining the location of 3D objects using descriptors
JP4340397B2 (en) Triangle mesh simplification device and program
CN117315192B (en) Three-dimensional grid model simplification method for Chinese space station
CN114140508B (en) A method, system, device and readable storage medium for generating three-dimensional reconstruction model
CN117593435A (en) Adaptive level-of-detail model construction method and system for 3D end-to-end rendering
CN117808949B (en) Scene rendering method
JP2000251095A (en) Polygon mesh area dividing method and apparatus, and information recording medium
CN114373032B (en) Three-dimensional mesh deformation method based on contour skeleton and related device
CN119048648B (en) Processing method of deformation animation and electronic equipment

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041004

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070320

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100212

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

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees