(57)【要約】      （修正有）【課題】２つの図形間の配置関係を判断する配置関係判断装置を提供する。【解決手段】１以上の図形を示す図形情報を受け付ける受付部と、当該１以上の図形間の配置関係を判断し、配置関係を示す配置関係情報を取得する判断部と、当該配置関係情報を出力する出力部とを備え、判断部は、配置関係判断条件と配置関係情報とを有する１以上の配置関係管理情報を保持しており、図形が配置されている１以上の分割領域ごとに、１以上の各図形を構成する線分上の点を起点とする延長半直線と最初に交差する第一交差線分を検出し、当該第一交差線分を用いて延長交点数延長交点情報を算出し、当該延長交点数延長交点情報が合致する配置関係判断条件に対応する配置関係情報を取得する配置関係判断装置により、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、容易に行うことができる。【選択図】図１
2014232399.tif 000002
【特許請求の範囲】
【請求項１】
一の座標空間上の１以上の図形を示す情報であり、当該１以上の各図形を構成する１以上の座標を有する情報である図形情報を受け付ける受付部と、
前記図形情報が示す１以上の図形間の配置関係を判断し、当該１以上の図形間の配置関係を示す配置関係情報を取得する判断部と、
前記判断部が取得した配置関係情報を出力する出力部とを備え、
前記判断部は、
線分の交点に基づく情報に関する条件である配置関係判断条件と、図形間の配置関係を示す配置関係情報とを有する１以上の配置関係管理情報が格納される配置関係管理情報格納手段と、
前記図形情報が示す１以上の図形が配置されている領域を含む領域を分割した領域である１以上の分割領域ごとに、当該１以上の各図形を構成する線分上の点を起点とし一の方向に延びる半直線であり、当該線分に対応する半直線である延長半直線を作成する延長半直線作成手段と、
前記延長半直線の起点となる点が属する１つの線分以外の１以上の線分のうち、当該延長半直線と最初に交差する線分である第一交差線分を、前記１以上の分割領域ごとに検出する第一交差線分検出手段と、
前記延長半直線と、当該延長半直線の起点となる点が属する１つの線分以外の１以上の各線分との交点に基づく情報である延長交点情報を、前記第一交差線分を用いて算出する延長交点情報算出手段と、
前記延長交点情報算出手段が算出した延長交点情報が合致する配置関係判断条件に対応する配置関係情報を、前記１以上の配置関係管理情報から取得する配置関係取得手段とを備える配置関係判断装置。
【請求項２】
前記第一交差線分検出手段は、
前記図形情報が示す１以上の図形のうちの一の図形を構成する一の線分である第一線分と、当該第一線分との配置関係が予め決められた条件を満たす線分である１以上の第二線分とについて、当該第一線分に対応する延長半直線が配置される分割領域の数が予め決められた条件を満たすほど多い場合に、当該第一線分に対応する延長半直線と交差する第一交差線分を検出した結果を、当該第二線分に対応する延長半直線と交差する第一交差線分を検出した結果に適用する請求項１記載の配置関係判断装置。
【請求項３】
前記判断部は、
前記１以上の図形間の配置関係の判断に関する処理を、前記１以上の分割領域ごとに並行に行い、当該１以上の図形間の配置関係を示す配置関係情報を取得する請求項１または請求項２記載の配置関係判断装置。
【請求項４】
前記判断部は、
前記図形情報が示す１以上の図形が配置されている領域を含む領域を、１以上の分割領域に分割する領域分割手段をさらに備え、
前記判断部は、
前記１以上の図形間の配置関係の判断に関する処理を、前記領域分割手段が分割した１以上の分割領域ごとに行い、当該１以上の図形間の配置関係を示す配置関係情報を取得する請求項１から請求項３いずれか一項に記載の図形情報作成装置。
【請求項５】
前記判断部は、
前記１以上の各分割領域内の線分の数を用いて、前記分割領域のサイズを決定する分割領域サイズ決定手段をさらに備え、
前記領域分割手段は、
前記図形情報が示す１以上の図形が配置されている領域を含む領域を、前記分割領域サイズ決定手段が決定したサイズの１以上の分割領域に分割する請求項４記載の配置関係判断装置。
【請求項６】
前記分割領域サイズ決定手段は、
前記１以上の分割領域ごとの線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する請求項５記載の配置関係判断装置。
【請求項７】
前記予め決められた条件は、前記線分の数の平均が１０以上２０以下であることである請求項６記載の配置関係判断装置。
【請求項８】
前記分割領域サイズ決定手段は、
前記１以上の各分割領域内の線分の数、前記図形情報が示す図形を構成する各線分が配置される分割領域の数、前記図形情報が示す図形を構成するすべての線分の数、前記図形情報が示す図形を構成するすべての線分の長さの合計、前記図形情報が示す図形が配置されている領域を含む領域の面積のうちのいずれか１以上を用いて、前記分割領域のサイズを決定する請求項５記載の図形情報作成装置。
【請求項９】
線分の交点に基づく情報に関する条件である配置関係判断条件と、図形間の配置関係を示す配置関係情報とを有する１以上の配置関係管理情報が格納される配置関係管理情報格納手段と、
受付部と、判断部と、出力部と、延長半直線作成手段と、第一交差線分検出手段と、延長交点情報算出手段と、配置関係取得手段とを用いて行われる配置関係判断方法であって、
前記受付部が、
一の座標空間上の１以上の図形を示す情報であり、当該１以上の各図形を構成する１以上の座標を有する情報である図形情報を受け付ける受付ステップと、
前記判断部が、
前記図形情報が示す１以上の図形間の配置関係を判断し、当該１以上の図形間の配置関係を示す配置関係情報を取得する判断ステップと、
前記出力部が、
前記判断部が取得した配置関係情報を出力する出力ステップとを備え、
前記判断ステップは、
前記延長半直線作成手段が、
前記図形情報が示す１以上の図形が配置されている領域を含む領域を分割した領域である１以上の分割領域ごとに、当該１以上の各図形を構成する線分上の点を起点とし一の方向に延びる半直線であり、当該線分に対応する半直線である延長半直線を作成する延長半直線作成ステップと、
前記第一交差線分検出手段が、
前記延長半直線の起点となる点が属する１つの線分以外の１以上の線分のうち、当該延長半直線と最初に交差する線分である第一交差線分を、前記１以上の分割領域ごとに検出する第一交差線分検出ステップと、
前記延長交点情報算出手段が、
前記延長半直線と、当該延長半直線の起点となる点が属する１つの線分以外の１以上の各線分との交点に基づく情報である延長交点情報を、前記第一交差線分を用いて算出する延長交点情報算出ステップと、
前記配置関係取得手段が、
前記延長交点情報算出手段が算出した延長交点情報が合致する配置関係判断条件に対応する配置関係情報を、前記１以上の配置関係管理情報から取得する配置関係取得ステップとを備える配置関係判断方法。
【請求項１０】
線分の交点に基づく情報に関する条件である配置関係判断条件と、図形間の配置関係を示す配置関係情報とを有する１以上の配置関係管理情報が格納される配置関係管理情報格納手段にアクセス可能なコンピュータを、
一の座標空間上の１以上の図形を示す情報であり、当該１以上の各図形を構成する１以上の座標を有する情報である図形情報を受け付ける受付部と、
前記図形情報が示す１以上の図形間の配置関係を判断し、当該１以上の図形間の配置関係を示す配置関係情報を取得する判断部と、
前記判断部が取得した配置関係情報を出力する出力部として機能させるためのプログラムであって、
前記判断部を、
前記図形情報が示す１以上の図形が配置されている領域を含む領域を分割した領域である１以上の分割領域ごとに、当該１以上の各図形を構成する線分上の点を起点とし一の方向に延びる半直線であり、当該線分に対応する半直線である延長半直線を作成する延長半直線作成手段と、
前記延長半直線の起点となる点が属する１つの線分以外の１以上の線分のうち、当該延長半直線と最初に交差する線分である第一交差線分を、前記１以上の分割領域ごとに検出する第一交差線分検出手段と、
前記延長半直線と、当該延長半直線の起点となる点が属する１つの線分以外の１以上の各線分との交点に基づく情報である延長交点情報を、前記第一交差線分を用いて算出する延長交点情報算出手段と、
前記延長交点情報算出手段が算出した延長交点情報が合致する配置関係判断条件に対応する配置関係情報を、前記１以上の配置関係管理情報から取得する配置関係取得手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの図形間の配置関係を判断する配置関係判断装置等に関するものである。
【背景技術】
【０００２】
従来、平面に配置された点が、同平面に配置されたどの多角形の内部に位置するのかを判定する点位置決定問題（Ｐｏｉｎｔ  ｌｏｃａｔｉｏｎ  ｐｒｏｂｌｅｍ）の解法として、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔという解法がある（非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Boolean Combinations of Polygons in Parallel”、［online］、William Randolph Franklin、［２０１３年３月８日検索］、インターネット［URL；http://www.ecse.rpi.edu/~wrf/p/76-icpp92-boolean.pdf］
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、点位置決定問題では、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔを利用した総当たり検索により、平面に配置された点が内部に位置する多角形を見つけ出すことは可能であるが、多角形の頂点数が多く複雑度が増した場合には、本手法は実行時間の面で実用的ではなかった。特に、点位置決定問題に対する並列化アルゴリズムは、この手法をベースにしているため、依然として実行時間の面で効率的ではなかった。
【課題を解決するための手段】
【０００５】
本第一の発明の配置関係判断装置は、一の座標空間上の１以上の図形を示す情報であり、１以上の各図形を構成する１以上の座標を有する情報である図形情報を受け付ける受付部と、図形情報が示す１以上の図形間の配置関係を判断し、１以上の図形間の配置関係を示す配置関係情報を取得する判断部と、判断部が取得した配置関係情報を出力する出力部とを備え、判断部は、線分の交点に基づく情報に関する条件である配置関係判断条件と、図形間の配置関係を示す配置関係情報とを有する１以上の配置関係管理情報が格納される配置関係管理情報格納手段と、図形情報が示す１以上の図形が配置されている領域を含む領域を分割した領域である１以上の分割領域ごとに、１以上の各図形を構成する線分上の点を起点とし一の方向に延びる半直線であり、線分に対応する半直線である延長半直線を作成する延長半直線作成手段と、延長半直線の起点となる点が属する１つの線分以外の１以上の線分のうち、延長半直線と最初に交差する線分である第一交差線分を、１以上の分割領域ごとに検出する第一交差線分検出手段と、延長半直線と、延長半直線の起点となる点が属する１つの線分以外の１以上の各線分との交点に基づく情報である延長交点情報を、第一交差線分を用いて算出する延長交点情報算出手段と、延長交点情報算出手段が算出した延長交点情報が合致する配置関係判断条件に対応する配置関係情報を、１以上の配置関係管理情報から取得する配置関係取得手段とを備える配置関係判断装置である。
【０００６】
このような構成により、分割した領域ごとに計算処理を行うことにより、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、容易に行うことができる。また、これにより、１以上の図形間の配置関係を判断することができる。
【０００７】
また、本第二の発明の配置関係判断装置は、第一の発明に対して、第一交差線分検出手段は、図形情報が示す１以上の図形のうちの一の図形を構成する一の線分である第一線分と、第一線分との配置関係が予め決められた条件を満たす線分である１以上の第二線分とについて、第一線分に対応する延長半直線が配置される分割領域の数が予め決められた条件を満たすほど多い場合に、第一線分に対応する延長半直線と交差する第一交差線分を検出した結果を、第二線分に対応する延長半直線と交差する第一交差線分を検出した結果に適用する配置関係判断装置である。
【０００８】
このような構成により、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理における計算量を削減することができる。
【０００９】
また、本第三の発明の配置関係判断装置は、第一または第二の発明に対して、判断部は、１以上の図形間の配置関係の判断に関する処理を、１以上の分割領域ごとに並行に行い、１以上の図形間の配置関係を示す配置関係情報を取得する配置関係判断装置である。
【００１０】
このような構成により、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、並列計算により高速に行うことができる。
【００１１】
また、本第四の発明の図形情報作成装置は、第一から第三いずれか１つの発明に対して、判断部は、図形情報が示す１以上の図形が配置されている領域を含む領域を、１以上の分割領域に分割する領域分割手段をさらに備え、判断部は、１以上の図形間の配置関係の判断に関する処理を、領域分割手段が分割した１以上の分割領域ごとに行い、１以上の図形間の配置関係を示す配置関係情報を取得する図形情報作成装置である。
【００１２】
このような構成により、図形が配置されている領域を含む領域を、１以上の分割領域に分割することができる。
【００１３】
また、本第五の発明の配置関係判断装置は、第四の発明に対して、判断部は、１以上の各分割領域内の線分の数を用いて、分割領域のサイズを決定する分割領域サイズ決定手段をさらに備え、領域分割手段は、図形情報が示す１以上の図形が配置されている領域を含む領域を、分割領域サイズ決定手段が決定したサイズの１以上の分割領域に分割する配置関係判断装置である。
【００１４】
このような構成により、分割領域のサイズを、分割領域内の線分の数を用いて自動的に算出することができる。
【００１５】
また、本第六の発明の配置関係判断装置は、第五の発明に対して、分割領域サイズ決定手段は、１以上の分割領域ごとの線分の数の平均が予め決められた条件を満たす分割領域のサイズを決定する配置関係判断装置である。
【００１６】
このような構成により、分割領域内の線分の数の平均が予め決められた条件を満たす分割領域のサイズを、自動的に算出することができる。
【００１７】
また、本第七の発明の配置関係判断装置は、第六の発明に対して、予め決められた条件は、線分の数の平均が１０以上２０以下であることである配置関係判断装置である。
【００１８】
このような構成により、分割領域内の線分の数の平均が１０以上２０以下である分割領域のサイズを、自動的に算出することができる。
【００１９】
また、本第八の発明の図形情報作成装置は、第五の発明に対して、分割領域サイズ決定手段は、１以上の各分割領域内の線分の数、図形情報が示す図形を構成する各線分が配置される分割領域の数、図形情報が示す図形を構成するすべての線分の数、図形情報が示す図形を構成するすべての線分の長さの合計、図形情報が示す図形が配置されている領域を含む領域の面積のうちのいずれか１以上を用いて、分割領域のサイズを決定する図形情報作成装置である。
【００２０】
このような構成により、分割領域のサイズを、分割領域内の線分の数、線分が配置される分割領域の数、図形を構成するすべての線分の数、図形を構成するすべての線分の長さの合計、図形が配置されている領域を含む領域の面積のうちのいずれか１以上を用いて自動的に算出することができる。
【発明の効果】
【００２１】
本発明による配置関係判断装置等によれば、分割した領域ごとに計算処理を行うことにより、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、容易に行うことができる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態１における配置関係判断装置１のブロック図
【図２】同延長半直線の作成例を示す図
【図３】同延長半直線の作成例を示す図
【図４】同配置関係判断装置１の全体動作について説明するフローチャート
【図５】同分割領域サイズの決定処理について説明するフローチャート
【図６】同第一交差線分の検出処理について説明するフローチャート
【図７】同巻数の算出処理について説明するフローチャート
【図８】同巻数の加減算処理について説明するフローチャート
【図９】同図形情報が示す図形の例を示す図
【図１０】同領域分割の例を示す図
【図１１】同領域分割の例を示す図
【図１２】同領域分割の例を示す図
【図１３】同分割領域に配置されている図形の例を示す図
【図１４】同延長半直線の作成例を示す図
【図１５】同延長半直線の作成例を示す図
【図１６】同第一交差線分の検出例を示す図
【図１７】同第一交差線分の検出例を示す図
【図１８】同図形および延長半直線よび第一交差線分の例を示す図
【図１９】同配置関係管理情報の例を示す図
【図２０】同内部頂点数の例を示す図
【図２１】同配置関係情報の例を示す図
【図２２】同分割領域サイズの決定処理について説明するフローチャート
【図２３】上記実施の形態におけるコンピュータシステムの概観図
【図２４】上記実施の形態におけるコンピュータシステムのブロック図
【発明を実施するための形態】
【００２３】
以下、本発明による配置関係判断装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
【００２４】
（実施の形態１）
本実施の形態において、２つの図形間の配置関係を判断する処理を、１以上の分割領域ごとに行い、当該配置関係を示す配置関係情報を出力する配置関係判断装置１について説明する。
【００２５】
図１は、本実施の形態における配置関係判断装置１のブロック図である。配置関係判断装置１は、受付部１１、判断部１２、出力部１３を備える。また、判断部１２は、配置関係管理情報格納手段１２１、分割領域サイズ決定手段１２２、領域分割手段１２３、延長半直線作成手段１２４、第一交差線分検出手段１２５、延長交点情報算出手段１２６、配置関係取得手段１２７を備える。
【００２６】
受付部１１は、一の座標空間上の図形を示す情報である図形情報を受け付ける。当該座標空間は、通常、２次元である。また、当該図形は、通常、１以上である。また、当該図形は、通常、多角形である。また、当該図形は、例えば、線分であってもよい。また、図形情報は、通常、少なくとも１以上の座標を有する座標集合を、１以上有する。また、当該１つの座標集合は、通常、１つの図形を示す。つまり、例えば、１以上の図形を示す場合、図形情報は、通常、１以上の座標集合を有する。また、当該座標集合には、図形を識別する識別子（以下、適宜、図形識別子）が対応付いていてもよい。また、当該座標集合には、図形を構成する線分を識別する識別子（以下、適宜、線分識別子）が対応付いていてもよい。
【００２７】
また、図形情報は、当該１以上の座標集合により１つの図形を示すことができればよく、データ構造やデータ形式などは、問わない。例えば、１つの矩形を示す場合、図形情報は、例えば、当該矩形の４つの各頂点の座標を有する座標集合を有していてもよい。また、この場合、図形情報は、例えば、当該矩形の４つの各辺（線分）の端点の座標を有する座標集合を有していてもよい。また、この場合、図形情報は、例えば、基準となる１つの頂点の座標と、横幅および縦幅を示す情報とを有する座標集合を有していてもよい。
【００２８】
また、一の図形を示す座標集合が、当該図形の各頂点の座標を有する場合、当該各座標には、例えば、頂点を識別する識別子（以下、適宜、点識別子）が対応付いていてもよい。当該識別子は、通常、当該図形における頂点の順序を示す。当該「順序」とは、頂点間を結ぶ線分を描画する方向や、当該線分を描画する順序などである。また、当該「順序」は、通常、いわゆる半時計回りであることが好適である。
【００２９】
なお、図形情報の具体的なデータ形式は、例えば、ＧＤＳ−２や、ＯＡＳＩＳ、ＭＥＢＥＳなどである。
【００３０】
また、受け付けとは、タッチパネルや、キーボードなどの入力デバイスから入力された情報の取得、光ディスクや磁気ディスク、半導体メモリなどの記録媒体に格納されている情報の取得、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
【００３１】
また、受付部１１における情報や指示などの入力手段は、メニュー画面によるものや、キーボードなど、何でもよい。受付部１１は、メニュー画面の制御ソフトウェアや、キーボード等の入力手段のデバイスドライバなどで実現され得る。
【００３２】
判断部１２は、図形情報を用いて、当該図形情報が示す１以上の図形間の配置関係を判断する。そして、判断部１２は、当該判断の結果を示す配置関係情報を取得する。配置関係情報とは、図形間の配置関係を示す情報である。また、配置関係情報は、例えば、「交差」や、「重複」、「隔離」、「包含」、「被包含」、「内側」、「外側」、などである。
【００３３】
また、判断部１２は、通常、１以上の図形間の配置関係の判断に関する処理を、１以上の分割領域ごとに並列に行い、配置関係情報を取得する。「１以上の図形間の配置関係の判断に関する処理」とは、後述の延長半直線作成手段１２４や、第一交差線分検出手段１２５などが、分割領域において行う処理である。また、分割領域とは、図形情報が示す１以上の図形が配置されている領域を含む領域を、予め決められたサイズ（大きさ）で１以上の格子状に等分した領域である。
【００３４】
分割領域は、通常、１以上の単位領域を有する正方領域である。単位領域とは、サイズが１×１の領域である。「１×１」とは、縦幅および横幅のサイズが「１」であることを意味する。また、当該「サイズ」とは、通常、座標空間における大きさである。また、正方領域とは、形状が正方形である領域である。また、分割領域の形状は、矩形であればよい。ここで、「図形情報が示す図形が配置されている領域」を、以下、図形配置領域とする。また、「図形情報が示す図形が配置されている領域を含む領域」を、以下、分割対象領域とする。
【００３５】
また、「１以上の分割領域ごとに並列に行う」とは、１以上の各分割領域における処理を並列に行うことを意味する。また、判断部１２は、１以上の図形間の配置関係の判断を、例えば、当該１以上の分割領域ごとに直列に行ってもよい。「１以上の分割領域ごとに直列に行う」とは、１以上の各分割領域における処理を順に行うことを意味する。
【００３６】
また、図形情報が示す１以上の図形は、通常、一の座標空間上に配置される。従って、図形配置領域および分割対象領域は、通常、当該図形が配置されている座標空間上の領域である。また、当該２つの領域の形状は、通常、矩形である。また、当該矩形は、通常、横および縦が、それぞれ、座標空間の横軸（ｘ軸）および縦軸（ｙ軸）に並行な矩形である。
【００３７】
また、図形配置領域は、通常、当該図形を含む領域であればよい。つまり、図形配置領域は、当該図形が内接する領域のサイズ以上のサイズの領域であればよい。また、図形配置領域のサイズは、分割領域の整数倍のサイズでなくてもよい。また、分割対象領域のサイズは、通常、分割領域の整数倍のサイズである。また、また、分割対象領域と図形配置領域とは、位置およびサイズともに同一であってもよい。
【００３８】
また、判断部１２は、通常、後述の各手段により、配置関係情報を取得する。
【００３９】
配置関係管理情報格納手段１２１には、１以上の配置関係管理情報が格納される。配置関係管理情報とは、配置関係判断条件と、配置関係情報とを有する情報である。
【００４０】
配置関係判断条件とは、１以上の図形間の配置関係を判断するための条件である。配置関係判断条件は、通常、線分の交点に基づく情報に関する条件である。当該「線分の交点」は、通常、線分と半直線との交点である。また、当該線分は、通常、図形情報が示す１以上の図形を構成する線分である。また、当該半直線は、当該図形を構成する線分上の点を起点とする半直線である。当該線分上の点には、通常、線分の端点（図形の頂点）も含まれる。また、当該半直線は、例えば、当該図形を構成する線分上の点を起点とする線分であってもよい。
【００４１】
また、上記「線分の交点に基づく情報」とは、線分の交点を用いて算出される点の数や、線分の交点の数に基づいて判断される点の数などである。「線分の交点を用いて算出される点の数」は、例えば、いわゆる巻数（Ｗｉｎｄｉｎｇ  Ｎｕｍｂｅｒ）や、当該交点そのものの数（以下、適宜、延長交点数）などである。「巻数」は、「回転数」と呼ばれる場合もある。また、「線分の交点の数に基づいて判断される点の数」は、例えば、一の図形の内側に存在する点の数や、一の図形の外側に存在する点の数などである。なお、当該図形の内側または外側に存在する点は、通常、図形を構成する線分上の点である。
【００４２】
また、「巻数」は、例えば、図形を構成する線分に向きがあり、当該線分の向きが上向きであれば「＋１」とカウントし、当該線分の向きが下向きであれば「−１」とカウントすることにより算出された交点の数である。また、「巻数」は、例えば、図形の線分の傾きがプラスであれば「＋１」とカウントし、図形の線分の傾きがマイナスであれば「−１」とカウントすることにより算出された交点の数であってもよい。
【００４３】
なお、線分の向きが上向きか下向きかについては、例えば、線分の両端の端点の座標について、線分の方向（線分の両端の端点の順序）に対してｙ座標の値が増加していれば上向き、ｙ座標の値が減少していれば下向きであると判断する。
【００４４】
配置関係判断条件は、例えば、線分の交点の数が偶数であることや、線分の交点の数が奇数であること、巻数が０であること、巻数が１以上であること、一の図形の内部に存在する点の数が予め決められた閾値以上であること、一の図形の外部に存在する点の数が予め決められた閾値以上であること、当該内側に存在する点の数と当該外側に存在する点の数との割合が予め決められた閾値以上であることなどである。
【００４５】
また、配置関係管理情報格納手段１２１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。また、配置関係管理情報格納手段１２１に所定の情報が記憶される過程は、問わない。例えば、当該所定の情報は、記録媒体や、通信回線、入力デバイスなどを介して配置関係管理情報格納手段１２１に記憶されてもよい。
【００４６】
分割領域サイズ決定手段１２２は、通常、１以上の各分割領域内の線分の数を用いて、分割領域のサイズを決定する。「分割領域内の線分」とは、分割領域内に存在する線分であり、一部または全部が分割領域内に配置されている線分である。また、当該「１以上の各分割領域内の線分の数」は、分割対象領域内の線分の数であってもよい。また、当該「線分の数」は、２つの線分の交点の数であってもよい。また、「分割領域のサイズを決定する」とは、通常、当該分割領域のサイズを示す情報を取得することである。また、「分割領域のサイズを決定する」ことは、分割対象領域の分割数を決定することであってもよい。また、当該「分割数を決定する」とは、通常、当該分割数を示す情報を取得することである。
【００４７】
具体的に、分割領域サイズ決定手段１２２は、通常、パラメータ「ｘ」を引数とする関数ｆ（ｘ）の値が、予め決められた条件（以下、適宜、線分数条件）を満たす分割領域のサイズを決定する。当該パラメータ「ｘ」は、例えば、１以上の各分割領域内の線分の数や、分割対象領域内の線分の数、１以上の各分割領域内の交点の数、分割対象領域内の交点の数などである。また、当該関数ｆ（ｘ）は、例えば、１以上の各分割領域内の線分の数の平均や、１以上の各分割領域内の交点の数の平均などを算出する関数である。また、当該平均は、通常、算術平均であるが、例えば、加重平均であってもよい。また、当該関数ｆ（ｘ）は、その他の値を算出する関数であってもよい。また、「線分数条件を満たす分割領域のサイズ」とは、例えば、あるサイズで分割対象領域を分割した際の１以上の各分割領域内の線分の数の平均が、線分数条件を満たす場合の、当該分割領域のサイズである。また、線分数条件は、例えば、１以上の各分割領域内の線分の数の平均や、１以上の各分割領域内の交点の数の平均などに関する条件である。また、線分数条件は、通常、１以上の各分割領域内の線分の数の平均が、１０以上２０以下であることが好適である。１０以上２０以下であるとは、概ね１０から概ね２０ぐらいまでの意義である。
【００４８】
ここで、「一の領域内に存在する線分」とは、通常、一部または全部が当該領域内に配置されている線分である。
【００４９】
また、分割領域サイズ決定手段１２２は、例えば、以下いずれかの方法により、分割領域のサイズを決定する。
（Ａ）１以上の各分割領域内の線分の数をカウントする方法
（Ｂ）分割対象領域内の線分の数をカウントする方法
（Ｃ）１以上の各分割領域内の交点の数をカウントする方法
（Ｄ）分割対象領域内の交点の数をカウントする方法
【００５０】
（Ａ）の方法：当該方法は、分割領域のサイズを変えながら分割領域内の線分の数をカウントし、分割領域のサイズを決定する方法である。当該方法の具体的な手順は、例えば、以下のとおりである。
（１）カウンタｉに、１をセットする。
（２）分割対象領域を、ｉ×ｉのサイズの分割領域に分割する。
（３）（２）で分割した分割領域ごとに、分割領域内の線分の数をカウントする。
（４）（３）でカウントした分割領域内の線分の数の平均を算出する。
（５）（４）で算出した平均が、線分数条件を満たす場合は、ｉを分割領域のサイズとして取得し、処理を終了する。
（６）ｉが上限値以上であるか否かを判断する。上限値以上である場合は、処理を終了する。また、上限値未満である場合は、ｉを１インクリメントし、（１）に戻る。
【００５１】
なお、上記（１）において、カウンタｉにセットする値は、１以上であることが好適である。
【００５２】
また、上記（２）において、分割対象領域の位置およびサイズは、図形配置領域と同一の位置およびサイズとする。そして、分割領域のサイズ（ｉ×ｉ）の整数倍でない場合は、整数倍となるように、分割対象領域のサイズを大きくする。
【００５３】
例えば、分割領域のサイズが「１０×１０」であり、分割対象領域のサイズが１２７５×１０２４であるとする。この様な場合、分割領域サイズ決定手段１２２は、まず、分割対象領域の横幅について、「１２７５」よりも大きい１０の倍数のうち最小の値である「１２８０」を算出する。そして、分割領域サイズ決定手段１２２は、次に、分割対象領域の縦幅について、「１０２４」よりも大きい１０の倍数のうち最小の値である「１０３０」を算出する。そして、分割領域サイズ決定手段１２２は、分割対象領域のサイズを「１２８０×１０３０」とする。
【００５４】
また、上記（３）において、分割領域内の線分は、例えば、２本の線分の交点を、一の線分の端点としなくてもよいし、一の線分の端点としてもよい。つまり、例えば、交差している２本の線分について、２本とカウントしてもよいし、当該２本の線分の交点を分割点とし、４本とカウントしてもよい。
【００５５】
また、上記（６）において、ｉの上限値は、通常、図形配置領域の横幅または縦幅のいずれか大きい方である。
【００５６】
例えば、分割領域のサイズが「５×５」であるとする。また、この場合の１以上の各分割領域内の線分の数の平均が「１５」であるとする。また、線分数条件が「１０≦平均数≦２０」であるとする。当該線分数条件は、１以上の各分割領域内の線分の数の平均が１０以上２０以下であることを意味する。この様な場合、分割領域サイズ決定手段１２２は、当該線分の数の平均が、当該線分数条件を満たすと判断する。そして、分割領域サイズ決定手段１２２は、当該分割領域のサイズ「５×５」を取得する。
【００５７】
（Ｂ）の方法：当該方法は、分割対象領域内の線分の数をカウントし、分割領域の分割数を決定する方法である。当該方法の具体的な手順は、例えば、以下のとおりである。
（１）分割対象領域内の線分の数をカウントする。
（２）（１）でカウントした数を、線分数条件を満たす１以上の各整数で割り、商を算出する。
（３）（２）で算出した１以上の商のうち、整数である１以上の商を、分割数として取得する。
（４）（３）で取得した１以上の商が示す整数の範囲のうち、抜けのある１以上の整数を、分割数としてさらに取得する。
【００５８】
なお、上記（１）において、分割対象領域内の線分は、例えば、２本の線分の交点を、一の線分の端点としなくてもよいし、一の線分の端点としてもよい。つまり、例えば、交差している２本の線分について、２本とカウントしてもよいし、当該２本の線分の交点を分割点とし、４本とカウントしてもよい。
【００５９】
また、上記（２）において、線分数条件を満たす１以上の整数は、当該線分数条件が示す整数の範囲の上限および下限のみであってもよい。
【００６０】
また、上記（４）において、分割領域サイズ決定手段１２２は、例えば、取得した分割数から、以下のいずれかの条件（以下、適宜、分割数条件）を満たす分割数のみを取得してもよい。
（ａ）平方数であること
（ｂ）対応する２つの約数の比が、分割対象領域の横幅および縦幅の比と一致または近似すること
（ｃ）分割対象領域内の線分の数を割ったときの商が整数であること
【００６１】
なお、上記（ｂ）において、「対応する２つの約数」とは、積が取得した分割数となる約数の組である。また、（ｂ）において、２つの比が近似するか否かの判断は、例えば、当該２つの比から比の値を算出し、当該比の値の差が予め決められた条件を満たすほど小さいか否かを判断することで行う。
【００６２】
例えば、分割対象領域内の線分の数が「１２０」であるとする。また、線分数条件が「１０≦平均数≦２０」であるとする。この様な場合、分割領域サイズ決定手段１２２は、当該線分の数を、当該線分数条件が示す範囲の上限「２０」と下限「１０」のそれぞれの数で割った値である「６」と「１２」を、分割数として取得する。そして、分割領域サイズ決定手段１２２は、当該「６」から「１２」までの整数のうち、抜けている整数「７」、「８」、「９」、「１０」、「１１」を、分割数としてさらに取得する。
【００６３】
また、当該取得した７個の整数のうち、上記（ａ）の分割数条件を満たす分割数は、「９」である。また、例えば、分割対象領域の横幅および縦幅の比が「２：１」である場合、当該取得した７個の整数のうち、上記（ｂ）の分割数条件を満たす分割数は、「８（４×２）」である。また、当該取得した７個の整数のうち、上記（ｃ）の分割数条件を満たす分割数は、「６」、「８」、「１０」、「１２」である。
【００６４】
なお、（Ｃ）の方法における具体的な手順は、（Ａ）の方法における具体的な手順と同様であり、また、（Ｄ）の方法における具体的な手順は、（Ｂ）の方法における具体的な手順と同様であるので、説明を省略する。
【００６５】
また、分割領域のサイズを決定する場合、分割領域サイズ決定手段１２２は、通常、１つの分割領域のサイズを決定する。また、分割領域の分割数を決定する場合、分割領域サイズ決定手段１２２は、通常、１つの分割領域の分割数を決定する。なお、当該サイズ、および分割数は、通常、１以上の整数である。
【００６６】
また、分割領域サイズ決定手段１２２は、通常、図形情報から、図形配置領域のサイズまたは図形配置領域を示す座標集合を取得する。また、分割領域サイズ決定手段１２２は、通常、図形情報から、分割対象領域のサイズまたは分割対象領域を示す座標集合を取得する。
【００６７】
また、一の領域内の線分の数や交点の数などをカウントする方法や手順などは、公知であるので、説明を省略する。
【００６８】
領域分割手段１２３は、分割対象領域を１以上の分割領域に分割する。「分割領域に分割する」とは、通常、１以上の各分割領域を示す１以上の座標集合を取得することである。また、「分割領域に分割する」とは、例えば、１以上の分割領域間の境界線を示す情報を取得することや、隣接する２つの分割領域において共通する頂点の座標を取得することなどであってもよい。また、「境界線を示す情報」とは、例えば、当該境界線を示す定数関数である。
【００６９】
また、領域分割手段１２３は、通常、予め決められた分割領域のサイズ、または分割領域の分割数により、分割対象領域を１以上の分割領域に分割する。また、当該分割領域のサイズ、および分割領域の分割数は、例えば、分割領域サイズ決定手段１２２が決定した分割領域のサイズ、および分割領域の分割数であることが好適である。
【００７０】
例えば、分割領域のサイズが「１０×１０」である場合、領域分割手段１２３は、分割対象領域の横および縦を１０ずつに区切り、格子状に分割する。また、このとき、分割対象領域の横幅または縦幅が、当該分割領域のサイズの整数倍でない場合、領域分割手段１２３は、当該分割対象領域の横幅または縦幅が、当該分割領域のサイズの整数倍となるように、分割対象領域のサイズを大きくする。また、この場合において、例えば、分割対象領域のサイズが「１００×１００」であるとする。この様な場合、領域分割手段１２３は、当該分割対象領域を、「１０×１０」の格子状に分割する。
【００７１】
また、例えば、分割領域の分割数が「９」である場合、領域分割手段１２３は、分割対象領域の横および縦をそれぞれ三等分にし、「３×３」の格子状に分割する。また、このとき、分割対象領域の横幅および縦幅の比が、当該分割数の対応する２つの約数の比「１：１」と一致および近似しない場合、領域分割手段１２３は、当該分割対象領域の横幅および縦幅の比が、当該分割数を構成する整数の比と一致また近似するように、分割対象領域のサイズを大きくする。また、この場合において、例えば、分割対象領域のサイズが「１２０×１２０」であるとする。この様な場合、領域分割手段１２３は、当該分割対象領域を、サイズが「４０×４０」である９個の分割領域に分割する。
【００７２】
また、領域分割手段１２３は、例えば、取得した１以上の各座標集合（分割領域を示す座標集合）に、各分割領域を識別する識別子（以下、適宜、分割領域識別子）を対応付けてもよい。
【００７３】
延長半直線作成手段１２４は、１以上の分割領域ごとに、１以上の各図形を構成する線分上の点を起点とし、一の方向に延びる半直線（以下、適宜、延長半直線）を作成する。当該分割領域は、通常、領域分割手段１２３が分割した分割領域である。また、当該分割領域は、例えば、予め分割された分割領域であってもよい。また、延長半直線の起点となる点は、通常、図形を構成する線分の端点（図形の頂点）であることが好適である。また、当該延長半直線の起点となる点は、例えば、構成する線分の中点であってもよい。
【００７４】
また、上記「一の方向」とは、半直線が延びる方向であり、通常、予め決められている。「一の方向」は、通常、座標空間における方向であり、座標軸や座標値に関する方向である。また、「一の方向」は、例えば、いわゆる傾きや、角度などを含んでいてもよい。具体的に、「一の方向」は、例えば、横軸のプラス方向や、縦軸のマイナス方向、横軸または縦軸のプラス方向、傾きが１／２でｘ座標の増加方向、角度が４５°の方向などである。なお、当該角度は、通常、横軸のプラス側を基準（０°）とする角度である。
【００７５】
また、上記「延長半直線を作成する」とは、通常、延長半直線を示す座標を取得することである。
【００７６】
例えば、図２の左側において、端点ａ、端点ｂのそれぞれを起点とする半直線であり、横軸のプラス方向に延びる延長半直線は、図２の右側の延長半直線ａと、延長半直線ｂである。
【００７７】
また、例えば、図３の左側において、端点ａ、端点ｂのそれぞれを起点とする半直線であり、縦軸のプラス方向に延びる延長半直線は、図３の右側の延長半直線ａと、延長半直線ｂである。
【００７８】
また、延長半直線作成手段１２４は、通常、１以上の各図形が配置されている１以上の分割領域ごとに、延長半直線を作成する。また、このとき、延長半直線作成手段１２４は、通常、当該１以上の各分割領域内に、延長半直線の起点となる点が存在しているか否かを判断する。そして、延長半直線作成手段１２４は、当該起点となる点が存在している場合に、当該点を起点とする延長半直線を作成する。
また、延長半直線は、通常、一の線分に対応する半直線である。従って、延長半直線作成手段１２４は、通常、一の図形について、当該図形を構成する線分の数と同数の延長半直線を作成する。例えば、当該図形が三角形である場合、延長半直線作成手段１２４は、当該図形に対応する３本の延長半直線を作成する。
【００７９】
また、延長半直線は、例えば、線分であってもよい。当該線分を「延長線分」とすると、延長線分は、１以上の各図形を構成する線分上の点を起点とし、一の方向に予め決められた条件（以下、適宜、線分延長条件）を満たすまで延びる線分である。また、当該線分延長条件は、例えば、他の図形の線分と交差するまでや、分割対象領域の境界線を通過するまで、予め決められた数の分割領域を通過するまで、同じ図形の他の線分と交差するまでなどである。
【００８０】
また、延長半直線作成手段１２４は、例えば、取得した延長半直線を示す座標集合に、半直線を識別する識別子（以下、適宜、半直線識別子）を対応付けてもよい。また、延長半直線作成手段１２４は、例えば、取得した延長半直線を示す座標集合に、当該延長半直線に対応する図形を識別する図形識別子を対応付けてもよい。また、延長半直線作成手段１２４は、例えば、取得した延長半直線を示す座標集合に、当該延長半直線の起点となる点または当該延長半直線に対応する線分を識別する識別子を対応付けてもよい。
【００８１】
第一交差線分検出手段１２５は、１以上の分割領域ごとに、一の延長半直線に対応する第一交差線分を検出する。第一交差線分とは、延長半直線の起点となる点が属する１つの線分以外の１以上の各線分のうち、延長半直線と最初に交差する線分である。また、当該「延長半直線の起点となる点が属する１つの線分」を、以下、適宜、「延長半直線に対応する線分」と表記する。また、第一交差線分は、言い換えると、一の延長半直線と交差する１以上の線分のうち、当該延長半直線に対応する線分以外の線分であり、最初に交差する線分である。
【００８２】
また、上記「第一交差線分を検出する」とは、通常、第一交差線分を示す座標を取得することである。また、第一交差線分検出手段１２５は、通常、第一交差線分を示す座標を、図形情報から取得する。なお、半直線（ここでは、延長半直線）と、線分（ここでは、図形を構成する線分）とが交差するか否かを判断する方法や手順などは、公知であるので、詳細な説明を省略する。
【００８３】
また、第一交差線分検出手段１２５は、通常、１つの延長半直線につき、１つの第一交差線分を検出する。具体的に、第一交差線分検出手段１２５は、延長半直線が配置される１以上の分割領域ごとに、当該分割領域内に当該延長半直線に対応する線分以外の他の線分が存在するか否かを判断する。そして、第一交差線分検出手段１２５は、他の線分が存在する場合に、当該線分と延長半直線とが交差するか否かを判断する。そして、第一交差線分検出手段１２５は、交差する場合に、当該交差する線分を第一交差線分として検出する。なお、第一交差線分検出手段１２５は、第一交差線分を検出できない場合もある。
【００８４】
また、第一交差線分検出手段１２５は、例えば、１つの延長半直線につき、１以上の第一交差線分を検出してもよい。この場合、第一交差線分検出手段１２５は、通常、１つの延長半直線につき、当該延長半直線に対応する線分以外の１以上の線分ごとに、第一交差線分を検出する。つまり、例えば、図形Ａ、図形Ｂ、図形Ｃがあり、当該図形Ａを構成する線分ａに対応する延長半直線について、第一交差線分を検出するとする。この様な場合、第一交差線分検出手段１２５は、線分ａ以外の図形Ａとの第一交差線分、図形Ｂとの第一交差線分と、図形Ｃとの第一交差線分とを検出する。
【００８５】
また、第一交差線分検出手段１２５は、例えば、１以上の分割領域ごとに、一の延長半直線に対応する交差線分を検出してもよい。交差線分とは、延長半直線の起点となる点が属する１つの線分以外の１以上の各線分のうち、延長半直線と交差する線分である。すなわち、交差線分には、第一交差線分が含まれる。また、「交差線分を検出する」とは、通常、交差線分を示す座標を取得することである。なお、交差線分を検出する方法や手順などは、第一交差線分を検出する方法や手順などと同様であるので、説明を省略する。また、第一交差線分検出手段１２５は、交差線分を検出できない場合もある。
【００８６】
また、第一交差線分検出手段１２５は、例えば、図形情報が示す１以上の図形のうちの一の図形を構成する一の線分である第一線分と、第一線分との配置関係が第一の予め決められた条件を満たす線分である１以上の第二線分とについて、第一線分に対応する延長半直線が配置される分割領域の数が第二の予め決められた条件を満たすほど多い場合に、第一線分に対応する延長半直線と交差する第一交差線分を検出した結果を、第二線分に対応する延長半直線と交差する第一交差線分を検出した結果に適用してもよい。
【００８７】
上記「第一の予め決められた条件」とは、配置関係条件である。配置関係条件とは、一の線分の配置に関する条件である。具体的に、配置関係条件は、一の図形が有する１以上の線分のうちの一の線分と、他の１以上の線分との配置関係に関する条件である。配置関係条件は、例えば、当該一の線分を有する図形を構成する線分であり、かつ、当該一の線分と当該一の線分に対応する第一交差線分との間に位置する線分であることや、当該一の線分と当該一の線分に対応する第一交差線分との間に位置する線分であることなどである。また、「一の線分に対応する第一交差線分」とは、「一の線分に対応する延長半直線と交差する第一交差線分」である。
【００８８】
例えば、図形Ａを構成する線分Ａに対応する延長半直線と交差する第一交差線分が、図形Ｂを構成する線分Ｂであるとする。また、例えば、図形Ａを構成する他の線分Ａ’の端点が、当該線分Ａに対応する延長半直線上に存在するとする。この様な場合、線分Ａ’は、線分Ａとの配置関係条件を満たす線分である。
【００８９】
また、上記「第二の予め決められた条件」とは、分割領域数条件である。分割領域数条件とは、延長した半直線が配置されている分割領域の数に関する条件である。分割領域数条件は、例えば、当該分割領域の数が予め決められた閾値超過であることや、当該分割領域の数が予め決められた閾値未満であること、当該分割領域の数が予め決められた閾値以上であること、当該分割領域の数が予め決められた閾値以下であることなどである。なお、分割領域数条件は、通常、分割領域数が６４超過であることが好適である。
【００９０】
また、上記「適用する」とは、流用することである。つまり、当該「適用する」とは、第一線分に対する第一交差線分の検出結果を、第二線分に対する第一交差線分の検出結果として使用することである。
【００９１】
また、第一交差線分検出手段１２５は、例えば、取得した交差線分を示す座標集合に、当該交差線分が属する図形を識別する図形識別子、当該交差線分と交差する延長半直線を識別する半直線識別子、当該延長半直線に対応する図形を識別する図形識別子、当該延長半直線の起点となる点を識別する点識別子、当該延長半直線に対応する線分を識別する線分識別子のうちのいずれか１以上を対応付けてもよい。
【００９２】
延長交点情報算出手段１２６は、第一交差線分を用いて、延長交点情報を算出する。延長交点情報とは、延長半直線と、延長半直線の起点となる点が属する１つの線分以外の１以上の各線分との交点に基づく情報である。延長交点情報は、例えば、前述の巻数や、延長交点数、一の図形の内側に存在する点の数、一の図形の外側に存在する点の数などである。つまり、「第一交差線分を用いて」とは、例えば、延長半直線と第一交差線分との交点の数をカウントすることや、当該カウントした数に応じて、延長半直線の起点となる点が一の図形の内側にあるか外側にあるかを判断すること、当該判定した点の数をカウントすることなどである。
【００９３】
また、第一交差線分検出手段１２５が交差線分を検出した場合、延長交点情報算出手段１２６は、例えば、当該交差線分を用いて、延長交点情報を算出してもよい。
【００９４】
また、延長交点情報算出手段１２６は、通常、１つの線分につき、他の１以上の線分ごとの１以上の延長交点数情報を算出する。
【００９５】
例えば、巻数を算出する場合、延長交点情報算出手段１２６は、例えば、巻数を算出する対象となる線分から、当該線分に対応する延長半直線、当該延長半直線と交差する第一交差線分、当該第一交差線分に対応する延長半直線、当該延長半直線と交差する第一交差線分、・・・、の順に、線分および延長半直線を追跡する。「追跡する」とは、線分および延長半直線を辿っていくことである。このとき、延長交点情報算出手段１２６は、次に追跡する第一交差線分がなくなるまで、当該追跡を繰り返す。そして、延長交点情報算出手段１２６は、最後に追跡した第一交差線分に対応する交点の数を、当該追跡とは逆順に、各第一交差線分または線分に対応する巻数として伝搬する。「第一交差線分に対応する交点」とは、第一交差線分に対応する延長半直線と他の線分との交点である。また、「伝搬する」とは、一の線分に対応する巻数に、当該線分に対応する第一交差線分に対応する巻数を適用することである。また、このとき、延長交点情報算出手段１２６は、例えば、第一交差線分の向きに応じて、巻数に対して加算または減算を行う。
【００９６】
なお、当該巻数を算出する処理の方法や手順などは、後述のフローチャートにおいて詳細に説明する。また、延長交点数や、一の図形の内側に存在する点の数、一の図形の外側に存在する点の数などを算出する方法や手順などは、公知であるので、詳細な説明を省略する。
【００９７】
また、延長交点数を算出する場合、延長交点情報算出手段１２６は、通常、交差線分を用いて算出することが好適である。また、他の図形の内側または外側に存在するかを判断する場合、延長交点情報算出手段１２６は、通常、巻数または延長交点数を用いて算出することが好適である。
【００９８】
例えば、一の線分について、当該一の線分の端点を起点とし延長半直線を作成した結果、他の図形に対して算出された巻数が「０」である場合、当該端点は、当該図形の外側に存在する点である。また、例えば、一の線分について、当該一の線分の端点を起点とし延長半直線を作成した結果、他の図形に対して算出された巻数が「０」以外である場合、当該端点は、当該図形の内側に存在する点である。
【００９９】
また、例えば、一の線分について、当該一の線分の端点を起点とし延長半直線を作成した結果、他の図形に対して算出された延長交点数が偶数である場合、当該端点は、当該図形の外側に存在する点である。また、例えば、一の線分について、当該一の線分の端点を起点とし延長半直線を作成した結果、他の図形に対して算出された延長交点数が奇数である場合、当該端点は、当該図形の内側に存在する点である。
【０１００】
配置関係取得手段１２７は、延長交点情報算出手段１２６が算出した延長交点情報が合致する配置関係判断条件に対応する配置関係情報を、配置関係管理情報格納手段１２１から取得する。配置関係取得手段１２７は、通常、延長交点情報算出手段１２６が算出した延長交点情報が、１以上の配置関係条件のいずれに合致するか否かを判断する。そして、配置関係取得手段１２７は、合致すると判断した配置関係条件に対応付いている配置関係情報を、配置関係管理情報格納手段１２１から取得する。
【０１０１】
例えば、一の図形に対する巻数の合計が「４」であるとする。また、例えば、配置関係判断条件が「巻数合計≧０」であるとする。当該配置関係判断条件は、巻数の合計が０以上であることを意味する。この様な場合、配置関係取得手段１２７は、当該延長交点の数が、当該配置関係判断条件に合致すると判断する。
【０１０２】
また、例えば、延長交点数が「４」であるとする。また、例えば、配置関係判断条件が「２≦延長交点数≦８」であるとする。当該配置関係判断条件は、延長交点数が２以上８以下であることを意味する。この様な場合、配置関係取得手段１２７は、当該延長交点の数が、当該配置関係判断条件に合致すると判断する。
【０１０３】
また、例えば、他の図形の内部に存在する頂点の数が「１」であるとする。また、例えば、配置関係判断条件が「内部点数＝１」であるとする。当該配置関係判断条件は、他の図形の内部に存在する頂点の数が１であることを意味する。この様な場合、配置関係取得手段１２７は、当該延長交点の数が、当該配置関係判断条件に合致すると判断する。
【０１０４】
以上の処理により、配置関係取得手段１２７は、同一図形における線分の配置関係情報や、２つの図形について、一方の図形の他方の図形に対する配置関係を示す配置関係情報を取得することができる。また、配置関係取得手段１２７は、通常、当該配置関係情報の取得に用いた２つの図形識別子を、当該取得した配置関係情報に対応付ける。つまり、配置関係取得手段１２７が取得した配置関係情報には、通常、当該配置関係情報が配置関係を示す２つの各図形を識別する図形識別子が対応付いている。
【０１０５】
また、配置関係取得手段１２７は、例えば、２つの図形について、一方の図形の他方の図形に対する配置関係を示す配置関係情報が取得でき、当該他方の図形の当該一方の図形に対する配置関係を示す配置関係情報が取得できなかった場合に、当該他方の図形の当該一方の図形に対する配置関係を示す配置関係情報として、当該一方の図形の当該他方の図形に対する配置関係を示す配置関係情報に対応する配置関係情報を取得してもよい。当該「配置関係情報に対応する配置関係情報」とは、例えば、同一の配置関係や、反対の配置関係などを示す配置関係情報である。
【０１０６】
例えば、図形Ａの図形Ｂに対する配置関係を示す配置関係情報が「隣接」であるとする。この様な場合、配置関係取得手段１２７は、例えば、図形Ｂの図形Ａに対する配置関係を示す配置関係情報として、配置関係情報「隣接」を取得してもよい。
【０１０７】
また、例えば、図形Ａの図形Ｂに対する配置関係を示す配置関係情報が「内側」であるとする。この様な場合、配置関係取得手段１２７は、例えば、図形Ｂの図形Ａに対する配置関係を示す配置関係情報として、配置関係情報「外側」を取得してもよい。
【０１０８】
出力部１３は、判断部１２が取得した配置関係情報を出力する。このとき、出力部１３は、通常、当該配置関係情報に対応付いている図形識別子と共に、当該配置関係情報を出力する。また、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、送信や蓄積、処理結果の引渡しについては、出力対象が最終的にユーザに提示されるものとする。
【０１０９】
また、出力部１３は、例えば、受付部１１が受け付けた図形情報が示す図形と共に、配置関係情報を出力してもよい。このとき、出力部１３は、例えば、配置関係情報が示す配置関係がわかるように、図形に色付けして出力してもよい。また、出力部１３は、通常、配置関係情報が示す配置関係と共に、当該配置関係にある２つの図形を出力することができればよく、出力時の書式や様式、態様などは、問わない。
【０１１０】
また、出力部１３は、ディスプレイやスピーカーなどの出力デバイスを含むと考えてもよいし、含まないと考えてもよい。出力部１３は、出力デバイスのドライバソフトまたは、出力デバイスのドライバソフトと出力デバイスなどで実現され得る。
【０１１１】
また、判断部１２、分割領域サイズ決定手段１２２、領域分割手段１２３、延長半直線作成手段１２４、第一交差線分検出手段１２５、延長交点情報算出手段１２６、配置関係取得手段１２７は、通常、ＭＰＵやメモリ等から実現され得る。また、判断部１２などの処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。なお、判断部１２などは、ハードウェア（専用回路）で実現されてもよい。
【０１１２】
次に、配置関係判断装置１の全体動作について、フローチャートを用いて説明する。なお、所定の情報におけるｉ番目の情報は、「情報［ｉ］」と記載するものとする。図４は、配置関係判断装置１の全体動作を示すフローチャートである。図４のフローチャートにおいて、配置関係管理情報格納手段１２１には、ｎ個の配置関係管理情報が格納されているものとする。
【０１１３】
（ステップＳ４０１）判断部１２は、受付部１１が、図形情報を受け付けたか否かを判断する。受け付けた場合は、ステップＳ４０２に進み、そうでない場合は、ステップＳ４０１に戻る。
【０１１４】
（ステップＳ４０２）分割領域サイズ決定手段１２２は、分割領域のサイズを決定する。この処理の詳細は、図５のフローチャートを用いて説明する。
【０１１５】
（ステップＳ４０３）領域分割手段１２３は、ステップＳ４０２で決定した分割領域のサイズにて、分割対象領域を１以上の分割領域に分割する。
【０１１６】
（ステップＳ４０４）第一交差線分検出手段１２５は、ステップＳ４０３で分割した１以上の分割領域ごとに、第一交差線分を検出する。この処理の詳細は、図６のフローチャートを用いて説明する。
【０１１７】
（ステップＳ４０５）延長交点情報算出手段１２６は、ステップＳ４０４で取得した第一交差線分を用いて、図形ごとの延長交点情報を算出する。ここで、配置関係取得手段１２７は、図形ごとの延長交点情報を、合計ｍ個、算出したものとする。
【０１１８】
（ステップＳ４０６）配置関係取得手段１２７は、カウンタｉに１をセットする。
【０１１９】
（ステップＳ４０７）配置関係取得手段１２７は、カウンタｊに１をセットする。
【０１２０】
（ステップＳ４０８）配置関係取得手段１２７は、延長交点情報［ｉ］が、配置関係管理情報格納手段１２１に格納されている配置関係管理情報［ｊ］が有する配置関係判断条件である配置関係判断条件［ｊ］に合致するか否かを判断する。合致する場合は、ステップＳ４０９に進み、そうでない場合は、ステップＳ４１０に進む。
【０１２１】
（ステップＳ４０９）配置関係取得手段１２７は、配置関係情報［ｊ］を取得する。このとき、配置関係取得手段１２７は、例えば、延長交点情報［ｉ］に対応付いている図形識別子を取得し、取得した配置関係情報［ｊ］に対応付ける。そして、ステップＳ４１２に進む。
【０１２２】
（ステップＳ４１０）ｊがｎであるか否かを判断する。ｎである場合は、ステップＳ４１２に進み、そうでない場合は、ステップＳ４１１に進む。
【０１２３】
（ステップＳ４１１）配置関係取得手段１２７は、ｉを１インクリメントする。ステップＳ４０８に戻る。
【０１２４】
（ステップＳ４１２）配置関係取得手段１２７は、ｉがｍであるか否かを判断する。ｍである場合は、ステップＳ４１４に進み、そうでない場合は、ステップＳ４１３に進む。
【０１２５】
（ステップＳ４１３）配置関係取得手段１２７は、ｉを１インクリメントする。そして、ステップＳ４０７に戻る。
【０１２６】
（ステップＳ４１４）出力部１３は、ステップＳ４０９で取得した配置関係情報を出力する。
【０１２７】
なお、図４のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
【０１２８】
図５は、図４のフローチャートのステップＳ４０２の分割領域サイズの決定処理を示すフローチャートである。
【０１２９】
（ステップＳ５０１）分割領域サイズ決定手段１２２は、カウンタｉに１をセットする。
【０１３０】
（ステップＳ５０２）分割領域サイズ決定手段１２２は、分割対象領域を、ｉ×ｉのサイズの分割領域に分割する。ここで、分割領域サイズ決定手段１２２は、分割対象領域を、ｎ［ｉ］個の分割領域に分割したものとする。
【０１３１】
（ステップＳ５０３）分割領域サイズ決定手段１２２は、カウンタｊに１をセットする。
【０１３２】
（ステップＳ５０４）分割領域サイズ決定手段１２２は、分割領域［ｊ］内の線分の数をカウントし、線分の合計数を代入する変数ｓｕｍに加算する。
【０１３３】
（ステップＳ５０５）分割領域サイズ決定手段１２２は、ｊがｎ［ｉ］であるか否かを判断する。ｎ［ｉ］である場合は、ステップＳ５０７に進み、そうでない場合は、ステップＳ５０６に進む。
【０１３４】
（ステップＳ５０６）分割領域サイズ決定手段１２２は、ｊを１インクリメントする。そして、ステップＳ５０４に戻る。
【０１３５】
（ステップＳ５０７）分割領域サイズ決定手段１２２は、「ｓｕｍ／ｍ」を計算し、その結果を変数ａｖｒにセットする。
【０１３６】
（ステップＳ５０８）分割領域サイズ決定手段１２２は、ａｖｒが線分数条件を満たすか否かを判断する。満たす場合は、ステップＳ５１１に進み、そうでない場合は、ステップＳ５０９に進む。
【０１３７】
（ステップＳ５０９）分割領域サイズ決定手段１２２は、ｉがｍであるか否かを判断する。ｍである場合は、ステップＳ５１１に進み、そうでない場合は、ステップＳ５１０に進む。
【０１３８】
（ステップＳ５１０）分割領域サイズ決定手段１２２は、ｉを１インクリメントする。そして、ステップＳ５０２に戻る。
【０１３９】
（ステップＳ５１１）分割領域サイズ決定手段１２２は、分割領域のサイズを代入する変数ｓｉｚｅに、ｉをセットする。そして、上位処理にリターンする。
【０１４０】
図６は、図４のフローチャートのステップＳ４０４の第一交差線分の検出処理を示すフローチャートである。
【０１４１】
（ステップＳ６０１）延長交点情報算出手段１２６は、カウンタｉに１をセットする。当該カウンタｉは、分割対象領域に配置されている１以上の各図形を識別する変数である。また、分割対象領域には、合計ｍ個の図形が配置されているものとする。
【０１４２】
（ステップＳ６０２）延長交点情報算出手段１２６は、カウンタｊに１をセットする。当該カウンタｊは、図形［ｉ］が配置されている１以上の各分割領域を識別する変数である。また、図形［ｉ］は、ｎ［ｉ］個の分割領域に配置されているものとする。
【０１４３】
（ステップＳ６０３）延長交点情報算出手段１２６は、カウンタｐに１をセットする。当該カウンタｐは、図形［ｉ］が配置されているｊ番目の分割領域である分割領域［ｉ］［ｊ］内の線分を識別する変数である。また、分割領域［ｉ］［ｊ］には、ｘ［ｉ］［ｊ］本の線分が存在するものとする。
【０１４４】
（ステップＳ６０４）延長半直線作成手段１２４は、図形［ｉ］が配置されているｊ番目の分割領域である分割領域［ｉ］［ｊ］内のｐ番目の線分であるｅｄｇｅｓ［ｉ］［ｊ］［ｐ］上の点を起点とする延長半直線を作成する。当該延長半直線は、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］に対応する延長半直線である。
【０１４５】
（ステップＳ６０５）第一交差線分検出手段１２５は、ステップＳ６０４で作成した延長半直線と交差する第一交差線分を検出する。当該検出した第一交差線分は、当該延長半直線に対応する第一交差線分である。また、当該第一交差線分は、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］に対応する第一交差線分でもある。
【０１４６】
（ステップＳ６０６）第一交差線分検出手段１２５は、変数ｃｅｌｌＣｏｕｎｔに、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］上の点を起点とする延長半直線が配置されている分割領域の数をセットする。
【０１４７】
（ステップＳ６０７）第一交差線分検出手段１２５は、ステップＳ６０５において、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］に対応する第一交差線分が検出できたか否かを判断する。検出できた場合は、ステップＳ６０８に進み、そうでない場合は、ステップＳ６１０に進む。
【０１４８】
（ステップＳ６０８）第一交差線分検出手段１２５は、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］に対応する巻数であるｅｄｇｅｓ［ｉ］［ｊ］［ｐ］．ｃｏｕｎｔにＵＮＫＮＯＷＮをセットする。
【０１４９】
（ステップＳ６０９）第一交差線分検出手段１２５は、第一交差線分を格納する配列変数ｖｉｓｉｂｌｅＥｄｇｅｓ［ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］］に、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］に対応する第一交差線分をセットする。
【０１５０】
（ステップＳ６１０）第一交差線分検出手段１２５は、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］．ｃｏｕｎｔに０をセットする。
【０１５１】
（ステップＳ６１１）第一交差線分検出手段１２５は、ｖｉｓｉｂｌｅＥｄｇｅｓ［ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］］に、ＯＵＴＳＩＤＥをセットする。
【０１５２】
（ステップＳ６１２）第一交差線分検出手段１２５は、ｃｅｌｌＣｏｕｎｔが分割領域数条件を満たすか否かを判断する。分割領域数条件を満たす場合は、ステップＳ６１３に進み、そうでない場合は、ステップＳ６１８に進む。
【０１５３】
（ステップＳ６１３）第一交差線分検出手段１２５は、カウンタｑに１をセットする。当該カウンタｐは、図形［ｉ］が配置されているｊ番目の分割領域である分割領域［ｉ］［ｊ］内の線分を識別する変数である。
【０１５４】
（ステップＳ６１４）第一交差線分検出手段１２５は、ｅｄｇｅｓ［ｉ］［ｊ］［ｑ］が配置関係条件を満たすか否かを判断する。配置関係条件を満たす場合は、ステップＳ６１５に進み、そうでない場合は、ステップＳ６１６に進む。
【０１５５】
（ステップＳ６１５）第一交差線分検出手段１２５は、ｅｄｇｅｓ［ｉ］［ｊ］［ｑ］に対応する延長交点に、ｅｄｇｅｓ［ｉ］［ｊ］［ｐ］に対応する延長交点をセットする。
【０１５６】
（ステップＳ６１６）第一交差線分検出手段１２５は、ｑがｘ［ｉ］［ｊ］であるか否かを判断する。ｘ［ｉ］［ｊ］である場合は、ステップＳ６１８に進み、そうでない場合は、ステップＳ６１７に進む。
【０１５７】
（ステップＳ６１７）第一交差線分検出手段１２５は、ｑを１インクリメントする。そして、ステップＳ６１４に戻る。
【０１５８】
（ステップＳ６１８）第一交差線分検出手段１２５は、ｐがｘ［ｉ］［ｊ］であるか否かを判断する。ｘ［ｉ］［ｊ］である場合は、ステップＳ６２０に進み、そうでない場合は、ステップＳ６１９に進む。
【０１５９】
（ステップＳ６１９）第一交差線分検出手段１２５は、ｐを１インクリメントする。そして、ステップＳ６０４に戻る。
【０１６０】
（ステップＳ６２０）第一交差線分検出手段１２５は、ｊがｎ［ｉ］であるか否かを判断する。ｎ［ｉ］である場合は、ステップＳ６２２に進み、そうでない場合は、ステップＳ６２１に進む。
【０１６１】
（ステップＳ６２１）第一交差線分検出手段１２５は、ｊを１インクリメントする。そして、ステップＳ６０３に戻る。
【０１６２】
（ステップＳ６２２）第一交差線分検出手段１２５は、ｉがｍであるか否かを判断する。ｍである場合は、上位処理にリターンし、そうでない場合は、ステップＳ６２３に進む。
【０１６３】
（ステップＳ６２３）第一交差線分検出手段１２５は、ｉを１インクリメントする。そして、ステップＳ６０２に戻る。
【０１６４】
また、図４のフローチャートのステップＳ４０５において、巻数を算出する場合、当該巻数を算出する処理を示すフローチャートは、図７である。図７において、分割対象領域には、合計ｍ本の線分が配置されているものとする。また、図７において、１以上の各線分を示す座標集合は、線分を示す座標集合を格納する配列変数ｅｄｇｅｓ［］に格納されているものとする。また、当該ｅｄｇｅｓ［］は、巻数を格納するための変数ｃｏｕｎｔを有しており、当該変数には、図６のフローチャートの処理により、巻数の初期値がセットされているものとする。また、当該ｅｄｇｅｓ［］に対応する第一交差線分は、配列変数ｖｉｓｉｂｌｅＥｄｇｅｓ［］に格納されているものとする。また、例えば、ｅｄｇｅｓ［１］に対応する第一交差線分は、ｖｉｓｉｂｌｅＥｄｇｅｓ［ｅｄｇｅｓ［１］］と表記するものとする。
【０１６５】
（ステップＳ７０１）延長交点情報算出手段１２６は、変数ｍｉｓｓｅｓに１をセットする。
【０１６６】
（ステップＳ７０２）延長交点情報算出手段１２６は、カウンタｉに１をセットする。
【０１６７】
（ステップＳ７０３）延長交点情報算出手段１２６は、変数ｅｄｇｅ１にｅｄｇｅｓ［ｉ］をセットする。
【０１６８】
（ステップＳ７０４）延長交点情報算出手段１２６は、ｅｄｇｅ１．ｃｏｕｎｔがＵＮＫＮＯＷＮであるか否かを判断する。ＵＮＫＮＯＷＮである場合は、ステップＳ７０５に進み、そうでない場合は、ステップＳ７１５に進む。
【０１６９】
（ステップＳ７０５）延長交点情報算出手段１２６は、変数ｅｄｇｅ２にｖｉｓｉｂｌｅＥｄｇｅｓ［ｅｄｇｅ１］をセットする。
【０１７０】
（ステップＳ７０６）延長交点情報算出手段１２６は、ｅｄｇｅ２．ｃｏｕｎｔがＵＮＫＮＯＷＮであるか否かを判断する。ＵＮＫＮＯＷＮである場合は、ステップＳ７０７に進み、そうでない場合は、ステップＳ７１１に進む。
【０１７１】
（ステップＳ７０７）延長交点情報算出手段１２６は、線分を格納する配列変数ｐａｔｈ［ｍｉｓｓｅｓ］にｅｄｇｅ１をセットする。
【０１７２】
（ステップＳ７０８）延長交点情報算出手段１２６は、ｍｉｓｓｅｓを１インクリメントする。
【０１７３】
（ステップＳ７０９）延長交点情報算出手段１２６は、ｅｄｇｅ１にｅｄｇｅ２をセットする。
【０１７４】
（ステップＳ７１０）延長交点情報算出手段１２６は、ｅｄｇｅ２にｖｉｓｉｂｌｅＥｄｇｅｓ［ｅｄｇｅ１］をセットする。
【０１７５】
（ステップＳ７１１）延長交点情報算出手段１２６は、巻数の加減算を行う。この処理の詳細は、図８のフローチャートを用いて説明する。
【０１７６】
（ステップＳ７１２）延長交点情報算出手段１２６は、ｍｉｓｓｅｓが１超過であるか否かを判断する。１超過である場合は、ステップＳ７１３に進み、そうでない場合は、ステップＳ７１５に進む。
【０１７７】
（ステップＳ７１３）延長交点情報算出手段１２６は、ｍｉｓｓｅｓを１デクリメントする。
【０１７８】
（ステップＳ７１４）延長交点情報算出手段１２６は、ｅｄｇｅ１にｐａｔｈ［ｍｉｓｓｅｓ］をセットする。そして、ステップＳ７０４に戻る。
【０１７９】
（ステップＳ７１５）延長交点情報算出手段１２６は、ｉがｍであるか否かを判断する。ｍである場合は、上位処理にリターンし、そうでない場合は、ステップＳ７１６に進む。
【０１８０】
（ステップＳ７１６）延長交点情報算出手段１２６は、ｉを１インクリメントする。そして、ステップＳ７０３に戻る。
【０１８１】
図８は、図７のフローチャートのステップＳ７１８の巻数の加減算処理を示すフローチャートである。
【０１８２】
（ステップＳ８０１）延長交点情報算出手段１２６は、ｅｄｇｅ１．ｃｏｕｎｔにｅｄｇｅ２．ｃｏｕｎｔをセットする。
【０１８３】
（ステップＳ８０２）延長交点情報算出手段１２６は、ｅｄｇｅ２の向きが上向きであるか否かを判断する。上向きである場合は、ステップＳ８０３に進み、そうでない場合は、ステップＳ８０４に進む。
【０１８４】
（ステップＳ８０３）延長交点情報算出手段１２６は、ｅｄｇｅ１．ｃｏｕｎｔを１デクリメントする。
【０１８５】
（ステップＳ８０４）延長交点情報算出手段１２６は、ｅｄｇｅ１．ｃｏｕｎｔを１インクリメントする。
【０１８６】
（具体例）
次に、配置関係判断装置１の動作の具体例について説明する。
【０１８７】
（例１）
本例において、分割領域のサイズを決定し、分割対象領域を１以上の分割領域に分割する例について説明する。なお、本例において、線分数条件は、「１０≦平均数≦２０」であるものとする。
【０１８８】
まず、受付部１１は、図形情報を受け付ける。当該図形情報が示す図形は、例えば、図９である。また、当該図形情報は、図９における各図形（線分、多角形）を示す１以上の座標集合を有する。また、図９において、図形は、一の座標空間に配置されている。また、当該図形が配置されている図形配置領域と、分割対象領域とは、位置およびサイズが同一であるものとする。
【０１８９】
次に、分割領域サイズ決定手段１２２は、まず、図９の分割対象領域を、図１０に示す様に、２×２のサイズの分割領域に分割する。この結果、分割対象領域は、図１０に示す様に、３６個の分割領域に分割される。そして、分割領域サイズ決定手段１２２は、当該３６個の各分割領域について、並列に、各分割領域内の線分の数をカウントする。そして、分割領域サイズ決定手段１２２は、当該カウントした線分の数を合計し、平均を算出する。ここで、当該線分の数の平均が、「６」であるとする。
【０１９０】
次に、分割領域サイズ決定手段１２２は、算出した線分の数の平均「６」が、線分数条件「１０≦平均数≦２０」を満たさないと判断する。
【０１９１】
次に、分割領域サイズ決定手段１２２は、上記と同様に、図９の分割対象領域を、図１１に示す様に、３×３のサイズの分割領域に分割する。この結果、分割対象領域は、図１１に示す様に、１６個の分割領域に分割される。そして、分割領域サイズ決定手段１２２は、当該１６個の各分割領域について、並列に、各分割領域内の線分の数をカウントする。そして、分割領域サイズ決定手段１２２は、当該カウントした線分の数を合計し、平均を算出する。ここで、当該線分の数の平均が、「８」であるとする。
【０１９２】
次に、分割領域サイズ決定手段１２２は、算出した線分の数の平均「８」が、線分数条件「１０≦平均数≦２０」を満たさないと判断する。
【０１９３】
次に、分割領域サイズ決定手段１２２は、上記と同様に、図９の分割対象領域を、図１２に示す様に、４×４のサイズの分割領域に分割する。この結果、分割対象領域は、図１２に示す様に、９個の分割領域に分割される。そして、分割領域サイズ決定手段１２２は、当該９個の各分割領域について、並列に、各分割領域内の線分の数をカウントする。そして、分割領域サイズ決定手段１２２は、当該カウントした線分の数を合計し、平均を算出する。ここで、当該線分の数の平均が、「１２」であるとする。
【０１９４】
次に、分割領域サイズ決定手段１２２は、算出した線分の数の平均「１２」が、線分数条件「１０≦平均数≦２０」を満たすと判断する。そして、分割領域サイズ決定手段１２２は、「４×４」を、分割領域のサイズとして決定する。
【０１９５】
次に、領域分割手段１２３は、図１２に示す様に、分割対象領域を、４×４のサイズの９個の分割領域に分割する。このとき、領域分割手段１２３は、例えば、当該９個の各分割領域を示す９個の座標集合を取得する。
【０１９６】
（例２）
本例において、分割領域の分割数を決定し、分割対象領域を１以上の分割領域に分割する例について説明する。なお、本例において、線分数条件は、「１０≦平均数≦２０」であるものとする。また、分割数条件は、「平方数であること」であるものとする。また、受付部１１は、例１と同様に、図９の図形を示す図形情報を受け付けているものとする。
【０１９７】
まず、分割領域サイズ決定手段１２２は、図９の分割対象領域内の線分の数をカウントする。ここで、当該線分の数が、「９０」であるものとする。
【０１９８】
次に、分割領域サイズ決定手段１２２は、カウントした線分の数「９０」を、線分数条件の上限値「２０」と、線分数条件の下限値「１０」とのそれぞれで割ったときの商、「４．５」と「９」を算出する。そして、分割領域サイズ決定手段１２２は、当該「４．５」と「９」との間の整数「５」、「６」、「７」、「８」を取得する。
【０１９９】
次に、分割領域サイズ決定手段１２２は、算出および取得した６個の数値のうち、分割数条件「平方数であること」を満たす「９」を、分割数として取得する。
【０２００】
次に、領域分割手段１２３は、図１２に示す様に、分割対象領域を、９個の分割領域に分割する。このとき、領域分割手段１２３は、例えば、分割対象領域のサイズと、当該分割数とから、一の分割領域のサイズを算出する。そして、領域分割手段１２３は、当該算出したサイズに従い、分割多少領域を９個の分割領域に分割する。また、このとき、領域分割手段１２３は、例えば、当該９個の各分割領域を示す９個の座標集合を取得する。
【０２０１】
（例３）
本例において、１つの線分に対応する延長半直線を作成する例について説明する。
【０２０２】
図１３は、領域分割手段１２３が分割対象領域を分割した１以上の分割領域のうちの、６個の分割領域、および当該６個の分割領域内に配置されている２個の図形を示す図である。当該６個の分割領域は、１８番目から２０番目、および２８番目から３０番目の分割領域であり、それぞれに、分割領域識別子「Ｄ１８」、「Ｄ１９」、「Ｄ２０」、「Ｄ２８」、「Ｄ２９」、「Ｄ３０」が付与されている。また、当該６個の分割領域内には、図形Ａと図形Ｂが配置されている。また、図形Ａは、点ａ１、点ａ２、点ａ３、点ａ４、点ａ５、点ａ６の６個の頂点を有する。また、図形Ｂは、点ｂ１、点ｂ２、点ｂ３、点ｂ４、点ｂ５の５個の頂点を有する。
【０２０３】
また、図１３において、図形Ａ、図形Ｂのそれぞれが有する点の順序は、半時計回りであるものとする。また、当該各図形を構成する各線分において、順序が先の点を、末尾の端点、順序が後の点を、先頭の端点とする。例えば、点ａ１と点ａ２とを結ぶ線分において、末尾の端点とは、点ａ１であり、先頭の端点とは、点ａ２である。また、当該各図形を構成する各線分は、当該各線分を構成する２つの端点の識別子を組み合わせた識別子により識別されるものとする。例えば、点ａ１と点ａ２とを結ぶ線分を、以下、線分ａ１２と表記するものとする。
【０２０４】
まず、延長半直線作成手段１２４は、図１３の図形Ａについて、当該図形Ａが配置されている分割領域を検出する。「図形が配置されている分割領域」とは、図形を構成する線分の一部または全部が配置されている分割領域である。また、当該検出した分割領域は、「Ｄ１８」、「Ｄ１９」、「Ｄ２８」、「Ｄ２９」の４個の分割領域である。
【０２０５】
次に、延長半直線作成手段１２４は、検出した４個の各分割領域を順に対象とし、当該対象とした分割領域において延長半直線を作成する。当該対象とする順序は、通常、分割領域識別子の昇順である。つまり、延長半直線作成手段１２４は、「Ｄ１８」、「Ｄ１９」、「Ｄ２８」、「Ｄ２９」の順に、延長半直線を作成する。以下、当該４個の各分割領域において延長半直線を作成する例について説明する。
【０２０６】
まず、延長半直線作成手段１２４は、「Ｄ１８」の分割領域に配置されている線分を検出する。「分割領域に配置されている線分」とは、線分の一部または全部が分割領域に配置されている線分である。そして、延長半直線作成手段１２４は、「Ｄ１８」の分割領域から、線分ａ１２と、線分ａ２３とを検出する。
【０２０７】
次に、延長半直線作成手段１２４は、「Ｄ１８」の分割領域において、検出した線分の先頭の端点が存在するか否かを判断する。当該判断は、例えば、線分を検出した分割領域において、当該検出した線分の先頭の端点を検出することであってもよい。そして、延長半直線作成手段１２４は、「Ｄ１８」の分割領域において、線分ａ１２の先頭の端点である点ａ２が存在すると判断する。
【０２０８】
次に、延長半直線作成手段１２４は、「Ｄ１８」の分割領域内に存在すると判断した先頭の端点について、当該端点を起点とし一の方向に延びる延長半直線を作成する。ここで、当該一の方向が、横軸のプラス方向であるものとする。すると、延長半直線作成手段１２４は、当該分割領域内に存在すると判断した線分ａ１２の先頭の端点である点ａ２を起点とし、横軸のプラス方向に延びる延長半直線を作成する。当該延長半直線は、図１４に示す半直線ａ１２’である。また、当該延長半直線ａ１２’は、線分ａ１２に対応する延長半直線である。
【０２０９】
次に、延長半直線作成手段１２４は、上記と同様に、「Ｄ１９」の分割領域において、当該分割領域に配置されている線分を検出し、当該線分の先頭の端点を検出し、当該端点を起点とし、横軸のプラス方向に延びる延長半直線を作成する。当該延長半直線は、図１５に示す半直線ａ６１’である。また、当該延長半直線ａ６１’は、線分ａ６１に対応する延長半直線である。
【０２１０】
なお、「Ｄ２８」、「Ｄ２９」において延長半直線を作成する例については、上記と同様であるので、説明を省略する。
【０２１１】
また、延長半直線作成手段１２４は、上記の様に、１以上の各図形が配置されている１以上の分割領域ごとに、延長半直線の起点となる点を検出し、当該検出した点を起点とする延長半直線を作成する。また、延長半直線作成手段１２４は、当該分割領域ごとの処理を、通常、並列に行う。
【０２１２】
（例４）
本例において、１つの線分に対応する第一交差線分を検出する例について説明する。なお、本例における前提条件は、例３と同様であるものとする。つまり、本例においては、例３において作成した延長半直線を用いて第一交差線分を検出する。
【０２１３】
まず、第一交差線分検出手段１２５は、「Ｄ１８」の分割領域において作成した図１４の延長半直線ａ１２’が配置されている分割領域を順に対象とし、当該対象とした分割領域において当該延長半直線ａ１２’に対応する第一交差線分を検出する。このとき、第一交差線分検出手段１２５は、通常、延長半直線の起点となる点が存在する分割領域は、対象としない。また、当該対象とする順序は、通常、分割領域識別子の昇順である。つまり、延長半直線作成手段１２４は、「Ｄ１９」、「Ｄ２０」の順に、第一交差線分を検出する。以下、当該２個の各分割領域において延長半直線を作成する例について説明する。
【０２１４】
まず、第一交差線分検出手段１２５は、「Ｄ１９」の分割領域において、図形Ｂを構成する線分ｂ２３、線分ｂ３４を検出する。
【０２１５】
次に、第一交差線分検出手段１２５は、「Ｄ１９」の分割領域において、検出した２本の線分が、延長半直線ａ１２’と交差するか否かを判断する。そして、第一交差線分検出手段１２５は、図１６に示す様に、線分ｂ２３について、延長半直線ａ１２’との交点を検出する。当該交点は、図１６の「○」である。そして、第一交差線分検出手段１２５は、線分ｂ２３が、延長半直線ａ１２’と交差すると判断する。
【０２１６】
次に、第一交差線分検出手段１２５は、「Ｄ１９」の分割領域において、延長半直線ａ１２’と交差すると判断した線分ｂ２３を、当該延長半直線ａ１２’に対応する第一交差線分として検出する。
【０２１７】
次に、第一交差線分検出手段１２５は、上記と同様に、「Ｄ２０」の分割領域においても、延長半直線ａ１２’に対応する第一交差線分を検出するが、「Ｄ１９」の分割領域において検出済みであるので、通常は、当該検出を行わない。
【０２１８】
次に、第一交差線分検出手段１２５は、上記と同様に、「Ｄ１９」の分割領域において作成した図１５の延長半直線ａ６１’が配置されている分割領域を順に対象とし、当該対象とした分割領域において当該延長半直線ａ６１’に対応する第一交差線分を検出する。
【０２１９】
まず、第一交差線分検出手段１２５は、「Ｄ２０」の分割領域において、図形Ｂを構成する線分ｂ１２、線分ｂ２３を検出する。そして、第一交差線分検出手段１２５は、図１７に示す様に、線分ｂ２３について、延長半直線ａ６１’との交点を検出する。当該交点は、図１７の「○」である。そして、第一交差線分検出手段１２５は、線分ｂ２３が、延長半直線ａ６１’と交差すると判断し、当該線分ｂ２３を、延長半直線ａ６１’に対応する第一交差線分として検出する。
【０２２０】
なお、「Ｄ２８」、「Ｄ２９」において検出した延長半直線に対応する第一交差線分を検出する例については、上記と同様であるので、説明を省略する。
【０２２１】
また、第一交差線分検出手段１２５は、上記の様に、延長半直線作成手段１２４が作成した１以上の延長半直線ごとに、かつ、当該延長半直線が配置されている１以上の分割領域ごとに、当該延長半直線と交差する第一交差線分を検出する。また、第一交差線分検出手段１２５は、当該延長半直線ごとの、かつ、当該延長半直線が配置されている分割領域ごとの処理を、通常、並列に行う。
【０２２２】
また、図１４において、交差線分を検出する場合、第一交差線分検出手段１２５は、延長半直線ａ１２’に対応する交差線分として、線分ｂ１２、線分ｂ２３を検出する。
【０２２３】
また、図１５において、交差線分を検出する場合、第一交差線分検出手段１２５は、延長半直線ａ６１’に対応する交差線分として、線分ｂ１２、線分ｂ２３を検出する。
【０２２４】
（例５）
本例において、延長交点情報である巻数を算出する例について説明する。
【０２２５】
図１８は、分割対象領域に配置されている４個の図形、および、図形Ａを構成する線分ａ１２に対応する延長半直線ａ１２’、当該延長半直線ａ１２’と交差する第一交差線分ｂ１２、当該第一交差線分ｂ１２に対応する延長半直線ｂ１２’、当該延長半直線ｂ１２’と交差する第一交差線分ｃ２３、当該第一交差線分ｃ２３に対応する延長半直線ｃ２３’、当該延長半直線ｃ２３’と交差する第一交差線分ｂ４１、当該第一交差線分ｂ４１に対応する延長半直線ｂ４１’、当該延長半直線ｂ４１’と交差する第一交差線分ｄ２３、当該第一交差線分ｄ２３に対応する延長半直線ｄ２３’を示す図である。なお、図１８において、各図形が有する点の順序や、各図形を構成する線分の命名規則などについては、例３と同様であるものとする。また、各延長半直線の起点となる点および当該点を有する線分について、巻数の初期値は、延長半直線と交差する第一交差線分が存在する場合は「ＵＮＫＮＯＷＮ」、存在しない場合は「０」であるものとする。つまり、上記図１８において対応する延長半直線が示されている線分について、線分ｄ２３の巻数は「０」であり、当該線分以外の線分の巻数は「ＵＮＫＮＯＷＮ」である。
【０２２６】
まず、延長交点情報算出手段１２６は、線分ａ１２を、巻数を算出する対象とする。なお、線分ａ１２に対応する延長半直線ａ１２’は、線分ａ１２の先頭の端点である点ａ２を起点としている。従って、延長交点情報算出手段１２６は、最終的に、点ａ２に対応する巻数を算出する。
【０２２７】
次に、延長交点情報算出手段１２６は、線分ａ１２を起点とし、線分ａ１２に対応する第一交差線分ｂ１２、当該第一交差線分に対応する第一交差線分ｃ２３、・・・、の順に線分を追跡する。このとき、延長交点情報算出手段１２６は、線分の巻数が「ＵＮＫＮＯＷＮ」以外になるまで、追跡する。そして、延長交点情報算出手段１２６は、最終的に、線分ｄ２３に辿り着く。
【０２２８】
次に、延長交点情報算出手段１２６は、線分ｂ４１の巻数に、線分ｄ２３の巻数「０」をセットする。そして、線分ｂ４１に対応する延長半直線ｂ４１’と交差する第一交差線分である線分ｄ２３が下向きであるので、延長交点情報算出手段１２６は、線分ｂ４１の巻数を１インクリメントし、「１」とする。
【０２２９】
次に、延長交点情報算出手段１２６は、線分を追跡した順序において、線分ｂ４１の１つ手前の線分である線分ｃ２３の巻数に、線分ｂ４１の巻数「１」をセットする。そして、線分ｄ２３に対応する延長半直線ｄ２３’と交差する第一交差線分である線分ｂ４１が上向きであるので、延長交点情報算出手段１２６は、線分ｃ２３の巻数を１デクリメントし、「０」とする。
【０２３０】
次に、延長交点情報算出手段１２６は、線分を追跡した順序において、線分ｃ２３の１つ手前の線分である線分ｂ１２の巻数に、線分ｃ２３の巻数「０」をセットする。そして、線分ｂ１２に対応する延長半直線ｂ１２’と交差する第一交差線分である線分ｃ２３が下向きであるので、延長交点情報算出手段１２６は、線分ｂ１２の巻数を１インクリメントし、「１」とする。
【０２３１】
次に、延長交点情報算出手段１２６は、線分を追跡した順序において、線分ｂ１２の１つ手前の線分である線分ａ１２の巻数に、線分ｂ１２の巻数「１」をセットする。そして、線分ａ１２に対応する延長半直線ａ１２’と交差する第一交差線分である線分ｂ１２が下向きであるので、延長交点情報算出手段１２６は、線分ａ１２の巻数を１インクリメントし、「２」とする。
【０２３２】
以上の様にして、延長交点情報算出手段１２６は、点ａ２に対応する巻数「２」を算出する。なお、延長交点情報算出手段１２６は、上記の処理を、分割対象領域に配置されているすべての線分に対して行う。このとき、上記の処理を行う対象となる線分の順序は、問わない。当該順序は、例えば、図形識別子の昇順、かつ、線分識別子の昇順である。
【０２３３】
また、図１８において、延長交点数を算出する場合、延長交点情報算出手段１２６は、例えば、各図形を構成する各線分ごとに、当該各線分に対応する延長半直線と交差する他の図形を構成する線分との交点の数をカウントする。
【０２３４】
例えば、図１８の図形Ａと図形Ｂについて、線分ａ１２に対応する延長半直線ａ１２’が交差する図形Ｂを構成する線分は、線分ｂ１２と線分ｂ４１である。従って、延長交点情報算出手段１２６は、線分ａ１２（点ａ２）の図形Ｂに対する延長交点数「２」を算出する。
【０２３５】
また、例えば、図形Ｃと図形Ｂについて、線分ｃ２３に対応する延長半直線ｃ２３’が交差する図形Ｂを構成する線分は、線分ｂ４１である。従って、延長交点情報算出手段１２６は、は、線分ｃ２３（点ｃ３）の図形Ｂに対する延長交点数「１」を算出する。
【０２３６】
（例６）
本例において、配置関係情報を取得する例について説明する。なお、本例において、配置関係管理情報格納手段１２１には、図２０に示す配置関係管理情報が格納されているものとする。当該配置関係管理情報は、レコードを一意に特定するためのＩＤと、配置関係判断条件（項目名：条件）と、配置関係情報（項目名：配置関係）とを有する。
【０２３７】
図２０は、図１８の各図形について、当該各図形が有する頂点のうち、他の図形の内側に存在する頂点（以下、適宜、内側頂点数）の数を示す図である。図２０において、縦の項目名、横の項目名は、それぞれ、図形識別子である。また、図２０において、延長交点数は、縦の項目名の図形識別子が識別する図形の、横の項目名の図形識別子が識別する図形に対する内側頂点数である。つまり、例えば、図２０において、Ａ行Ｂ列は、図形Ａが有する頂点のうち、図形Ｂの内側に存在する頂点の数である。
【０２３８】
配置関係取得手段１２７は、図２０の各内部頂点数について、図１９の配置関係判断条件のいずれに合致するかを判断する。そして、配置関係取得手段１２７は、合致すると判断した配置関係判断条件に対応する配置関係情報を、図１９の配置関係管理情報から取得する。
【０２３９】
例えば、配置関係取得手段１２７は、図２０のＡ行Ｂ列の内部頂点数「２」について、図１９の「ＩＤ＝０１１」の配置関係判断条件「（１≦内側頂点数＜全頂点数）」および「ＩＤ＝０１３」の配置関係判断条件「（内側頂点割合＜１００％）」に合致すると判断する。「ＩＤ＝０１１」の配置関係判断条件は、内部頂点数が１以上全頂点数未満であることを意味する。「全頂点数」とは、一の図形が有するすべての頂点の数であり、この場合においては、図形Ａが有するすべての頂点の数「５」である。また、「ＩＤ＝０１３」の配置関係判断条件は、内部頂点数の割合が１００％未満であることを意味する。「内部頂点数の割合」とは、全頂点数に対する内部頂点数の割合であり、この場合においては、図形Ａの全頂点数「５」に対する内部頂点数「１」の割合「２０％」である。
【０２４０】
そして、配置関係取得手段１２７は、図１９の「ＩＤ＝０１１」の配置関係情報「重複」および「ＩＤ＝０１３」の配置関係情報「重複」を取得する。当該配置関係情報は、図形Ａの一部が図形Ｂと重なっていることを意味する。また、また、例えば、当該２つの配置関係情報のうち、いずれか一方のみを取得してもよいことは、言うまでもない。
【０２４１】
ここで、２つの図形について、通常、一方の図形の一部が他方の図形と重なっている場合、当該他方の図形の一部も当該一方の図形と重なっている。従って、配置関係取得手段１２７は、上記において、Ａ行Ｂ列と対称であるＢ行Ａ列の内部頂点数「２」に対応する配置関係情報として、Ａ行Ｂ列の内部頂点数「１」に対応する配置関係情報として取得した「重複」を取得してもよい。
【０２４２】
また、例えば、図２０のＢ行Ｃ列の内部頂点数「０」は、図１９の「ＩＤ＝０１２」の配置関係判断条件「（内部頂点数＝０）」および「ＩＤ＝０１４」の配置関係判断条件「（内側頂点割合＝０％）」に合致する。「ＩＤ＝０１２」の配置関係判断条件は、内部頂点数が０であることを意味する。また、「ＩＤ＝０１４」の配置関係判断条件は、内部頂点数の割合が０％であることを意味する。しかしながら、当該Ｂ行Ｃ列と対称であるＣ行Ｂ列の内部頂点数は、「３」である。また、図形Ｃの全頂点数は「３」である。従って、配置関係取得手段１２７は、当該２つの内部頂点数が、図１９の「ＩＤ＝０１６」の配置関係判断条件「（正：内側頂点数＝０）＆（逆：内側頂点数＝全頂点数）」および「ＩＤ＝０１８」の配置関係判断条件「（正：内側頂点割合＝０％）＆（逆：内側頂点割合＝１００％）」に合致すると判断する。「ＩＤ＝０１６」の配置関係判断条件は、判断対象となる内部頂点数が０であり、かつ、当該内部頂点数と対称の内部頂点数が全頂点数であることを意味する。また、「ＩＤ＝０１８」の配置関係判断条件は、判断対称となる内部頂点数の割合が０％であり、かつ、当該内部頂点数と対称の内部頂点数の割合が１００％であることを意味する。
【０２４３】
そして、配置関係取得手段１２７は、図１９の「ＩＤ＝０１６」の配置関係情報「外側」および「ＩＤ＝０１８」の配置関係情報「外側」を取得する。当該配置関係情報は、図形Ｂが図形Ｃの外側にある（周囲を囲んでいる）ことを意味する。また、例えば、当該２つの配置関係情報のうち、いずれか一方のみを取得してもよいことは、言うまでもない。
【０２４４】
ここで、２つの図形について、通常、一方の図形が他方の図形の外側にある場合、当該他方の図形は当該一方の図形の内側にある。従って、配置関係取得手段１２７は、上記において、Ｂ行Ｃ列と対称であるＣ行Ｂ列の内部頂点数「３」に対応する配置関係情報として、Ｂ行Ｃ列の内部頂点数「０」に対応する配置関係情報として取得した「外側」と意味が反対の配置関係情報である「内側」を取得してもよい。
【０２４５】
以上の様にして、図２０のすべての内部頂点数に対して取得した配置関係情報は、例えば、図２１である。そして、出力部１３は、図２１の配置関係情報を出力する。このとき、出力部１３は、例えば、当該配置関係情報を用いて、受付部１１が受け付けた図形情報が示す１以上の各図形を色づけし、当該図形を出力してもよい。出力部１３は、例えば、重複している図形の重複部分のみ色を変えて出力する。また、出力部１３は、例えば、一の図形の内側にある図形のみ色を変えて出力する。
【０２４６】
以上、本実施の形態による配置関係判断装置１によれば、分割した領域ごとに計算処理を行うことにより、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、容易に行うことができる。また、これにより、１以上の図形間の配置関係を判断することができる。また、これにより、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、並列計算により高速に行うことができる。
【０２４７】
なお、本実施の形態において、分割領域サイズの決定処理は、図２２に示すフローチャートであってもよい。
【０２４８】
（ステップＳ２２０１）分割領域サイズ決定手段１２２は、一の分割領域内に存在する所望の線分の数を代入する変数ＥＤＧＥＳ＿ＰＥＲ＿ＣＥＬＬに１５をセットする。
【０２４９】
（ステップＳ２２０２）分割領域サイズ決定手段１２２は、一の線分が配置される所望の分割領域の数を代入する変数ＣＥＬＬＳ＿ＰＥＲ＿ＥＤＧＥに０．２５をセットする。
【０２５０】
（ステップＳ２２０３）分割領域サイズ決定手段１２２は、変数ｅｄｇｅＳｉｚｅに図形配置領域内のすべての線分の数をセットする。
【０２５１】
（ステップＳ２２０４）分割領域サイズ決定手段１２２は、変数ｅｄｇｅＬｅｎｇｔｈに図形配置領域内のすべての線分の長さの合計をセットする。
【０２５２】
（ステップＳ２２０５）分割領域サイズ決定手段１２２は、変数ｔｏｔａｌＡｒｅａに図形配置領域の面積をセットする。
【０２５３】
（ステップＳ２２０６）分割領域サイズ決定手段１２２は、「√（ＥＤＧＥＳ＿ＰＥＲ＿ＣＥＬＬ×ｔｏｔａｌＡｒｅａ／ｅｄｇｅＳｉｚｅ）」を計算し、その結果を変数ｃｅｌｌＳｉｚｅ１にセットする。
【０２５４】
（ステップＳ２２０７）分割領域サイズ決定手段１２２は、「ｅｄｇｅＬｅｎｇｔｈ／（ｅｄｇｅＳｉｚｅ×ＣＥＬＬＳ＿ＰＥＲ＿ＥＤＧＥ）」を計算し、その結果を変数ｃｅｌｌＳｉｚｅ２にセットする。
【０２５５】
（ステップＳ２２０８）分割領域サイズ決定手段１２２は、「ｌｏｇ２（ｃｅｌｌＳｉｚｅ１）」を計算し、その結果を変数ｓｃａｌｅ１にセットする。
【０２５６】
（ステップＳ２２０９）分割領域サイズ決定手段１２２は、「ｌｏｇ２（ｃｅｌｌＳｉｚｅ２）」を計算し、その結果を変数ｓｃａｌｅ２にセットする。
【０２５７】
（ステップＳ２２１０）分割領域サイズ決定手段１２２は、ｓｃａｌｅ１がｓｃａｌｅ２以下であるか否かを判断する。ｓｃａｌｅ２以下である場合は、ステップＳ２２１１に進み、そうでない場合は、ステップＳ２２１２に進む。
【０２５８】
（ステップＳ２２１１）分割領域サイズ決定手段１２２は、変数ｓｃａｌｅにｓｃａｌｅ１をセットする。
【０２５９】
（ステップＳ２２１２）分割領域サイズ決定手段１２２は、変数ｓｃａｌｅにｓｃａｌｅ２をセットする。
【０２６０】
（ステップＳ２２１３）分割領域サイズ決定手段１２２は、ｓｃａｌｅを小数第１位で四捨五入する。
【０２６１】
（ステップＳ２２１４）分割領域サイズ決定手段１２２は、分割領域のサイズを代入する変数ｓｉｚｅに２のｓｃａｌｅ乗をセットする。そして、上位処理にリターンする。
【０２６２】
なお、図２２のフローチャートにおいて、一の分割領域内に存在する所望の線分の数は、１５以外の数であってもよい。
【０２６３】
また、図２２のフローチャートにおいて、一の線分が配置される所望の分割領域の数は、０．２５以外の数であってもよい。
【０２６４】
また、図２２のフローチャートにおいて、「図形配置領域」は、「分割対象領域」であってもよい。
【０２６５】
また、図２２のフローチャートにおいて、ステップＳ２２０８からステップＳ２２１２までの処理は、以下のステップＳ２２０８’からステップＳ２２１０’の処理であってもよい。
【０２６６】
（ステップＳ２２０８’）分割領域サイズ決定手段１２２は、ｃｅｌｌＳｉｚｅ１がｃｅｌｌＳｉｚｅ２以下であるか否かを判断する。ｃｅｌｌＳｉｚｅ２以下である場合は、ステップＳ２２０９’に進み、そうでない場合は、ステップＳ２２１０’に進む。
【０２６７】
（ステップＳ２２０９’）分割領域サイズ決定手段１２２は、「ｌｏｇ２（ｃｅｌｌＳｉｚｅ１）」を計算し、その結果を変数ｓｃａｌｅにセットする。
【０２６８】
（ステップＳ２２１０’）分割領域サイズ決定手段１２２は、「ｌｏｇ２（ｃｅｌｌＳｉｚｅ２）」を計算し、その結果を変数ｓｃａｌｅにセットする。
【０２６９】
なお、図２２のフローチャートにおいて、分割領域サイズ決定手段１２２は、変数ｓｃａｌｅに、「ｌｏｇ２（ｃｅｌｌＳｉｚｅ１）」または「ｌｏｇ２（ｃｅｌｌＳｉｚｅ２）」をセットすることができればよく、その方法や手順などは、問わない。
【０２７０】
また、分割領域サイズ決定手段１２２は、図２２のフローチャートの様に、例えば、一の分割領域内に存在する所望の線分の数（１以上の各分割領域内の線分の数）、一の線分が配置される所望の分割領域の数（図形情報が示す図形を構成する各線分が配置される分割領域の数）、図形配置領域内または分割対象領域内の線分の数（図形情報が示す図形を構成するすべての線分の数）、図形配置領域内または分割対象領域内の線分の長さの合計（図形情報が示す図形を構成するすべての線分の長さの合計）、図形配置領域または分割対象領域の面積（図形情報が示す図形が配置されている領域を含む領域の面積）などを用いて、分割領域のサイズを決定することができればよく、その決定の方法や手順などは、問わない。
【０２７１】
また、上記各実施の形態における配置関係判断装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。
【０２７２】
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【０２７３】
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【０２７４】
また、上記各実施の形態における配置関係判断装置を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、線分の交点に基づく情報に関する条件である配置関係判断条件と、図形間の配置関係を示す配置関係情報とを有する１以上の配置関係管理情報が格納される配置関係管理情報格納手段にアクセス可能なコンピュータを、一の座標空間上の１以上の図形を示す情報であり、当該１以上の各図形を構成する１以上の座標を有する情報である図形情報を受け付ける受付部と、前記図形情報が示す１以上の図形間の配置関係を判断し、当該１以上の図形間の配置関係を示す配置関係情報を取得する判断部と、前記判断部が取得した配置関係情報を出力する出力部として機能させるためのプログラムであって、前記判断部を、前記図形情報が示す１以上の図形が配置されている領域を含む領域を分割した領域である１以上の分割領域ごとに、当該１以上の各図形を構成する線分上の点を起点とし一の方向に延びる半直線であり、当該線分に対応する半直線である延長半直線を作成する延長半直線作成手段と、前記延長半直線の起点となる点が属する１つの線分以外の１以上の線分のうち、当該延長半直線と最初に交差する線分である第一交差線分を、前記１以上の分割領域ごとに検出する第一交差線分検出手段と、前記延長半直線と、当該延長半直線の起点となる点が属する１つの線分以外の１以上の各線分との交点に基づく情報である延長交点情報を、前記第一交差線分を用いて算出する延長交点情報算出手段と、前記延長交点情報算出手段が算出した延長交点情報が合致する配置関係判断条件に対応する配置関係情報を、前記１以上の配置関係管理情報から取得する配置関係取得手段として機能させるためのプログラムである。
【０２７５】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。
【０２７６】
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
【０２７７】
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
【０２７８】
また、図２３は、前述のプログラムを実行して、前述の実施の形態の配置関係判断装置等を実現するコンピュータシステム９の概観図である。前述の実施の形態は、コンピュータハードウェア、およびその上で実行されるコンピュータプログラムで実現され得る。
【０２７９】
図２３において、コンピュータシステム９は、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２を含むコンピュータ９０１と、キーボード９０２と、マウス９０３と、モニタ９０４とを備える。
【０２８０】
図２４は、コンピュータシステム９のブロック図である。図２４において、コンピュータ９０１は、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２に加えて、ＭＰＵ９０１３と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ９０１４と、ＭＰＵ９０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ９０１５と、アプリケーションプログラム、システムプログラム、およびデータを記憶するためのハードディスク９０１６と、ＣＤ−ＲＯＭドライブ９０１１、ＦＤドライブ９０１２、ＭＰＵ９０１３等を相互に接続するバス９０１７とを備える。ここでは図示しないが、コンピュータ９０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを備えていてもよい。
【０２８１】
コンピュータシステム９に、前述の実施の形態の配置関係判断装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ９１０１、またはＦＤ９１０２に記憶されて、ＣＤ−ＲＯＭドライブ９０１１またはＦＤドライブ９０１２に挿入され、さらにハードディスク９０１６に転送されてもよい。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ９０１に送信され、ハードディスク９０１６に記憶されてもよい。プログラムは実行の際にＲＡＭ９０１５にロードされる。プログラムは、ＣＤ−ＲＯＭ９１０１、ＦＤ９１０２またはネットワークから直接、ロードされてもよい。
【０２８２】
プログラムは、コンピュータ９０１に、前述の実施の形態の配置関係判断装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくてもよい。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいればよい。コンピュータシステム９がどのように動作するかは周知であり、詳細な説明は省略する。
【０２８３】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０２８４】
以上のように、本発明にかかる配置関係判断装置は、分割した領域ごとに計算処理を行うことにより、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、容易に行うことができる。また、これにより、１以上の図形間の配置関係を判断することができる。また、これにより、Ｐｏｉｎｔ−ｉｎ−ｐｏｌｙｇｏｎ  Ｔｅｓｔの計算処理を、並列計算により行うことができるという効果を有し、ＣＡＤシステム等として有用である。
【符号の説明】
【０２８５】
１  配置関係判断装置
１１  受付部
１２  判断部
１３  出力部
１２１  配置関係管理情報格納手段
１２２  分割領域サイズ決定手段
１２３  領域分割手段
１２４  延長半直線作成手段
１２５  第一交差線分検出手段
１２６  延長交点情報算出手段
１２７  配置関係取得手段
【図１】
2014232399.tif 000003
【図２】
2014232399.tif 000004
【図３】
2014232399.tif 000005
【図４】
2014232399.tif 000006
【図５】
2014232399.tif 000007
【図６】
2014232399.tif 000008
【図７】
2014232399.tif 000009
【図８】
2014232399.tif 000010
【図９】
2014232399.tif 000011
【図１０】
2014232399.tif 000012
【図１１】
2014232399.tif 000013
【図１２】
2014232399.tif 000014
【図１３】
2014232399.tif 000015
【図１４】
2014232399.tif 000016
【図１５】
2014232399.tif 000017
【図１６】
2014232399.tif 000018
【図１７】
2014232399.tif 000019
【図１８】
2014232399.tif 000020
【図１９】
2014232399.tif 000021
【図２０】
2014232399.tif 000022
【図２１】
2014232399.tif 000023
【図２２】
2014232399.tif 000024
【図２３】
2014232399.tif 000025
【図２４】
2014232399.tif 000026