JP2006309598A - 情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体 - Google Patents

情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体 Download PDF

Info

Publication number
JP2006309598A
JP2006309598A JP2005133223A JP2005133223A JP2006309598A JP 2006309598 A JP2006309598 A JP 2006309598A JP 2005133223 A JP2005133223 A JP 2005133223A JP 2005133223 A JP2005133223 A JP 2005133223A JP 2006309598 A JP2006309598 A JP 2006309598A
Authority
JP
Japan
Prior art keywords
route
path
vertex
initial
approximate solution
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.)
Withdrawn
Application number
JP2005133223A
Other languages
English (en)
Inventor
Masaru Kageura
勝 影浦
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005133223A priority Critical patent/JP2006309598A/ja
Publication of JP2006309598A publication Critical patent/JP2006309598A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 真の沿面経路に収束する範囲の広い、高速な沿面経路探索技術を提供する。
【解決手段】 各面が三角形のパッチで構成された多面体に設定された、始点と終点とを結ぶ沿面経路を探索する情報処理方法であって、前記始点と前記終点とを結ぶ初期経路を設定する設定工程と、前記初期経路に近接すると判断された、前記多面体の頂点のそれぞれについて、当該頂点を共有する前記パッチの展開図を作成し、当該展開図上での最短経路を第1近似解とする頂点探索工程と、前記第1近似解を1以上の単純経路に分解し、当該単純経路のそれぞれについて、当該単純経路が通過する前記パッチの展開図を作成し、当該展開図上での最短経路を第2近似解とする単純経路探索工程と、前記第2近似解が所定の条件を満たすまで、前記第2近似解を前記初期経路に設定して、前記頂点探索工程と、前記単純経路探索工程とを繰り返し実行するように制御する制御工程と、を備える。
【選択図】 図1

Description

