JP6155092B2 - 図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム - Google Patents

図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム Download PDF

Info

Publication number
JP6155092B2
JP6155092B2 JP2013105489A JP2013105489A JP6155092B2 JP 6155092 B2 JP6155092 B2 JP 6155092B2 JP 2013105489 A JP2013105489 A JP 2013105489A JP 2013105489 A JP2013105489 A JP 2013105489A JP 6155092 B2 JP6155092 B2 JP 6155092B2
Authority
JP
Japan
Prior art keywords
area
divided
graphic
information
unit
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.)
Active
Application number
JP2013105489A
Other languages
English (en)
Other versions
JP2014228888A (ja
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.)
FIXSTARS CORPORATION
Original Assignee
FIXSTARS CORPORATION
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 FIXSTARS CORPORATION filed Critical FIXSTARS CORPORATION
Priority to JP2013105489A priority Critical patent/JP6155092B2/ja
Publication of JP2014228888A publication Critical patent/JP2014228888A/ja
Application granted granted Critical
Publication of JP6155092B2 publication Critical patent/JP6155092B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、一の図形に近似する図形を示す情報を作成する図形情報作成装置等に関するものである。
従来、平面に配置された線分の頂点を、予め決められた整数格子の頂点に丸めるSnap roundingという方法がある(非特許文献1参照)。
"Practical Segment Intersection with Finite Presicion Output"、[online]、John D. Hobby、[2013年3月8日検索]、インターネット[URL;http://ect.bell-labs.com/who/hobby/93_2-27.pdf]
従来のSnap roundingは、計算処理が複雑であった。
本第一の発明の図形情報作成装置は、無限精度で表現される図形を示す情報であり、図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成部と、作成部が作成した近似図形情報が示す図形を出力する出力部とを備え、作成部は、元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、分割領域内に存在する点であり、元図形情報が示す図形を構成する2以上の線分の交点および2以上の線分の端点である1以上の対象点を検出する対象点検出手段と、1以上の対象点のうちの交点を交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、2以上の分割領域ごとに取得する移動点取得手段と、1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、2以上の分割領域ごとに作成するホットポイント領域作成手段と、元図形情報が示す図形を構成する線分であり、ホットポイント領域と交差する線分である1以上の交差線分を、2以上の分割領域ごとに検出する交差線分検出手段と、1以上の各交差線分の各端点と、交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、2以上の分割領域ごとに取得する移動線分取得手段と、移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成手段とを備える図形情報作成装置である。
このような構成により、分割した領域ごとに計算処理を行うことにより、Snap roundingの計算処理を、容易に行うことができる。
また、本第二の発明の図形情報作成装置は、第一の発明に対して、移動点取得手段は、1以上の各対象点を対象点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、2以上の分割領域ごとに取得する図形情報作成装置である。
このような構成により、分割した領域ごとに計算処理を行うことにより、Snap roundingの計算処理を、容易に行うことができる。
また、本第三の発明の図形情報作成装置は、第一または第二の発明に対して、作成部は、元図形情報が示す図形を構成する線分であり、分割領域内に存在する線分が対角線となる矩形の領域である交差判定領域と、ホットポイント領域とが重なるか否かを、2以上の分割領域ごとに判断する判断手段をさらに備え、交差線分検出手段は、判断手段が、交差判定領域とホットポイント領域とが重なると判断した場合に、1以上の交差線分を、2以上の分割領域ごとに検出する図形情報作成装置である。
このような構成により、Snap roundingの計算処理における計算量を削減することができる。
また、本第四の発明の図形情報作成装置は、第一から第三いずれか1つの発明に対して、作成部は、近似図形情報の作成に関する処理を、2以上の分割領域ごとに並列に行い、近似図形情報を作成する図形情報作成装置である。
このような構成により、Snap roundingの計算処理を、並列計算により高速に行うことができる。
また、本第五の発明の図形情報作成装置は、第一から第四いずれか1つの発明に対して、作成部は、元図形情報が示す図形が配置されている領域を含む領域を、2以上の分割領域に分割する領域分割手段をさらに備え、作成部は、近似図形情報の作成に関する処理を、領域分割手段が分割した2以上の分割領域ごとに行い、近似図形情報を作成する図形情報作成装置である。
このような構成により、図形が配置されている領域を含む領域を、2以上の分割領域に分割することができる。
また、本第六の発明の図形情報作成装置は、第五の発明に対して、作成部は、2以上の各分割領域内の線分の数を用いて、分割領域のサイズを決定する分割領域サイズ決定手段をさらに備え、領域分割手段は、元図形情報が示す図形が配置されている領域を含む領域を、分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する図形情報作成装置である。
このような構成により、分割領域のサイズを、分割領域内の線分の数を用いて自動的に算出することができる。
また、本第七の発明の図形情報作成装置は、第六の発明に対して、分割領域サイズ決定手段は、2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する図形情報作成装置である。
このような構成により、分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを、自動的に算出することができる。
また、本第八の発明の図形情報作成装置は、第七の発明に対して、予め決められた条件は、線分の数の平均が10以上20以下であることである図形情報作成装置である。
このような構成により、分割領域内の線分の数の平均が10以上20以下である分割領域のサイズを、自動的に算出することができる。
また、本第九の発明の図形情報作成装置は、第六から第八いずれか1つの発明に対して、分割領域サイズ決定手段は、2以上の各分割領域内の線分の数、元図形情報が示す図形を構成する各線分が配置される分割領域の数、元図形情報が示す図形を構成するすべての線分の数、図形情報が示す図形を構成するすべての線分の長さの合計、元図形情報が示す図形が配置されている領域を含む領域の面積のうちのいずれか1以上を用いて、分割領域のサイズを決定する図形情報作成装置である。
このような構成により、分割領域のサイズを、分割領域内の線分の数、線分が配置される分割領域の数、図形を構成するすべての線分の数、図形を構成するすべての線分の長さの合計、図形が配置されている領域を含む領域の面積のうちのいずれか1以上を用いて自動的に算出することができる。
また、本第十の発明の領域分割装置は、無限精度で表現される図形を示す情報であり、図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、元図形情報が示す図形が配置されている領域を含む領域を、1以上の単位領域を有する領域である2以上の分割領域に分割する分割部とを備え、分割部は、2以上の各分割領域内の線分の数を用いて、分割領域のサイズを決定する分割領域サイズ決定手段と、元図形情報が示す図形が配置されている領域を含む領域を、分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する領域分割手段とを備える領域分割装置である。
このような構成により、図形が配置されている領域を含む領域を、2以上の分割領域に分割することができる。
また、本第十一の発明の領域分割装置は、第十の発明に対して、分割領域サイズ決定手段は、2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する領域分割装置である。
このような構成により、分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを、自動的に算出することができる。
また、本第十二の発明の領域分割装置は、第十一の発明に対して、予め決められた条件は、線分の数の平均が10以上20以下であることである領域分割装置である。
このような構成により、分割領域内の線分の数の平均が10以上20以下である分割領域のサイズを、自動的に算出することができる。
また、本第十三の発明の領域分割装置は、第十から第十二いずれか1つの発明に対して、分割領域サイズ決定手段は、2以上の各分割領域内の線分の数、元図形情報が示す図形を構成する各線分が配置される分割領域の数、元図形情報が示す図形を構成するすべての線分の数、図形情報が示す図形を構成するすべての線分の長さの合計、元図形情報が示す図形が配置されている領域を含む領域の面積のうちのいずれか1以上を用いて、分割領域のサイズを決定する領域分割装置である。
このような構成により、分割領域のサイズを、分割領域内の線分の数、線分が配置される分割領域の数、図形を構成するすべての線分の数、図形を構成するすべての線分の長さの合計、図形が配置されている領域を含む領域の面積のうちのいずれか1以上を用いて自動的に算出することができる。
本発明による図形情報作成装置等によれば、分割した領域ごとに計算処理を行うことにより、Snap roundingの計算処理を、容易に行うことができる。
実施の形態1における図形情報作成装置1のブロック図 同対象点の検出例を示す図 同図形情報作成装置1の全体動作について説明するフローチャート 同分割領域サイズの決定処理について説明するフローチャート 同元図形情報が示す図形の例を示す図 同単位領域の例を示す図 同領域分割の例を示す図 同領域分割の例を示す図 同領域分割の例を示す図 同分割領域における元図形情報が示す図形の例を示す図 同対象点の検出例を示す図 同移動点の取得例を示す図 同ホットポイント領域の作成例を示す図 同交差判定領域の作成例を示す図 同移動線分の取得例を示す図 同分割点の検出例を示す図 実施の形態2における領域分割装置2のブロック図 同領域分割装置2の全体動作について説明するフローチャート 同分割領域サイズの決定処理について説明するフローチャート 上記実施の形態におけるコンピュータシステムの概観図 上記実施の形態におけるコンピュータシステムのブロック図
以下、本発明による図形情報作成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
(実施の形態1)
本実施の形態において、1以上の図形を示す元図形情報を用いて、当該1以上の各図形に近似する図形を示す情報である近似図形情報の作成に関する処理を、2以上の分割領域ごとに行い、近似図形情報を作成し、当該近似図形情報が示す1以上の図形を出力する図形情報作成装置1について説明する。
図1は、本実施の形態における図形情報作成装置1のブロック図である。図形情報作成装置1は、受付部11、作成部12、出力部13を備える。また、作成部12は、分割領域サイズ決定手段121、領域分割手段122、対象点検出手段123、移動点取得手段124、ホットポイント領域作成手段125、判断手段126、交差線分検出手段127、移動線分取得手段128、近似図形情報作成手段129を備える。
ここで、元図形情報とは、無限精度で表現される図形を示す情報である。「無限精度」とは、図形を構成する2以上の座標の桁数が無限であることである。また、当該「桁数」は、通常、小数点以下の桁数であるが、小数点以下を含むすべての桁数であってもよい。
また、当該図形は、通常、一の座標空間上の図形である。当該座標空間は、通常、2次元である。また、当該図形は、通常、線分、または多角形である。また、図形情報は、通常、少なくとも1以上の座標を有する座標集合を、1以上有する。また、当該1つの座標集合は、通常、1つの図形を示す。つまり、例えば、2以上の図形を示す場合、図形情報は、通常、2以上の座標集合を有する。
また、元図形情報は、当該1以上の座標集合により1つの図形を示すことができればよく、データ構造やデータ形式などは、問わない。例えば、1つの矩形を示す場合、元図形情報は、例えば、当該矩形の4つの各頂点の座標を有する座標集合を有していてもよい。また、この場合、元図形情報は、例えば、当該矩形の4つの各辺(線分)の端点の座標を有する座標集合を有していてもよい。また、この場合、元図形情報は、例えば、基準となる1つの頂点の座標と、横幅および縦幅を示す情報とを有する座標集合を有していてもよい。
なお、元図形情報の具体的なデータ形式は、例えば、GDS−2や、OASIS、MEBESなどである。
また、近似図形情報とは、有限精度で表現される図形を示す情報である。「有限精度」とは、図形を構成する2以上の座標の桁数が有限であることである。当該「桁数」は、通常、小数点以下の桁数であり、「0」であることが好適である。つまり、近似図形情報が示す図形の線分の端点の座標は、通常、整数である。また、当該図形は、元図形情報が示す1以上の各図形に近似する図形である近似図形である。
なお、近似図形情報が有する情報や具体的なデータ形式などは、元図形情報が有する情報や具体的なデータ形式などと同様であるので、説明を省略する。
受付部11は、一の図形に近似する図形を作成する対象となる元の図形を示す元図形情報を受け付ける。また、受け付けとは、タッチパネルや、キーボードなどの入力デバイスから入力された情報の取得、光ディスクや磁気ディスク、半導体メモリなどの記録媒体に格納されている情報の取得、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
また、受付部11における情報や指示などの入力手段は、メニュー画面によるものや、キーボードなど、何でもよい。受付部11は、メニュー画面の制御ソフトウェアや、キーボード等の入力手段のデバイスドライバなどで実現され得る。
作成部12は、元図形情報を用いて、当該元図形情報が示す図形と近似する図形である近似図形を示す近似図形情報を作成する。また、作成部12は、通常、近似図形情報の作成に関する処理を、2以上の分割領域ごとに並列に行い、近似図形情報を作成する。「近似図形情報の作成に関する処理」とは、後述の対象点検出手段123や、移動点取得手段124などが、分割領域において行う処理である。また、分割領域とは、元図形情報が示す図形が配置されている領域を含む領域を、予め決められたサイズ(大きさ)で2以上の格子状に等分した領域である。
分割領域は、通常、1または2以上の単位領域を有する正方領域である。単位領域とは、サイズが1×1の領域である。「1×1」とは、縦幅および横幅のサイズが「1」であることを意味する。また、当該「サイズ」とは、通常、座標空間における大きさである。また、正方領域とは、形状が正方形である領域である。また、分割領域の形状は、矩形であればよい。ここで、「元図形情報が示す図形が配置されている領域」を、以下、図形配置領域とする。また、「元図形情報が示す図形が配置されている領域を含む領域」を、以下、分割対象領域とする。
また、「2以上の分割領域ごとに並列に行う」とは、2以上の各分割領域における処理を並列に行うことを意味する。また、作成部12は、近似図形情報の作成に関する処理を、例えば、当該2以上の分割領域ごとに直列に行ってもよい。「2以上の分割領域ごとに直列に行う」とは、2以上の各分割領域における処理を順に行うことを意味する。
また、元図形情報が示す図形は、通常、一の座標空間上に配置される。従って、図形配置領域および分割対象領域は、通常、当該図形が配置されている座標空間上の領域である。また、当該2つの領域の形状は、通常、矩形である。また、当該矩形は、通常、横および縦が、それぞれ、座標空間の横軸(x軸)および縦軸(y軸)に平行な矩形である。
また、図形配置領域は、通常、当該図形を含む領域であればよい。つまり、図形配置領域は、当該図形が内接する領域のサイズ以上のサイズの領域であればよい。また、図形配置領域のサイズは、分割領域の整数倍のサイズでなくてもよい。また、分割対象領域のサイズは、通常、分割領域の整数倍のサイズである。また、また、分割対象領域と図形配置領域とは、位置およびサイズともに同一であってもよい。
また、作成部12は、通常、後述の各手段により、近似図形情報を作成する。
分割領域サイズ決定手段121は、通常、2以上の各分割領域内の線分の数を用いて、分割領域のサイズを決定する。「分割領域内の線分」とは、分割領域内に存在する線分であり、一部または全部が分割領域内に配置されている線分である。また、当該「2以上の各分割領域内の線分の数」は、分割対象領域内の線分の数であってもよい。また、当該「線分の数」は、2つの線分の交点の数であってもよい。また、「分割領域のサイズを決定する」とは、通常、当該分割領域のサイズを示す情報を取得することである。また、「分割領域のサイズを決定する」ことは、分割対象領域の分割数を決定することであってもよい。また、当該「分割数を決定する」とは、通常、当該分割数を示す情報を取得することである。
具体的に、分割領域サイズ決定手段121は、通常、パラメータ「x」を引数とする関数f(x)の値が、予め決められた条件(以下、適宜、線分数条件)を満たす分割領域のサイズを決定する。当該パラメータ「x」は、例えば、2以上の各分割領域内の線分の数や、分割対象領域内の線分の数、2以上の各分割領域内の交点の数、分割対象領域内の交点の数などである。また、当該関数f(x)は、例えば、2以上の各分割領域内の線分の数の平均や、2以上の各分割領域内の交点の数の平均などを算出する関数である。また、当該平均は、通常、算術平均であるが、例えば、加重平均であってもよい。また、当該関数f(x)は、その他の値を算出する関数であってもよい。また、「線分数条件を満たす分割領域のサイズ」とは、例えば、あるサイズで分割対象領域を分割した際の2以上の各分割領域内の線分の数の平均が、線分数条件を満たす場合の、当該分割領域のサイズである。また、線分数条件は、例えば、2以上の各分割領域内の線分の数の平均や、2以上の各分割領域内の交点の数の平均などに関する条件である。また、線分数条件は、通常、2以上の各分割領域内の線分の数の平均が、10以上20以下であることが好適である。10以上20以下であるとは、概ね10から概ね20ぐらいまでの意義である。
ここで、「一の領域内に存在する線分」とは、通常、一部または全部が当該領域内に配置されている線分である。
また、分割領域サイズ決定手段121は、例えば、以下いずれかの方法により、分割領域のサイズを決定する。
(A)2以上の各分割領域内の線分の数をカウントする方法
(B)分割対象領域内の線分の数をカウントする方法
(C)2以上の各分割領域内の交点の数をカウントする方法
(D)分割対象領域内の交点の数をカウントする方法
(A)の方法:当該方法は、分割領域のサイズを変えながら分割領域内の線分の数をカウントし、分割領域のサイズを決定する方法である。当該方法の具体的な手順は、例えば、以下のとおりである。
(1)カウンタiに、1をセットする。
(2)分割対象領域を、i×iのサイズの分割領域に分割する。
(3)(2)で分割した分割領域ごとに、分割領域内の線分の数をカウントする。
(4)(3)でカウントした分割領域内の線分の数の平均を算出する。
(5)(4)で算出した平均が、線分数条件を満たす場合は、iを分割領域のサイズとして取得し、処理を終了する。
(6)iが上限値以上であるか否かを判断する。上限値以上である場合は、処理を終了する。また、上限値未満である場合は、iを1インクリメントし、(1)に戻る。
なお、上記(1)において、カウンタiにセットする値は、2以上であることが好適である。
また、上記(2)において、分割対象領域の位置およびサイズは、図形配置領域と同一の位置およびサイズとする。そして、分割領域のサイズ(i×i)の整数倍でない場合は、整数倍となるように、分割対象領域のサイズを大きくする。
例えば、分割領域のサイズが「10×10」であり、分割対象領域のサイズが1275×1024であるとする。この様な場合、分割領域サイズ決定手段121は、まず、分割対象領域の横幅について、「1275」よりも大きい10の倍数のうち最小の値である「1280」を算出する。そして、分割領域サイズ決定手段121は、次に、分割対象領域の縦幅について、「1024」よりも大きい10の倍数のうち最小の値である「1030」を算出する。そして、分割領域サイズ決定手段121は、分割対象領域のサイズを「1280×1030」とする。
また、上記(3)において、分割領域内の線分は、例えば、2本の線分の交点を、一の線分の端点としなくてもよいし、一の線分の端点としてもよい。つまり、例えば、交差している2本の線分について、2本とカウントしてもよいし、当該2本の線分の交点を分割点とし、4本とカウントしてもよい。
また、上記(6)において、iの上限値は、通常、図形配置領域の横幅または縦幅のいずれか大きい方である。
例えば、分割領域のサイズが「5×5」であるとする。また、この場合の2以上の各分割領域内の線分の数の平均が「15」であるとする。また、線分数条件が「10≦平均数≦20」であるとする。当該線分数条件は、2以上の各分割領域内の線分の数の平均が10以上20以下であることを意味する。この様な場合、分割領域サイズ決定手段121は、当該線分の数の平均が、当該線分数条件を満たすと判断する。そして、分割領域サイズ決定手段121は、当該分割領域のサイズ「5×5」を取得する。
(B)の方法:当該方法は、分割対象領域内の線分の数をカウントし、分割領域の分割数を決定する方法である。当該方法の具体的な手順は、例えば、以下のとおりである。
(1)分割対象領域内の線分の数をカウントする。
(2)(1)でカウントした数を、線分数条件を満たす2以上の各整数で割り、商を算出する。
(3)(2)で算出した2以上の商のうち、整数である2以上の商を、分割数として取得する。
(4)(3)で取得した2以上の商が示す整数の範囲のうち、抜けのある1以上の整数を、分割数としてさらに取得する。
なお、上記(1)において、分割対象領域内の線分は、例えば、2本の線分の交点を、一の線分の端点としなくてもよいし、一の線分の端点としてもよい。つまり、例えば、交差している2本の線分について、2本とカウントしてもよいし、当該2本の線分の交点を分割点とし、4本とカウントしてもよい。
また、上記(2)において、線分数条件を満たす2以上の整数は、当該線分数条件が示す整数の範囲の上限および下限のみであってもよい。
また、上記(4)において、分割領域サイズ決定手段121は、例えば、取得した分割数から、以下のいずれかの条件(以下、適宜、分割数条件)を満たす分割数のみを取得してもよい。
(a)平方数であること
(b)対応する2つの約数の比が、分割対象領域の横幅および縦幅の比と一致または近似すること
(c)分割対象領域内の線分の数を割ったときの商が整数であること
なお、上記(b)において、「対応する2つの約数」とは、積が取得した分割数となる約数の組である。また、(b)において、2つの比が近似するか否かの判断は、例えば、当該2つの比から比の値を算出し、当該比の値の差が予め決められた条件を満たすほど小さいか否かを判断することで行う。
例えば、分割対象領域内の線分の数が「120」であるとする。また、線分数条件が「10≦平均数≦20」であるとする。この様な場合、分割領域サイズ決定手段121は、当該線分の数を、当該線分数条件が示す範囲の上限「20」と下限「10」のそれぞれの数で割った値である「6」と「12」を、分割数として取得する。そして、分割領域サイズ決定手段121は、当該「6」から「12」までの整数のうち、抜けている整数「7」、「8」、「9」、「10」、「11」を、分割数としてさらに取得する。
また、当該取得した7個の整数のうち、上記(a)の分割数条件を満たす分割数は、「9」である。また、例えば、分割対象領域の横幅および縦幅の比が「2:1」である場合、当該取得した7個の整数のうち、上記(b)の分割数条件を満たす分割数は、「8(4×2)」である。また、当該取得した7個の整数のうち、上記(c)の分割数条件を満たす分割数は、「6」、「8」、「10」、「12」である。
なお、(C)の方法における具体的な手順は、(A)の方法における具体的な手順と同様であり、また、(D)の方法における具体的な手順は、(B)の方法における具体的な手順と同様であるので、説明を省略する。
また、分割領域のサイズを決定する場合、分割領域サイズ決定手段121は、通常、1つの分割領域のサイズを決定する。また、分割領域の分割数を決定する場合、分割領域サイズ決定手段121は、通常、1つの分割領域の分割数を決定する。なお、当該サイズ、および分割数は、通常、1以上の整数である。
また、分割領域サイズ決定手段121は、通常、元図形情報から、図形配置領域のサイズまたは図形配置領域を示す座標集合を取得する。また、分割領域サイズ決定手段121は、通常、元図形情報から、分割対象領域のサイズまたは分割対象領域を示す座標集合を取得する。
また、一の領域内の線分の数や交点の数などをカウントする方法や手順などは、公知であるので、説明を省略する。
領域分割手段122は、分割対象領域を2以上の分割領域に分割する。「分割領域に分割する」とは、通常、2以上の各分割領域を示す2以上の座標集合を取得することである。また、「分割領域に分割する」とは、例えば、2以上の分割領域間の境界線を示す情報を取得することや、隣接する2つの分割領域において共通する頂点の座標を取得することなどであってもよい。また、「境界線を示す情報」とは、例えば、当該境界線を示す定数関数である。
また、領域分割手段122は、通常、予め決められた分割領域のサイズ、または分割領域の分割数により、分割対象領域を2以上の分割領域に分割する。また、当該分割領域のサイズ、および分割領域の分割数は、例えば、分割領域サイズ決定手段121が決定した分割領域のサイズ、および分割領域の分割数であることが好適である。
例えば、分割領域のサイズが「10×10」である場合、領域分割手段122は、分割対象領域の横および縦を10ずつに区切り、格子状に分割する。また、このとき、分割対象領域の横幅または縦幅が、当該分割領域のサイズの整数倍でない場合、領域分割手段122は、当該分割対象領域の横幅または縦幅が、当該分割領域のサイズの整数倍となるように、分割対象領域のサイズを大きくする。また、この場合において、例えば、分割対象領域のサイズが「100×100」であるとする。この様な場合、領域分割手段122は、当該分割対象領域を、「10×10」の格子状に分割する。
また、例えば、分割領域の分割数が「9」である場合、領域分割手段122は、分割対象領域の横および縦をそれぞれ三等分にし、「3×3」の格子状に分割する。また、このとき、分割対象領域の横幅および縦幅の比が、当該分割数の対応する2つの約数の比「1:1」と一致および近似しない場合、領域分割手段122は、当該分割対象領域の横幅および縦幅の比が、当該分割数を構成する整数の比と一致また近似するように、分割対象領域のサイズを大きくする。また、この場合において、例えば、分割対象領域のサイズが「120×120」であるとする。この様な場合、領域分割手段122は、当該分割対象領域を、サイズが「40×40」である9個の分割領域に分割する。
また、領域分割手段122は、例えば、取得した2以上の各座標集合(分割領域を示す座標集合)に、各分割領域を識別する識別子(以下、適宜、分割領域識別子)を対応付けてもよい。
対象点検出手段123は、2以上の分割領域ごとに、当該分割領域内に存在する1以上の対象点を検出する。「分割領域内」には、通常、分割領域の境界線上も含む。また、当該分割領域は、通常、領域分割手段122が分割した分割領域である。また、当該分割領域は、例えば、予め分割された分割領域であってもよい。また、「対象点」とは、以下の2種類の点である。
(A)元図形情報が示す図形を構成する2以上の線分の交点
(B)元図形情報が示す図形を構成する2以上の線分の端点
上記(A)の対象点は、図2の右側に示す対象点aである。また、上記(B)の対象点は、図2の右側に示す対象点b、対象点cである。
また、上記「対象点を検出する」とは、対象点を示す座標を取得することである。対象点検出手段123は、通常、元図形情報が有する座標を用いて、上記(A)の対象点の座標を算出する。また、対象点検出手段123は、通常、元図形情報から、上記(B)の対象点の座標を取得する。なお、2以上の線分の交点の座標を算出する方法や手順などは、公知であるので、詳細な説明を省略する。
また、対象点検出手段123は、通常、1以上の対象点を2以上の分割領域ごとに検出する。従って、対象点検出手段123は、例えば、取得した対象点の座標に、当該対象点が存在する分割領域を識別する分割領域識別子を対応付けてもよい。また、このとき、対象点検出手段123は、例えば、取得した対象点の座標に、点を識別する識別子(以下、適宜、点識別子)を対応付けてもよい。
移動点取得手段124は、2以上の分割領域ごとに、1以上の移動点を取得する。「移動点」とは、1以上の対象点のうちの移動対象点を、当該移動対象点に最も近い単位領域の頂点(以下、適宜、グリッドポイント)に移動した対象点である。言い換えると、移動点取得手段124は、1以上の対象点のうちの移動対象点をグリッドポイントに移動させ、当該移動先の点、および移動させなかった対象点を、移動点として取得する。また、「移動対象点」は、通常、交点のみであるが、交点および端点(すべての対象点)であってもよい。また、「移動点を取得する」とは、移動点を示す座標を取得することである。
移動点取得手段124は、通常、対象点の座標を用いて、当該対象点に最も近いグリッドポイントの座標を算出する。そして、移動点取得手段124は、当該算出したグリッドポイントの座標を、当該グリッドポイントに移動させた対象点に対応する移動点の座標として取得する。なお、グリッドポイントの座標は、通常、対象点の座標の小数第1位を四捨五入した座標である。また、グリッドポイントの座標は、例えば、対象点の座標の小数点以下を切り捨てた座標であってもよい。
例えば、移動対象点の座標が(4.2,8.5)であるとする。この様な場合、移動点取得手段124は、通常、当該座標の小数第1位を四捨五入し、グリッドポイントの座標(4,9)を算出する。また、この様な場合、移動点取得手段124は、例えば、当該座標の小数点以下を切り捨て、グリッドポイントの座標(4,8)を算出してもよい。
なお、移動対象点がグリッドポイント上にある場合、移動点取得手段124は、通常、当該移動対象点を、当該移動対象点に最も近いグリッドポイントに移動させない。つまり、移動点取得手段124は、通常、1以上の移動点のうちの移動対象点のうち、グリッドポイント上にない移動対象点を、当該移動対象点に最も近いグリッドポイントに移動させる。
また、移動点取得手段124は、例えば、対象点を示す座標とは別に、移動点を示す座標を取得してもよい。また、移動点取得手段124は、例えば、対象点を示す座標のうち、移動対象点を示す座標を、上記のグリッドポイントの座標に変更し、移動点を示す座標を取得してもよい。
また、移動点取得手段124は、例えば、取得した移動点の座標に、対象点と同様に、当該移動点が存在する分割領域を識別する分割領域識別子を対応付けてもよい。また、このとき、移動点取得手段124は、例えば、取得した移動点の座標に、点識別子を対応付けてもよい。
ホットポイント領域作成手段125は、2以上の分割領域ごとに、ホットポイントを領域を作成する。「ホットポイント領域」とは、移動点を含む領域である。また、「移動点を含む領域」とは、領域内に当該移動点が存在する領域である。ホットポイント領域の形状は、通常、矩形であるが、正方形であることが好適である。また、ホットポイント領域のサイズは、通常、問わないが、単位領域のサイズと同一のサイズであることが好適である。また、ホットポイント領域内における移動点の位置は、通常、問わないが、中心であることが好適である。また、当該位置は、例えば、ホットポイント領域の4つの頂点のうちのいずれかであってもよい。
また、上記「ホットポイント領域を作成する」とは、通常、ホットポイント領域を示す座標集合を取得することである。また、ホットポイント領域作成手段125は、通常、2以上の分割領域ごとにホットポイント領域を作成する。従って、ホットポイント領域作成手段125は、例えば、取得したホットポイント領域を示す座標集合に、当該ホットポイント領域が存在する分割領域を識別する分割領域識別子を対応付けてもよい。また、ホットポイント領域作成手段125は、例えば、取得したホットポイント領域を示す座標集合に、当該ホットポイント領域を識別する識別子(以下、適宜、ホットポイント領域識別子)を対応付けてもよい。なお、一の座標(ここでは、移動点の座標)を中心、または4つの頂点のうちのいずれかとする矩形の領域(ここでは、ホットポイント領域)を示す座標集合を取得する方法や手順などは、公知であるので、詳細な説明を省略する。
例えば、移動点を中心とするホットポイント領域を作成する場合において、当該移動点の座標が(4,5)であるとする。また、ホットポイント領域のサイズが「1×1」であるとする。この様な場合、ホットポイント領域作成手段125は、例えば、当該移動点のx座標、y座標のそれぞれに、ホットポイント領域のサイズの1/2である「0.5」を加減算する。そして、ホットポイント領域作成手段125は、当該移動点に対応するホットポイント領域を示す座標集合{(3.5,5.5),(4.5,5.5),(4.5,4.5),(3.5,4.5)}を取得する。
また、例えば、移動点を頂点の1つとするホットポイント領域を作成する場合において、当該移動点の座標が(4,5)であるとする。また、ホットポイント領域のサイズが「0.5×0.5」であるとする。この様な場合、ホットポイント領域作成手段125は、例えば、当該移動点のx座標、y座標のそれぞれに、ホットポイント領域のサイズである「0.5」を加算する。そして、ホットポイント領域作成手段125は、当該移動点に対応するホットポイント領域を示す座標集合{(4,5),(4.5,5),(4,5.5),(4.5,5.5)}を取得する。
判断手段126は、2以上の分割領域ごとに、ホットポイント領域と交差判定領域とが重なるか否かを判断する。「交差判定領域」とは、分割領域内に存在する線分が対角線となる矩形の領域である。また、当該「分割領域内に存在する線分」とは、通常、元図形情報が示す図形を構成する線分である。また、当該「分割領域内に存在する線分」は、通常、後述の交差線分となり得る線分である。また、交差判定領域が示す矩形は、通常、横および縦が、それぞれ、座標空間の横軸および縦軸に平行な矩形である。
判断手段126は、通常、分割領域内に存在する線分であり、元図形情報が示す図形を構成する線分を検出する。「線分を検出する」とは、元図形情報から当該線分を示す座標集合を取得することである。そして、判断手段126は、当該検出した線分を用いて、当該線分が対角線となる交差判定領域を作成する。「交差判定領域を作成する」とは、交差判定領域を示す座標集合を取得することである。そして、判断手段126は、ホットポイント領域を示す座標集合と、交差判定領域を示す座標集合とを用いて、ホットポイント領域と交差判定領域とが重なるか否かを判断する。なお、一の線分を対角線とする矩形の領域(ここでは、交差判定領域)を示す座標集合を取得する方法や手順などは、公知であるので、詳細な説明を省略する。また、座標空間上の2つの領域(ここでは、ホットポイント領域と交差判定領域)とが重なるか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
交差線分検出手段127は、2以上の分割領域ごとに、ホットポイント領域と交差する線分である1以上の交差線分を取得する。「交差する」とは、通常、ホットポイント領域の4つの境界線のうちの2つの境界線と交わること(2つの境界線との交点を持つこと)である。また、「交差線分を取得する」とは、交差線分を示す座標集合を取得することである。また、交差線分は、元図形情報が示す図形を構成する線分である。
交差線分検出手段127は、通常、元図形情報が示す図形を構成する1以上の各線分が、ホットポイント領域と交差するか否かを判断する。そして、交差する場合、交差線分検出手段127は、当該線分を、交差線分として取得する。なお、一の線分が座標空間上の領域(ここでは、ホットポイント領域)と交差するか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
一の分割領域において、交差線分を取得する具体的な手順は、例えば、以下のとおりである。
(1)ホットポイント領域作成手段125が取得したホットポイント領域を示す座標集合を取得する。
(2)元図形情報から、元図形情報が示す図形を構成する1以上の線分を示す座標集合を取得する。
(3)(1)で取得した座標集合と、(2)で取得した座標集合とを用いて、ホットポイント領域の4つの各境界線と、1以上の各線分との交点を検出する。
(4)(3)において検出した交点の数が「2」である場合、当該交点の数を有する線分を示す座標集合を取得する。
また、交差線分検出手段127は、例えば、判断手段126が、ホットポイント領域と交差判定領域とが重なると判断した場合に、1以上の交差線分を、2以上の分割領域ごとに検出してもよい。この場合、交差線分検出手段127は、当該交差判定領域の対角線である線分が、ホットポイント領域と交差するか否かを判断する。そして、交差する場合、交差線分検出手段127は、当該線分を、交差線分として取得する。
移動線分取得手段128は、2以上の分割領域ごとに、2以上の移動線分を取得する。「移動線分」とは、交差線分の各端点と、ホットポイント領域の中心とを結ぶ線分である。当該「ホットポイント領域の中心」は、通常、グリッドポイントである。また、当該「ホットポイント領域の中心」は、例えば、ホットポイント領域内に存在するグリッドポイントであってもよい。また、言い換えると、移動線分とは、交差線分を、交差線分上の点(以下、適宜、分割点)で分割した2つの線分の各端点のうち、分割点である端点を、ホットポイント領域の中心に移動した線分である。また、「移動線分を取得する」とは、移動線分を示す座標集合を取得することである。
また、当該取得した座標集合は、通常、移動線分の両端の座標を有する。また、移動線分取得手段128が取得する移動線分は、通常、処理の対象となる分割領域内に存在する。
また、移動線分取得手段128は、例えば、以下のいずれかの方法により、移動線分を取得する。
(A)交差線分を分割しない方法
(B)交差線分を分割する方法
(A)の方法:当該方法は、交差線分を分割することなく移動線分を取得する方法である。一の分割領域内において、一のホットポイント領域と交差する一の交差線分に対応する移動線分を取得する当該方法の具体的な手順は、例えば、以下のとおりである。
(1)交差線分検出手段127が取得した交差線分を示す座標集合から、当該座標集合が有する2つの座標を取得する。
(2)ホットポイント領域作成手段125が取得したホットポイント領域を示す座標集合を取得する。
(3)(2)で取得したホットポイント領域を示す座標集合を用いて、当該ホットポイントの中心の座標を算出する。
(4)(1)で取得した2つの座標のそれぞれと、(3)で取得した1つの座標とを組み合わせ、2つの座標を有する2つの座標集合を作成する。当該座標集合は、移動線分を示す。
(B)の方法:当該方法は、交差線分を分割点により2つの線分に分割し、当該分割した2つの線分を用いて、移動線分を取得する方法である。一の分割領域内において、一のホットポイント領域と交差する一の交差線分に対応する移動線分を取得する当該方法の具体的な手順は、例えば、以下のとおりである。
(1)交差線分検出手段127が取得した交差線分を示す座標集合を取得する。
(2)ホットポイント領域作成手段125が取得したホットポイント領域を示す座標集合を取得する。
(3)(1)で取得した交差線分を示す座標集合と、(2)で取得したホットポイント領域を示す座標集合とを用いて、当該交差線分と当該ホットポイント領域の境界線との2つの交点の座標を算出する。
(4)(3)で算出した2つの交点の座標を用いて、当該2つの交点の中点の座標を算出する。当該中点は、分割点である。
(5)(1)で取得した交差線分を示す座標集合が有する2つの座標のそれぞれと、(4)で算出した中点の座標とを組み合わせ、2つの座標を有する2つの座標集合を作成する。当該座標集合は、交差線分を分割した2つの線分を示す。
(6)(2)で取得したホットポイント領域を示す座標集合を用いて、当該ホットポイントの中心の座標を算出する。
(7)(5)で作成した2つの座標集合を用いて、当該座標集合が有する分割点の座標を、(6)で取得したホットポイントの中心の座標に変更した2つの座標集合を取得する。当該座標集合は、移動線分を示す。
近似図形情報作成手段129は、移動線分を示す2以上の座標を有する近似図形情報を作成する。移動線分取得手段128は、通常、2以上の分割領域ごとに、移動線分を示す2以上の座標集合を取得する。従って、近似図形情報作成手段129は、当該2以上の分割領域ごとの移動線分を示す2以上の座標集合を統合することにより、近似図形情報を作成する。「統合する」とは、1つにまとめることである。また、このとき、近似図形情報作成手段129は、通常、重複する座標集合を削除する。
出力部13は、作成部12が作成した近似図形情報が示す図形を出力する。出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。
また、出力部13は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部13は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
なお、作成部12、分割領域サイズ決定手段121、領域分割手段122、対象点検出手段123、移動点取得手段124、ホットポイント領域作成手段125、判断手段126、交差線分検出手段127、移動線分取得手段128、近似図形情報作成手段129は、通常、MPUやメモリ等から実現され得る。また、作成部12などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、作成部12などは、ハードウェア(専用回路)で実現されてもよい。
次に、図形情報作成装置1の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。図3は、図形情報作成装置1の全体動作を示すフローチャートである。
(ステップS301)作成部12は、受付部11が、元図形情報を受け付けたか否かを判断する。受け付けた場合は、ステップS302に進み、そうでない場合は、ステップS301に戻る。
(ステップS302)分割領域サイズ決定手段121は、分割領域のサイズを決定する。また、このとき、分割領域サイズ決定手段121は、分割領域の分割数を決定してもよい。この処理の詳細は、図4のフローチャートを用いて説明する。
(ステップS303)領域分割手段122は、ステップS302で決定した分割領域のサイズ、または分割領域の分割数にて、分割対象領域を2以上の分割領域に分割する。ここで、領域分割手段122は、分割対象領域を、m個の分割領域に分割したものとする。
(ステップS304)近似図形情報作成手段129は、カウンタiに1をセットする。
(ステップS305)対象点検出手段123は、分割領域[i]内に存在する対象点を検出する。ここで、対象点検出手段123は、分割領域[i]内から、p[i]個の対象点を検出したものとする。
(ステップS306)移動点取得手段124は、カウンタjに1をセットする。
(ステップS307)移動点取得手段124は、対象点[i][j]を用いて、対象点[i][j]に対応する移動点を取得する。当該移動点を、以下、適宜、移動点[i][j]とする。
(ステップS308)ホットポイント領域作成手段125は、移動点[i][j]を用いて、当該移動点[i][j]に対応するホットポイント領域を作成する。当該ホットポイント領域を、以下、適宜、ホットポイント領域[i][j]とする。
(ステップS309)移動点取得手段124は、jがp[i]であるか否かを判断する。p[i]である場合は、ステップS311に進み、そうでない場合は、ステップS310に進む。
(ステップS310)移動点取得手段124は、jを1インクリメントする。そして、ステップS307に戻る。
(ステップS311)判断手段126は、分割領域[i]内に存在する線分であり、元図形情報が示す図形を構成する線分を用いて、当該線分が対角線となる交差判定領域を作成する。ここで、判断手段126は、q[i]個の交差判定領域を作成したものとする。
(ステップS312)移動線分取得手段128は、カウンタjに1をセットする。
(ステップS313)移動線分取得手段128は、カウンタkに1をセットする。
(ステップS314)判断手段126は、ホットポイント領域[i][j]と、分割領域[i]内に存在するk番目の線分を対角線とする交差判定領域である交差判定領域[i][k]とが、重なるか否かを判断する。重なる場合は、ステップS315に進み、そうでない場合は、ステップS318に進む。
(ステップS315)交差線分検出手段127は、ホットポイント領域[i][j]と、交差判定領域[i][k]の対角線である線分[i][k]とが、交差するか否かを判断する。交差する場合は、ステップS316に進み、そうでない場合は、ステップS318に進む。
(ステップS316)移動線分取得手段128は、線分[i][k]を交差線分として検出する。
(ステップS317)移動線分取得手段128は、ステップS316で検出した交差線分と、移動点[i][j]とを用いて、当該交差線分に対応する移動線分を取得する。
(ステップS318)移動線分取得手段128は、kがq[i]であるか否かを判断する。q[i]である場合は、ステップS320に進み、そうでない場合は、ステップS319に進む。
(ステップS319)移動線分取得手段128は、kを1インクリメントする。そして、ステップS314に戻る。
(ステップS320)移動線分取得手段128は、jがp[i]であるか否かを判断する。p[i]である場合は、ステップS322に進み、そうでない場合は、ステップS321に進む。
(ステップS321)移動線分取得手段128は、jを1インクリメントする。そして、ステップS313に戻る。
(ステップS322)近似図形情報作成手段129は、iがmであるか否かを判断する。mである場合は、ステップS324に進み、そうでない場合は、ステップS323に進む。
(ステップS323)近似図形情報作成手段129は、iを1インクリメントする。そして、ステップS305に戻る。
(ステップS324)近似図形情報作成手段129は、ステップS317で取得した移動線分を示す2以上の座標集合を統合し、近似図形情報を作成する。
(ステップS325)出力部13は、ステップS324で作成した近似図形情報を用いて、当該近似図形情報が示す近似図形情報を出力する。そして、ステップS301に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
また、図3のフローチャートにおいて、作成部12は、通常、ステップS304からステップS323までの処理について、2以上の分割領域ごとの並列処理を行う。
また、ホットポイント領域作成手段125は、通常、1つの移動点に対して1つのホットポイント領域を作成する。従って、図3のフローチャートにおいて、ホットポイント領域作成手段125は、分割領域[i]において、合計p[i]個のホットポイント領域を作成する。
図4は、図3のフローチャートのステップS302の分割領域サイズの決定処理を示すフローチャートである。
(ステップS401)分割領域サイズ決定手段121は、カウンタiに1をセットする。
(ステップS402)分割領域サイズ決定手段121は、分割対象領域を、i×iのサイズの分割領域に分割する。ここで、分割領域サイズ決定手段121は、分割対象領域を、n[i]個の分割領域に分割したものとする。
(ステップS403)分割領域サイズ決定手段121は、カウンタjに1をセットする。
(ステップS404)分割領域サイズ決定手段121は、分割領域[j]内の線分の数をカウントし、線分の合計数を代入する変数sumに加算する。
(ステップS405)分割領域サイズ決定手段121は、jがn[i]であるか否かを判断する。n[i]である場合は、ステップS407に進み、そうでない場合は、ステップS406に進む。
(ステップS406)分割領域サイズ決定手段121は、jを1インクリメントする。そして、ステップS404に戻る。
(ステップS407)分割領域サイズ決定手段121は、「sum/m」を計算し、その結果を変数avrにセットする。
(ステップS408)分割領域サイズ決定手段121は、avrが線分数条件を満たすか否かを判断する。満たす場合は、ステップS411に進み、そうでない場合は、ステップS409に進む。
(ステップS409)分割領域サイズ決定手段121は、iがmであるか否かを判断する。mである場合は、ステップS411に進み、そうでない場合は、ステップS410に進む。
(ステップS410)分割領域サイズ決定手段121は、iを1インクリメントする。そして、ステップS402に戻る。
(ステップS411)分割領域サイズ決定手段121は、分割領域のサイズを代入する変数sizeに、iをセットする。そして、上位処理にリターンする。
(具体例)
次に、図形情報作成装置1の動作の具体例について説明する。
(例1)
本例において、分割領域のサイズを決定し、分割対象領域を2以上の分割領域に分割する例について説明する。なお、本例において、線分数条件は、「10≦平均数≦20」であるものとする。
まず、受付部11は、元図形情報を受け付ける。当該元図形情報が示す図形は、例えば、図5である。また、当該元図形情報は、図5の各図形(線分、多角形)を示す1以上の座標集合を有する。また、図5において、図形は、一の座標空間に配置されている。また、当該図形が配置されている図形配置領域と、分割対象領域とは、位置およびサイズが同一であるものとする。また、分割対象領域は、図6に示す様に、1以上の単位領域を有しているものとする。
次に、分割領域サイズ決定手段121は、まず、図5の分割対象領域を、図7に示す様に、2×2のサイズの分割領域に分割する。この結果、分割対象領域は、図7に示す様に、36個の分割領域に分割される。そして、分割領域サイズ決定手段121は、当該36個の各分割領域について、並列に、各分割領域内の線分の数をカウントする。そして、分割領域サイズ決定手段121は、当該カウントした線分の数を合計し、平均を算出する。ここで、当該線分の数の平均が、「6」であるとする。
次に、分割領域サイズ決定手段121は、算出した線分の数の平均「6」が、線分数条件「10≦平均数≦20」を満たさないと判断する。
次に、分割領域サイズ決定手段121は、上記と同様に、図5の分割対象領域を、図8に示す様に、3×3のサイズの分割領域に分割する。この結果、分割対象領域は、図8に示す様に、16個の分割領域に分割される。そして、分割領域サイズ決定手段121は、当該16個の各分割領域について、並列に、各分割領域内の線分の数をカウントする。そして、分割領域サイズ決定手段121は、当該カウントした線分の数を合計し、平均を算出する。ここで、当該線分の数の平均が、「8」であるとする。
次に、分割領域サイズ決定手段121は、算出した線分の数の平均「8」が、線分数条件「10≦平均数≦20」を満たさないと判断する。
次に、分割領域サイズ決定手段121は、上記と同様に、図5の分割対象領域を、図9に示す様に、4×4のサイズの分割領域に分割する。この結果、分割対象領域は、図9に示す様に、9個の分割領域に分割される。そして、分割領域サイズ決定手段121は、当該9個の各分割領域について、並列に、各分割領域内の線分の数をカウントする。そして、分割領域サイズ決定手段121は、当該カウントした線分の数を合計し、平均を算出する。ここで、当該線分の数の平均が、「12」であるとする。
次に、分割領域サイズ決定手段121は、算出した線分の数の平均「12」が、線分数条件「10≦平均数≦20」を満たすと判断する。そして、分割領域サイズ決定手段121は、「4×4」を、分割領域のサイズとして決定する。
次に、領域分割手段122は、図9に示す様に、分割対象領域を、4×4のサイズの9個の分割領域に分割する。このとき、領域分割手段122は、例えば、当該9個の各分割領域を示す9個の座標集合を取得する。
(例2)
本例において、分割領域の分割数を決定し、分割対象領域を2以上の分割領域に分割する例について説明する。なお、本例において、線分数条件は、「10≦平均数≦20」であるものとする。また、分割数条件は、「平方数であること」であるものとする。
また、受付部11は、例1と同様に、図5の図形を示す元図形情報を受け付けているものとする。
まず、分割領域サイズ決定手段121は、図5の分割対象領域内の線分の数をカウントする。ここで、当該線分の数が、「90」であるものとする。
次に、分割領域サイズ決定手段121は、カウントした線分の数「90」を、線分数条件の上限値「20」と、線分数条件の下限値「10」とのそれぞれで割ったときの商、「4.5」と「9」を算出する。そして、分割領域サイズ決定手段121は、当該「4.5」と「9」との間の整数「5」、「6」、「7」、「8」を取得する。
次に、分割領域サイズ決定手段121は、算出および取得した6個の数値のうち、分割数条件「平方数であること」を満たす「9」を、分割数として取得する。
次に、領域分割手段122は、図9に示す様に、分割対象領域を、9個の分割領域に分割する。このとき、領域分割手段122は、例えば、分割対象領域のサイズと、当該分割数とから、一の分割領域のサイズを算出する。そして、領域分割手段122は、当該算出したサイズに従い、分割多少領域を9個の分割領域に分割する。また、このとき、領域分割手段122は、例えば、当該9個の各分割領域を示す9個の座標集合を取得する。
(例3)
本例において、一の分割領域において移動点を取得する例について説明する。
図10は、領域分割手段122が分割対象領域を分割した一の分割領域、および分割領域内の図形(線分)である。当該分割領域は、20番目の分割領域であり、分割領域を識別する分割領域識別子「D20」が付与されている。また、当該分割領域は、36個の単位領域を有する。また、当該分割領域内には、a、b、cの3本の線分が存在する。また、当該3本の線分は、元図形情報により示される。
まず、対象点検出手段123は、図10のa、b、cの3本の各線分を示す3つ座標集合を、元図形情報から取得する。当該3つの各座標集合は、当該3本の各線分の端点を示す2つの座標を有する。
次に、対象点検出手段123は、取得した3つの座標集合を用いて、図10のa、b、cの3本の線分同士の交点であり、図10の分割領域内に存在する交点の座標を算出する。このとき、対象点検出手段123は、通常、当該3本の線分のうちの2本の線分が交差するか否かを判断する。そして、対象点検出手段123は、2本の線分が交差する場合に、当該2本の線分の交点の座標を算出する。そして、当該交点の座標が図10の分割領域内の座標であれば、対象点検出手段123は、当該座標を、対象点の座標として取得する。なお、線分を示す座標集合を用いて2つの線分が交差するか否かを判断する方法や手順など、および、線分を示す座標集合を用いて2つの線分の交点の座標を算出する方法や手順などは、公知であるので、説明を省略する。そして、この結果、対象点検出手段123は、図11に示す様に、線分bと線分cの交点の座標(x1,y1)を算出し、当該交点を対象点として検出する。以下、当該対象点を、図11に示す様に、「対象点α」とする。
次に、対象点検出手段123は、図10の線分a、線分b、線分cの端点であり、図10の分割領域内に存在する端点を、対象点として検出する。この結果、対象点検出手段123は、図11に示す様に、線分aの両端の端点の座標(x2,y2)、(x3,y3)の座標を取得したものとする。以下、当該2つの対象点を、それぞれ、図11に示す様に、「対象点β」、「対象点γ」とする。対象点βは、線分cの端点でもある。また、対象点γは、線分bの端点でもある。
次に、移動点取得手段124は、図11において検出した3つの各対象点に対応する3つの移動点を取得する。ここで、移動点取得手段124は、当該3つの各対象点に最も近いグリッドポイントの座標を算出することにより、3つの移動点を取得する。グリッドポイントの座標は、通常、整数である。従って、移動点取得手段124は、例えば、図11の対象点αについて、当該対象点αを示す座標(x1、y1)のx座標「x1」とy座標「y1」のそれぞれを四捨五入し、グリッドポイントの座標(x1’、y1’)を算出する。また、移動点取得手段124は、図11の対象点β、対象点γについても同様にグリッドポイントの座標を算出し、図12に示す様に、移動点α、移動点β、移動点γを取得する。当該3つの移動点は、図11の対象点α、対象点β、対象点γの各対象点に対応する移動点である。なお、対象点βは、グリッドポイント上の点であるので、対象点βの座標(x2,y2)と、移動点βの座標(x2’,y2’)とは、同一である。
なお、本例において、一の分割領域内に存在する対象点に対応する移動点を取得する例について説明したが、分割領域が2以上である場合、対象点検出手段123、移動点取得手段124は、通常、一の分割領域における上記の処理を、当該2以上の分割領域ごとに並列に行う。
(例4)
本例において、一の分割領域において移動線分を取得する例について説明する。
まず、ホットポイント領域作成手段125は、移動点取得手段124が取得した3つの移動点の座標を用いて、図13に示す様に、当該3つの各移動点に対応する3つのホットポイント領域を作成する。ホットポイント領域は、通常、正方領域である。従って、ホットポイント領域作成手段125は、例えば、当該移動点のx座標とy座標のそれぞれに、ホットポイント領域のサイズの1/2の値を加減算し、ホットポイント領域を示す座標集合を算出する。当該座標集合は、ホットポイント領域の4つの各頂点を示す座標を有する。以下、当該3つのホットポイント領域を、それぞれ、図13に示す様に、「ホットポイント領域α」、「ホットポイント領域β」、「ホットポイント領域γ」とする。当該3つのホットポイント領域は、図12の移動点α、移動点β、移動点γの各移動点に対応するホットポイント領域である。
次に、判断手段126は、図10の3本の各線分を対角線とする3つの交差判定領域を作成する。例えば、図10の線分aについてであれば、判断手段126は、図14に示す様な交差判定領域を作成する。このとき、判断手段126は、例えば、線分aを示す座標集合が有する2つの座標のx座標およびy座標を組み合わせ、当該線分aを対角線とする交差判定領域を示す座標集合を算出する。当該座標集合は、交差判定領域の4つの各頂点を示す座標を有する。
次に、判断手段126は、ホットポイント領域作成手段125が作成した3つの各ホットポイント領域を示す座標集合と、作成した3つの各交差判定領域を示す座標集合とを用いて、当該ホットポイント領域と当該交差判定領域が重なるか否かを判断する。ここで、判断手段126は、図13のホットポイント領域αと、線分aを対角線とする図14の交差判定領域とが重なると判断したものとする。
次に、交差線分検出手段127は、図13のホットポイント領域αと、図10の線分aとが交差するか否かを判断する。ここで、交差線分検出手段127は、当該ホットポイント領域αと、当該線分aとが交差すると判断したものとする。すると、交差線分検出手段127は、当該線分aを、交差線分として検出する。このとき、交差線分検出手段127は、例えば、当該線分aを示す座標集合を取得する。
次に、移動線分取得手段128は、交差線分である線分aを示す座標集合が有する2つの各座標と、ホットポイント領域αに対応する移動点αの座標(x1’,y1’)とを組み合わせ、当該線分aに対応する2本の移動線分を取得する。当該2本の移動線分は、図15に示す線分a1’と線分a2’である。また、このとき、移動線分取得手段128は、例えば、当該2本の各移動線分を示す座標集合を取得する。当該2つの各座標集合は、線分aの2つの端点のうちのいずれか1つを示す座標と、移動点αの座標(x1’,y1’)との2つの座標を有する。
また、上記の移動線分の取得において、移動線分取得手段128は、線分a上の点である分割点を検出後、移動線分を取得してもよい。ここで、当該分割点を、線分a上の点であり、線分aとホットポイント領域αとが重なる部分における線分の中点であるとする。すると、移動線分取得手段128は、線分aを示す座標集合と、ホットポイント領域αを示す座標集合とを用いて、図16に示す様に、当該分割点の座標(x4,y4)を算出する。当該分割点の座標は、線分aとホットポイント領域αの境界線との2つの交点の座標を算出し、当該2つの交点の中点を算出することにより算出できる。
次に、移動線分取得手段128は、分割点の座標と、線分aを示す座標集合とを用いて、線分aに含まれる線分であり、図16において検出された分割点により、当該線分が分割された線分を検出する。このとき、移動線分取得手段128は、当該2本の線分を示す座標集合を取得する。当該2つの座標集合は、線分aの2つの端点のうちのいずれか1つを示す座標と、分割点(x4,y4)との2つの座標を有する。
次に、移動線分取得手段128は、線分aを分割した2つの各線分を示す座標集合と、移動点αの座標(x1’,y1’)とを用いて、当該2本の各線分に対応する2本の移動線分を取得する。当該2本の移動線分は、図15に示す線分a1’と線分a2’である。また、このとき、移動線分取得手段128は、例えば、当該2本の各移動線分を示す座標集合を取得する。当該2つの各座標集合は、線分aの2つの端点のうちのいずれか1つを示す座標と、移動点αの座標(x1’,y1’)との2つの座標を有する。
なお、本例において、一の分割領域において移動線分を取得する例について説明したが、分割領域が2以上である場合、ホットポイント領域作成手段125、判断手段126、交差線分検出手段127、移動線分取得手段128は、通常、一の領域における上記の処理を、当該2以上の分割領域ごとに並列に行う。
(例5)
本例において、近似図形情報を作成する例について説明する。
近似図形情報作成手段129は、例えば、移動線分取得手段128が2以上のすべての分割領域から移動線分を取得したあとに、当該移動線分を示す座標集合を、移動線分取得手段128から取得する。そして、近似図形情報作成手段129は、当該取得した座標集合を統合し、近似図形情報を作成する。このとき、近似図形情報作成手段129は、重複する座標集合を削除する。なお、当該作成された近似図形情報は、通常、移動線分を示す1以上の座標集合を有する。
以上、本実施の形態による図形情報作成装置1によれば、分割した領域ごとに計算処理を行うことにより、Snap roundingの計算処理を、容易に行うことができる。また、これにより、Snap roundingの計算処理を、並列計算により高速に行うことができる。
(実施の形態2)
本実施の形態において、図形が配置されている領域を含む領域を、2以上の分割領域に分割する領域分割装置2について説明する。
図17は、本実施の形態における領域分割装置2のブロック図である。領域分割装置2は、受付部11、分割部22を備える。また、分割部22は、分割領域サイズ決定手段121、領域分割手段122を備える。
分割部22は、分割対象領域を、2以上の分割領域に分割する。また、分割部22は、通常、分割部22が備える分割領域サイズ決定手段121、領域分割手段122により、分割対象領域を分割する。なお、分割領域サイズ決定手段121、領域分割手段122における動作や処理などは、実施の形態において説明済みであるので、説明を省略する。また、分割部22は、通常、MPUやメモリ等から実現され得る。また、分割部22などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。なお、分割部22などは、ハードウェア(専用回路)で実現されてもよい。
次に、領域分割装置2の全体動作について、フローチャートを用いて説明する。領域分割装置2の全体動作を示すフローチャートは、図18である。なお、図18のフローチャートにおけるステップS1801からステップS1803までの処理は、図3のフローチャートにおけるステップS301からステップS303までの処理と同様であるので、説明を省略する。
また、領域分割装置2の動作の具体例については、実施の形態1の具体例における例1、例2と同様であるので、説明を省略する。
以上、本実施の形態による領域分割装置2によれば、図形が配置されている領域を含む領域を、2以上の分割領域に分割することができる。
なお、上記各実施の形態において、分割領域サイズの決定処理は、図19に示すフローチャートであってもよい。
(ステップS1901)分割領域サイズ決定手段121は、一の分割領域内に存在する所望の線分の数を代入する変数EDGES_PER_CELLに15をセットする。
(ステップS1902)分割領域サイズ決定手段121は、一の線分が配置される所望の分割領域の数を代入する変数CELLS_PER_EDGEに0.25をセットする。
(ステップS1903)分割領域サイズ決定手段121は、変数edgeSizeに図形配置領域内のすべての線分の数をセットする。
(ステップS1904)分割領域サイズ決定手段121は、変数edgeLengthに図形配置領域内のすべての線分の長さの合計をセットする。
(ステップS1905)分割領域サイズ決定手段121は、変数totalAreaに図形配置領域の面積をセットする。
(ステップS1906)分割領域サイズ決定手段121は、「√(EDGES_PER_CELL×totalArea/edgeSize)」を計算し、その結果を変数cellSize1にセットする。
(ステップS1907)分割領域サイズ決定手段121は、「edgeLength/(edgeSize×CELLS_PER_EDGE)」を計算し、その結果を変数cellSize2にセットする。
(ステップS1908)分割領域サイズ決定手段121は、「log2(cellSize1)」を計算し、その結果を変数scale1にセットする。
(ステップS1909)分割領域サイズ決定手段121は、「log2(cellSize2)」を計算し、その結果を変数scale2にセットする。
(ステップS1910)分割領域サイズ決定手段121は、scale1がscale2以下であるか否かを判断する。scale2以下である場合は、ステップS1911に進み、そうでない場合は、ステップS1912に進む。
(ステップS1911)分割領域サイズ決定手段121は、変数scaleにscale1をセットする。
(ステップS1912)分割領域サイズ決定手段121は、変数scaleにscale2をセットする。
(ステップS1913)分割領域サイズ決定手段121は、scaleを小数第1位で四捨五入する。
(ステップS1914)分割領域サイズ決定手段121は、分割領域のサイズを代入する変数sizeに2のscale乗をセットする。そして、上位処理にリターンする。
なお、図19のフローチャートにおいて、一の分割領域内に存在する所望の線分の数は、15以外の数であってもよい。
また、図19のフローチャートにおいて、一の線分が配置される所望の分割領域の数は、0.25以外の数であってもよい。
また、図19のフローチャートにおいて、「図形配置領域」は、「分割対象領域」であってもよい。
また、図19のフローチャートにおいて、ステップS1908からステップS1912までの処理は、以下のステップS1908’からステップS1910’の処理であってもよい。
(ステップS1908’)分割領域サイズ決定手段121は、cellSize1がcellSize2以下であるか否かを判断する。cellSize2以下である場合は、ステップS1909’に進み、そうでない場合は、ステップS1910’に進む。
(ステップS1909’)分割領域サイズ決定手段121は、「log2(cellSize1)」を計算し、その結果を変数scaleにセットする。
(ステップS1910’)分割領域サイズ決定手段121は、「log2(cellSize2)」を計算し、その結果を変数scaleにセットする。
なお、図19のフローチャートにおいて、分割領域サイズ決定手段121は、変数scaleに、「log2(cellSize1)」または「log2(cellSize2)」をセットすることができればよく、その方法や手順などは、問わない。
また、分割領域サイズ決定手段121は、図19のフローチャートの様に、例えば、一の分割領域内に存在する所望の線分の数(2以上の各分割領域内の線分の数)、一の線分が配置される所望の分割領域の数(元図形情報が示す図形を構成する各線分が配置される分割領域の数)、図形配置領域内または分割対象領域内の線分の数(元図形情報が示す図形を構成するすべての線分の数)、図形配置領域内または分割対象領域内の線分の長さの合計(図形情報が示す図形を構成するすべての線分の長さの合計)、図形配置領域または分割対象領域の面積(元図形情報が示す図形が配置されている領域を含む領域の面積)などを用いて、分割領域のサイズを決定することができればよく、その決定の方法や手順などは、問わない。
また、本実施の形態において、対象点検出手段123は、2以上の各分割領域内から、元図形情報が示す図形を構成する2以上の線分の1以上の交点を、対象点として検出してもよい。この場合、移動点取得手段124は、通常、当該1以上の対象点を当該対象点に最も近いグリッドポイントに移動させ、当該移動先の点、および元図形情報が示す図形を構成する2以上の線分の2以上の端点を、移動点として取得する。なお、移動点取得手段124は、ホットポイント領域作成手段125がホットポイント領域を作成する際の基準となる点を、最終的に取得することができればよく、その方法や手順などは、問わない。
また、上記各実施の形態における図形情報作成装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態における図形情報作成装置1を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成部と、前記作成部が作成した近似図形情報が示す図形を出力する出力部として機能させるためのプログラムであり、前記作成部を、前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出手段と、前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得手段と、前記1以上の各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成手段と、前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出手段と、前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得手段と、前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成手段として機能させるためのプログラムである。
また、上記各実施の形態における領域分割装置2を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、前記元図形情報が示す図形が配置されている領域を含む領域を、1以上の単位領域を有する領域である2以上の分割領域に分割する分割部として動作させるためのプログラムであって、前記分割部を、前記2以上の各分割領域内の線分の数を用いて、前記分割領域のサイズを決定する分割領域サイズ決定手段と、前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する領域分割手段として動作させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図20は、前述のプログラムを実行して、前述の実施の形態の図形情報作成装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
図20において、コンピュータシステム9は、CD−ROMドライブ9011、FDドライブ9012を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図21は、コンピュータシステム9のブロック図である。図21において、コンピュータ901は、CD−ROMドライブ9011、FDドライブ9012に加えて、MPU9013と、ブートアッププログラム等のプログラムを記憶するためのROM9014と、MPU9013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM9015と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク9016と、CD−ROMドライブ9011、FDドライブ9012、MPU9013等を相互に接続するバス9017とを備える。ここでは図示しないが、コンピュータ901は、さらに、LANへの接続を提供するネットワークカードを備えていてもよい。
コンピュータシステム9に、前述の実施の形態の図形情報作成装置等の機能を実行させるプログラムは、CD−ROM9101、またはFD9102に記憶されて、CD−ROMドライブ9011またはFDドライブ9012に挿入され、さらにハードディスク9016に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク9016に記憶されてもよい。プログラムは実行の際にRAM9015にロードされる。プログラムは、CD−ROM9101、FD9102またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、前述の実施の形態の図形情報作成装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム9がどのように動作するかは周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる図形情報作成装置は、分割した領域ごとに計算処理を行うことにより、Snap roundingの計算処理を、容易に行うことができる。また、これにより、Snap roundingの計算処理を、並列計算により高速に行うことができるという効果を有し、CADシステム等として有用である。
1 図形情報作成装置
2 領域分割装置
11 受付部
12 作成部
13 出力部
22 分割部
121 分割領域サイズ決定手段
122 領域分割手段
123 対象点検出手段
124 移動点取得手段
125 ホットポイント領域作成手段
126 判断手段
127 交差線分検出手段
128 移動線分取得手段
129 近似図形情報作成手段

Claims (17)

  1. 無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、
    前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成部と、
    前記作成部が作成した近似図形情報が示す図形を出力する出力部とを備え、
    前記作成部は、
    前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出手段と、
    前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得手段と、
    前記1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成手段と、
    前記元図形情報が示す図形を構成する線分であり、分割領域内に存在する線分が対角線となる矩形の領域である交差判定領域と、前記ホットポイント領域とが重なるか否かを、前記2以上の分割領域ごとに判断する判断手段と、
    前記判断手段が、前記交差判定領域と前記ホットポイント領域とが重なると判断した場合に、前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出手段と、
    前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得手段と、
    前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成手段とを備える図形情報作成装置。
  2. 前記移動点取得手段は、
    前記1以上の各対象点を当該対象点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する請求項1記載の図形情報作成装置。
  3. 前記作成部は、
    前記近似図形情報の作成に関する処理を、前記2以上の分割領域ごとに並列に行い、近似図形情報を作成する請求項1または請求項記載の図形情報作成装置。
  4. 前記作成部は、
    前記元図形情報が示す図形が配置されている領域を含む領域を、2以上の分割領域に分割する領域分割手段をさらに備え、
    前記作成部は、
    前記近似図形情報の作成に関する処理を、前記領域分割手段が分割した2以上の分割領域ごとに行い、近似図形情報を作成する請求項1から請求項いずれか一項に記載の図形情報作成装置。
  5. 前記作成部は、
    前記2以上の各分割領域内の線分の数を用いて、前記分割領域のサイズを決定する分割領域サイズ決定手段をさらに備え、
    前記領域分割手段は、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する請求項記載の図形情報作成装置。
  6. 無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、
    前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成部と、
    前記作成部が作成した近似図形情報が示す図形を出力する出力部とを備え、
    前記作成部は、
    前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出手段と、
    前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得手段と、
    前記1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成手段と、
    前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出手段と、
    前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得手段と、前記2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する分割領域サイズ決定手段と、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する領域分割手段と、
    前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成手段とを備え、
    前記作成部は、
    前記近似図形情報の作成に関する処理を、前記領域分割手段が分割した2以上の分割領域ごとに行い、近似図形情報を作成する図形情報作成装置。
  7. 前記予め決められた条件は、前記線分の数の平均が10以上20以下であることである請求項6記載の図形情報作成装置。
  8. 前記分割領域サイズ決定手段は、
    前記2以上の各分割領域内の線分の数、前記元図形情報が示す図形を構成する各線分が配置される分割領域の数、前記元図形情報が示す図形を構成するすべての線分の数、前記図形情報が示す図形を構成するすべての線分の長さの合計、前記元図形情報が示す図形が配置されている領域を含む領域の面積のうちのいずれか1以上を用いて、前記分割領域のサイズを決定する請求項5から請求項7いずれか一項に記載の図形情報作成装置。
  9. 無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、
    前記元図形情報が示す図形が配置されている領域を含む領域を、1以上の単位領域を有する領域である2以上の分割領域に分割する分割部とを備え、
    前記分割部は、
    前記2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する分割領域サイズ決定手段と、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する領域分割手段とを備える領域分割装置。
  10. 前記予め決められた条件は、前記線分の数の平均が10以上20以下であることである請求項9記載の領域分割装置。
  11. 前記分割領域サイズ決定手段は、
    前記2以上の各分割領域内の線分の数、前記元図形情報が示す図形を構成する各線分が配置される分割領域の数、前記元図形情報が示す図形を構成するすべての線分の数、前記図形情報が示す図形を構成するすべての線分の長さの合計、前記元図形情報が示す図形が配置されている領域を含む領域の面積のうちのいずれか1以上を用いて、前記分割領域のサイズを決定する請求項9または請求項10記載の領域分割装置。
  12. 受付部と、作成部と、出力部と用いて行われる図形情報作成方法であって、
    前記受付部が、
    無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付ステップと、
    前記作成部が、
    前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成ステップと、
    前記出力部が、
    前記作成部が作成した近似図形情報が示す図形を出力する出力ステップとを備え、
    前記作成ステップは
    前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出サブステップと
    前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得サブステップと
    前記1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成サブステップと
    前記元図形情報が示す図形を構成する線分であり、分割領域内に存在する線分が対角線となる矩形の領域である交差判定領域と、前記ホットポイント領域とが重なるか否かを、前記2以上の分割領域ごとに判断する判断サブステップと、
    前記判断サブステップで、前記交差判定領域と前記ホットポイント領域とが重なると判断された場合に、前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出サブステップと
    前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得サブステップと
    前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成サブステップとを備える図形情報作成方法
  13. 受付部と、作成部と、出力部とを用いて行われる図形情報作成方法であって、
    前記受付部が、
    無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付ステップと、
    前記作成部が、
    前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成ステップと、
    前記出力部が、
    前記作成ステップで作成された近似図形情報が示す図形を出力する出力ステップとを備え、
    前記作成ステップは、
    前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出サブステップと、
    前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得ステップと、
    前記1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成サブステップと、
    前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出サブステップと、
    前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得サブステップと、
    前記2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する分割領域サイズ決定サブステップと、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定サブステップで決定されたサイズの2以上の分割領域に分割する領域分割サブステップと、
    前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成サブステップとを備え、
    前記作成ステップにおいて、
    前記近似図形情報の作成に関する処理を、前記領域分割サブステップで分割された2以上の分割領域ごとに行い、近似図形情報を作成する図形情報作成方法。
  14. 受付部と、分割部と用いて行われる領域分割方法であって、
    前記受付部が、
    無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付ステップと、
    前記分割部が、
    前記元図形情報が示す図形が配置されている領域を含む領域を、1以上の単位領域を有する領域である2以上の分割領域に分割する分割ステップとを備え、
    前記分割ステップは
    前記2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する分割領域サイズ決定サブステップと、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定サブステップで決定されたサイズの2以上の分割領域に分割する領域分割サブステップとを備える領域分割方法。
  15. コンピュータを、
    無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、
    前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成部と、
    前記作成部が作成した近似図形情報が示す図形を出力する出力部として機能させるためのプログラムであり、
    前記作成部を、
    前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出手段と、
    前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得手段と、
    前記1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成手段と、
    前記元図形情報が示す図形を構成する線分であり、分割領域内に存在する線分が対角線となる矩形の領域である交差判定領域と、前記ホットポイント領域とが重なるか否かを、前記2以上の分割領域ごとに判断する判断手段と、
    前記判断手段が、前記交差判定領域と前記ホットポイント領域とが重なると判断した場合に、前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出手段と、
    前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得手段と、
    前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成手段として機能させるためのプログラム。
  16. コンピュータを、
    無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、
    前記元図形情報が示す図形が有限精度で表現された図形である近似図形を示す情報であり、当該近似図形を構成する2以上の座標を有する情報である近似図形情報を作成する作成部と、
    前記作成部が作成した近似図形情報が示す図形を出力する出力部として機能させ、
    前記作成部は、
    前記元図形情報が示す図形が配置されている領域を含む領域を分割した領域であり、1以上の単位領域を有する領域である2以上の分割領域ごとに、当該分割領域内に存在する点であり、前記元図形情報が示す図形を構成する2以上の線分の交点および当該2以上の線分の端点である1以上の対象点を検出する対象点検出手段と、
    前記1以上の対象点のうちの交点を当該交点に最も近い単位領域の頂点に移動した対象点である1以上の移動点を、前記2以上の分割領域ごとに取得する移動点取得手段と、
    前記1以上の各端点および各移動点を含む領域である1以上のホットポイント領域を、前記2以上の分割領域ごとに作成するホットポイント領域作成手段と、
    前記元図形情報が示す図形を構成する線分であり、前記ホットポイント領域と交差する線分である1以上の交差線分を、前記2以上の分割領域ごとに検出する交差線分検出手段と、
    前記1以上の各交差線分の各端点と、当該交差線分が交差するホットポイント領域の中心とを結ぶ線分である2以上の移動線分を、前記2以上の分割領域ごとに取得する移動線分取得手段と、前記2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する分割領域サイズ決定手段と、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する領域分割手段と、
    前記移動線分を示す2以上の座標を有する近似図形情報を作成する近似図形情報作成手段とを備えるものとして、コンピュータを機能させ、
    前記作成部は、
    前記近似図形情報の作成に関する処理を、前記領域分割手段が分割した2以上の分割領域ごとに行い、近似図形情報を作成するものとして、コンピュータを機能させるプログラム
  17. コンピュータを、
    無限精度で表現される図形を示す情報であり、当該図形を構成する2以上の座標を有する情報である元図形情報を受け付ける受付部と、
    前記元図形情報が示す図形が配置されている領域を含む領域を、1以上の単位領域を有する領域である2以上の分割領域に分割する分割部として動作させるためのプログラムであって、
    前記分割部を、
    前記2以上の各分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する分割領域サイズ決定手段と、
    前記元図形情報が示す図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの2以上の分割領域に分割する領域分割手段として動作させるためのプログラム。
JP2013105489A 2013-05-17 2013-05-17 図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム Active JP6155092B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013105489A JP6155092B2 (ja) 2013-05-17 2013-05-17 図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013105489A JP6155092B2 (ja) 2013-05-17 2013-05-17 図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014228888A JP2014228888A (ja) 2014-12-08
JP6155092B2 true JP6155092B2 (ja) 2017-06-28

Family

ID=52128715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013105489A Active JP6155092B2 (ja) 2013-05-17 2013-05-17 図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6155092B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2735974B2 (ja) * 1992-03-19 1998-04-02 富士通株式会社 曲線の直線近似方式
JP3728820B2 (ja) * 1996-08-09 2005-12-21 富士ゼロックス株式会社 描画処理装置

Also Published As

Publication number Publication date
JP2014228888A (ja) 2014-12-08

Similar Documents

Publication Publication Date Title
JP6869249B2 (ja) 2つのタイプのインクベクトルデータを生成して選択的に出力する方法及びシステム
US8411107B2 (en) Adaptive snapping
CN112765695B (zh) 支撑体生成方法、3d打印机、计算机装置及存储介质
JP5986261B1 (ja) 画面制御のための効率的なインタフェースを提供するシステムおよび方法
US10861234B2 (en) Curved surface model generation method and apparatus
US8982127B2 (en) Computing device and method for establishing three dimensional coordinate system using graphics
TW201439667A (zh) 電子束描繪裝置、電子束描繪方法及記錄媒體
JP6538879B2 (ja) アノテーションを生成するシステムおよび方法
CN109544702A (zh) 三维变换处理方法、装置、电子设备及存储介质
US20160063669A1 (en) Dynamic Motion Path Blur User Interface
US9779484B2 (en) Dynamic motion path blur techniques
WO2011001952A1 (ja) 電子関数グラフ表示装置、座標取得装置、電子関数グラフ表示方法、座標取得方法、及びプログラム
CN109598672B (zh) 一种地图道路渲染方法及装置
JP6155092B2 (ja) 図形情報作成装置、領域分割装置、図形情報作成方法、領域分割方法、およびプログラム
CN112121437A (zh) 针对目标对象的移动控制方法、装置、介质及电子设备
CN108507563B (zh) 巡航路径生成方法及装置
CN111951348A (zh) 确定框选区域的方法、装置及电子设备
CN107393019B (zh) 一种基于粒子的布料模拟方法与装置
EP2608004A1 (en) Method and device for movement of image object
JP6564259B2 (ja) 画像処理装置、画像処理方法
EP3295291B1 (en) Drawing object inferring system and method
US10073600B1 (en) Selecting large and small entities on a computer display
KR102399852B1 (ko) 패턴보정량산출장치, 패턴보정량산출방법 및 기록매체
JP2005078416A (ja) 解析モデル生成方法および装置ならびにプログラムおよびその記憶媒体
JP2011134165A (ja) メッシュ変更装置、メッシュ変更方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6155092

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350