(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6784785
(24)【登録日】2020年10月27日
(45)【発行日】2020年11月11日
(54)【発明の名称】メッシュ簡略化装置およびメッシュ簡略化用プログラム
(51)【国際特許分類】
G06T 17/20 20060101AFI20201102BHJP
G06F 30/10 20200101ALI20201102BHJP
【FI】
G06T17/20 500
G06F17/50 622C
G06F17/50 626Z
【請求項の数】8
【全頁数】12
(21)【出願番号】特願2019-12782(P2019-12782)
(22)【出願日】2019年1月29日
(65)【公開番号】特開2020-123005(P2020-123005A)
(43)【公開日】2020年8月13日
【審査請求日】2019年8月30日
【新規性喪失の例外の表示】特許法第30条第2項適用 平成30年10月6日ウェブサイト(https://www.researchgate.net/profile/Shoichi_Tsuchie)で公開された刊行物「Engineering with Computers(2018),pp.1−16,”Mesh simplification accompanied by its denoising of scanned data”,in press.」にて公表
【新規性喪失の例外の表示】特許法第30条第2項適用 平成30年10月8日ウェブサイト(https://doi.org/10.1007/s00366−018−0647−x)で公開された刊行物「Engineering with Computers(2018),pp.1−16,”Mesh simplification accompanied by its denoising of scanned data”,in press.」にて公表
【新規性喪失の例外の表示】特許法第30条第2項適用 平成30年10月9日ウェブサイト(https://researchmap.jp/s_tsuchie)で公開された刊行物「Engineering with Computers(2018),pp.1−16,”Mesh simplification accompanied by its denoising of scanned data”,in press.」にて公表
(73)【特許権者】
【識別番号】591030237
【氏名又は名称】日本ユニシス株式会社
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】土江 庄一
【審査官】
浜岸 広明
(56)【参考文献】
【文献】
国際公開第2015/193708(WO,A1)
【文献】
特開2006−72490(JP,A)
【文献】
特開平09−265548(JP,A)
【文献】
特開2007−087163(JP,A)
【文献】
米国特許出願公開第2015/0379769(US,A1)
【文献】
田中修平,ポリゴンモデルの精度保証簡略化,UNISYS TECHNOLOGY REVIEW,日本ユニシス株式会社,2016年 8月31日,Vol.36, No.2,p.1-8,ISSN 0914-9996
【文献】
谷本茂樹,3Dプリンタ造形に必要なポリゴン編集機能,UNISYS TECHNOLOGY REVIEW,日本ユニシス株式会社,2016年 8月31日,Vol.36, No.2,p.51-68,ISSN 0914-9996
【文献】
畠中 耕平,特徴点を合わせるための球面写像を用いた2形状間の写像方法,情報処理学会 研究報告 グラフィクスとCAD(CG) 2013−CG−153 [online],日本,情報処理学会,2013年11月21日,Vol.2013-CG-153 No.25,p.1-5
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 11/00−19/20
G06F 30/10
(57)【特許請求の範囲】
【請求項1】
三角形要素からなるメッシュで表現された形状データを入力する形状データ入力部と、
上記メッシュの三角形要素の一辺である注目エッジについて、当該注目エッジを縮約した場合に三角形要素の裏返りが発生するか否かを判定する裏返り判定部と、
上記裏返り判定部により裏返りが発生すると判定された場合、上記裏返りの発生を回避するための所定の加工を行う回避加工部と、
上記裏返り判定部により裏返りが発生すると判定された場合、上記回避加工部により上記所定の加工が行われた後の状態に対して上記注目エッジの縮約を行う一方、上記裏返り判定部により裏返りが発生しないと判定された場合、上記回避加工部による上記所定の加工が行われていない状態に対して上記注目エッジの縮約を行うエッジ縮約部とを備えたことを特徴とするメッシュ簡略化装置。
【請求項2】
上記裏返り判定部は、上記注目エッジの第1の端点に接続される複数のエッジの他方の端点間を接続するエッジにより形成される図形の内角、および、上記注目エッジの第2の端点に接続される複数のエッジの他方の端点間を接続するエッジにより形成される図形の内角の中に180度以上のものがあるか否かを判定し、180度以上の内角がある場合にメッシュの裏返りが発生すると判定することを特徴とする請求項1に記載のメッシュ簡略化装置。
【請求項3】
上記回避加工部は、上記180度以上の内角を形成している頂点を三角形の平滑化によって移動させて、内角が180度未満となるようにすることを特徴とする請求項2に記載のメッシュ簡略化装置。
【請求項4】
上記回避加工部は、上記180度以上の内角を形成している頂点を含むメッシュ要素のうち、当該内角側にあるメッシュ要素の当該頂点の対辺に相当するエッジを当該頂点に接続するエッジに変えるエッジ交換を行うことにより、上記180度以上の内角が180度未満となるようにすることを特徴とする請求項2に記載のメッシュ簡略化装置。
【請求項5】
上記エッジ縮約部による上記注目エッジの縮約によって発生しうる細長い三角形要素を正三角形に近づけるための平滑化を行う平滑化部を更に備えたことを特徴とする請求項1〜4の何れか1項に記載のメッシュ簡略化装置。
【請求項6】
上記エッジ縮約部は、上記形状データ入力部により入力された形状データに対して、上記注目エッジの近傍エッジが既に縮約済みのエッジの近傍エッジとオーバーラップしないような態様で上記注目エッジを決定して、上記エッジの縮約を順次行うことを特徴とする請求項1〜5の何れか1項に記載のメッシュ簡略化装置。
【請求項7】
上記注目エッジの両端点の価数の合計が所定値を超えるか否かを判定する価数判定部を更に備え、
上記価数判定部により上記価数の合計が所定値を超えないと判定された場合に限り、上記裏返り判定部、上記回避加工部および上記エッジ縮約部の処理を実行することを特徴とする請求項1〜6の何れか1項に記載のメッシュ簡略化装置。
【請求項8】
三角形要素からなるメッシュで表現された形状データを入力する形状データ入力手段、
上記メッシュの三角形要素の一辺である注目エッジについて、当該注目エッジを縮約した場合に三角形要素の裏返りが発生するか否かを判定する裏返り判定手段、
上記裏返り判定手段により裏返りが発生すると判定された場合、上記裏返りの発生を回避するための所定の加工を行う回避加工手段、および
上記裏返り判定手段により裏返りが発生すると判定された場合、上記回避加工手段により上記所定の加工が行われた後の状態に対して上記注目エッジの縮約を行う一方、上記裏返り判定手段により裏返りが発生しないと判定された場合、上記回避加工手段による上記所定の加工が行われていない状態に対して上記注目エッジの縮約を行うエッジ縮約手段
としてコンピュータを機能させることを特徴とするメッシュ簡略化用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッシュ簡略化装置およびメッシュ簡略化用プログラムに関し、特に、微妙な形状変化を表現するために非常に細かいメッシュ要素で構成された形状データに対してメッシュの簡略化を行うための技術に関するものである。
【背景技術】
【0002】
一般に、製品の設計を行う際には、CAD(Computer Aided Design)によって製品の形状データを生成することが行われている。形状データを生成する1つの方法として、モデルとなる物体の測定データからその物体の曲面モデルをCADによって再構築する方法が広く利用されている。例えば、自動車の曲面形状の場合、クレイモデラが粘土ヘラ(カーブ定規)を使って造形したクレイモデルの測定データからCADデータを作成することが行われている。
【0003】
クレイモデルなどの意匠測定データは、デザイナの意図による微妙な形状変化が重要で、その微妙な変化を表現するために非常に細かいピッチで測定される。その結果、膨大な要素数で構成されたメッシュが生成される。ところが、当該メッシュは計算負荷の増大に繋がるため、元データとの差異が許容誤差の範囲内に納まるような適切なデータ加工によって、メッシュの要素数を削減することが求められている。本発明で扱うメッシュ要素は三角形とする。なお、三角形要素からなるメッシュを以降、三角形メッシュという。
【0004】
メッシュの簡略化を行う方法の1つとして、エッジとよばれるメッシュを構成する三角形要素の一辺の縮約(contraction)法が知られている(例えば、特許文献1参照)。特許文献1には、一定の条件を満たす場合にのみ、エッジの両端点をその中点に縮約することが開示されている。すなわち、特許文献1に記載のフィッティング装置では、エッジの両端点がともに特徴境界上になく、かつエッジ自身も特徴境界でない場合に縮約を行う。その結果、加工によって生成されるメッシュが元データのデザイン特徴を極力維持した状態でメッシュの簡略化を行うことができる。
【0005】
しかしながら、単純なエッジ縮約によるメッシュの簡略化では、
図9に示すように、裏返りというトポロジ不正の三角形要素が容易に発生してしまう。
図9(a)は元データとなる三角形メッシュを示している。いま、2つの頂点A,Bを結ぶエッジの縮約として、
図9(b)のように頂点Bを頂点Aに統合する場合と、
図9(c)のように頂点Aを頂点Bに統合する場合の2つを考える。
【0006】
図9(c)の場合にはエッジの交差がみられるが、この交差エッジを含む三角形要素において裏返りが生じている。裏返りを引き起こすエッジ縮約は不正な加工とみなされ、そうしたエッジ縮約によるメッシュの簡略化は認められない。裏返りが発生するか否かを判定し、裏返りが発生する場合にはメッシュの簡略化を行わないようにする技術が知られている(例えば、特許文献2〜5参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2006−277712号公報
【特許文献2】特許第4701119号公報
【特許文献3】特許第4714444号公報
【特許文献4】特開2005−242647号公報
【特許文献5】特開2005−242651号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記特許文献2〜5のように、裏返りが発生する場合にはエッジ縮約によるメッシュの簡略化を行わないとしたならば、入力データ中に当該エッジが多く含まれているほど、メッシュの簡略化が十分に行われないという問題が生じる。
【0009】
本発明は、このような問題を解決するために成されたものであり、エッジ縮約による三角形メッシュの簡略化プロセスにおいて、裏返りというトポロジ不正な要素を発生させることなく、メッシュの要素数を極力削減できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
上記した課題を解決するために、本発明では、メッシュを構成する三角形要素の一辺であるエッジを縮約した場合に三角形要素の裏返りが発生するか否かを判定し、裏返りが発生しないと判定された場合はそのままエッジ縮約を行う一方、裏返りが発生すると判定された場合はその発生を回避するための加工を行った後にエッジ縮約を行うようにしている。
【発明の効果】
【0011】
上記のように構成した本発明によれば、従来では裏返りが発生するとの理由からエッジ縮約が行われなかった場合でも、裏返りの発生を回避するための所定の加工を行った上でエッジ縮約が行われる。これにより、入力メッシュの中に裏返りが発生するようなエッジが多く含まれている場合であっても、裏返りというトポロジ不正な要素を発生させることなく、エッジ縮約によってメッシュの要素数を極力削減することができる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態によるメッシュ簡略化装置の機能構成例を示すブロック図である。
【
図2】本実施形態による裏返り判定部の処理内容を説明するための図である。
【
図3】本実施形態による回避加工部が行う第1の加工方法(平滑化)を説明するための図である。
【
図4】本実施形態による回避加工部が行う第2の加工方法(エッジ交換)を説明するための図である。
【
図5】本実施形態の回避加工部による平滑化によって形成された状態に対して注目エッジの縮約を行った場合の例を示す図である。
【
図6】本実施形態の回避加工部によるエッジ交換によって形成された状態に対して注目エッジの縮約を行った場合の例を示す図である。
【
図7】オーバーラップしないエッジの1近傍単位の処理例を説明するための図である。
【
図8】本実施形態によるメッシュ簡略化装置の動作例を示すフローチャートである。
【
図9】エッジ縮約による三角形要素の裏返りを説明するための図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本実施形態によるメッシュ簡略化装置の機能構成例を示すブロック図である。
図1に示すように、本実施形態のメッシュ簡略化装置は、その機能構成として、形状データ入力部1、裏返り判定部2、回避加工部3、エッジ縮約部4、平滑化部5および価数判定部6を備えている。
【0014】
これらの各機能ブロック1〜6は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック1〜6は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶されたプログラムが動作することによって実現される。
【0015】
形状データ入力部1は、三角形メッシュで表現された形状データを入力する。本実施形態では、クレイモデルなどの形状の測定データとして与えられる三角形メッシュを入力する。メッシュの各三角形要素は、3つの頂点と、それらの頂点間を結ぶ3つのエッジとから成る。頂点およびエッジは、隣接するメッシュ要素間で共有されている。
【0016】
本実施形態のメッシュ簡略化装置では、形状データ入力部1により入力された三角形メッシュを簡略化することにより、元データのデザイン特徴を極力維持した状態で三角形数を削減する。メッシュの簡略化は、エッジの縮約によって行う。特に、本実施形態では、
図9に示したように、2つの頂点A,Bを結ぶエッジを縮約する場合、頂点Bを頂点Aに統合または頂点Aを頂点Bに統合することによって行う。
【0017】
エッジ縮約を連続して実行する場合、縮約の対象とするエッジ(以下、これを注目エッジという)の順番を決める必要がある。本実施形態では、エッジの長さが短い順に縮約を実行する。なお、ある注目エッジの縮約を実行すると、その周辺のエッジの長さが変化するため、注目エッジの順番を合理的に決める必要がある。これについての詳細は後述する。
【0018】
裏返り判定部2は、形状データ入力部1により入力された三角形メッシュのある注目エッジについて、縮約によりメッシュ要素(三角形要素)の裏返りが発生するか否かを判定する。本実施形態では、裏返り判定部2は、注目エッジの第1の端点に接続される複数のエッジの他方の端点間を接続するエッジにより形成される図形の内角、および、注目エッジの第2の端点に接続される複数のエッジの他方の端点間を接続するエッジにより形成される図形の内角の中に180度以上のものがあるか否かを判定し、180度以上の内角がある場合にメッシュの裏返りが発生すると判定する。
【0019】
図2は、裏返り判定部2の処理内容を説明するための図である。
図2(a)は元データとなる三角形メッシュを示している。これは、
図9(a)と同じものである。いま、2つの頂点A,Bを結ぶエッジを注目エッジとし、これを縮約した場合に裏返りが発生するか否かを裏返り判定部2が判定するものとする。
【0020】
まず、裏返り判定部2は、
図2(b)に示すように、注目エッジの第1の端点Aに接続される複数のエッジ(この例では7本のエッジ)の他方の端点a1〜a7の間を接続するエッジにより形成される第1の図形の内角θ
1,θ
2を検出する。また、裏返り判定部2は、
図2(c)に示すように、注目エッジの第2の端点Bに接続される複数のエッジ(この例では5本のエッジ)の他方の端点b1〜b5の間を接続するエッジにより形成される第2の図形の内角θ
3,θ
4を検出する。ここで、4つの内角θ
1〜θ
4は、第1の図形と第2の図形とで共通する頂点の内角である。
【0021】
裏返り判定部2は、これらの内角θ
1〜θ
4の中に180度以上のものがあるか否かを判定し、180度以上の内角がある場合にメッシュの裏返りが発生すると判定する。
図2の例では、内角θ
1が180度以上であるので、頂点Aを頂点Bに統合する縮約では裏返りが発生すると判定する。
【0022】
回避加工部3は、裏返り判定部2によりメッシュ要素の裏返りが発生すると判定された場合、その発生を回避するための所定の加工を行う。加工方法には次の2種類があり,その何れかを適用すればよい。
【0023】
第1の加工方法として、回避加工部3は、180度以上の内角を形成している頂点を移動させて、内角が180度未満となるようにする。頂点の移動には、三角形の平滑化(できるだけ正三角形に近づけるような処理)を適用する。
図3は、この第1の加工方法(平滑化)を説明するための図である。
図3(a)は
図2(a)と同じもので、平滑化前の状態を示し、
図3(b)は平滑化後の状態を示す。180度以上の内角θ
1を形成している頂点a7は頂点a7’に、注目エッジの両端点A,Bは頂点A’,B’に移動している。このような平滑化によって頂点a7’に新たに形成された内角θ
1’は180度以下となる。
【0024】
平滑化の処理方法については公知の技術を適用することが可能である。また、ここでは3つの頂点a7,A,Bを移動させることによってメッシュの平滑化を行う例を示したが、180度以上の内角を形成している頂点a7のみを移動させるようにしてもよい。
【0025】
第2の加工方法として、回避加工部3は、180度以上の内角を形成している頂点を含むメッシュのうち、当該内角側にあるメッシュの当該頂点の対辺に相当するエッジを当該頂点に接続するエッジに変えるエッジ交換を行うことにより、内角が180度未満となるようにする。
図4は、この第2の加工方法(エッジ交換)を説明するための図である。
図4(a)は
図2(a)と同じもので、エッジ交換前の状態を示し、
図4(b)はエッジ交換後の状態を示す。180度以上の内角を形成している頂点a7の対辺に相当するエッジE1は、当該頂点a7に接続するエッジE1’に変更されている。このようなエッジ交換によって頂点a7に新たに形成された内角θ
1’は180度以下となる。
【0026】
このエッジ交換は、頂点a7の対辺に相当するエッジE1を共有する2つのメッシュ要素により形成される四角形の対角線を交換する処理に相当するものである。これについても公知の技術を適用することが可能である。
【0027】
エッジ縮約部4は、裏返り判定部2によりメッシュ要素の裏返りが発生すると判定された場合、回避加工部3により所定の加工が行われた後の状態(
図3(b)または
図4(b)の状態)に対して注目エッジの縮約を行う。一方、エッジ縮約部4は、裏返り判定部2によりメッシュの裏返りが発生しないと判定された場合、回避加工部3による所定の加工が行われていない状態に対して注目エッジの縮約を行う。
【0028】
図5は、回避加工部3による平滑化によって形成された
図3(b)の状態に対して注目エッジの縮約を行った場合の例を示す図である。
図5(a)はエッジ縮約前の状態を示し、
図5(b)はエッジ縮約後の状態を示している。
図5(a)は、
図3(b)と同じものである。
図5(b)に示すように、頂点B’を頂点A’に統合することによってエッジ縮約を行っても、頂点A’を頂点B’に統合することによってエッジ縮約を行っても、メッシュの裏返りは発生しない。
【0029】
図6は、回避加工部3によるエッジ交換によって形成された
図4(b)の状態に対して注目エッジの縮約を行った場合の例を示す図である。
図6(a)はエッジ縮約前の状態を示し、
図6(b)はエッジ縮約後の状態を示している。
図6(a)は、
図4(b)と同じものである。
図6(b)に示すように、頂点Bを頂点Aに統合することによってエッジ縮約を行っても、頂点Aを頂点Bに統合することによってエッジ縮約を行っても、メッシュの裏返りは発生しない。
【0030】
平滑化部5は、エッジ縮約部4による注目エッジの縮約によって発生しうる細長い三角形要素を正三角形に近づけるための平滑化を行う。例えば、
図5(b)の上側のように頂点B’を頂点A’に統合することによってエッジ縮約を行った場合、そのエッジ縮約によって3つのメッシュ要素M1〜M3が変形している。平滑化部5は、この3つのメッシュ要素M1〜M3およびその周辺のメッシュ要素の平滑化を行う。
【0031】
なお、メッシュで表現された形状が曲面である場合(単純な平面形状に限らない場合)に、三角形要素を正三角形に近づけるために行った平滑化後の頂点が、形状データ入力部1により入力された元のメッシュから離れてしまうことを防ぐために、平滑化後の頂点を入力メッシュの最近点に投影するという処理を行うようにしてもよい。
【0032】
以上のような処理により、1つの注目エッジに対する縮約および関連するメッシュ要素の平滑化が終了する。本実施形態では、このような処理を他のエッジに対しても逐次適用して処理する。上述したように、エッジ縮約をどのようなルールで逐次実行すべきかについての戦略が重要である。本実施形態では、2つの方法を取り入れている。1つ目の方法は、エッジの1近傍毎に注目エッジを決定するものである。2つ目の方法は、エッジの両端点の価数を判定して注目エッジを決定するものである。以下、これらについて順に説明する。
【0033】
まず、注目エッジを決定する1つ目の方法を説明する。エッジの1近傍を
図7(a)のように定義する。
図7(a)に示すエッジの1近傍とは、ある1つのエッジEに対して、その両端点の頂点X,Yの何れか一方を頂点の1つとして共有する複数の三角形要素に含まれるエッジ群とする。新たに注目エッジを決定するときは、新たな注目エッジの1近傍が、既にエッジ縮約済みのエッジの1近傍とオーバーラップしないようにする。すなわち、既に縮約済みのエッジの1近傍と新たに選択する注目エッジの1近傍とがオーバーラップしないような態様で、新たな注目エッジを順次決定していく。
【0034】
図7(b)は、オーバーラップしないエッジの1近傍の例を示す。また、
図7(c)は、ある1近傍の範囲に含まれる注目エッジを縮約した後の状態を示す。入力メッシュの全域に渡ってエッジ縮約の処理が行われると、1近傍がオーバーラップしない新たな注目エッジを選択できなくなるが、その場合は、エッジ縮約済みという情報を一旦クリアして、エッジ縮約を繰り返す。
【0035】
このように、オーバーラップしない1近傍毎にエッジ縮約処理を行うことにより、エッジ縮約が同位置周辺に集中してしまわないようにすることができる。なお、ここではエッジの1近傍を例示したが、エッジの近傍をどのように設定するかについては任意に設計することが可能である。
【0036】
次に、注目エッジを決定する2つ目の方法を説明する。エッジ縮約を行うと、関連した周囲のエッジの長さが変わるだけでなく、縮約後の頂点の価数も変化する。価数とは、頂点に接続するエッジの数である。例えば、
図9(a)に対して、
図9(b)のエッジ縮約を行ったとする。この場合、頂点Aの価数は、縮約前は“7”であったのに対し、縮約後は“8”となっている。
【0037】
大きな価数を両端点にもつエッジの縮約を行うと、縮約後の頂点の価数はさらに大きくなり、その頂点に接続するメッシュ要素は極端に細長い形状の三角形となってしまう。平滑化によって三角形メッシュの各要素の形状をできるだけ正三角形に近づけようとする場合、価数は“6”またはそれにできるだけ近い数値であることが望ましい。本実施形態では、極端に細長い三角形をできるだけ含まないメッシュを生成できるように、価数を判定して注目エッジの決定を行うようにしている。
【0038】
価数判定部6は、注目エッジの両端点の価数の合計が所定値を超えるか否かを判定する。例えば、
図2(a)に示すメッシュに対して、2つの頂点A,Bを結ぶエッジを縮約するか否かを判定することを考える。この場合、頂点Aの価数は“7”、頂点Bの価数は“5”であるから、価数の合計は“12”である。価数判定部6は、この価数の合計が所定値Vsum(例えば、Vsum=12)を超えるか否かを判定する。そして、価数判定部6により価数の合計が所定値Vsumを超えないと判定された場合に限り、裏返り判定部2、回避加工部3およびエッジ縮約部4の処理を実行する。
【0039】
図8は、上記のように構成した本実施形態によるメッシュ簡略化装置の動作例を示すフローチャートである。まず、形状データ入力部1ではモデルの形状データとなる三角形メッシュを入力する(ステップS1)。次いで、メッシュ簡略化装置は、入力された三角形メッシュを構成する複数のエッジの中から注目エッジを順序付けして特定する(ステップS2)。
【0040】
このステップS2において、メッシュ簡略化装置は、形状データ入力部1により入力された三角形メッシュの各エッジについて、長さが短い順にソートしたリストを作成し、各エッジに対して未処理フラグを立てる。そして、リストの先頭から順番に注目エッジを特定していく。特定した注目エッジとその1近傍のエッジに未処理フラグが立っていれば、ステップS3以降の処理を実行し、処理した注目エッジおよび1近傍のエッジに処理済フラグを立てる。一方、特定した注目エッジまたはその1近傍のエッジの何れかに処理済フラグが立っていれば、1近傍以外にある別のエッジを注目エッジとして特定する。
【0041】
価数判定部6は、以上のようにして特定された1つの注目エッジの両端点の価数の合計が所定値Vsumを超えるか否かを判定する(ステップS3)。価数の合計が所定値Vsumを超える場合、処理はステップS8に遷移する。
【0042】
一方、価数判定部6により、当該注目エッジの両端点の価数の合計が所定値Vsumを超えないと判定された場合、裏返り判定部2は、ステップS2で特定された注目エッジを縮約した場合にメッシュ要素の裏返りが発生するか否かを判定する(ステップS4)。ここで、裏返りが発生すると判定された場合、回避加工部3は、注目エッジの周辺に存在するメッシュ要素に対して、裏返りの発生を回避するための所定の加工(平滑化またはエッジ交換)を行う(ステップS5)。そして、エッジ縮約部4は、回避加工部3により所定の加工が行われた後の状態に対して注目エッジの縮約を行う(ステップS6)。
【0043】
一方、ステップS4において、裏返り判定部2により裏返りが発生しないと判定された場合、ステップS5を飛ばしてステップS6に遷移する。この場合、エッジ縮約部4は、回避加工部3による所定の加工が行われていない状態に対して注目エッジの縮約を行う。その後、平滑化部5は、エッジ縮約部4による注目エッジの縮約によって発生しうる細長い三角形要素を正三角形に近づけるための平滑化を行う(ステップS7)。
【0044】
以上の処理によって1つの注目エッジに対する処理が終わった後、メッシュ簡略化装置は、所定の終了条件を満たすか否かを判定する(ステップS8)。例えば、簡略化できた割合(当初のメッシュ要素数に対する簡略化後のメッシュ要素数の割合など)が所定値に達した場合に終了条件を満たすと判定することが可能である。あるいは、エッジ縮約を所定回数実行した場合に終了条件を満たすと判定するようにしてもよい。終了条件を満たしていない場合、処理はステップS2に戻る。なお、ステップS2〜S7の処理を繰返し実行すると、未処理フラグの立ったエッジが無くなり、縮約処理ができない状態(
図7(c)のような状態)となる。この場合は、
図7(c)に示すように縮約処理された後のメッシュを入力メッシュと見立てて処理済みフラグを未処理フラグに変更し、ステップS2からの処理を継続する。一方、終了条件を満たした場合、
図8に示すフローチャートの処理は終了する。
【0045】
以上詳しく説明したように、本実施形態では、モデルの形状データを表現する三角形メッシュに対して、注目エッジを縮約した場合にメッシュ要素の裏返りが発生するか否かを判定し、裏返りが発生しないと判定された場合はそのまま注目エッジの縮約を行う一方、裏返りが発生すると判定された場合は、注目エッジの周辺の三角形要素に対して裏返りの発生を回避するための所定の加工を行った上で注目エッジの縮約を行うようにしている。
【0046】
このように構成した本実施形態によれば、エッジを縮約するとメッシュ要素の裏返りが発生すると判定された場合でも、そのエッジに関して単純に縮約を行わないようにするのではなく、裏返りの発生を回避するための所定の加工を行った上でエッジの縮約が行われる。これにより、メッシュを構成する三角形要素数を極力低減すること、すなわちメッシュを簡略化することができる。
【0047】
なお、上記実施形態では、裏返りの発生を回避するための所定の加工として、平滑化またはエッジ交換の何れか一方を行うものとして説明したが、両方を行うようにしてもよい。例えば、メッシュ簡略化の割合に関する第1の終了条件を満たすまでは、裏返りが発生する注目エッジに関連して平滑化を実行し、その後、メッシュ簡略化の割合に関する第2の終了条件を満たすまで、裏返りが発生する注目エッジに関連してエッジ交換を実行するようにすることが可能である。これらは順番を逆としてもよい。
【0048】
また、上記実施形態では、エッジ縮約部4によるエッジ縮約の後に平滑化部5によるメッシュの平滑化を行う例について説明したが、本発明はこれに限定されない。例えば、エッジ縮約後におけるメッシュの平滑化に加えて、形状データ入力部1により形状データを入力した直後にもメッシュの平滑化を行うようにしてもよい。このようにすれば、回避加工部3による裏返り回避加工の中での平滑化を省くことが可能となる。
【0049】
また、上記実施形態では、2つの頂点A,Bを結ぶエッジを縮約する場合、頂点Bを頂点Aに統合または頂点Aを頂点Bに統合するようにしたが、本発明はこれに限定されない。例えば、2つの頂点A,Bをその中点に縮約するようにしてもよい。エッジの中点に対する縮約は、ラプラシアン平滑化に相当するメッシュの簡略化と考えられ、当該縮約を繰り返しながら簡略化を行うことにより、同時にメッシュのノイズも平滑化される。
【0050】
また、上記実施形態では、価数の判定により注目エッジを縮約するか否かを決定する例について説明したが、これに加えて、他の条件に基づいて注目エッジを縮約するか否かを決定するようにしてもよい。例えば、注目エッジがモデルの形状の特徴部(稜線や境界線など)に相当するか否かを判定し、特徴部に相当するエッジについては縮約を行わないようにしてもよい。また、エッジ縮約を行う前と行った後の形状変化の大きさを検出し、その大きさが所定値を超える場合には縮約を行わないようにしてもよい。
【0051】
特に、メッシュで表現された形状が曲面である場合は、価数が“6”であることが、三角形要素の形状が正三角形に近づくための理想条件であるとは必ずしも言い切れない。この場合、縮約の対象とするエッジを特徴部に属さないものに限定することが有効である。特徴部でない部分の形状は、比較的単純で曲率変化も緩やかであるため、価数については平面の場合と同様の考え方を適用することができるからである。
【0052】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0053】
1 形状データ入力部
2 裏返り判定部
3 回避加工部
4 エッジ縮約部
5 平滑化部
6 価数判定部