本発明は多面体表面の沿面経路を探索する技術に関する。
製品設計などの過程で、製品の形状情報に基づいた処理として、製品表面に沿った二点間の最短距離(沿面距離と呼ぶ)を算出することがしばしば必要となる。そのような処理が必要な具体的な例として、製品の絶縁検証がある。絶縁検証とは製品上の各電気回路間に規格で定められた十分な絶縁距離が確保されているかを検証する作業のことである。このような検証を行うためには製品表面に沿った部品間の最短経路、即ち、沿面経路を算出する必要がある。
多面体上の沿面経路を求めるアルゴリズムは、計算幾何学の分野で数多くの研究がなされている。そのような沿面経路を求めるアルゴリズムには厳密な解を求めるものと近似的な解を高速に求めるものがある。
厳密な解を求めるアルゴリズムは一般に解の算出に時間がかかり、製品組立品等の製品形状の複雑度が高い立体表面に対して適用しても現実的な時間で沿面経路を求めることは難しい。
従来より、現実的な時間で近似解を求める方法として以下の技術が知られている。
非特許文献1には、多面体表面に沿った経路モデルを離散的な重み付きグラフを使って近似的に表現し、その最短経路を求めることにより近似的な沿面経路を求める手法が開示されている。更に、沿面経路の近似解を厳密解に近づけるために、いったん求めた経路の近辺により詳細なグラフを作成し、そのグラフにおける最短経路を求めるという処理を、経路の改善値が所定の閾値以下になるまで繰り返す手法も開示されている。
非特許文献2においても、経路を近似した重み付きグラフの探索により沿面経路の近似解を求め、経路の近似解を厳密解に近づける手法が開示されている。非特許文献2に開示された手法は、経路の精度を向上する手法が非特許文献1に開示された手法と異なる。非特許文献2では、経路が通過する連続した三角形パッチ内の最短経路を求めることにより経路の精度を上げる手法が開示されている。ただし、この文献には、その具体的な手順については開示されていない。
非特許文献3においても、経路を近似した重み付きグラフの探索により沿面経路の近似解を求め、経路の近似解を厳密解に近づける手法が開示されている。非特許文献3では、経路の精度を向上するために、経路と、多面体の稜線又は頂点とが交差する、通過点ごとの局所的な展開面を利用することにより経路の精度を向上する。具体的には、通過点が存在する多面体のパッチを二次元上に展開して、この局所的な展開面上でのショートカット(最短経路)を求め、元の経路の展開面上の部分経路を、ショートカットに置き換えることにより、より短い沿面経路を得る手法が開示されている。この処理を通過点毎に繰り返し行うことにより非特許文献1や非特許文献2の手法では見つけることのできないより厳密解に近い沿面経路の近似値を見つけることができる。
T.Kanai and H. Suzuki, "Approximate shortest path on a polyhederal surface and its application," Computer−Aided Design, vol. 33, pp. 801−811, 2001. M. Lanthier, A. Maheshwari, and J.−R. Sack, "Approximating Weighted Shortest Paths on Polyhedral Surface," presented at Sixth ACM symposium on Computational Geometry, 1997. M.Kageura and K.Shimada," Finding The Shortest Path for Quality Assurance of Electric Components," presented at ASME DETC2002/DAC−34117.
しかしながら従来の手法では、重み付きグラフにおける最短経路が本来の沿面距離と十分近くないとき、精度の高い経路を得にくいという共通の問題があった。
非特許文献1に開示された手法では、経路の改善手法として、既に得られた経路の周囲に詳細な重み付きグラフを作成してその最短経路を得ることにより、より精度の高い経路を求めるというプロセスを繰り返すが、図22、図23のように初期の重み付きグラフを探索して得られた最短経路が本来の沿面経路と大きくはずれている場合、真の沿面経路に収束しない、或いは、精度のよい沿面経路を得られないことがあった。
非特許文献2に開示された手法では、経路の改善手法として、経路が通過する連続した三角形パッチ内の最短経路を求めることにより経路の精度を上げているが、初期の重み付きグラフにおける最短経路が通過する三角形パッチ列を本来の沿面経路が通過しない場合、真の沿面経路に収束しない、或いは、精度のよい沿面経路を得られないことがあった。 非特許文献3に開示された手法では、経路の改善手法として、非特許文献1に開示されたグラフの詳細化による経路の改善手法に加えて、経路と、多面体の稜線又は頂点とが交差する通過点ごとの局所的な展開面を利用することにより経路の精度を上げている。この手法によれば、非特許文献1、非特許文献2に開示された手法に比べて、本来の沿面経路に収束する範囲を広げることができるが、多面体のメッシュ形状によっては収束性が非常に遅くなるという問題があった。また、図23のように、初期の重み付きグラフにおける最短経路が沿面経路から大きく外れている場合は、依然として、真の沿面経路に収束しない、或いは、精度のよい沿面経路を得られないことがあった。
本発明は上記問題に鑑みなされたものであり、真の沿面経路に収束する範囲の広い、高速な沿面経路探索技術を提供することを目的とする。
上記目的を達成するため、本発明による情報処理方法は以下の構成を備える。即ち、
各面が三角形のパッチで構成された多面体に設定された、始点と終点とを結ぶ沿面経路を探索する情報処理方法であって、
前記始点と前記終点とを結ぶ初期経路を設定する設定工程と、
前記始点及び前記終点を除いた、前記初期経路上の、及び、当該初期経路に近接すると判断された、前記多面体の頂点のそれぞれについて、当該頂点を共有する前記パッチの展開図を作成し、当該展開図上での最短経路を探索し、探索して得られた経路を第1近似解とする頂点探索工程と、
前記第1近似解を、前記始点及び前記終点を除いた、前記第1近似解上の前記頂点に基づいて、1以上の単純経路に分解し、当該単純経路のそれぞれについて、当該単純経路が通過する前記パッチの展開図を作成し、当該展開図上での最短経路を探索し、探索して得られた経路を第2近似解とする単純経路探索工程と、
前記第2近似解が所定の条件を満たすまで、前記第2近似解を前記初期経路に設定して、前記頂点探索工程と、前記単純経路探索工程とを繰り返し実行するように制御する制御工程と、を備える。
本発明によれば、真の沿面経路に収束する範囲の広い、高速な沿面経路探索技術を提供することができる。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。本発明の主旨の範囲において適宜、変形組み合わせが可能であることはいうまでもない。
本実施形態では、例えば、図9のような部品等の、多面体の表面を通る最短経路、いわゆる沿面距離を探索する処理について説明する。図9は、多面体の一例として、部品の形状に基づいて作成された多面体を例示的に示した図である。多面体の一例として、部品の形状に基づいて作成された多面体を例示的に示した図である。ここで、各多面体形状は三角形メッシュで表現されている三角形多面体(または三角形メッシュモデル)であるとする。つまり、構成面はすべて三角形パッチであり、各三角形パッチ間の隣接情報や各三角形パッチの頂点の位置情報(座標情報等)は予め情報処理装置に入力されており、所定の記憶手段に記憶されているものとする。各三角形パッチの稜線は二つのパッチにより共有されているので、隣接情報が設定されていれば、稜線を指定することによりその稜線を共有する、互いに隣り合う三角形パッチを同定することができる。また、三角形パッチの頂点も、その頂点を含む三角形パッチ間で共有されている。
一般に構成面(立体の表面)の形状は、平面、円筒面、球面、円錐面、トーラス面、Coons曲面、Bezier曲面、Rational Bezier曲面、B−Spline曲面、NURBS曲面、などの自由曲面等の幾何形状および、その幾何形状が表現する領域のうちどの部分が構成面になっているかを表現するループ情報などの境界情報より表現される。しかし、構成面を、上記のような曲面を含む構成面として表現するよりも、三角形多面体として表現した方が、形状の表現及びそれについての処理の負荷が小さい。このため、本実施形態では、例示的に三角形多面体上の沿面経路を探索する手法について述べる。
ただし、多面体の各構成面は多角形となるが、図10のように多角形は三角形に分割することができるので、各構成面である多角形を分割してすべての構成面を三角形パッチに変換することにより三角形多面体に変換することができる。図10は、多角形を三角形に分割する様子を例示的に示した図である。従って、多面体であればどのような立体形状に対しても本実施形態の手法が適用可能である。また、曲面等を含む構成面からなる立体も、その構成面の形状を多面体に近似した後、三角形多面体に変換することにより、図11のように曲面モデルを三角形多面体に変換することができる。実際、市販の3D CADの多くはVRMLやSTLなどの形式の近似多面体を出力することができる。従って、曲面モデルに対しても本実施形態の手法により近似的な沿面経路を求めることが可能となる。
<情報処理装置の構成>
まず、本実施形態で説明する処理を実行する情報処理装置の構成について説明する。情報処理装置は、例えば、パーソナルコンピュータ(PC)やワークステーション(WS)、携帯情報端末(PDA)等で実現される。
図2は、沿面経路を算出する処理を実行する情報処理装置の構成の一例を示したブロック図である。図2のように、情報処理装置は、装置内のデータ及びネットワーク(不図示)を介して接続されている外部装置(不図示)とのやりとりを行うデータバス1、装置全体の動作を制御し所定の処理を実行するCPU2、処理を行う手順を記述した処理プログラム3aを含む情報を記憶した、読み出し専用メモリとしてのROM3、処理対象のデータ等を一時的に保持し、ワーキングメモリとしての高速な記憶装置であるRAM4(例えば、図形要素を格納する図形要素格納領域4a、図形の属性情報を格納する属性情報領域4b、図形の検索条件を格納する検索条件領域4cを含む)、キーボード、ポインティングデバイス(マウス)等の入力装置6、及び、その入力インタフェース5、CRTや液晶ディスプレイ等の表示装置8aやプリンタ、プロッタ等の記録装置を含む出力装置8bに代表される表示・出力装置8、及び、その出力インタフェース7、処理の対象および結果となるデータを格納、保存するハードディスク等の記憶装置10、及び、その外部記憶装置インタフェース9等を備えている。尚、記憶装置10は、フレキシブルディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等の記憶装置によって構成されてもよい。また、処理プログラム3aは、基本I/Oプログラム等のプログラム等のアプリケーションに依存しない基本的なプログラムとして構成してもよいし、オペレーティングシステムや、或いは、多角形の沿面経路を探索する処理の手続きが記載されたプログラムとしてもよい。
始・終点の設定等、ユーザの必要な指示は、入力装置6を介して行われ、途中の処理状況や最終的な結果の通知・出力は出力装置7を介して行われる。処理上必要なデータは、例えば、ネットワーク上の外部装置からデータバス1を介して、或いは、入力装置6から入力インタフェース5を介して、或いは、記憶装置10から外部記憶装置インターフェース9を介して、RAM4に入力・格納される。CPU1は、ROM3に格納された処理プログラム3aの手順に基づいて、RAM4に格納されたデータを用いて所定の処理を行う。処理の段階に応じて、一時的に必要とされたデータや、出力されたデータは、RAM4や記憶装置10から読み出したり、格納したりする。本実施形態においては、最終的な出力(処理結果)を、データバス1を通じてネットワーク上の外部装置(サーバ)に送出するものとする。
処理対象の三角形多面体などの図形データやその属性データ等、処理をするにあたって必要なデータは、記憶装置10に事前に格納されており、処理を実行する上で必要なときに、CPU1の制御に基づいて、インタフェース9及びバス1を介してRAM4に送出・格納され、CPU1により取り出されて所定の処理に用いられる。本実施形態における沿面経路探索処理の手順を示すプログラムはROM3または記憶装置10に格納されている。以下、記憶装置10に格納されているものとして説明する。
記憶装置10に格納されているプログラムは必要により処理データ同様インタフェース9、データバス1を経由してRAM4に格納され、CPU2が参照して所定の処理が行われる。ROM3に格納されている処理プログラム3aも同様にバス1を通じてCPU2に送出され処理が行われる。上記でも説明したように始・終点の設定や初期パスの数K、閾値など処理をする上でユーザが入力、指示する必要のあるもの(これらについては後述する)は、キーボード、マウス等の入力装置6およびその入力インタフェース5、データバス1を経由してCPU2に供給され、後の処理でも必要なものはRAM4等に保存される。図形データや沿面経路などの結果を示すグラフイックデータは、モニタやプリンタなど表示装置8で表示できるデータにCPU2の制御に基づいて変換、処理され、出力インタフェース7を通り表示装置8に表示される。
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
<沿面経路探索処理の概要>
次に、本実施形態において情報処理装置が実行する、多面体の沿面経路を探索する処理(以下、沿面経路探索処理と呼ぶ)の、概要について説明する。図1は本実施形態における沿面経路探索処理の主要な処理の流れを示したフローチャートである。
図1のように、本実施形態における沿面経路探索処理は、最適化を行うための初期経路を探索する処理(初期経路の探索処理)101と、初期経路を最適化する処理(経路の最適化処理)102とから構成される。初期経路の探索処理101は、物体表面上に重みつきグラフを作成するステップS1と、重みつきグラフの最短経路を取得するステップS2とから構成される。経路の最適化処理102は、各頂点通過点回りの局所的最適化を行うステップS3と、各単純経路での局所的最適化を行うステップS4と、沿面経路の解析を更に継続するか否か判定するステップS5とから構成される。
各ステップの処理の詳細について説明する前に、具体例を挙げて処理の概要を説明する。まず、処理対象の多面体の一例として、立方体について沿面経路探索処理を実行した場合について述べる。図3は、処理対象の多面体の一例である立方体上に重み付きグラフを作成した様子を示した図である。
ステップS1においては、多面体の形状に対応した重み付きグラフを作成する。図3のように、三角形多面体(立方体)の稜線上に内挿点を設定し、この内挿点と各頂点をグラフのノード(節点)とする。内挿点の決定方法は後述するが、図3の例では、各稜線の中点に内挿点を設定している。また、内挿点は、処理の途中で新たに稜線上に定義される場合もあり得る。そして、各ノードを結ぶ線分をアーク(リンク、エッジ、枝)、ノード間の距離、即ち、アークの長さをそのアークの重みとする。グラフのノードには、沿面経路の始点と終点とが含まれるようにする。
次に、ステップS2では、経路探索アルゴリズムを用いて始点と終点を結ぶ経路のうち、重みの合計が最小になる経路を求める。経路探索アルゴリズムはどのようなものを用いてもよい。本実施形態においては、公知のアルゴリズムの何れかを用いるものとする。ステップS2で得られる経路を初期経路と呼ぶ。
次に、ステップS3では、初期経路上が通過する、又は、近辺を通過する各頂点に着目し、その頂点回りの部分経路に対して、現在の部分経路より短い経路(ショートカットと呼ぶ)が存在しないか探索する。具体的には、注目する頂点の周囲における多面体の展開図を求め、その展開図上でショートカットを探索する。ショートカットが存在する場合はその経路を新たな経路とすることで局所的に経路の最適化を行う。この処理により、初期経路が横切る稜線列とは異なる稜線列を横切る経路を得ることができる。
次に、ステップS4では、経路を単純経路に分解して、各単純経路での最適化を図る(単純最短経路を求める)。ここで単純経路とは、(三角形)多面体の頂点を両端とする部分経路である。単純経路は両端点以外は内挿点のみを通過する。また、経路が通過する多面体の頂点を頂点通過点と呼ぶ。両端点以外に頂点通過点を通過し、複数の単純経路に分割可能な経路を複合経路と呼ぶ。複合経路は、頂点通過点と、多面体上の稜線とを通過する。予め定義された内挿点に加えて、経路と稜線とが交わる交点をも内挿点と呼ぶ。経路が通過する稜線上の内挿点を内挿通過点と呼ぶ。
ステップS4において、複合経路を単純経路に分解するときには、複合経路が通過する頂点(頂点通過点)と、稜線との交点である内挿点(内挿通過点)と、の順列である稜線列を求める必要がある。稜線列は、通過点が頂点通過点のときは対応する頂点をそのまま取り出して稜線列に加え、通過点が内挿点のときは直前の通過点がその内挿点と同一の稜線にない場合だけ、その内挿点の存在する稜線上の内挿通過点を稜線列に加えるという手順で求めることができる。
ステップS3,S4の処理の概要について、図4(a)乃至図4(e)を参照して説明する。図4は、ステップS3の処理(各頂点通過点回りの局所的最適化),及び、S4の処理(各単純経路での局所的最適化)によって経路が改善されていく様子を模式的に示した図である。但し、図4の例は、図3に例示した沿面経路探索処理とは関係がない。
図4(a)では、ステップS1及びS2の処理によって取得された、ある重み付きグラフの探索結果の初期経路の例を示している。この経路は、図4に示すように始・終点以外に頂点通過点Y1,Y2および内挿通過点X1〜X7を通る。図4(b)は、図4(a)に例示した初期経路に対して、ステップS3の処理、即ち、頂点回りの経路の局所的改善が行われた結果を示している。図4(b)の例では、Y1、Y2の頂点回りに経路の改善が行われ、Y1がなくなり内挿通過点X8が新たに挿入されている。この例では、Y2の頂点回りにはショートカットが存在しなかったものとする。
図4(c)(d)(e)は、図4(b)の経路に対してステップS4の処理を施すことで、経路が変化していく様子を示している。図4(c)は、図4(b)の複合経路を単純経路に分解した結果を示す。図4(d)は、図4(c)で示された各単純経路E1、E2のそれぞれに対して、最適化処理を行った結果得られた経路(E1’、E2’)を示している。ここでは、各内挿通過点の更新、削除、新たな頂点、内挿通過点の挿入などが行われている。図4(e)は図4(d)で最適化された経路E1’,E2’を統合した結果を示している。
図5は、ステップS3における頂点回りの経路の最適化処理と、ステップS4における単純経路の最適化処理とが、多面体の展開図上でどのように進行していくかを模式的に示した図である。
図5(a)は、ステップS3において実行する、頂点Y回りの局所的な経路の改善の様子を示している。図5(a)のように、頂点回りの三角形パッチの展開図を作成し、始点と終点を結ぶより短い経路(図5(a)の例では、始点と終点を結ぶ線分)を導出している。
図5(b)は、ステップS4において実行する、単純経路が横切る稜線列(単純稜線列と呼ぶ)に沿って通過するパッチ(単純通過パッチ列と呼ぶ)を平面上に展開した展開図を作成し、その展開図上で最短経路を探索する様子を示している。
このように、ステップS3における各頂点通過点回りの局所的最適化処理も、ステップS4における各単純経路での局所的最適化処理も、改善したい経路のある部分経路が通過するパッチの局所的な展開面を作成し、その部分経路の展開面上での最短経路を探索して、求めた展開面上の最短経路を元の多面体上の部分経路として復元するというプロセスを行う。経路の最適化処理102においては、このような処理を繰り返し実行することで経路の最適性を上げていく(より短い経路を求める)ことができる。
詳細は後述するが、ステップS3、S4による経路の最適化はおおむね以上のように進行する。上記のように、本実施形態においては、初期経路を離散的な手法である、重み付きグラフを用いて経路を探索するため、計算時間が短く記憶容量をあまり必要としない。
ステップS5ではステップS3、S4の、沿面経路の解析を更に継続するか否かを判定する。この判定は、例えば、ステップS3,S4で最適化された経路の経路長と、最適化される前の経路長を比較して、改善値が所定の閾値以下であるか否かを判定することにより行う。判定方法としてこのような方法を採用した構成においては、経路長が所定の閾値の場合(ステップS5でYES)は経路を探索するのを終了し、その時点における経路を沿面経路として出力する。改善値が所定の閾値を超えている場合(ステップS5でNO)は、ステップS3に戻り経路の最適化を繰り返す。
<沿面経路探索の例>
次に、上記の沿面経路探索処理を立方体の2頂点間の沿面経路探索に適用した例について図6を参照して説明する。図6(a)乃至図6(c)は、上記手法により立方体上の経路に関して沿面経路を求める例を示した図である。
図6(a)は、ステップS1及びS2の処理により、面上に作成した重み付きグラフを探索して初期経路を得た様子を示している。図のように、始点から、内挿通過点I1、頂点V、内挿通過点I2を通って終点に到達する経路が探索されている。
図6(b)は、ステップS3の処理により、初期経路が通過する頂点Vの回りに形成されている三角パッチT2、T3、T4,T5を展開し、この展開面を利用して内挿通過点I1から終点までの最短経路を探索することによって経路の改善を行っている様子を示している。図6(b)に示した例の場合、三角パッチT2と三角パッチT3とが共有する辺と新たに探索された最短経路とが交差する点に新たな内挿通過点I3が、また、三角パッチT3と三角パッチT4とが共有する辺と新たに探索された最短経路とが交差する点に新たな内挿通過点I4が形成されている。図6(b)に示されるように、新たに探索された最短経路は、新たな内挿通過点I3,I4を通りVを通らない経路として得られている。この例の場合、始点から終点を結ぶ経路が始点や終点を除いて頂点を経路中に含まない、単純経路となっているので経路の分解を更に行う必要はない。
図6(c)は、ステップS4の処理により、ステップS3において新たに探索された経路の横切る単純通過パッチ列T1,T2,T3,T4を平面上に展開して、展開面上でこの単純通過パッチ列の内部を通る最短経路を得て更なる最短経路を得る様子を示している。ここでは、三角パッチT1と三角パッチT2とが共有する辺と更なる最短経路との交差点をI1’、更なる最短経路と三角パッチT2と三角パッチT3とが共有する辺との交点をI3’、三角パッチT3と三角パッチT4とが共有する辺との交点をI4’としている。つまり、内挿通過点I1、I3,I4をそれぞれ更新したI1’,I2’,I3’,I4’を得ている。
本例の場合は図6(c)の実線で示した経路が沿面経路となっている。
上記のように構成したことで、探索の初期経路が横切る稜線列と異なる稜線列を横切る経路に最適化でき、しかも二次元の展開面を基に最適化を行うので安定的に高速な計算が行うことができる。
<初期経路を複数取った構成>
上記の処理では、初期経路として重み付きグラフの最短経路をとっていたが、三角形パッチの形状によっては、真の最短経路(沿面経路)を得られないことがある。図7は、重み付きグラフの最短経路を初期経路とした場合に真の沿面経路が得られない場合を例示した図である。
図7においては、経路Aがグラフにおける最短経路になっているが、この経路を初期経路とすると真の沿面経路を導くことができない(初期経路をBとすると真の沿面経路に収束する)。このような問題は、十分に内挿点を挿入することにより、回避できる可能性があるが、内挿点の増加は必要とする記憶容量および計算時間を著しく増加させてしまうので望ましくない。
本実施形態ではこの問題に対処するために、初期経路として重み付きグラフの経路を短い順に所定の数Kだけとれるようにしている。図8は、このように初期経路を複数とったときの最短経路を求める処理のフローチャートである。
Kは、例えば、入力装置6を介してユーザが指定したり、或いは、多角形の形状等に基づいて情報処理装置が自動的に決定するものとする。
ステップS81では、今までの処理と同様に物体の表面上に経路モデルを近似する重み付きグラフを作成する。次に、ステップS82では、重み付きグラフの経路のうち短い順に所定の数Kだけ探索する。経路探索は、例えば、既存の経路探索アルゴリズムを用いるものとする。探索した経路はRAM4等の記憶装置に一時的に保持する。
次に、ステップS83では探索処理の初期化としてグラフのインデックス番号を示す変数Iを1に初期化する。以下、上記で取り出したK個の重み付きグラフの最短経路それぞれについてステップS84からステップS89までの処理を行い、沿面経路を探索する。なお、変数Iは、RAM4等の記憶装置に一時的に保持する。
ステップS84ではI番目の重み付きグラフに対応する最短経路を最適化の初期経路として取り出す。次に、ステップS85では図1のステップS3−S5と同様の処理でグラフから取り出した経路を初期経路として最適化を図る。この最適化した結果が、1〜(I−1)番目の最短経路を初期経路として得られた、沿面経路の近似解より短い経路であるとステップS86で判断されれば(ステップS86でYES)ステップS87において沿面経路を更新する。即ち、現時点における最良の近似解を、RAM4等の記憶装置に一時的に保持する。沿面経路の近似解が改善されなければ(ステップS86でNO)ステップS88へ進む。
ステップS88では現在の初期経路番号がKであるかどうか判定して、Kであれば(ステップS88でYES)最初に取り出した初期経路すべてに対して探索を行ったことに相当するため処理を終了する。IがK未満ならば(ステップS88でNO)、まだ探索すべき初期経路があるので、ステップS89において初期経路番号Iをインクリメントし、ステップS84に戻る。
このように、K個の各初期経路に対してステップS84からステップS87までの最適化処理を繰り返すことにより、一つの初期経路を最適化するより、より真の沿面経路に近い経路を取得することができる。また、初期経路を複数とることにより、単一の複数経路を最適化するだけでは得られない、より大域的に最適な沿面経路を得ることができる。また、複数の初期経路を重み付きグラフ上の探索結果に基づいて選択することにより、大域的な最適解に収束する可能性の高い複数の経路を効率よく求めることができる。
以上で本実施形態の概要の説明を終わり、図1のステップS1からステップS5の各手順について、より詳細な説明を行う。
<重み付きグラフ作成処理>
最初にステップS1の物体表面上の重み付きグラフ作成処理について説明する。この処理により図3のように物体表面上に物体表面の経路モデルを近似する重み付きグラフを作成する(図3中太い実戦で表された経路)。なお、上記のように物体表面形状は三角形多面体で表現されているものとする。
この重み付きグラフを作成するためにまず物体表面形状の各稜線に内挿点を挿入する。この内挿点および三角形多面体の頂点が重み付きグラフのノードとなる。内挿点は均一なグラフを作成するために各稜線上に一定の間隔になるように配置することが望ましい。例えば内挿点を挿入する稜線の長さをl、内挿点の基準配置間隔をdとすると、
m=ceil(1/d)−1
としたときm個の内挿点を稜線上で等間隔になるように配置する。ただし、ceil(x)はx以上の最小の整数を返す関数である。dは、例えば、入力装置6を介してユーザが指定したり、或いは、多角形の形状、三角形パッチの大きさの全体における大きさに対する比率等に基づいて情報処理装置が自動的に決定するものとする。
グラフのアークは図12のように、三角形多面体を構成する三角形パッチごとに次の規則でノードを結んで作成する。
(1) 同一稜線上の隣り合うノード間にアーク(稜線アークと呼ぶ)を作成する。
(2) 同一稜線上にないノード間にアーク(面上アークと呼ぶ)を作成する。
またアークの重みはアークの端点となるノード間の距離とする。
<グラフの最短経路探索処理>
ステップS1で重み付きグラフが作成されたら、ステップS2で重み付きグラフの最短経路探索を行う。即ち、経路探索アルゴリズムを用いて始点と終点を結ぶ経路のうち、重みの合計が最小になる経路を求める。経路探索アルゴリズムはどのようなものを用いてもよい。本実施形態においては、公知のアルゴリズムの何れかを用いるものとする。
<頂点通過点に着目した局所的最適化処理>
ステップS1、S2で最適化を行うための初期経路が得られたら、次にステップS3、S4でその最適化を行う。
ステップS3では、上述のように経路の各頂点通過点、又は、多面体頂点に近接する内挿通過点において、図5(a)のような頂点回りの多面体の展開面を作ることによりこの展開面内を通過するショートカットを探索して最適化を図る。ここで内挿通過点が頂点に近接しているかどうかの判定は、内挿通過点の存在する稜線の長さをl、内挿通過点と稜線の端点の頂点との距離をd、所定の誤差比率をepsとしたとき、
d/l<eps
なら近接していると判定する。ただし、誤差比率epsは、例えば、入力装置6を介してユーザが指定したり、或いは、予め情報処理装置に設定されているものとする。
頂点通過点だけでなく、頂点に近接する内挿通過点についても、頂点回りの最適化を行う理由は、頂点通過点についてのみ最適化を行ったのでは、ショートカットがあるのに見つけられない場合があるからである。図13は、頂点通過点についてのみ最適化を行ったのでは、ショートカットを発見できない場合を例示的に示した図である。図13では、部分経路が頂点通過点を通過しないため、頂点通過点についてのみ最適化を行ったのでは、ショートカットを発見することができない。
このように構成することで、経路の通過点に近接する多面体の頂点を数値的な誤差を考慮して、多面体の大きさによらず統一的な基準で探索することができ、誤差を考慮しないと見つけられないような頂点回りの経路の改善が行われる、または経路の改善が行われる可能性のある頂点の回りだけで経路の改善を行うため計算の効率がよい。
頂点通過点に着目した局所的最適化処理の詳細について、図14乃至17を参照して説明する。図14は、頂点通過点に着目した局所的最適化処理の流れを示したフローチャートである。図15は、頂点通過点に着目した局所的最適化処理によって展開図上において経路が最適化されていく様子を模式的に示した図である。
まず、ステップS141で着目している頂点を共有している三角形パッチを探索してすべて取り出す(頂点回りのパッチを取得するステップ)。図15(a)は、頂点Vに着目し、頂点V回りの三角パッチT1〜T5を半時計回り順に取得している様子を示している。
次に、ステップS142において、始点と終点とを結ぶ経路(初期経路、又は、それを改善したもの)と、取得したパッチ群の外縁部と、が交差する2点であって、経路上始点に近い方の点を開始点Is、終点に近いほうの点を終了点Itとする。(部分経路の開始・終了通過点を取得するステップ)。図15(a)乃至(d)のように、Is、Itはそれぞれ開始点、終了点となる。
次にステップS143では、図15(b)のように、着目頂点Vと開始点Isとを結ぶ線分(開始線分)から着目頂点Vと終了点Itとを結ぶ方向(終了線分)まで、ステップS141で取り出したパッチ群を、着目頂点Vを中心として、時計回りおよび反時計回りに二次元平面上に放射上に展開し、その展開図上にショートカットが存在するか否かを判定する。
この判定は、図15(b)のように、開始線分から終了線分および、展開方向(時計回り、又は、反時計回り)が与えられたとき、その間にはさまれる稜線をとりだし、開始線分と終了線分とがなす角度、又は、稜線間の角度の総和がπより小さいか否かで判定できる。図15(b)左図のように、上記の角度の総和がπより小さい場合(ステップS143でYES)は、展開面上で上記開始点から終了点までパッチを通過する線分が引けるので、最適化前の線分列より短いショートカットを得ることができる(半時計回り、時計回りに開始点、終了点、着目頂点回りのパッチを振り分けるステップ)。
図15(b)右図のように、角度の総和がπを超える場合(ステップS143でNO)は、パッチ内を通過するショートカットは存在しないので、開始点、着目通過点、終了点を結ぶ線分列が一番短い経路ということになる。但し、図15(b)の場合は、反時計回りに展開した場合にショートカットが存在する。
図16は図15(b)の反時計回りの展開図を、より詳細に説明するための図である。開始線分(内挿点Isと頂点Vとを結ぶ線分)から終了線分(内挿点Itと頂点Vとを結ぶ線分)までの間に挟まれている稜線はE1とE2である。この場合、隣り合う線分または稜線間の角度はそれぞれα1、α2、α3である。従ってその総計であるα=α1+α2+α3がπより小さいか否かでショートカットが存在するか否かを判定できる。ここで注意することはαの値は開始線分、終了線分、及び、その間にはさまれる稜線さえ取り出せれば、3D空間上でも計算できるので、情報処理装置上の演算においては、ショートカットが存在するかどうかの判定には展開面を取り出す必要がないということである。
このようにして各回り向きごとにショートカットが存在するかどうかを判定した結果、反時計回り、時計回りともにショートカットが存在しないと判定された場合(ステップS143でNO)は、ステップS147において、開始通過点、着目通過点、終了通過点を結ぶ線分列を、局所的な最短経路(最適化経路)とする(開始通過点、着目頂点、終了通過点を結ぶ経路を局所最適化経路とするステップ)。そして処理を終了する。
時計回り、又は、反時計回りの何れかにショートカットが存在すると判定された場合(ステップS143でYES)は、ステップS144において、ショートカットが存在すると判定された回り向きごとに図15(b)、図16のような展開図を作成する(ショートカットの存在する回り向きごとに展開図を作成するステップ)。
展開図の作成は、上記の着目通過点を持つ三角形パッチが同一平面上に整列するように、隣り合うパッチの共有稜線を軸としてパッチを回転し、平面上の各頂点の座標を算出する操作を繰り返すことによっても行えるが、この方法では計算コストが高く、展開するときの誤差が集積していくという問題がある。また三次元の座標変換計算が必要なので計算コストも高い。
このため、本実施形態では、上記の開始線分、終了線分およびその間にはさまれる稜線の長さと隣り合う線分または稜線の角度等の、計算コストの低いデータを用いて演算する。例えば、図16のように、開始線分をX軸方向に配置すれば、他の稜線および終了線分は長さと開始線分とのなす角度がすべてわかるので二次元上に容易に配置することができる。
このように構成することで、経路が通過する三角形パッチの局所的な幾何情報のみを使って展開図を得るので、三次元の座標変換等を使う方法に比べ、安定的で精度よく高速に頂点回りの展開図が得ることができる。
次に、ステップS145では、上述したように、展開面で開始点と終了点を結ぶ線分を作ることによりショートカットを作成する(各展開面でショートカットを作成するステップ)。また、このショートカットを経路とするためには、図15(b)の星印の点のように、各稜線との交点を求めて通過点(内挿通過点)を求める必要がある。これも二次元上で簡単に計算することができる。
次に、ステップS146では求めたショートカットの経路を三角形多面体上の経路に復元する(短い方のショートカットを多面体上に復元して局所最適化経路とするステップ)。図17は展開面上の通過点を多面体上に復元する方法を説明する図である。
展開図上の内挿点を三角形多面体上の内挿点に変換する処理は、図17のように、その内挿点を含む稜線の長さ(図17のl)に対する、始点と内挿点との距離(図17のd)をt(=d/l)とすると、
I=V1+t×(V2−V1)
の演算を行うことにより行うことができる。ただし、上の式におけるI、V1、V2は、それぞれ内挿点、稜線の両端点の、位置ベクトルである。図17において、V1とV1’、V2とV2’は多面体上の頂点と対応する展開面上の頂点との組み合わせである。
以上のような、頂点回りの最適化処理を各頂点について実行することにより、低い計算コストで経路を最適化することができる。
また、二次元の展開図を使って頂点回りの経路の最適化を行うため、精度よく、安定的で高速な計算が行うことができる。
<単純経路に着目した局所的最適化処理>
上述のようにステップS4では、経路を単純経路に分解して、各単純経路での最適化を図る(最短単純経路を求める)。概要については上記で説明しているので、ここでは各単純経路の最適化の詳細について図18乃至21を参照して説明する。
図18は、単純経路に着目した局所的最適化処理(単純稜線列の最適化処理)の流れを示したフローチャートである。図19は、単純稜線列の最適化処理によって、展開図上において経路が最適化されていく様子を模式的に示した図である。図20は、単純稜線列に沿った展開面作成の方法を説明する図である。図21は、最短の線分列から最短経路を求める様子を模式的に示した図である。
まず、ステップS191において、着目している単純経路に内挿通過点が含まれるか否かを判定する。単純経路は頂点通過点を開始点、終了点とし、その間に内挿通過点があるという構造をしているが、間に内挿通過点がない場合は、最適化をするまでもなく開始、終了点を結ぶ線分(稜線になっている)が最短である。従って、注目している単純経路に内挿通過点が含まれない場合(ステップS191でNO)は、ステップS196へ進み、この線分を最短経路としてセットして、処理を終了する。このように、経路の通過点情報から稜線列を求めるため、効率的に処理を行うことができる。
ステップS191で通過稜線(内挿通過点)があると判定された場合(ステップS191でYES)は、ステップS192へ進む。ステップS192では、図19(b)のように、この通過稜線にそって経路が通過する通過パッチ(三角形パッチ)を二次元上に展開する。ここで展開の方法は、ステップS145において説明したように、計算コストが高く誤差が集積する、隣り合うパッチの共有稜線を軸として同一平面になるようにパッチを回転していく方法にはよらず、多面体の局所的な幾何データのみを使うことにより展開図を作成することによって行う。
多面体の局所的な幾何データについて、図20を参照して説明する。図20は、展開図を作成するためのデータの、図形的な位置関係を示した図である。
展開図を作成するために用いるデータは、開始点を通る稜線のいずれか(例えば図19(a)のEs)、及び、通過稜線(図19(a)のE1,E2,E3,E4)の、それぞれ、長さ、隣り合う稜線のなす角度、隣り合う稜線がその二つの稜線を持つ三角形パッチでどのような位置関係になっているか等の情報である。即ち、経路の通過する稜線の順番に従って、ある稜線を着目稜線、次の稜線を次着目稜線としたとき、着目稜線、次着目稜線の長さ、着目稜線と次着目稜線のなす角度(図20のθ)、着目稜線と次着目稜線の両方を稜線として持つ着目パッチにおいて、次着目稜線が着目稜線の時計回り側にあるか(図20の左側の図)、反時計回り側にあるかの情報(図20の右側の図)である。これらの情報をRAM4等の記憶手段に一時的に保持する。
これらの情報があれば、例えば最初の稜線(図19(a)のEs)の長さの稜線を二次元のX軸方向に配置することから始めて、展開面上に順番に通過パッチ列を再現していくことができる。通過パッチ列を2次元平面上に展開する処理が終了すると、ステップS193へ進む。
このように、経路が通過する三角形パッチの局所的な幾何情報のみを使って展開図を得るので、三次元の座標変換等を使う方法に比べ、安定的で精度よく高速に単純稜線列が横切る三角形パッチ列の展開図が得ることができる。
ステップS193においては、開始点と終了点を結び通過パッチ列の内部を通る最短線分列を求める。図19(b)の改善後の太い線分が最短線分列になる。比較のため、図19(b)では最適化を行う前の経路の展開図上でのイメージを点線で表示している。ステップS193では、開始点と終了点とを結ぶ線分が三角形パッチ群に含まれる場合は、その線分を最短線分列とし、含まれない場合は、開始点と終了点とを両端に持つ線分列であって、三角形パッチの頂点を結ぶ線分列のうち、最も経路長が短いものを選択する。ただし、線分列を構成する各線分は稜線である必要はない。
次に、ステップS194において、ステップS193で求めた線分列を経路表現に変換する処理を行う。線分列を経路表現するためには、線分列を構成する各線分と交差する稜線との交点を求める。
図21の例では、I1、I2の内挿点を求める処理になる。各線分と交差する稜線は、各線分の開始点を含むパッチのうち最後に展開されるパッチ(図21の例では、Vsを開始点とするとT1、Vmを開始点とするとT6)から、各線分の終点を持つパッチのうち最初に展開されるパッチ(図21においてVmを終点とするとT3、Veを終点とするとT6)を辿っていくときに、線分が通過するパッチ間の共有稜線である。図21の場合、線分列を構成する2つの線分(Vs−Vm、Vm−Ve)のうち、Vsを始点としてVmを終点とする線分Vs−Vmについては、T1からT3を通過する際に2つの共有稜線E1、E2と交差する。Vmを始点としてVeを終点とする線分Vm−Veについては、開始、終了パッチともにT6なので出現する共有線分はなく、従って、交差する稜線は存在しない。
このように、二次元の展開図を使って単純稜線列を横切る最短経路を求めるため、精度よく、安定的で高速な計算が行うことができる。また、上記のように処理を行うことで、通過パッチ列内の2頂点を結ぶ最短線分列が交差する三角形パッチ列の稜線との交点列を、三角形パッチの展開していく順番を利用して効率よく求めることができる。
次に、ステップS195では、頂点回り回りの経路の最適化(頂点通過点に着目した局所的最適化処理)の、ステップS146について説明した方法と同様の方法で、展開面上の最短経路を多面体上に復元する。
以上の処理を、各単純経路毎に実行する。
上記のように構成することで、二次元の展開図上で得られた最短経路の局所的な幾何情報のみをもちいて容易に三次元上の沿面距離が得られるため、三次元の座標変換等を使う方法に比べ、安定的で精度よく高速に計算が行うことができる。
<処理終了の判定処理>
ステップS5においては、ステップS1乃至S4の処理の結果得られた沿面経路の解析値について、さらに処理を継続するか否かを判定する。処理を継続すると判定した場合(ステップS5でNO)はステップS3に戻り、処理を継続すると判定しなかった場合(ステップS5でYES)は解析結果を出力して処理を終了する。
尚、判定は、先に述べたように、例えば、ステップS3,S4で最適化された経路の経路長と、最適化される前の経路長を比較して、改善値が所定の閾値以下であるか否かを判定することにより行う。この場合、所定の閾値は、例えば、入力装置6を介してユーザが指定したり、或いは、多角形の形状等に基づいて情報処理装置が自動的に決定するものとする。
或いは、ステップS3、S4の処理を必ず2回以上行うように構成し、前回の処理の結果得られた沿面経路の解析値の経路長と、今回の処理の結果得られた沿面経路の解析値の経路長とを比較して、経路長の差分や、経路長の変化率等が所定の閾値以下の場合、処理を終了するというような構成にしてもよい。
以上説明したように、本実施形態によれば、離散的な重み付きグラフの最短経路探索により初期経路を求める手法と多面体の展開面を利用した探索手法を組み合わせることにより、全体として計算コストが低く精度の高い沿面経路を求めることができる。
本実施形態における沿面経路探索処理の主要な処理の流れを示したフローチャートである。 沿面経路を算出する処理を実行する情報処理装置の構成の一例を示したブロック図である。 処理対象の多面体の一例である立方体上に重み付きグラフを作成した様子を示した図である。 各頂点通過点回りの局所的最適化,及び、各単純経路での局所的最適化によって経路が改善されていく様子を模式的に示した図である。 頂点回りの経路の最適化処理と、単純経路の最適化処理とが、多面体の展開図上でどのように進行していくかを模式的に示した図である。 沿面経路探索処理により立方体上の経路に関して沿面経路を求める例を示した図である。 重み付きグラフの最短経路を初期経路とした場合に真の沿面経路が得られない場合を例示した図である。 初期経路を複数とったときの最短経路を求める処理のフローチャートである。 多面体の一例として、部品の形状に基づいて作成された多面体を例示的に示した図である。 多角形を三角形に分割する様子を例示的に示した図である。 曲面モデルを三角形多面体に変換する様子を模式的に示した図である。 三角形パッチにおいてノードとアークを設定する様子を模式的に示した図である。 頂点通過点についてのみ最適化を行ったのでは、ショートカットを発見できない場合を例示的に示した図である。 頂点通過点に着目した局所的最適化処理の流れを示したフローチャートである。 頂点通過点に着目した局所的最適化処理によって展開図上において経路が最適化されていく様子を模式的に示した図である。 頂点通過点に着目した局所的最適化処理において作成される、反時計回りの展開図を詳細に説明する図である。 展開面上の通過点を多面体上に復元する方法を説明する図である。 単純経路に着目した局所的最適化処理の流れを示したフローチャートである。 単純稜線列の最適化処理によって、展開図上において経路が最適化されていく様子を模式的に示した図である。 単純稜線列に沿った展開面作成の方法を説明する図である。 最短の線分列から最短経路を求める様子を模式的に示した図である。 初期経路が本来の沿面経路と大きくはずれている場合、精度のよい沿面経路を得られない様子を模式的に示した図である。 初期経路が本来の沿面経路と大きくはずれている場合、精度のよい沿面経路を得られない様子を模式的に示した図である。

