(57)【要約】【課題】  衝突判定を、高速に、かつ軽量で処理可能にすることを目的とする。【解決手段】  パスの包含矩形を所定の分割数で分割された分割領域毎に、前記パスが含まれるかを示す情報を保持する保持手段と、入力座標を取得する取得手段と、前記保持手段に保持された情報が、前記取得した入力座標を含む分割領域で、前記パスが含まれると示す場合は、衝突したと判定する衝突判定手段を有する。【選択図】  図１
2015103028.tif 000002
【特許請求の範囲】
【請求項１】
パスの包含矩形を所定の分割数で分割された分割領域毎に、前記パスが含まれるかを示す情報を保持する保持手段と、
入力座標を取得する取得手段と、
前記保持手段に保持された情報が、前記取得した入力座標を含む分割領域で、前記パスが含まれると示す場合は、衝突したと判定する衝突判定手段を有することを特徴とする情報処理装置。
【請求項２】
前記情報は、前記分割領域に、前記パスによる塗りつぶしが含まれる場合に、前記パスが含まれると示すことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報は、前記分割領域に、前記パスによる塗りつぶし面積が、所定の面積より大きい場合に、前記パスが含まれると示すことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報は、前記分割領域内の所定の点からパスまでの最短距離が、所定の値より小さい場合に、前記パスが含まれると示すことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
情報処理装置の制御方法であって、
保持手段が、パスの包含矩形を所定の分割数で分割された分割領域毎に、前記パスが含まれるかを示す情報を保持部に保持する保持工程と、
取得手段が、入力座標を取得する取得工程と、
衝突判定手段が、前記保持工程で保持された情報が、前記取得した入力座標を含む分割領域で、前記パスが含まれると示す場合は、衝突したと判定する衝突判定工程を有することを特徴とする情報処理装置の制御方法。
【請求項６】
前記情報は、前記分割領域に、前記パスによる塗りつぶしが含まれる場合に、前記パスが含まれると示すことを特徴とする請求項５に記載の情報処理装置の制御方法。
【請求項７】
前記情報は、前記分割領域に、前記パスによる塗りつぶし面積が、所定の面積より大きい場合に、前記パスが含まれると示すことを特徴とする請求項５に記載の情報処理装置の制御方法。
【請求項８】
前記情報は、前記分割領域内の所定の点からパスまでの最短距離が、所定の値より小さい場合に、前記パスが含まれると示すことを特徴とする請求項５に記載の情報処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至４の何れか１項に記載の情報処理装置が有する各手段と
して機能させるためのコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記
憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、衝突判定処理に関する。
【背景技術】
【０００２】
画面上のオブジェクトをマウスやタッチ操作で選択されたかどうか判定する方法を衝突判定（もしくは当たり判定）という。  衝突判定においてはマウスやタッチ操作で指定された座標が、オブジェクトに衝突したかどうかを判定する。イメージは多くの場合矩形であり、矩形と点の衝突判定は高速に行うことができる。一方複雑な輪郭のイメージや複雑な形状のパスに対しては、衝突判定は負荷のかかる処理になる。そのためパスに対する衝突判定ではまずパスを包含する包含矩形に対して座標が含まれるかどうかを判定し、包含矩形に含まれる場合にさらにパスとの衝突判定を行うことが一般的である。
【０００３】
非衝突領域を用いて衝突処理を実行するものとして、特許文献１に、あらかじめオブジェクトに衝突領域と非衝突領域を設定しておく方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２２５１４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１は、オブジェクトを作成する際に衝突領域と非衝突領域を設定しなければならず、また、オブジェクトの形状が複雑であれば衝突領域と非衝突領域の形状もまた複雑になるという課題があった。
【０００６】
そこで、本発明では、従来より、衝突判定を、高速に、かつ軽量で処理可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明における情報処理装置は、パスの包含矩形を所定の分割数で分割された分割領域毎に、前記パスが含まれるかを示す情報を保持する保持手段と、入力座標を取得する取得手段と、前記保持手段に保持された情報が、前記取得した入力座標を含む分割領域で、前記パスが含まれると示す場合は、衝突したと判定する衝突判定手段を有する。
【発明の効果】
【０００８】
本発明により、従来より、衝突判定を、高速に、かつ軽量で処理可能にすることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態における情報処理装置１０１
【図２】情報処理装置１０１における分割領域情報の生成のフローチャート
【図３】情報処理装置１０１における衝突判定のフローチャート
【発明を実施するための形態】
【００１０】
（第１の実施形態）
図１（ａ）は、本実施形態における情報処理装置１０１の概要を示した構成図である。図１（ａ）において、ＣＰＵ１０８は、システム制御部であり、装置全体を制御する。ＲＯＭ１０２は、ＣＰＵの制御プログラムや各種固定データを格納するものである。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成され、プログラム制御変数等を格納するためのものである。また、各種設定パラメータ、各種ワーク用バッファもＲＡＭ１０３に格納されるものである。外部記憶部１０４はハードディスク等で構成され、文書や画像などのファイルデータを格納するためのものである。入力部１０５は、キーボード、タッチパネル等で構成され、オペレータが各種入力操作を行うためのものである。表示部１０６は、ＬＣＤ、ＬＥＤ等でオペレータに表示通知するためのものである。Ｉ／Ｆ１０７は、ネットワークに接続するためのインターフェースである。接続方法としてはＬＡＮ、ＵＳＢ等がある。同図に示した構成は、本発明の実施形態に係る情報処理装置の一部を示したものであり、装置によっては、この他、スキャナ部、プリンタ部、モデム、スピーカ等が装置の構成に加わる場合がある。また、ソフトウェア等で本発明を実現する場合等には、同図の各構成を必ずしも装置内に持っていなくても良い。
【００１１】
図１（ｂ）は、本実施形態における情報処理装置１０１の構成を示すブロック図である。分割記憶部（保持部）２０５は、包含矩形の分割領域情報を記憶する。座標入力部２０７は、ユーザからの入力などにより衝突判定すべき座標を入力し、入力座標を取得する。衝突判定部２０６は、座標入力部２０７で入力された座標と、分割領域情報とを用いて、衝突があったかどうかを判定する。管理部２０４は、分割領域を管理する。パス記憶部２０３は、パス描画に使用するパス描画情報を記憶する。パス描画部２０２は、パスを描画する。表示部２０１は、パス描画部２０２で描画されたパスを表示する。尚、表示部２０１は、情報処理装置１０１の外部の表示装置に表示してもよい。
【００１２】
図２は、情報処理装置１０１における分割領域情報の生成のフローチャートである。管理部２０４は、パス記憶部２０３からパス描画に使用するパス描画情報を取得する（ステップ３０１）。管理部２０４は、パス描画情報からパスを包含する包含矩形を取得する（ステップ３０２）。包含矩形はパス描画情報に含まれている場合もあるし、パス描画情報から算出される場合もある。管理部２０４は、包含矩形を縦と横に何分割するか、分割数を取得する（ステップ３０３）。本実施形態では縦横ともに４分割とするが、分割数はパスの複雑度や包含矩形のサイズに応じて設定してもよい。管理部２０４は包含矩形を分割する（ステップ３０４）。分割数に応じて分割領域の座標が計算される。本実施形態では同じ幅・高さで分割するが、パスの複雑度や包含矩形のサイズに応じて分割領域毎に異なる幅・高さで分割してもよい。
【００１３】
パス描画部２０２は、パス記憶部２０３からパス描画情報を取得し、パス描画が完了したかどうか判定する（ステップ３０５）。完了していればステップ３１０、未完了であればステップ３０６に進む。管理部２０４は、管理している分割領域ごとにフラグを持たせており、初期状態ではすべてのフラグが倒れている。ここで、フラグが倒れている場合は、フラグの値を０とし、フラグが立っている場合は、フラグの値を１とする。フラグの立っていない分割領域があるかどうか判定し、あればステップ３０７、なければステップ３０９に進む（ステップ３０６）。
【００１４】
管理部２０４は、パスの座標を計算する（ステップ３０７）。管理部２０４は、計算結果からそのパスによる塗りつぶしが、どの分割領域に含まれるかを判定して、塗りつぶしが含まれる分割領域のフラグを立てる（ステップ３０８）。パス描画部２０２はパスを描画し、表示部２０１に出力する（ステップ３０９）。管理部２０４は、分割領域の情報を分割記憶部２０５に保存する（ステップ３１０）。
【００１５】
図３は、情報処理装置１０１における衝突のフローチャートである。座標入力部２０７は、ユーザからの入力などにより衝突判定すべき座標を入力する（ステップ４００）。衝突判定部２０６は、分割記憶部２０５から分割領域情報を取得する（ステップ４０１）。そして、衝突判定部２０６は、分割領域情報から包含矩形情報を取得する。衝突判定部２０６は、座標入力部２０７で入力された座標が包含矩形に含まれるかどうかを判定し、含まれる場合はステップ４０３、含まれない場合は終了する（ステップ４０２）。衝突判定部２０６は、座標を含む分割領域を選択する（ステップ４０４）。衝突判定部２０６は、選択した分割領域にフラグが立っているかどうかを判定し、立っていればステップ４０６、たっていなければ終了する（ステップ４０５）。衝突判定部２０６は、座標がパスと衝突したと判定する（ステップ４０６）。本実施形態においてはこれで終了するが、さらにパス情報に基づいて厳密に衝突判定を行ってもよい。以上説明した実施形態により、軽量な処理で、高速な衝突判定を行うことができる。
【００１６】
尚、ステップ３０８では、塗りつぶしが含まれる分割領域のフラグを立てるようにしたが、分割領域内に対して行われたパスの塗りつぶし面積に応じて設定してもよい。例えば、塗りつぶし面積が、所定の面積より大きい場合は、フラグを１とし、所定の面積より小さい場合は、フラグを０とする。さらに、分割領域内のある点（たとえば中心点）からパスまでの最短距離が、ある閾値より大きいと、フラグを０とし、ある閾値より小さいと、フラグを１としてもよい。
【００１７】
なお、パスに対して変形が行われる場合も、分割領域に対してパスに対する変形情報と同様の変形処理を行うことで衝突判定を高速化することもできる。
【００１８】
以上本発明にかかる実施形態を説明したが、先に説明したように、情報処理装置は、通常のパーソナルコンピュータ等の汎用情報処理装置であって、それ上で動作するコンピュータプログラムで実現できるものである。よって、本発明は情報処理装置が有する各手段として機能させるためのコンピュータプログラムをその範疇とすることは明らかである。また、通常、コンピュータプログラムは、ＣＤＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納されており、それをコンピュータの対応するドライブにセットしてシステムにコピーやインストール処理することで実行可能となる。よって、本発明は当然にそのようなコンピュータ可読記憶媒体をもその範疇とすることも明らかである。
【図１】
2015103028.tif 000003
【図２】
2015103028.tif 000004
【図３】
2015103028.tif 000005