説明

抽象化プログラム、情報処理装置および抽象化方法

【課題】全体と特徴との双方を確認することが可能な図形を得ること。
【解決手段】抽象化プログラムは、図形の抽象化を行う抽象化プログラムある。かかる抽象化プログラムは、図形の特徴点を抽出し、図形が抽象化される座標系における座標軸方向に特徴点で図形を含む領域を分割する処理を情報処理装置10に実行させる。また、抽象化プログラムは、分割した抽象化前の領域の数、および特徴点の間隔に基づき、抽象化後の領域の大きさを算出する処理を情報処理装置10に実行させる。また、抽象化プログラムは、抽象化後の領域の大きさに基づき、抽象化後の領域を図形に割り当て、図形を抽象化後の領域に合わせてサイズを変更する処理を情報処理装置10に実行させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、抽象化プログラム、情報処理装置および抽象化方法に関する。
【背景技術】
【0002】
従来、人間や動物などの生き物や、自動車、飛行機などの人工物のように、様々な曲面が、複雑に組み合わされたような形状データを効果的に圧縮する技術が知られている。
【0003】
また、3次元Computer Aided Design(CAD)において、次のような技術が知られている。すなわち、直交座標系の所定の面に、スケールが等倍の曲管のモデル、若しくはスケールが拡大または縮小された曲管のモデルを投影することにより、管一品図の作図エリアに投影図(投影図形)を作成する技術が知られている。なお、曲管とは、曲りがある配管のことを指す。また、管一品図とは、配管を曲げ加工するための図面のことを指す。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−97645号公報
【特許文献2】特開平10−334217号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の従来の技術では、特徴部分が小さいにもかかわらず、全体が大きな曲管のモデルを作成した場合には、投影図から、全体と特徴との双方を容易に確認することができないという問題がある。
【0006】
上記の問題について説明する。図20、図21、図22は従来の技術の問題点を説明するための図である。図20には、曲管のモデルの一例である曲管モデル91が示されている。図21には、管一品図の作図エリア90に、スケールが拡大された曲管モデル91の投影図が作成された場合の一例が示されている。図21の例では、スケールが拡大されたため、特徴部分である曲げ部分92については、ユーザは、確認することができる。しかしながら、図21の例では、スケールが拡大されたため、曲管モデル91の一部分93は、作図エリア90からはみ出す。このため、ユーザは、曲管のモデル91全体を確認することができない。
【0007】
一方、図22には、作図エリア90に、スケールが縮小された曲管モデル91の投影図が作成された場合の一例が示されている。図22の例では、スケールが縮小されているため、作図エリア90内に曲管モデル91全体が収まる。このため、ユーザは、曲管モデル91全体を確認することができる。しかしながら、図22の例では、スケールが縮小されたため、曲げ部分92については、特徴部分であるにもかかわらず、表示が小さい。このため、図22の例では、ユーザは、この曲げ部分92を確認し難い。
【0008】
このようなことから、ユーザによる曲管全体の確認のし易さと、ユーザによる曲管の特徴部分の確認のし易さとは、互いにトレードオフの関係にあるといえる。特に、曲管全体に比べて、特徴部分が小さい場合には、単にスケール変換しただけでは、ユーザは、全体と特徴との双方を確認することができない。
【0009】
開示の技術は、上記に鑑みてなされたものであって、全体と特徴との双方を確認することが可能な図形を得ることができる抽象化プログラム、情報処理装置および抽象化方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
本願の開示する抽象化プログラムは、一つの態様において、図形の抽象化を行う抽象化プログラムである。かかる抽象化プログラムは、前記図形の特徴点を抽出し、前記図形が抽象化される座標系における座標軸方向に前記特徴点で前記図形を含む領域を分割する処理を情報処理装置に実行させる。また、本願の開示する抽象化プログラムは、前記分割した抽象化前の領域の数、および前記特徴点の間隔に基づき、抽象化後の領域の大きさを算出する処理を情報処理装置に実行させる。また、本願の開示する抽象化プログラムは、前記抽象化後の領域の大きさに基づき、前記抽象化後の領域を前記図形に割り当て、前記図形を前記抽象化後の領域に合わせてサイズを変更する処理を情報処理装置に実行させる。
【発明の効果】
【0011】
本願の開示する抽象化プログラムの一つの態様によれば、全体と特徴との双方を確認することが可能な図形を得ることができる。
【図面の簡単な説明】
【0012】
【図1】図1は、実施例1に係る情報処理装置の構成を示す図である。
【図2】図2は、曲管モデルの一例を示す図である。
【図3】図3は、中心線の一例を説明するための図である。
【図4】図4は、曲管モデルが示す曲管の曲げ部分の中心線の一例を説明するための図である。
【図5】図5は、実施例1に係る投影部の処理を説明するための図である。
【図6】図6は、実施例1に係る投影部の処理を説明するための図である。
【図7】図7は、実施例1に係る投影部の処理を説明するための図である。
【図8】図8は、作図エリアのグリッド数の一例を示す図である。
【図9】図9は、投影図作成対象として決定されたXZ平面上の投影図の一例を示す図である。
【図10】図10は、図9の例での分割数を説明するための図である。
【図11】図11は、実施例1に係る割当部による割り当ての一例を説明するための図である。
【図12】図12は、実施例1に係る割当部による分割数n=1の場合の割り当ての一例を説明するための図である。
【図13】図13は、実施例1に係る変更部による処理の一例を説明するための図である。
【図14】図14は、実施例1に係る変更部による処理の一例を説明するための図である。
【図15】図15は、実施例1に係る変更部による処理の一例を説明するための図である。
【図16】図16は、実際の寸法が付加された図形の一例を示す図である。
【図17】図17は、実施例1に係る抽象化処理の手順を示すフローチャートである。
【図18】図18は、実施例1に係る抽象化処理の手順を示すフローチャートである。
【図19】図19は、抽象化プログラムを実行するコンピュータを示す図である。
【図20】図20は、従来の技術の問題点を説明するための図である。
【図21】図21は、従来の技術の問題点を説明するための図である。
【図22】図22は、従来の技術の問題点を説明するための図である。
【発明を実施するための形態】
【0013】
以下に、本願の開示する抽象化プログラム、情報処理装置および抽象化方法の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。
【実施例1】
【0014】
[情報処理装置の構成]
図1は、実施例1に係る情報処理装置の構成を示す図である。本実施例に係る情報処理装置10は、表示させる曲管モデルを中心線で表すことで曲管モデルを抽象化する。また、本実施例に係る情報処理装置10は、曲管モデルの特徴部分である曲げ部分が所定の投影面に投影された場合に、目立たなくなることを抑制するものである。
【0015】
図1に示すように、情報処理装置10は、入力部11と、表示部12と、記憶部13と、制御部14とを有する。
【0016】
入力部11は、各種情報を制御部14に入力する。例えば、入力部11は、ユーザから、後述の抽象化処理を実行する指示を受け付けて、受け付けた指示を制御部14に入力する。入力部11は、マウスやキーボードなどの操作受付デバイスである。
【0017】
表示部12は、各種の情報を表示する。例えば、表示部12は、後述の変更部14gの制御により、作図エリアに作成された曲管の図面を表示する。表示部12のデバイスの一例としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などの表示デバイスが挙げられる。
【0018】
記憶部13は、各種情報を記憶する。例えば、記憶部13は、曲管のモデルである曲管モデル13aを記憶する。図2は、曲管モデルの一例を示す図である。図2に示すように、曲管モデル13aが示す曲管は、曲げ部分17がある配管である。
【0019】
記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部13は、上記の種類の記憶装置に限定されるものではなく、RAM(Random Access Memory)、ROM(Read Only Memory)であってもよい。
【0020】
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部14は、図1に示すように、取得部14aと、抽出部14bと、投影部14cと、分割部14dと、算出部14eと、割当部14fと、変更部14gとを有する。
【0021】
取得部14aは、各種情報を取得する。例えば、取得部14aは、記憶部13から曲管モデル13aを取得する。
【0022】
抽出部14bは、各種情報を抽出する。例えば、抽出部14bは、曲管モデル13aに含まれる曲管の中心線を抽出する。図3は、中心線の一例を説明するための図である。図3の例では、曲管モデル13aが示す曲管の中心線20が示されている。本実施例では、中心線20を用いて、曲管モデル13aが示す曲管を抽象化する。これにより、曲管の外形を投影する場合と比較して、ユーザにとって曲管の経路を把握しやすくなる図形を提供することが可能となる。
【0023】
ここで、特徴部分である曲げ部分の中心線の一例について説明する。図4は、曲管モデルが示す曲管の曲げ部分の中心線の一例を説明するための図である。図4の例では、曲管は、曲げ部分17a、17bを有する。また、図4の例では、曲げ部分17aは、2つの円筒形状18a、18bに接続されている。また、図4の例では、曲げ部分17bは、2つの円筒形状18b、18cに接続されている。
【0024】
図4の例では、抽出部14bは、曲げ部分17aに接続された2つの直線部分である2つの円筒形状18a、18bの中心線を曲げ部分17aの方向に伸ばし交差位置で接続することにより、曲げ部分17aを抽象化する。また、図4の例では、抽出部14bは、曲げ部分17bに接続された2つの直線部分である2つの円筒形状18b、18cの中心線を曲げ部分17bの方向に伸ばし交差位置で接続することにより、曲げ部分17bを抽象化する。なお、曲げ部分の角度が180度以上の場合には、抽出部14bは、曲げ部分を、複数の円筒形状が接続された部分とみなし、各円筒形状の中心線を交差位置で接続することで、曲げ部分を抽象化することができる。
【0025】
また、抽出部14bは、曲げ部分を示す点および投影図の端部を示す点である特徴点を抽出する。ここで、特徴点について説明する。図4の例では、曲げ部分17aの方向に伸びた二つの中心線の交点17cを、特徴点として抽出する。また、図4の例では、抽出部14bは、曲げ部分17bの方向に伸びた二つの中心線の交点17dを、特徴点として抽出する。また、抽出部14bは、投影図の端部を示す点を、特徴点として抽出する。
【0026】
投影部14cは、中心線を直交座標計の各面に投影し、投影した結果から、作図エリアに作成する投影図の投影対象の面を決定する。図5〜図7を参照して、投影部14cの処理の一例について説明する。図5〜図7は、実施例1に係る投影部の処理を説明するための図である。図5に示すように、投影部14cは、曲管モデル13aが示す曲管の中心線20を、直交座標計のXZ平面、YZ平面、XY平面に投影する。図6には、投影部14cによる各面の投影結果が示されている。図6の例では、XZ平面に投影された中心線20の投影図20xzが示されている。また、図6の例では、YZ平面に投影された中心線20の投影図20yzが示されている。また、図6の例では、XY平面に投影された中心線20の投影図20xyが示されている。
【0027】
そして、投影部14cは、複数の投影図の各々を含む各平面の中から、図形の長さが最も長い投影図を含む平面を、基準面として選択する。例えば、投影部14cは、ある投影図を含む平面について、その平面上の二つの座標軸の方向のそれぞれについて、投影図が示す図形の長さを算出する。そして、投影部14cは、二つの座標軸の方向のそれぞれについて算出した図形の長さのうち、長いほうの長さを、当該投影図の図形の長さとして決定する。このような処理を、投影部14cは、全ての平面について行う。このようにして、投影部14cは、全ての平面について、投影図の図形の長さを算出する。
【0028】
そして、投影部14cは、複数の平面の中から、図形の長さが最も長い投影図を含む平面を、基準面として選択する。ここで、図形の長さが最も長い投影図を含む平面が複数存在する場合には、投影部14cは、図形の長さが最も長い投影図を含む平面の中から、曲げ部分を有する投影図を含む平面を、基準面として選択する。また、曲げ部分を有する投影図を含む平面が複数存在する場合には、投影部14cは、曲げ部分を有する投影図の平面の中から、曲げ部分の数が最も多い平面を、基準面として選択する。なお、基準面は、正面とも称される。
【0029】
図6の例では、投影部14cは、まず、投影図20xz、20yz、20xyのそれぞれを含む平面の中から、図形の長さが最も長い投影図20xz、20xyを含む各平面を選択する。そして、図6の例では、投影部14cは、投影図20xz、20xyの中から、曲げ部分21a、21bを有する投影図20xzを含むXZ平面を、基準面として選択する。
【0030】
また、投影部14cは、特徴部分である曲げ部分を有する投影図を含む全ての平面を、投影図作成対象の平面として決定する。
【0031】
図6の例では、投影部14cは、投影図20xz、20yz、20xyの平面の中から、曲げ部分21a、21bを有する投影図20xzを含むXZ平面を、投影図作成対象の平面として決定する。
【0032】
投影部14cが投影図作成対象の平面を決定する場合の他の例について説明する。図7は、投影部14cが投影図作成対象の平面を決定する場合の他の例を説明するための図である。図7の例では、XZ平面に投影された中心線の投影図22xzが示されている。また、図7の例では、YZ平面に投影された中心線の投影図22yzが示されている。また、図7の例では、XY平面に投影された中心線の投影図22xyが示されている。また、図7の例では、投影図22xzは、曲げ部分23aを有する。また、図7の例では、投影図22yzは、曲げ部分23bを有する。また、図7の例では、投影図22xyは、曲げ部分23cを有する。それゆえ、図7の例では、投影部14cは、投影図21xz、21yz、21xyのそれぞれを含むXZ平面、YZ平面、XY平面を、投影図作成対象の平面として決定する。
【0033】
分割部14dは、特徴点で、投影図を含む領域を分割する。例えば、分割部14dは、投影部14cで投影図作成対象として決定された平面の各々で、下記の処理を行う。すなわち、分割部14dは、平面上の二つの座標軸に、特徴点を投影する。そして、分割部14dは、各座標軸に投影された特徴点の個数の計数を行う。そして、分割部14dは、各座標軸の方向の分割数nを、[各座標軸に投影された特徴点の個数−1]とする。そして、分割部14dは、各座標軸の方向の分割数nで、投影図を含む領域を特徴点で分割する。
【0034】
算出部14eは、各座標軸ごとに、各領域に割り当てる値を算出する。例えば、算出部14eは、投影対象先である作図エリアの各座標X軸、Y軸、Z軸ごとのグリッド数x、y、zを取得する。かかる取得方法としては、例えば、算出部14eは、管一品図を作成するためのアプリケーションに問い合わせることでグリッド数を取得してもよいし、予め記憶手段13の所定の領域に記憶されたグリッド数を読み出すようにしてもよい。なお、グリッド数は、方眼数とも称される。そして、算出部14eは、平面上の各座標軸ごとに、以下の式(1)により、値Dを算出する。
【数1】