Claims (11)

  1. 各面が三角形のパッチで構成された多面体に設定された、始点と終点とを結ぶ沿面経路を探索する情報処理方法であって、
    前記始点と前記終点とを結ぶ初期経路を設定する設定工程と、
    前記始点及び前記終点を除いた、前記初期経路上の、及び、当該初期経路に近接すると判断された、前記多面体の頂点のそれぞれについて、当該頂点を共有する前記パッチの展開図を作成し、当該展開図上での最短経路を探索し、探索して得られた経路を第1近似解とする頂点探索工程と、
    前記第1近似解を、前記始点及び前記終点を除いた、前記第1近似解上の前記頂点に基づいて、1以上の単純経路に分解し、当該単純経路のそれぞれについて、当該単純経路が通過する前記パッチの展開図を作成し、当該展開図上での最短経路を探索し、探索して得られた経路を第2近似解とする単純経路探索工程と、
    前記第2近似解が所定の条件を満たすまで、前記第2近似解を前記初期経路に設定して、前記頂点探索工程と、前記単純経路探索工程とを繰り返し実行するように制御する制御工程と、を備えることを特徴とする情報処理方法。
  2. 前記頂点探索工程において、前記初期経路と前記パッチの稜線との交点と、当該稜線の端点としての前記頂点との距離の、当該稜線の長さに対する割合が所定の値に満たない場合、当該初期経路と当該頂点とは近接すると判断することを特徴とする請求項1に記載の情報処理方法。
  3. 前記頂点探索工程において、前記頂点を共有する前記パッチの展開図上において、
    前記展開図上の外縁部と前記初期経路との2つの交点を両端とする、線分を前記展開図上に作成することが可能な場合は、当該線分に対応する経路を、可能でない場合は、該交点のうち一方と前記頂点とを両端とする線分と、前記頂点と外交点のうち他方とを両端とする線分とから構成される折れ線に対応する経路を、それぞれ前記展開図上の最短経路とすることを特徴とする請求項1又は2に記載の情報処理方法。
  4. 単純経路探索工程において、前記頂点を共有する前記パッチの展開図上において、
    前記展開図上の外縁部と前記第1近似解との2つの交点を両端とする、線分を前記展開図上に作成することが可能な場合は、当該線分に対応する経路を、可能でない場合は、該2つの交点を両端に持つ線分列であって、前記パッチの前記頂点を結ぶ線分列のうち、最も経路長が短いものを、それぞれ前記展開図上の最短経路とすることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理方法。
  5. 前記設定工程は、前記多面体の形状についての形状情報に基づいてノード及びアークから構成されるグラフ構造を生成し、前記始点に対応する該ノードと、前記終点に対応する該ノードと、を最短の距離で結ぶ最短経路を導出する導出工程を更に備え、
    前記初期経路は、導出された前記最短経路として設定されることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理方法。
  6. 前記初期経路は、前記設定工程において複数取得され、
    複数の前記初期経路それぞれについて、前記頂点探索工程及び前記単純経路探索工程を制御工程における制御に基づいて繰り返し実行し、取得された前記第2近似解のうち最良のものを前記沿面経路の第2近似解として取得することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理方法。
  7. 前記形状情報に基づいてノード及びアークから構成されるグラフ構造を生成し、前記始点に対応する該ノードと、前記終点に対応する該ノードと、を結ぶ経路のうち、最短のものから所定数の経路を導出する導出工程を更に備え、
    前記複数の初期経路情報は、導出された前記経路にそれぞれ対応する情報として取得されることを特徴とする請求項6に記載の情報処理方法。
  8. 前記所定の条件は、前記頂点探索工程における前記初期経路と、当該初期経路に基づいて前記頂点探索工程及び前記単純経路探索工程を行った結果得られた前記第2近似解と、を比較して、その改善値が所定に閾値以下である場合に、満たされていると判断することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理方法。
  9. 各面が三角形のパッチで構成された多面体に設定された、始点と終点とを結ぶ沿面経路を探索する情報処理装置であって、
    前記始点と前記終点とを結ぶ初期経路を設定する設定手段と、
    前記始点及び前記終点を除いた、前記初期経路上の、及び、当該初期経路に近接すると判断された、前記多面体の頂点のそれぞれについて、当該頂点を共有する前記パッチの展開図を作成し、当該展開図上での最短経路を探索し、探索して得られた経路を第1近似解とする頂点探索手段と、
    前記第1近似解を、前記始点及び前記終点を除いた、前記第1近似解上の前記頂点に基づいて、1以上の単純経路に分解し、当該単純経路のそれぞれについて、当該単純経路が通過する前記パッチの展開図を作成し、当該展開図上での最短経路を探索し、探索して得られた経路を第2近似解とする単純経路探索手段と、
    前記第2近似解が所定の条件を満たすまで、前記第2近似解を前記初期経路に設定して、前記頂点探索手段における処理と、前記単純経路探索手段における処理とを繰り返し実行するように制御する制御手段と、を備えることを特徴とする情報処理装置。
  10. 請求項1乃至8のいずれか1項に記載の情報処理方法をコンピュータに実行させるためのコンピュータプログラム。
  11. 請求項10に記載のコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体。
JP2005133223A 2005-04-28 2005-04-28 情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体 Withdrawn JP2006309598A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005133223A JP2006309598A (ja) 2005-04-28 2005-04-28 情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005133223A JP2006309598A (ja) 2005-04-28 2005-04-28 情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体

Publications (1)

Publication Number Publication Date
JP2006309598A true JP2006309598A (ja) 2006-11-09

Family

ID=37476395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005133223A Withdrawn JP2006309598A (ja) 2005-04-28 2005-04-28 情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体

Country Status (1)

Country Link
JP (1) JP2006309598A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134948A (ja) * 2006-11-29 2008-06-12 Canon Inc 沿面経路探索装置及び沿面経路探索方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008134948A (ja) * 2006-11-29 2008-06-12 Canon Inc 沿面経路探索装置及び沿面経路探索方法

Similar Documents

Publication Publication Date Title
JP6787661B2 (ja) 工作物の機械加工のシミュレート
US8665267B2 (en) System and method for generating 3D surface patches from unconstrained 3D curves
JP5130350B2 (ja) 3次元モデルの局所的な更新
JP6196032B2 (ja) 複数の3d曲線からの表面の生成
JP6294072B2 (ja) 剛体運動によって変換される幾何学要素
Tierny et al. Interactive quadrangulation with Reeb atlases and connectivity textures
JP2002501640A (ja) プログレッシブメッシュの適応細分方法および装置
US11520944B2 (en) System and method for modeling of parts with lattice structures
Chen Digital Functions and Data Reconstruction
US20190176405A1 (en) Computer aided design with high resolution lattice structures using graphics processing units (gpu)
CN107567641B (zh) 用于识别复制品的系统和方法
JP2006309598A (ja) 情報処理方法、情報処理装置、コンピュータプログラム、記憶媒体
Schmidt et al. Adaptive mesh booleans
Vilgertshofer et al. A graph transformation based method for the semi-automatic generation of parametric models of shield tunnels
JP2010211629A (ja) 情報処理装置及び情報処理方法
JP5372810B2 (ja) メッシュ生成装置、メッシュ生成方法、及びコンピュータプログラム
JP2005293021A (ja) 最大角度法を用いた三角形メッシュ生成方法及びプログラム
JP2022072158A (ja) 情報処理方法及び情報処理装置
JP2008134948A (ja) 沿面経路探索装置及び沿面経路探索方法
Smith et al. Sealing faceted surfaces to achieve watertight CAD models
JP4748770B2 (ja) 近接点算出方法および装置
JP6915237B2 (ja) 情報処理装置、シミュレータ結果表示方法、及びシミュレータ結果表示プログラム
CN111325854A (zh) 形状模型修正装置及形状模型修正方法以及存储介质
JP7338322B2 (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
US11302075B1 (en) Medial surface construction for solid models using tetrahedral meshes

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080701