ただし、Vは、各座標軸のグリッド数であり、nは、各座標軸方向の分割数である。
【0035】
この各座標軸ごとの値Dは、分割領域の最小幅となる。なお、値Dについては、小数点以下の値は切り捨てることとする。
【0036】
図8〜図10を参照して具体例を挙げて説明する。図8は、作図エリアのグリッド数の一例を示す図である。図8の例では、XZ平面において、X軸のグリッド数xが「12」であり、Z軸のグリッド数zが「10」である。図8の例では、算出部14eは、X軸のグリッド数xを「12」、Z軸のグリッド数zを「10」として取得する。図9は、投影図作成対象として決定されたXZ平面上の投影図の一例を示す図である。図9に示すように、XZ平面は、抽出部14bによって抽出された4つの特徴点30a〜30dを有する投影図30を含む。図9の例では、分割部14dは、X軸に投影された特徴点の個数、およびZ軸に投影された特徴点の個数の計数を行い、X軸に投影された特徴点の個数「4」、およびZ軸に投影された特徴点の個数「2」を得る。
【0037】
図10は、図9の例での分割数を説明するための図である。図9の例では、分割部14dは、X軸方向の分割数を「3(4−1)」とし、Z軸方向の分割数を「1(2−1)」とする。この場合、図10に示すように、X軸方向の投影図30を含む領域の分割数は、「3」となり、Z軸方向の投影図30を含む領域の分割数は、「1」となる。
【0038】
図8〜図10の例では、算出部14eは、XZ平面について、上記の式(1)により、X軸についての値「(12−(1+2))÷3=4」を算出する。また、算出部14eは、XZ平面について、Z軸についての値「(10−(1))÷1=9」を算出する。
【0039】
割当部14fは、各座標軸ごとに、分割された領域の座標軸方向の幅に応じて、抽象化後の投影図の各領域の作図エリア上の幅を割り当てる。例えば、割当部14fは、分割されたn個の領域のうち、座標軸方向の幅がk番目に狭い幅の領域については、上記の分割領域の最小幅Dに「k−1」を加えた値(大きさ)を割り当てる。
【0040】
図11は、実施例1に係る割当部による割り当ての一例を説明するための図である。図11の例では、X軸方向に、投影図30を含む領域が3分割されている。図11の例では、割当部14fは、3分割された3つの領域のうち、X軸方向の幅が最も狭い幅40の領域については、上記の図10の例で得た分割領域の最小幅「3」を割り当てる。また、図11の例では、割当部14fは、3つの領域のうち、X軸方向の幅が2番目に狭い幅41の領域については、上記の図10の例で得た分割領域の最小幅「3」に「1」を加えた値「4」を割り当てる。また、図11の例では、割当部14fは、3つの領域のうち、X軸方向の幅が3番目に狭い幅42の領域については、上記の図10の例で得た分割領域の最小幅「3」に「2」を加えた値「5」を割り当てる。
【0041】
このように、割当部14fは、各座標軸ごとに同様の処理を行って、値を各領域に割り当てる。ただし、分割数n=1の場合には、割当部14fは、上記の処理は行わずに、次のような処理を行うようにしてもよい。例えば、割当部14fは、曲げ部分において、実際の投影図の座標の比率と同一の比率となるように、分割数n=1に対応する座標軸方向の領域の大きさを割り当てるようにしてもよい。
【0042】
図12は、実施例1に係る割当部による分割数n=1の場合の割り当ての一例を説明するための図である。図12の例では、投影図30の曲げ部分の実際の比率が、X軸方向X´:Z軸方向Z´=10.00:20.00という比率であり、曲げ部分のX軸方向に対応する領域に割り当てられた値が「3」である場合が示されている。このような場合には、割当部14fは、「3×(20.00÷10.00)=6」の値を、曲げ部分のZ軸方向に対応する領域に割り当てるようにしてもよい。これにより、曲げ部分の比率が実際の投影図の比率に、より近くなる。なお、このような場合において、割り当てる値が、非負整数でない場合には、小数点以下の値を切り捨てるようにしてもよい。また、割り当てる値が、グリッド数を超える場合は、グリッド数に置き換えるようにしてもよい。
【0043】
変更部14gは、投影図作成対象の平面ごとに、次のような処理を行う。すなわち、変更部14gは、各座標軸ごとに、投影図の各領域に割り当てられた値に応じた大きさとなるように投影図の各領域のスケールを変更する。例えば、変更部14gは、各座標軸ごとに、投影図の各領域の幅が、割当部14fにより割り当てられた値が示す幅となるように、作図エリア上に通過点を作成する。そして、変更部14gは、作図エリア上で通過点を線分でつなぐ。これにより、曲管モデルが示す曲管の全体と特徴部分である曲げ部分との双方を確認することが可能な図形を得ることができる。また、かかる線分は曲管モデルが示す曲管の中心線に対応する。このような中心線を用いることで、曲管を抽象化することができる。
【0044】
図13〜図15は、実施例1に係る変更部による処理の一例を説明するための図である。図13の例では、X軸方向に3分割された3つの領域のうち、X軸方向の幅が最も狭い幅40の領域については、上記の図10の例で得た分割領域の最小幅「3」が割り当てられた場合が示されている。また、図13の例では、3つの領域のうち、X軸方向の幅が2番目に狭い幅41の領域については、上記の図10の例で得た分割領域の最小幅「3」に「1」を加えた値「4」が割り当てられた場合が示されている。また、図13の例では、3つの領域のうち、X軸方向の幅が3番目に狭い幅42の領域については、上記の図10の例で得た分割領域の最小幅「3」に「2」を加えた値「5」が割り当てられた場合が示されている。また、図13の例では、Z軸方向の幅43の領域に、上記の図12の例の値「6」が割り当てられた場合が示されている。
【0045】
このような図13の例の場合では、変更部14gは、各通過点を、割り当てられた値に応じた作図エリア上の位置に作成する。例えば、図14に示すように、変更部14gは、X軸方向の通過点の間隔が、それぞれ、「4」、「3」、「5」となり、かつ、Y軸方向の通過点の間隔が「6」となるように、各通過点を作図エリア70上に作成する。そして、図15に示すように、変更部14gは、通過点を線分で結ぶ。これにより、曲管モデルが示す曲管71の全体と特徴部分である曲げ部分との双方を確認することが可能な図形を得ることができる。
【0046】
そして、変更部14gは、基準面に含まれる図形が正面図となるように、通過点どうしが線分で結ばれた作図エリアが示す図形を表示部12に送信する。これにより、表示部12は、曲管モデルが示す曲管の全体と特徴部分である曲げ部分との双方を確認することが可能な図形を表示する。また、変更部14gは、表示部に図形を送信する際に、実際の寸法を対応する位置に付加することができる。これにより、抽象化された図形であっても、実際の寸法をユーザは認識することができる。図16は、実際の寸法が付加された図形の一例を示す図である。図16の例では、X軸方向の特徴点の実際の間隔が、「44mm」、「58mm」、「610mm」、「210mm」、「72mm」であることを示す。
【0047】
制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、または、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。
【0048】
[処理の流れ]
次に、本実施例に係る情報処理装置10の処理の流れを説明する。図17および図18は、実施例1に係る抽象化処理の手順を示すフローチャートである。この抽象化処理は、入力部11から制御部14に抽象化処理を実行する指示が入力された場合に実行される。
【0049】
図17に示すように、取得部14aは、記憶部13から曲管モデル13aを取得する(ステップS101)。
【0050】
抽出部14bは、曲管モデル13aに含まれる曲管の中心線および特徴点を抽出する(ステップS102)。抽出部14bは、曲管の曲げ部分では、曲げ部分に接続された2つの直線部分である2つの円筒形状の中心線を曲げ部分の方向に伸ばし交差位置で接続することにより、曲げ部分を抽象化する(ステップS103)。
【0051】
投影部14cは、直交座標計のXZ平面、YZ平面、XY平面のうち、未選択の平面を一つ選択する(ステップS104)。投影部14cは、曲管モデル13aが示す曲管の中心線20を、ステップS103で選択した平面に投影する(ステップS105)。投影部14cは、ステップS104でXZ平面、YZ平面、XY平面の全ての平面を選択したか否かを判定する(ステップS106)。ステップS104でXZ平面、YZ平面、XY平面の全ての平面を選択していない場合(ステップS106否定)には、ステップS104へ戻る。
【0052】
ステップS104でXZ平面、YZ平面、XY平面の全ての平面を選択した場合(ステップS106肯定)には、投影部14cは、全ての平面について、投影図の図形の長さを算出する(ステップS107)。
【0053】
投影部14cは、複数の投影図の各々を含む各平面の中から、図形の長さが最も長い投影図を含む平面を、基準面として選択する(ステップS108)。投影部14cは、図形の長さが最も長い投影図を含む平面が複数存在するか否かを判定する(ステップS109)。ここで、図形の長さが最も長い投影図を含む平面が複数存在する場合(ステップS109肯定)には、投影部14cは、次のような処理を行う。すなわち、投影部14cは、図形の長さが最も長い投影図を含む平面の中から、曲げ部分を有し、かつ曲げ部分の数が最も多い投影図を含む平面を、基準面として選択する(ステップS110)。
【0054】
一方、図形の長さが最も長い投影図を含む平面が複数存在しない場合(ステップS109否定)には、ステップ111へ進む。投影部14cは、特徴部分である曲げ部分を有する投影図を含む全ての平面を、投影図作成対象の平面として決定する(ステップS111)。分割部14dは、投影部14cで投影図作成対象として決定された平面の中で、未選択の平面を一つ選択する(ステップS112)。
【0055】
算出部14eは、ステップS112で選択された平面の投影図の投影対象先である作図エリアの各座標軸ごとのグリッド数を取得する(ステップS113)。
【0056】
分割部14dは、ステップS112で選択された平面上の二つの座標軸のうち、未選択の座標軸を一つ選択する(ステップS114)。分割部14dは、ステップS114で選択された座標軸に特徴点を投影し、座標軸に投影された特徴点の個数の計数を行う(ステップS115)。そして、分割部14dは、ステップS114で選択された座標軸の方向の分割数nを、[各座標軸に投影された特徴点の個数−1]とする(ステップS116)。
【0057】
算出部14eは、ステップ116で得られた分割数nの値が「1」であるか否かを判定する(ステップS117)。分割数nの値が「1」でない場合(ステップS117否定)には、算出部14eは、ステップS114で選択された座標軸について、上記の式(1)により、分割領域の最小幅の値Dを算出する(ステップS118)。
【0058】
割当部14fは、分割されたn個の領域のうち、座標軸方向の幅がk番目に狭い幅の領域について、ステップS118で算出された分割領域の最小幅Dに「k−1」を加えた値(大きさ)を割り当てる(ステップS119)。
【0059】
分割部14dは、ステップS114で選択されていない未選択の座標軸があるか否かを判定する(ステップS120)。ステップS114で選択されていない未選択の座標軸がある場合(ステップS120肯定)には、ステップS114へ戻る。ここで、分割数nの値が「1」である場合(ステップS117肯定)には、割当部14fは、次のような処理を行う。すなわち、割当部14fは、曲げ部分において、実際の投影図の座標の比率と同一の比率となるように、分割数n=1に対応する座標軸方向の領域の大きさを割り当てて(ステップS121)、ステップ120へ進む。
【0060】
一方、ステップS114で選択されていない未選択の座標軸がない場合(ステップS120否定)には、変更部14gは、次のような処理を行う。すなわち、変更部14gは、各座標軸ごとに、投影図の各領域の幅が、割当部14fにより割り当てられた値が示す幅となるように、作図エリア上に通過点を作成する(ステップS122)。そして、変更部14gは、作図エリア上で通過点を線分でつなぐ(ステップS123)。
【0061】
分割部14dは、ステップS111で投影図作成対象として決定された平面の中で、ステップS112で未選択の平面があるか否かを判定する(ステップS124)。ステップS111で投影図作成対象として決定された平面の中で、ステップS112で未選択の平面がある場合(ステップS124肯定)には、ステップS112へ戻る。一方、ステップS111で投影図作成対象として決定された平面の中で、ステップS112で未選択の平面がない場合(ステップS124否定)には、変更部14gは、次のような処理を行う。すなわち、変更部14gは、基準面に含まれる図形が正面図となるように、通過点どうしが線分で結ばれた作図エリアが示す図形を表示部12に送信し(ステップS125)、処理を終了する。
【0062】
[実施例1の効果]
上述してきたように、本実施例に係る情報処理装置10は、分割した抽象化前の領域の数、および特徴点の間隔に基づき、抽象化後の領域の大きさを算出し、抽象化後の領域の大きさに基づき、抽象化後の領域を曲管の図形に割り当てる。そして、本実施例に係る情報処理装置10は、曲管の図形を抽象化後の領域に合わせてサイズを変更する。すなわち、本実施例に係る情報処理装置10は、抽象化前の領域の数のみに基づいて各領域の大きさを等分するのではなく、等分した値に特徴点の間隔を考慮して領域の大きさを算出する。よって、本実施例に係る情報処理装置10によれば、全体と特徴との双方を確認することが可能であり、かつ単純に抽象化前の領域の数のみで各領域の大きさを算出する場合と比較して、実際の特徴点の間隔に近い図形を得ることができる。また、本実施例に係る情報処理装置10は、特徴点の間隔の差が大きい場合、例えば、ある特徴点の間隔を「1」とすると、他の特徴点の間隔が「100」となるような場合であっても、その差が小さくなるように抽象化後の領域の大きさを算出する。例えば、本実施例に係る情報処理装置10は、上記の「ある特徴点の間隔」に対応する抽象化後の領域の大きさを「3」とすると、上記の「他の特徴点の間隔」に対応する抽象化後の領域の大きさが「4」となるように抽象化後の領域の大きさを算出する。したがって、本実施例に係る情報処理装置10によれば、特徴点の間隔の差が大きい場合であっても、その差を抑制して、全体と特徴との双方を確認することが可能な図形を得ることができる。
【0063】
また、本実施例に係る情報処理装置10は、中心線20を用いて、曲管モデル13aが示す曲管を抽象化する。これにより、曲管の外形を投影する場合と比較して、ユーザにとって曲管の経路を把握しやすくなる図形を提供することが可能となる。
【0064】
また、本実施例に係る情報処理装置10は、曲げ部分については、曲げ部分に接続された二つの直線部分の中心線を曲げ部分の方向に伸ばすことにより曲げ部分を抽象化するとともに、曲げ部分の方向に伸びた二つの中心線の交点を特徴点とする。これにより、本実施例に係る情報処理装置10によれば、曲げ部分の抽象化を複雑な処理を行うことなく、簡易に、また、迅速に行うことができる。
【0065】
また、本実施例に係る情報処理装置10は、図形を、座標系の各面に投影し、抽象化する。そのため、本実施例に係る情報処理装置10によれば、複数の面で抽象化された画像を得ることができる。このような画像は、例えば、ユーザが、複数の面から全体と特徴との双方を確認したいときに特に有効である。
【0066】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【0067】
上記の実施例では、通過点を作成した後に、通過点をつなぐ場合について例示したが、開示の装置はこれに限定されない。通過点を中心線が通過するように、中心線の配置や長さを調整するようにしてもよい。
【0068】
[適用範囲]
上記の実施例では、曲管モデルを抽象化の対象とする場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、曲げ部分を有するホースなど抽象化の対象とすることもできる。すなわち、曲げ部分を有し、中心線を規定することが可能なものであれば、いかなるものであってもよい。
【0069】
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、本実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。例えば、図17のステップS101において、ユーザが入力部11を操作して、入力部11から曲管モデルを入力するようにしてもよい。
【0070】
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。例えば、ステップS107で全ての平面について図形の長さを算出したが、開示の装置はこれに限られない。例えば、開示の装置は、ステップS107において、2つ以上の平面で、所定の基準値を超える図形の長さが算出された場合には、ステップS108、ステップS109の処理を省略して、ステップS110の処理を行うようにしてもよい。
【0071】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図1に示す取得部14aと抽出部14bとが統合されてもよい。また、図1に示す投影部14cと分割部14dとが統合されてもよい。
【実施例2】
【0072】
[抽象化プログラム]
また、上記の実施例で説明した情報処理装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図19を用いて、上記の実施例で説明した情報処理装置と同様の機能を有する抽象化プログラムを実行するコンピュータの一例を説明する。図19は、抽象化プログラムを実行するコンピュータを示す図である。
【0073】
図19に示すように、実施例2におけるコンピュータ300は、CPU(Central Processing Unit)310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら300〜340の各部は、バス400を介して接続される。
【0074】
ROM320には、上記の実施例1で示す取得部14aと、抽出部14bと、投影部14cと、分割部14dと、算出部14eと、割当部14fと、変更部14gと同様の機能を発揮する抽象化プログラムが予め記憶される。すなわち、ROM320には、図19に示すように、抽象化プログラム320aが記憶される。なお、抽象化プログラム320aについては、適宜分離しても良い。
【0075】
そして、CPU310が、抽象化プログラム320aをROM320から読み出して実行する。
【0076】
そして、HDD330には、曲管モデル330aが設けられる。曲管モデル330aは、図1に示した曲管モデル13aに対応する。
【0077】
そして、CPU310は、曲管モデル330aを読み出してRAM340に格納する。CPU310は、RAM340に格納された曲管モデルデータ340aを用いて、抽象化プログラム320aを実行する。なお、RAM340に格納される各データは、常に全てのデータがRAM340に格納される必要はなく、処理に必要なデータのみがRAM340に格納されれば良い。
【0078】
なお、上記した抽象化プログラムについては、必ずしも最初からHDD330に記憶させておく必要はない。
【0079】
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
【0080】
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【0081】
10 情報処理装置
11 入力部
12 表示部
13 記憶部
13a 曲管モデル
14 制御部
14a 取得部
14b 抽出部
14c 投影部
14d 分割部
14e 算出部
14f 割当部
14g 変更部

【特許請求の範囲】
【請求項1】
図形の抽象化を行う抽象化プログラムであって、
前記図形の特徴点を抽出し、
前記図形が抽象化される座標系における座標軸方向に前記特徴点で前記図形を含む領域を分割し、
前記分割した抽象化前の領域の数、および前記特徴点の間隔に基づき、抽象化後の領域の大きさを算出し、
前記抽象化後の領域の大きさに基づき、前記抽象化後の領域を前記図形に割り当て、
前記図形を前記抽象化後の領域に合わせてサイズを変更する
処理を情報処理装置に実行させる抽象化プログラム。
【請求項2】
前記図形を、前記図形の中心線を用いて抽象化する処理を前記情報処理装置に実行させる請求項1に記載の抽象化プログラム。
【請求項3】
前記図形の曲げ部分については、該曲げ部分に接続された二つの直線部分の中心線を曲げ部分の方向に伸ばすことにより該曲げ部分を抽象化するとともに、曲げ部分の方向に伸びた二つの中心線の交点を前記特徴点とする処理を前記情報処理装置に実行させる請求項1または2に記載の抽象化プログラム。
【請求項4】
前記図形を、前記座標系の各面に投影し、抽象化する処理を前記情報処理装置に実行させる請求項1〜3の何れか1項に記載の抽象化プログラム。
【請求項5】
図形の特徴点を抽出する抽出部と、
前記抽出部により、図形が抽象化される座標系における座標軸方向に前記特徴点で前記図形を含む領域を分割する分割部と、
前記分割部により分割した抽象化前の領域の数、および前記特徴点の間隔に基づき、抽象化後の領域の大きさを算出する算出部と、
前記算出部により算出した抽象化後の領域の大きさに基づき、前記抽象化後の領域を前記図形に割り当てる割当部と、
前記図形を前記抽象化後の領域に合わせてサイズを変更する変更部と
を有することを特徴とする情報処理装置。
【請求項6】
情報処理装置が実行する、図形の抽象化を行う抽象化方法であって、
前記図形の特徴点を抽出し、
前記図形が抽象化される座標系における座標軸方向に前記特徴点で前記図形を含む領域を分割し、
前記分割した抽象化前の領域の数、および前記特徴点の間隔に基づき、抽象化後の領域の大きさを算出し、
前記抽象化後の領域の大きさに基づき、前記抽象化後の領域を前記図形に割り当て、
前記図形を前記抽象化後の領域に合わせてサイズを変更する
ことを特徴とする抽象化方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2012−118602(P2012−118602A)
【公開日】平成24年6月21日(2012.6.21)
【国際特許分類】
【出願番号】特願2010−265335(P2010−265335)
【出願日】平成22年11月29日(2010.11.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】