(57)【要約】【課題】  複雑な形状の図形を正確に認識することが可能な図形認識プログラムを提供する。【解決手段】  図形認識プログラムを実行する情報処理装置は、入力面上に描かれる軌跡を座標点として時系列で検出する。検出された各座標点を時系列で並べた座標点群から、軌跡を表すための座標点が選出される。情報処理装置は、選出された各座標点を時系列順に結んだ各線分の長さを算出する。また、線分の絶対角度または相対角度を各線分毎に算出する。図形識別ステップは、線上距離を第１軸とし選出された座標点を基点とする線分の角度を第２軸とする直交座標系の軌跡グラフと、参照図形を当該直行座標系において表した参照図形グラフとを比較する。比較の結果、軌跡グラフに最も近似する参照図形グラフによって表される参照図形が軌跡の形状として識別される。【選択図】  図９
2005346467.tif 000002
【特許請求の範囲】
【請求項１】
入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別するためにコンピュータに実行される図形識別プログラムであって、
前記コンピュータに、
前記入力面上に描かれる軌跡を座標点として時系列で検出する検出ステップと、
前記検出された各座標点を時系列で並べた座標点群から、前記軌跡を表すための座標点を選出する座標点選出ステップと、
前記選出された各座標点を時系列順に結んだ各線分の長さを算出する長さ算出ステップと、
前記線分と予め決められた基準直線とがなす絶対角度、または、前記線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する角度算出ステップと、
前記選出された各座標点のうちの始点または終点から各座標点までの前記線分上に沿った距離を第１軸とし前記選出された座標点を基点とする前記線分の角度を第２軸とする直交座標系の軌跡グラフと、予め用意されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフとを比較することにより、当該軌跡グラフに最も近似する参照図形グラフによって表される参照図形を前記軌跡の形状として識別する図形識別ステップとを実行させることを特徴とする図形識別プログラム。
【請求項２】
前記図形識別ステップは、
前記直交座標系における前記軌跡グラフと前記参照図形グラフとの重複しない線分によって囲まれた領域の面積を各参照図形毎に算出する面積算出ステップと、
前記面積算出ステップにおいて算出された面積が最も小さい参照図形を前記軌跡の形状として識別する識別ステップとを含む、請求項１に記載の図形識別プログラム。
【請求項３】
前記軌跡グラフおよび前記参照図形グラフは、前記線分に対応する部分が前記第１軸に平行な直線成分によって構成されるステップ状のグラフである、請求項１または２に記載の図形識別プログラム。
【請求項４】
前記図形識別ステップにおいて前記軌跡グラフと前記参照図形グラフとの比較が行われる前に、当該軌跡グラフの各線分の累積長さと当該参照図形グラフの累積長さとが等しくなるように、当該軌跡グラフの各線分の長さの割合を保ったまま当該軌跡グラフの累積長さを正規化する正規化ステップを前記コンピュータにさらに実行させる、請求項１ないし３のいずれかに記載の図形識別プログラム。
【請求項５】
前記座標点選出ステップは、前記検出された座標点群の中から、所定の２つの座標点を結んだ直線から所定距離内に存在する座標点を間引くことによって座標点を選出する、請求項１に記載の図形識別プログラム。
【請求項６】
前記座標点選出ステップは、前記検出された座標点の全ての点を選出する、請求項１に記載の図形識別プログラム。
【請求項７】
前記検出ステップは、前記入力面上に描かれる一筆書きの軌跡を座標点として時系列で検出する、請求項１に記載の図形識別プログラム。
【請求項８】
前記コンピュータには表示装置が接続されており、
ゲーム空間の少なくとも一部の様子をゲーム画像として前記表示装置に表示するゲーム画像表示ステップと、
前記図形識別ステップにおいて前記軌跡の形状として識別された参照図形に関連付けられたゲーム処理を実行することにより、前記ゲーム画像に当該参照図形の種類に応じた変化を発生させるゲーム処理ステップを前記コンピュータにさらに実行させる、請求項１ないし７のいずれかに記載の図形識別プログラム。
【請求項９】
入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別し、当該認識した結果に基づいてゲームの進行に変化を生じさせ、当該変化を表示装置に表示するゲーム装置であって、
複数の頂点と各頂点を結ぶ線分によって構成される複数の参照図形について、当該参照図形の各頂点のうちの始点または終点から各頂点までの当該線分上に沿った距離と、当該線分と予め決められた基準直線とがなす絶対角度、または、当該線分とそれに隣接する線分とがなす相対角度とを記憶した参照図形記憶手段と、
前記入力面上に描かれる軌跡を座標点として時系列で検出する検出手段と、
前記検出された各座標点を時系列で並べた座標点群から、前記軌跡を表すための座標点を選出する座標点選出手段と、
前記選出された各座標点を時系列順に結んだ各線分の長さを算出する長さ算出手段と、
前記線分と予め決められた基準直線とがなす絶対角度、または、前記線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する角度算出手段と、
前記選出された各座標点のうちの始点または終点から各座標点までの前記線分上に沿った距離を第１軸とし前記選出された座標点を基点とする前記線分の角度を第２軸とする直交座標系の軌跡グラフと、前記参照図形記憶手段に記憶されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフとを比較することにより、当該軌跡グラフに最も近似する参照図形グラフによって表される参照図形を前記軌跡の形状として識別する図形識別手段とを備える、ゲーム装置。
【請求項１０】
前記図形識別手段は、
前記直交座標系における前記軌跡グラフと前記参照図形グラフとの重複しない線分によって囲まれた領域の面積を各参照図形毎に算出する面積算出手段と、
前記面積算出手段によって算出された面積が最も小さい参照図形を前記軌跡の形状として識別する識別手段とを含む、請求項９に記載のゲーム装置。
【請求項１１】
前記軌跡グラフおよび前記参照図形グラフは、前記線分に対応する部分が前記第１軸に平行な直線成分によって構成されるステップ状のグラフである、請求項９または１０に記載のゲーム装置。
【請求項１２】
前記図形識別手段によって前記軌跡グラフと前記参照図形グラフとの比較が行われる前に、当該軌跡グラフの各線分の累積長さと当該参照図形グラフの累積長さとが等しくなるように、当該軌跡グラフの各線分の長さの割合を保ったまま当該軌跡グラフの累積長さを正規化する正規化手段をさらに備える、請求項９ないし１１のいずれかに記載のゲーム装置。
【請求項１３】
前記座標点選出手段は、前記検出された座標点群の中から、所定の２つの座標点を結んだ直線から所定距離内に存在する座標点を間引くことによって座標点を選出する、請求項９に記載のゲーム装置。
【請求項１４】
前記座標点選出手段は、前記検出された座標点の全ての点を選出する、請求項９に記載のゲーム装置。                                   
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図形認識プログラムに関し、より特定的には、タッチパネル等による入力によって、軌跡を描くように図形が描かれた際に、当該図形の形状を認識するための図形認識プログラムに関する。
【背景技術】
【０００２】
従来から、ユーザによってタッチパネル等に描かれた図形の形状を判断するための方法が種々提案されている。中でも、描かれた図形の頂点数を推定し、推定した頂点数と理想的な参照図形の頂点数とを比較する方法がよく用いられている。例えば三角形や四角形等のような単純な図形を認識する場合であれば、頂点数を比較することによって図形の形状を容易に認識することができるからである。
【０００３】
タブレットに描かれた図形を認識する手段として、特許第３０４６４７２号公報に記載の図形認識装置（先行技術１）がある。この図形認識装置では、以下の処理を行うことによって図形を認識している。すなわち、まず、入力された座標点列から、直線の要素（図形の辺に相当する）を抽出し、抽出した各辺の長さ、および各辺の角度（方向）を算出する。次に、各辺の長さおよび角度に基づいて角度ヒストグラムを作成する（特許文献１の図３（ｃ）および（ｄ）参照）。この角度ヒストグラムに基づいて、入力された座標点列によって表される図形の頂点の数（辺の数）が推定される。先行技術１においては、以上のように推定された頂点数を用いて図形の認識を行っている。
【特許文献１】特許第３０４６４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ここで、複雑な形状の図形を認識する場合を考える。複雑な形状の図形は一般的に多くの頂点数を有するので、入力された座標点列から直線の要素を正確に抽出することが困難になり、描かれた図形の頂点数を正確に推定することは困難である。また、複雑な形状の図形を描く場合には、ユーザによる入力も正確さに欠けることが多くなるので、この理由からも、描かれた図形の頂点数を正確に推定することは困難であると言える。以上より、複雑な形状の図形を認識する場合には、描かれた図形について推定された頂点数と、理想的な参照図形の頂点数とが一致する可能性は低くなると考えられる。その結果、描かれた図形と理想的な参照図形との比較を正確に行うことができず、描かれた図形の形状を正確に判断することができなくなる。つまり、上述したような頂点数を推定する方法では、複雑な形状の図形を正確に認識することが困難であると考えられる。
【０００５】
また、上記先行技術１では、上記角度ヒストグラムを用いて頂点数を推定しているが、この角度ヒストグラムは、各辺が描かれた順番を考慮していない。従って、例えば図２２に示すような２重の渦巻き形状の図形を描いた場合には、辺の角度が同じと判断される部分（図２２に示す点線部分）が１つの辺とみなされてしまう。そのため、上記先行技術１では、図２２に示す形状と四角形との区別が付かず、複雑な形状の図形を正確に認識することができない。
【０００６】
それ故、本発明の目的は、複雑な形状の図形を正確に認識することが可能な図形認識プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
すなわち、本発明は、入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別するためにコンピュータに実行される図形識別プログラムである。図形識別プログラムは、コンピュータ（２１等）に、検出ステップ（ステップ１２）と、座標点選出ステップ（ステップ１６）と、長さ算出ステップ（ステップ４５）と、角度算出ステップ（ステップ４３，４４）と、図形識別ステップ（ステップ１８）とを実行させる。検出ステップは、入力面上に描かれる軌跡を座標点として時系列で検出する。座標点選出ステップは、検出された各座標点を時系列で並べた座標点群から、軌跡を表すための座標点を選出する。長さ算出ステップは、選出された各座標点を時系列順に結んだ各線分の長さを算出する。角度算出ステップは、線分と予め決められた基準直線とがなす絶対角度、または、線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する。図形識別ステップは、選出された各座標点のうちの始点または終点から各座標点までの線分上に沿った距離（線上距離）を第１軸とし選出された座標点を基点とする線分の角度を第２軸とする直交座標系の軌跡グラフ（図７）と、予め用意されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフ（図８）とを比較することにより、当該軌跡グラフに最も近似する参照図形グラフによって表される参照図形を軌跡の形状として識別する。
【０００８】
また、第２の発明においては、図形識別ステップは、面積算出ステップ（ステップ６４，６７）と、識別ステップ（ステップ７３）とを含んでいてもよい。面積算出ステップは、直交座標系における軌跡グラフと参照図形グラフとの重複しない線分によって囲まれた領域の面積（差分面積）を各参照図形毎に算出する。識別ステップは、面積算出ステップにおいて算出された面積が最も小さい参照図形を軌跡の形状として識別する。
【０００９】
また、第３の発明においては、軌跡グラフおよび参照図形グラフは、線分に対応する部分が第１軸に平行な直線成分によって構成されるステップ状のグラフであってもよい。
【００１０】
また、第４の発明においては、図形識別プログラムは、正規化ステップ（ステップ５０）をコンピュータにさらに実行させてもよい。正規化ステップは、図形識別ステップにおいて軌跡グラフと参照図形グラフとの比較が行われる前に、当該軌跡グラフの各線分の累積長さと当該参照図形グラフの累積長さとが等しくなるように、当該軌跡グラフの各線分の長さの割合を保ったまま当該軌跡グラフの累積長さを正規化する。
【００１１】
また、第５の発明においては、座標点選出ステップは、検出された座標点群の中から、所定の２つの座標点を結んだ直線から所定距離内に存在する座標点を間引くことによって座標点を選出するようにしてもよい。
【００１２】
また、第６の発明においては、座標点選出ステップは、検出された座標点の全ての点を選出するようにしてもよい。
【００１３】
また、第７の発明においては、検出ステップは、入力面上に描かれる一筆書きの軌跡を座標点として時系列で検出するようにしてもよい。
【００１４】
また、第８の発明においては、コンピュータには表示装置が接続されていてもよい。このとき、図形識別プログラムは、ゲーム画像表示ステップと、ゲーム処理ステップをコンピュータにさらに実行させるようにしてもよい。ゲーム画像表示ステップは、ゲーム空間の少なくとも一部の様子をゲーム画像として表示装置に表示する。ゲーム処理ステップは、図形識別ステップにおいて軌跡の形状として識別された参照図形に関連付けられたゲーム処理を実行することにより、ゲーム画像に当該参照図形の種類に応じた変化を発生させる。
【００１５】
また、本発明は、上記図形識別プログラムを実行する情報処理装置の形態で提供されてもよい。典型的には、入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別し、当該認識した結果に基づいてゲームの進行に変化を生じさせ、当該変化を表示装置に表示するゲーム装置として提供されてもよい。
【発明の効果】
【００１６】
本発明によれば、対象図形と参照図形との類似度は、それぞれの図形を示すグラフ（軌跡グラフおよび参照図形グラフ）の類似度によって判断される。すなわち、類似度の判断は、各線分の角度や、始点または終点から頂点までの距離といった要素が総合的に考慮されて行われる。ここで、識別する対象となる図形が複雑な形状である場合には、ノイズの影響を受けやすいことや頂点を間引く処理が正確に行えないこと等が原因で、対象図形および参照図形の特徴を表す要素を正しく抽出することができないことがある。この場合には、対象図形の特徴を表す１つの要素を重視して類似度を判断する方法では、当該要素が正しく抽出されなければ、図形を正確に識別することができない。例えば、図形の頂点数を重視して類似度を判断する方法では、頂点数を正しく抽出することができなければ図形を正確に識別することができない。これに対して、本発明によれば、図形の特徴を表す複数の要素が総合的に考慮される。従って、識別する対象となる図形が複雑な形状であることが原因で、ある１つの要素が正しく抽出されていなくとも、図形を正確に識別することができる。複雑な形状について図形認識を行う場合には特に頂点数を正確に抽出することが難しいが、本発明によれば、頂点を間引く処理において頂点数を正確に抽出することができない場合でも、図形の形状を正しく識別することができる。
【００１７】
また、第２の発明によれば、軌跡グラフと参照図形グラフとの類似度を正確に判断することができるので、ひいては、ユーザによって描かれた軌跡と参照図形との比較を正確に行うことができる。
【００１８】
また、第３の発明によれば、軌跡グラフおよび参照図形グラフは、例えば図７に示すようなステップ状のグラフとして表される。このようなステップ状のグラフでは、グラフ上における第１軸に平行な直線は、軌跡の線分の長さおよび角度を表すこととなる。換言すれば、グラフ上の任意の点について、始点または終点からその点までの線分上の距離が第１軸成分の値となり、かつ、当該点を含む線分の絶対角度または相対角度が第２軸成分の値となる。従って、ユーザによって描かれた軌跡や参照図形をステップ状のグラフによって表すことによって、検出された座標点（頂点）を結ぶ線分の長さをグラフに反映させることができる。これによって、図形の特徴と示す要素として線分の長さを考慮に入れて類似度が判断されることになるので、図形の識別をより正確に行うことができる。
【００１９】
また、特に、軌跡グラフおよび参照図形グラフをステップ状のグラフによって表すとともに、これらのグラフの互いに重複しない線分によって囲まれた領域の面積によって類似度を判断する場合には、当該面積を算出する処理が簡易になる。例えば、軌跡グラフおよび参照図形グラフを折れ線状のグラフ（図１２参照）によって表す場合に比べて、当該面積の算出処理が簡易になる。また、折れ線状のグラフに基づいて面積を算出する場合に比べてノイズの影響を受けにくいので、図形の識別をより正確に行うことができる。
【００２０】
また、第４の発明によれば、ユーザによって入力された軌跡と参照図形との大きさが異なる場合でも、当該軌跡と参照図形との比較を正確に行うことができる。
【００２１】
また、第５の発明によれば、間引き処理を行うことによって対象図形の形状を簡単化することができる。これによって、対象図形と参照図形とを比較する処理の処理量を軽減することができる。
【００２２】
また、第６の発明によれば、処理量の大きい間引き処理を行わずに済むので、図形識別処理全体の処理量を軽減することができる。
【００２３】
また、第７の発明によれば、一筆書きで描かれる軌跡が１つの入力とみなされて図形識別処理が行われる。つまり、１回の連続した入力によって描かれる軌跡を単位として、参照図形との比較が行われる。従って、第７の発明によれば、１回の入力が行われているか否かを、連続した入力が行われているか否かによって判断することができる。すなわち、参照図形との比較を行う対象となる軌跡（１回の入力による軌跡）の単位を容易に決定することができる。
【００２４】
また、第８の発明によれば、プレイヤに所定の図形を描かせることによってゲーム操作が行われるという、新規な操作感覚でゲームをプレイすることができる新規なゲームを提供することができる。なお、ゲームにおいては、複雑な形状の図形をプレイヤにあえて入力させることが考えられるので、複雑な形状を識別することができる本発明の図形識別プログラムをゲームプログラムに適用することは非常に有効である。
【発明を実施するための最良の形態】
【００２５】
以下、本実施形態に係る情報処理装置および図形識別プログラムについて説明する。なお、本実施形態では、情報処理装置の一例として２つの表示装器を備えるゲーム装置を例に挙げて説明するが、本発明に係る情報処理装置は、プレイヤによって図形を描かせることができる入力装置を備えておりかつ図形識別プログラムを実行可能な装置であればどのような装置であっても構わない。例えば、情報処理装置は、単一の表示器を備えるゲーム装置、ビデオゲーム装置や据え置き型のパーソナルコンピュータであってもよいし、ＰＤＡ等の携帯端末であってもよい。また、入力装置としては、例えばタブレット、タッチパネル、マウス、キーボード、ゲームコントローラなどがある。
【００２６】
図１は、本発明の一実施形態に係る情報処理装置の一例である携帯型のゲーム装置の外観図である。図１において、本実施形態のゲーム装置１は、２つの液晶表示器（以下、「ＬＣＤ」という）１１および１２を所定の配置位置となるように、ハウジング１８に収納して構成される。具体的には、第１ＬＣＤ１１および第２ＬＣＤ１２を互いに上下に配置して収納する場合は、ハウジング１８が下部ハウジング１８ａおよび上部ハウジング１８ｂから構成される。上部ハウジング１８ｂは、下部ハウジング１８ａの上辺の一部で回動自在に支持される。上部ハウジング１８ｂは、第２ＬＣＤ１２の平面形状よりも少し大きな平面形状を有し、一方主面から第２ＬＣＤ１２の表示画面を露出するように開口部が形成される。下部ハウジング１８ａは、横方向の略中央部に第１ＬＣＤ１１の表示画面を露出する開口部が形成される。下部ハウジング１８ａの平面形状は、上部ハウジング１８ｂよりも横長に選ばれる。下部ハウジング１８ａには、第１ＬＣＤ１１を挟むいずれか一方にスピーカ１５の音抜き孔が形成されるとともに、第１ＬＣＤ１１を挟む左右に操作スイッチ部１４が装着される。
【００２７】
操作スイッチ部１４は、第１ＬＣＤ１１の右横における下部ハウジング１８ａの一方主面に装着される動作スイッチ１４ａおよび１４ｂと、第１ＬＣＤ１１の左横における下部ハウジング１８ａの一方主面に装着される方向指示スイッチ１４ｃ、スタートスイッチ１４ｄ、およびセレクトスイッチ１４ｅとを含む。動作スイッチ１４ａおよび１４ｂは、例えばアクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ１４ｃは、プレイヤ（ユーザ）によって操作可能なプレイヤオブジェクト（またはプレイヤキャラクタ）の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。また、必要に応じて、動作スイッチをさらに追加したり、下部ハウジング１８ａにおける操作スイッチ１４の装着領域の上部面（上部側面）の左右に側面スイッチ１４ｆおよび１４ｇを設けたりしても構わない。
【００２８】
また、第１ＬＣＤ１１の上面には、タッチパネル１３（図１における破線領域）が装着される。タッチパネル１３は、例えば、抵抗膜方式、光学式（赤外線方式）、静電容量結合式のいずれの種類でもよく、その上面（入力面）をスタイラス１６（または指でも可）で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス１６の座標位置を検出して座標データを出力するものである。
【００２９】
上部ハウジング１８ｂの側面近傍には、必要に応じてタッチパネル１３を操作するスタイラス１６を収納するための収納孔（図１における二点破線領域）が形成される。この収納孔には、スタイラス１６が収納される。下部ハウジング１８ａの側面の一部には、本実施形態に係る図形識別プログラムを含むゲームプログラムを記憶したメモリ（例えば、ＲＯＭ）を内蔵したカートリッジ１７を着脱自在に装着するためのカートリッジ挿入部（図１における一点破線領域）が形成される。カートリッジ１７は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ＲＯＭまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ１７と電気的に接続するためのコネクタ（図２参照）が内蔵される。さらに、下部ハウジング１８ａ（または上部ハウジング１８ｂでも可）には、ＣＰＵ等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【００３０】
次に、図２を参照して、ゲーム装置１の内部構成について説明する。なお、図２は、ゲーム装置１の内部構成を示すブロック図である。
【００３１】
図２において、ハウジング１８ａに収納される電子回路基板には、コンピュータとして機能するＣＰＵコア２１等が実装される。ＣＰＵコア２１には、所定のバスを介して、カートリッジ１７と接続するためのコネクタ２８が接続されるととともに、入出力インターフェース（Ｉ／Ｆ）回路２７、第１のグラフィック処理ユニット（第１ＧＰＵ）２４、第２のグラフィック処理ユニット（第２ＧＰＵ）２６、およびワーキングＲＡＭ（ＷＲＡＭ）２２が接続される。
【００３２】
コネクタ２８には、カートリッジ１７が着脱自在に接続される。カートリッジ１７は、上述したようにゲームプログラムを格納するための記憶媒体である。具体的には、カートリッジ１７は、ゲームプログラムを記憶するＲＯＭ１７１とバックアップデータを書き換え可能に記憶するＲＡＭ１７２とを搭載する。カートリッジ１７のＲＯＭ１７１に記憶されたゲームプログラムは、ＷＲＡＭ２２にロードされ、当該ＷＲＡＭ２２にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがＷＲＡＭ２２に記憶される。
【００３３】
Ｉ／Ｆ回路２７には、タッチパネル１３、操作スイッチ部１４、およびスピーカ１５が接続される。スピーカ１５は、上述した音抜き孔の内側位置に配置される。
【００３４】
第１ＧＰＵ２４には、第１ビデオＲＡＭ（以下「ＶＲＡＭ」）２３が接続され、第２ＧＰＵ２６には、第２のビデオＲＡＭ（以下「ＶＲＡＭ」）２５が接続される。第１ＧＰＵ２４は、ＣＰＵコア２１からの指示に応じて、ＷＲＡＭ２２に記憶される画像を生成するためのデータに基づいて第１ゲーム画像を生成する。生成された第１ゲーム画像は、第１ＧＰＵ２４によって第１ＶＲＡＭ２３に描画される。第２ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＷＲＡＭ２２に記憶される画像を生成するためのデータに基づいて第２ゲーム画像を生成する。生成された第２ゲーム画像は、第２ＧＰＵ２６によって第２ＶＲＡＭ２５に描画される。
【００３５】
第１ＶＲＡＭ２３は第１ＬＣＤ１１に接続され、第２ＶＲＡＭ２５は第２ＬＣＤ１２に接続される。第１ＧＰＵ２４は、ＣＰＵコア２１からの指示に応じて第１ＶＲＡＭ２３に描画された第１ゲーム画像を第１ＬＣＤ１１に出力する。そして、第１ＬＣＤ１１は、第１ＧＰＵ２４から出力された第１ゲーム画像を表示する。第２ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第２ＶＲＡＭ２５に描画された第２ゲーム画像を第２ＬＣＤ１２に出力する。そして、第２ＬＣＤ１２は、第２ＧＰＵ２６から出力された第２ゲーム画像を表示する。
【００３６】
以下、カートリッジ１７に格納されたゲームプログラムによってゲーム装置１において実行されるゲーム処理について説明する。なお、本実施形態では、本発明に係る図形識別プログラムがゲームプログラムとしてゲーム装置によって実行される場合を例として説明する。また、本実施形態においては、タッチパネル１３によって表示画面が覆われる第１ＬＣＤ１１のみを表示装置として用いる。従って、ゲーム装置１は、第２ＬＣＤ１２を有しない構成であってもよい。
【００３７】
以下、本実施形態に係る図形認識プログラムによって実行される処理について説明する。まず、当該処理の概要について説明する。当該処理は、タッチパネル１３の入力面（第１ＬＣＤ１１の表示画面）上にユーザによって描かれた軌跡の形状が、予め用意された複数の参照図形のうちのいずれの図形の形状であるかを識別する処理である。なお、以下では、ユーザがタッチパネル１３の入力面に六角形を描いた場合を例として説明する。
【００３８】
図３は、タッチパネル１３によって検出される入力の例を示す図である。ユーザがタッチパネル１３に対して入力を行うと、タッチパネル１３は、入力があった位置を所定時間間隔で時系列で検出する。タッチパネル１３は、入力があった位置を、入力面の横方向をＸ軸とし、縦方向をＹ軸とする平面における座標値（Ｘ，Ｙ）によって表すものとする。
【００３９】
また、タッチパネル１３によって検出された各座標点には、入力された時系列順に番号が設定される。すなわち、第ｊ（ｊは１以上の任意の整数）番目に検出された座標点には、ｐ（ｊ−１）という番号が設定される。なお、「番号の設定」は実施例の理解を容易にするための説明であり、データに実際に番号を設定しているわけではない。つまり、コンピュータ上においては、検出された座標点のデータは、予め確保された記憶領域の例えばアドレス順に記憶されるので、結果的にデータを記憶した順番が分かる。ここでは、データを記憶した順番が分かることの概念的な説明として上述した「番号の設定」の概念を用いて説明している。図３においては、１５個の座標点が検出され、入力された順番にｐ０からｐ１４の番号が設定される。これらの各座標点を入力の順番に直線で結んだ図形が、図形識別プログラムによる識別の対象となる図形である。以下、本実施例の理解を容易にするため、タッチパネル１３によって検出された各座標点を時系列順に（すなわち、入力された順番に）直線で結んだ図形を対象図形と呼ぶ。対象図形は、タッチパネル１３の入力面上に描かれた軌跡を表す座標点の集合によって構成される。つまり、対象図形は、タッチパネル１３の入力面上に描かれた軌跡の図形的特徴を特定するために、ユーザの入力軌跡を複数の線分によって表した図形である。なお、対象図形は、本実施形態の説明を容易にするために用いられる概念であり、コンピュータ上においては単に座標点のデータや座標点と座標点との間の距離のデータ等によって表される。
【００４０】
タッチパネル１３によって対象図形が検出されると、まず、対象図形から直線の要素が抽出される。すなわち、対象図形を構成する各座標点を間引く処理（間引き処理）が行われる。間引き処理は、タッチパネル１３によって検出された各座標点からいくつかの座標点を消去（換言すれば、「抽出」又は「取得」）することによって、対象図形の形状を簡単化する処理である。以下、図４Ａ〜図４Ｄを用いて間引き処理を説明する。
【００４１】
図４Ａ〜図４Ｄは、間引き処理を説明するための図である。間引き処理は、タッチパネル１３によって検出された座標点群の中から、所定の２つの座標点を結んだ直線から所定距離内に存在する座標点を消去する処理である。すなわち、間引き処理は、対象図形を構成する座標点のうちの隣接しない２点を端点とする直線と、当該２点の間の各座標点との距離を算出することによって行われる。具体的には、まず、対象図形の始点である座標点ｐ０を前側の端点（前端点）とし、座標点ｐ０の２つ後の座標点ｐ２を後側の端点（後端点）とする直線が選択される。そして、選択された直線と、当該直線の端点の間の座標点（すなわち、座標点ｐ１）との距離ｌ１が算出される（図４Ａ参照）。さらに、算出された距離ｌ１が所定距離（許容誤差）ｌ’よりも大きいか否かが判定される。なお、図４Ａにおいてはｌ１＜ｌ’であるものとする。また、所定距離ｌ’は、認識させる図形の種類によって適宜決められる任意の値である。
【００４２】
図４Ａに示すようにｌ１が所定距離ｌ’以下である場合、新たに直線が選択され、選択された直線と当該直線の端点の間の座標点との距離が算出される。具体的には、後端点を１つ後の座標点に移動した直線が新たに選択される。図４Ａの例では、座標点ｐ０から座標点ｐ３までを結ぶ直線が選択される。そして、選択された直線と、当該直線の端点の間の座標点との距離が算出される（図４Ｂ参照）。図４Ｂの例では、座標点ｐ０から座標点ｐ３までを結ぶ直線と、当該直線の端点の間の座標点（座標点ｐ０と座標点ｐ３との間の各座標点、すなわち、座標点ｐ１および座標点ｐ２）との距離が算出される。すなわち、当該直線と座標点ｐ１との距離ｌ１、および、当該直線と座標点ｐ２との距離ｌ２が算出される。距離ｌ１および距離ｌ２が算出されると、距離ｌ１および距離ｌ２のいずれかが許容誤差ｌ’よりも大きいか否かが判定される。ここで、距離ｌ１および距離ｌ２の双方が許容誤差ｌ’以下である場合、新たに直線が選択され、選択された直線と座標点との距離が算出される。すなわち、座標点ｐ０から座標点ｐ４までを結ぶ直線と、座標点ｐ０と座標点ｐ４との間の各座標点（すなわち、座標点ｐ１、座標点ｐ２、および座標点ｐ３）との距離が算出される。
【００４３】
一方、距離ｌ１および距離ｌ２の少なくともいずれか一方が許容誤差ｌ’よりも大きい場合、それまでに所定距離ｌ’以下であると判断された座標点を消去する処理が行われる。具体的には、現在選択されている直線の前端点よりも後の座標点であって、かつ、直線の後端点よりも２つ以上前の座標点が消去される。図４Ｂの例では、座標点ｐ０よりも後の座標点であって、座標点ｐ３よりも２つ以上前の座標点、すなわち、座標点ｐ１が消去される（図４Ｃ参照）。
【００４４】
図４ｃに示すように座標点が消去された場合、新たに直線と座標点との距離が算出される。この場合、移動前の後端点を前端点とし、移動後の前端点よりも２つ後の座標点を後端点とする直線が選択される。具体的には、座標点ｐ２から座標点ｐ４までを結ぶ直線が選択される。そして、当該直線と座標点ｐ３との距離ｌ３が算出される（図４Ｄ参照）。以降、直線を選択して座標点と直線との距離を算出する処理と、算出された距離が所定距離よりも大きいか否かを判定する処理とが繰り返される。そして、算出された距離が所定距離よりも大きい場合にはそれまでに所定距離ｌ’以下であると判断された座標点を消去する処理が行われる。これらの処理は、対象図形の終点である座標点ｐ１４を後端点とする直線が選択されるまで行われる。
【００４５】
図５は、間引き処理が行われた前後の様子を示す図である。図５に示すように、図４Ａ〜図４Ｄに示した間引き処理が行われた結果、座標点ｐ１、座標点ｐ３、座標点ｐ５、座標点ｐ６、座標点ｐ８、座標点ｐ９、座標点ｐ１２、および座標点ｐ１３が消去されるものとする。このように、間引き処理によって対象図形を構成する座標点が７つに変更されたことによって、対象図形を構成する線分の数（座標点の数）が減らされ、対象図形の形状が簡単化される。なお、本実施形態では、対象図形を構成する各直線を、対象図形の辺と呼ぶ。また、対象図形を構成する座標点を、対象図形の頂点と呼ぶ。なお、本実施形態においては、図４Ａ〜図４Ｄに示す方法で間引き処理を行うこととしたが、対象図形を構成する座標点を間引くアルゴリズムはどのようなものであってもよい。なお、図４に示したように座標点数を減らすとその後の処理を軽減できるが、本発明では検出された座標点の全てを図形の頂点とするようにしてもよい。
【００４６】
図６（ａ）は、間引き処理によって簡略化された対象図形を示す図である。図６（ａ）においては、間引き処理後に残された頂点について、頂点Ｐ０〜頂点Ｐ６という新たな番号を付している。間引き処理によって対象図形が簡略化されると、簡略化された対象図形について図形情報が算出される。図形情報とは、図形の各頂点の線上距離および各辺の絶対角度を含む情報である。線上距離とは、対象図形の始点から頂点までを図形の線上に沿って進んだ距離である。図６（ａ）を例にとって説明すると、例えば、頂点Ｐ２における線上距離Ｌ２は、頂点Ｐ０から頂点Ｐ１までを結ぶ直線の距離と、頂点Ｐ１から頂点Ｐ２までを結ぶ直線の距離との和である。また、対象図形の始点である頂点Ｐ０の線上距離Ｌ０は、Ｌ０＝０である。
【００４７】
また、絶対角度とは、予め決められた基準直線に対する対象図形の各辺（線分）の角度である。本実施形態では、基準直線は、対象図形の始点を含む辺（すなわち、頂点Ｐ０と頂点Ｐ１とを結ぶ線分）であるとする。つまり、絶対角度は、対象図形の始点を含む辺の角度（後述する基準角度）を基準として（０°として）表される角度である。図６（ａ）を例にとって説明すると、まず、軌跡の始点である頂点Ｐ０から頂点Ｐ１を結ぶ辺を基準として、頂点Ｐ０−Ｐ１，頂点Ｐ１−Ｐ２，頂点Ｐ２−Ｐ３，頂点Ｐ３−Ｐ４，頂点Ｐ４−Ｐ５，頂点Ｐ５−Ｐ６の各辺の絶対角度を算出する。例えば、頂点Ｐ１から頂点Ｐ２までを結ぶ辺の絶対角度Θ１は、当該辺と対象図形の始点を含む辺（すなわち、頂点Ｐ０から頂点Ｐ１までを結ぶ辺）とのなす角度である。また、頂点Ｐ０から頂点Ｐ１までを結ぶ辺を基準として絶対角度を表現するので、当該辺の絶対角度Θ０は、Θ０＝０である。このように、ゲーム装置１は、対象図形の各頂点について線上距離を算出し、各辺について絶対角度を算出することによって、直交座標のｘ軸を始点から各辺に沿った長さとし、ｙ軸を絶対角度とする軌跡グラフのための軌跡の図形情報を算出する。
【００４８】
図６（ｂ）は、図形情報の一例を示す図である。なお、図６（ｂ）に示す図形情報は、図６（ａ）に示す対象図形の図形情報である。図６（ｂ）に示すように、図形情報には、対象図形の頂点Ｐｎについて、頂点Ｐｎにおける線上距離Ｌｎと、頂点Ｐｎから頂点Ｐｎ＋１までを結ぶ辺の絶対角度Θｎとが含まれている。なお、Θｎについてはｎ＝６の場合における辺が存在しないので、Θ６の値は存在しない。
【００４９】
上記図形情報が算出されると、対象図形と参照図形との比較が行われる。参照図形は、図形識別プログラムにおいて図形識別のために予め用意されている図形グラフの図形情報によって表される。ここでは、当該図形情報は、上述した軌跡グラフと同様に、直交座標のｘ軸を始点から各辺に沿った長さとし、ｙ軸を絶対角度とするデータである。図形識別プログラムには、複数種類の参照図形を示すデータが含まれており、ゲーム装置１は、タッチパネル１３の入力面上にユーザによって描かれた軌跡が、複数の参照図形のうちのいずれの図形であるかを識別する。なお、図形識別プログラムには、参照図形を示すデータとして、上記図形情報が含まれている。対象図形と参照図形との比較は、図形情報を用いて行われる。すなわち、ゲーム装置１は、線上距離および絶対角度を用いて対象図形との類似度を各参照図形毎に算出する。その結果、対象図形の形状は、類似度が最も低い参照図形の形状であると識別される。
【００５０】
本実施形態においては、対象図形と参照図形との比較は、上記線上距離および絶対角度を軸とする直交座標系におけるステップ状のグラフを用いて行われる。図７は、対象図形を表すステップ状のグラフ（軌跡グラフ）の例を示す図である。図７に示す座標平面は、ｘ軸が線上距離であり、ｙ軸が絶対角度である。図７に示す軌跡グラフは、図６に示す対象図形の特徴を示している。具体的には、図６に示す頂点Ｐ０から頂点Ｐ１までを結ぶ線分が、図７に示すグラフのｘ＝Ｌ０〜Ｌ１の線分に対応する。図７に示すグラフより、始点（ｘ＝Ｌ０）からｘ＝Ｌ１の座標まで延びる辺は、長さがＬ１−Ｌ０であり、絶対角度ｙ＝Θ０（＝０）であることを読みとることができる。また、始点からの距離がＬ１の頂点（頂点Ｐ１）から、始点からの距離がＬ２の頂点（頂点Ｐ２）まで延びる辺は、長さがＬ２−Ｌ１であり、絶対角度ｙ＝Θ１であることを読みとることができる。図７に示すように、軌跡グラフによって対象図形の特徴を表現することができる。
【００５１】
一方、参照図形についても対象図形と同様、線上距離および絶対角度を軸とする直交座標系におけるグラフとして表現することができる。図８は、参照図形を表すステップ状のグラフ（参照図形グラフ）および参照図形の図形情報の例を示す図である。図８（ａ）は、参照図形の図形情報を示す図である。なお、図８（ａ）に示す図形情報は、参照図形の各頂点Ｑｍ（ｍ＝１〜６）について、頂点Ｑｍの線上距離Ｍｍと、頂点Ｑｍから頂点Ｑｍ＋１までを結ぶ辺の絶対角度φｍとを表している。図形情報からわかるように、図８（ａ）に示す参照図形は、一辺の長さが６０の正六角形である。また、図８（ｂ）に示す参照図形グラフは、図８（ａ）に示す図形情報により示される参照図形の特徴を表現するグラフである。なお、各参照図形の図形情報は、参照図形の終点の線上距離が所定の基準距離となるように予め用意されている。つまり、各参照図形の終点の線上距離は、各参照図形について一定となるように予め調整されている。図８に示すように、参照図形についても対象図形と同様、線上距離および絶対角度を算出することによって、参照図形の特徴をグラフによって表現することができる。
【００５２】
対象図形と参照図形との比較は、軌跡グラフと参照図形グラフとを比較することによって行われる。図９は、対象図形と参照図形とを比較する処理を説明するための図である。図９は、図７に示す軌跡グラフと図８（ｂ）に示す参照図形グラフとを重ね合わせた図である。ゲーム装置１は、軌跡グラフと参照図形グラフとを重ねた場合に、軌跡グラフと参照図形グラフとの重複しない線分によって囲まれる領域（図９に示す斜線領域）の面積を算出する。なお、以下では、当該面積を差分面積と呼ぶ。本実施形態では、算出された差分面積が類似度として用いられる。すなわち、軌跡グラフと参照図形グラフとが似た形状である場合、差分面積は小さくなるので、類似度が高いと判断することができる。逆に、軌跡グラフと参照図形グラフとが全く異なる形状である場合、差分面積は大きくなるので、類似度が低いと判断することができる。従って、ゲーム装置１は、各参照図形毎に差分面積を算出し、算出された差分面積が最も小さい図形の形状が対象図形の形状であると識別する。
なお、軌跡グラフと参照図形グラフとを重ねる際には、軌跡グラフの累積長さと参照図形の累積長さとが等しくなるように、対象図形の累積長さが正規化される。ここで、累積長さとは、図形を構成する各線分の長さの総和、すなわち、図形の終点における線上距離である。図７〜図９の例においては、対象図形を構成する各線分の累積長さ（線上距離Ｌ５）が３６０となるように、当該累積長さが正規化される。これによって、ユーザによって入力された軌跡の大きさの影響を受けずに図形の識別を行うことができる。
【００５３】
以上のように、本実施形態によれば、対象図形および参照図形のそれぞれについて図形情報（線上距離および絶対角度）が算出される。そして、算出された図形情報に基づいて作成される軌跡グラフおよび参照図形グラフを用いて対象図形と参照図形との類似度が判断される。すなわち、対象図形と参照図形との類似度を、それぞれの図形を示すグラフの互いに重複しない部分の面積（差分面積）によって判断する。これによって、各辺の角度、各頂点における線上距離、頂点数、各辺の長さ、および各辺の入力順序といった種々の要素が考慮されて、対象図形と参照図形との類似度が判断されることとなる。
【００５４】
ここで、複雑な図形について図形の識別を行う場合には、タッチパネル１３の誤検出やユーザの誤入力等が原因で対象図形の頂点数と参照図形の頂点数とが異なる可能性がある。また、間引き処理のアルゴリズムによっては対象図形の頂点数を正確に算出することができない可能性がある。なお、対象図形と参照図形との類似度を頂点数を用いて判定する従来の方法においては、対象図形の頂点数と参照図形の頂点数とが異なる場合には類似度が低く判断されてしまう可能性がある。以上より、従来の方法では、複雑な形状の対象図形についてはその形状を正確に識別することができない。これに対して、本実施形態によれば、対象図形と参照図形との類似度を判断するために種々の要素が考慮されるので、対象図形の頂点数のみが原因で類似度が大きく変化しない。従って、対象図形の頂点数と参照図形の頂点数とが異なる場合であっても対象図形の形状を正確に識別することができる。
【００５５】
図１０は、対象図形の頂点数と参照図形の頂点数とが異なる場合における対象図形の例を示す図である。図１０に示す対象図形は、図６に示す対象図形の各頂点に加えて、頂点Ｐ３と頂点Ｐ４との間に頂点Ｐ３’を有している。対象図形が図１０に示す図形である場合、対象図形と参照図形との類似度を頂点数を用いて比較する従来の方法では、頂点Ｐ３’が検出されたことが原因で頂点数が７個と判断される結果、対象図形が六角形であることが正しく識別されないおそれがある。一方、図１１は、図１０に示す対象図形のグラフと参照図形のグラフとを示す図である。本実施形態によれば、頂点Ｐ３’が検出された影響は、図１１に示す斜線部分Ａ、Ｂ、およびＣとして現れる。しかし、差分面積の全体（斜線部分の面積の総和）は、これらの斜線部分Ａ〜Ｃによって大きく変化するわけではない。すなわち、図９に示す差分面積と図１１に示す差分面積とはほぼ同じである。従って、図１０に示す対象図形であっても、図６に示す対象図形と同程度の類似度であると判断される。その結果、図１０に示す対象図形は六角形であることが正しく識別されることとなる。
【００５６】
なお、差分面積を算出する方法としては、各頂点を直線で結んだ折れ線状のグラフを用いる方法も考えられる。図１２は、参照図形および対象図形を表す折れ線状のグラフの一例を示す図である。図１２に示すような折れ線状のグラフを用いる方法によっても差分面積（図１２に示す斜線部分）を算出することは可能である。しかし、折れ線状のグラフを用いる場合には、差分面積を算出するための計算量が、ステップ状のグラフを用いる場合に比べて大きくなる。また、折れ線状のグラフでは、対象図形および参照図形の各辺の長さが考慮されていない。そのため、タッチパネル１３の誤検出やユーザの誤入力等が原因であるノイズの影響を受けやすくなる。例えば、参照図形とは大きく異なる頂点（図１２に示す頂点Ｐ’）が検出された場合、当該頂点の影響を大きく受けてしまうのである。さらに、折れ線状のグラフでは、対象図形および参照図形の頂点数が考慮されなくなるので、例えば正三角形と正方形と正六角形との識別が困難であるという問題点もある。これに対して、本実施形態のようにステップ状のグラフを用いることによって、頂点数や参照図形の各辺の長さを考慮して類似度を判断することができるので、図形の識別をより正確に行うことができる。
【００５７】
なお、以上においては、参照図形が六角形である場合について説明したが、ステップ状のグラフを用いることによって、参照図形がより複雑な場合にも対応することができる。図１３〜図１５は、参照図形の他の例を示す図である。本実施形態によれば、ステップ状のグラフを用いることによって、図１３に示すような２重の正方形である参照図形についても当該図形の特徴を正確に表すことができる。また、図１４に示す星形の図形や図１５に示すような複雑な図形の参照図形についても、ステップ状のグラフを用いることによって当該図形の特徴を正確に表すことができる。従って、図１３〜図１５に示す参照図形をユーザが描いた場合でも、ユーザの描いた軌跡の形状を正確に識別することができる。
【００５８】
次に、図形識別プログラムを実行することによってゲーム装置１において行われる図形識別処理の詳細を説明する。図１６は、ゲーム装置１において実行される図形識別処理の流れを示すフローチャートである。ゲーム装置１の電源が投入されると、ゲーム装置１のＣＰＵコア２１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、ＷＲＡＭ２２等の各ユニットが初期化される。そして、カートリッジ１７に格納されたプログラムがＷＲＡＭ２２に読み込まれ、ＣＰＵコア２１によって当該プログラムの実行が開始される。図１６に示すフローチャートは、以上の処理が完了した後に行われる図形識別処理を示すフローチャートである。
【００５９】
図１６では、まず、ステップ１０（図では「ステップ」を単に「Ｓ」と略す。）において、カウンタｎの値が初期化される、すなわち、ｎ＝０に設定される。このカウンタｎは、対象図形として検出される座標点の番号を示すために用いられる。続くステップ１１において、タッチパネル１３に対する入力が開始されたか否かが判定される。具体的には、当該入力があった位置を示す座標データがタッチパネル１３から出力されたか否かが判定される。ステップ１１の判定において、タッチパネル１３に対する入力が開始されていない場合、ステップ１１の処理が繰り返される。一方、ステップ１１の判定において、タッチパネル１３に対する入力が開始されていない場合、ステップ１２の処理が行われる。すなわち、ゲーム装置１は、ユーザによってタッチパネル１３に対する入力が行われるまで待機し、当該入力を検知するとステップ１２の処理へ進む。
【００６０】
ステップ１２においては、ＣＰＵコア２１は、タッチパネル１３の入力面において入力があった座標点の座標を検出して保存する。具体的には、タッチパネル１３から座標値（Ｘ，Ｙ）を読み込み、ＷＲＡＭ２２に格納する。なお、カウンタｎ＝ｊ（ｊは１以上の整数）である場合に検出される座標値は、座標点ｐ（ｊ）の座標値（Ｘｊ，Ｙｊ）として格納される。続くステップ１３において、カウンタｎの値が１だけ増加（インクリメント）される。続くステップ１４において、タッチパネル１３に対する入力が所定時間の間検出されなくなったか否かが判定される。具体的には、タッチパネル１３から座標データが所定時間の間出力されなくなったか否かが判定される。ステップ１４の判定において、タッチパネル１３に対する入力が所定時間の間に検出された場合、ステップ１２の処理に戻る。以降、タッチパネル１３に対する入力が一定時間の間なくなるまで、ステップ１２〜１４の処理が繰り返される。一方、ステップ１４の判定において、タッチパネル１３に対する入力が所定時間の間検出されなかった場合、ステップ１５の処理が行われる。すなわち、ステップ１５において、対象図形の頂点数Ｎの値がＷＲＡＭ２２に保存される。具体的には、Ｎの値は、現時点におけるｎの値に設定される。これによって、対象図形の頂点数が決定されたことになる。以上のステップ１２〜１５によって、タッチパネル１３の入力面上に描かれた軌跡の座標点が時系列で検出され、検出された座標点群が時系列に並んでＷＲＡＭ２２に格納されることとなる。
【００６１】
ステップ１６においては、ステップ１２によって検出された対象図形に対して上述の間引き処理が行われる（図４Ａ〜図４Ｄ参照）。間引き処理は、対象図形から直線の要素を抽出するために、対象図形を構成する座標点からいくつかの座標点を間引く処理である。以下、間引き処理の詳細を図１７を用いて説明する。
【００６２】
図１７は、図１６に示すステップ１６の詳細な処理の流れを示すフローチャートである。ステップ１６の間引き処理においては、まず、ステップ２０において、カウンタｎの値がｎ＝０に設定される。間引き処理においては、カウンタｎは、直線と座標点との距離を計算する際において、当該直線の前側の端点を示すために用いられる。続くステップ２１において、カウンタｍの値がｍ＝ｎ＋２に設定されるとともに、カウンタｉの値がｉ＝ｎ＋１に設定される。間引き処理においては、カウンタｍは、直線と座標点との距離を計算する際において、当該直線の後側の端点を示すために用いられる。カウンタｉは、直線と座標点との距離を計算する際における当該座標点を示すために用いられる。ステップ２０においてカウンタｎの値が設定され、ステップ２１においてカウンタｍの値が設定されることによって、座標点との距離を算出すべき直線が選択されたことになる。
【００６３】
ステップ２１の次のステップ２２において、現在選択されている直線と、当該２点の間の座標点との距離が算出される。具体的には、カウンタｎにより示される座標点（座標点ｐ（ｎ））を前端点とし、カウンタｍにより示される座標点（座標点ｐ（ｍ））を後端点とする直線と、カウンタｉにより示される座標点（座標点ｐ（ｉ））との距離ｌ（ｉ）が算出される。当該距離ｌ（ｉ）は、例えば、次式（１）を用いて算出することができる。
ｌ（ｉ）＝（（Ｘｍ−Ｘｎ）（Ｙｉ−Ｙｎ）−（Ｙｍ−Ｙｉ）（Ｘｉ−Ｘｎ））2 ／（（Ｘｍ−Ｘｎ）2 ＋（Ｙｍ−Ｙｎ）2 ）…（１）
【００６４】
ステップ２３においては、ステップ２２で算出された距離ｌ（ｉ）が許容誤差ｌ’よりも大きいか否かが判定される。この許容誤差ｌ’の値は、予め定められている。ステップ２３の判定において、距離ｌ（ｉ）が許容誤差ｌ’よりも大きいと判定された場合、ステップ２４の処理が行われる。一方、ステップ２３の判定において、距離ｌ（ｉ）が許容誤差ｌ’以下であると判定された場合、ステップ２７の処理が行われる。
【００６５】
まず、ステップ２３の判定において、距離ｌ（ｉ）が許容誤差ｌ’よりも大きいと判定された場合について説明する。まず、ステップ２４において、座標点を消去する処理が行われる。この処理において消去される座標点は、点ｐ（ｎ＋１）から点ｐ（ｍ−２）までの座標点である。例えば、ｎ＝０、ｍ＝３、およびｉ＝２である場合、座標点ｐ１が消去される（図４Ｃ参照）。具体的には、座標点ｐ１の座標値がＷＲＡＭ２２から削除される。続くステップ２５において、カウンタｎの値がカウンタｍの値に設定される。さらに、ステップ２６において、カウンタｍの値が頂点数Ｎ以上であるか否かが判定される。ステップ２６の処理は、間引き処理を対象図形の終点である座標点ｐ（Ｎ）まで行ったか否かを判定するための処理である。ステップ２６の判定において、カウンタｍの値が頂点数Ｎ以上である場合、ステップ３１の処理が行われる。ステップ３１の処理については後述する。一方、ステップ２６の判定において、カウンタｍの値が頂点数Ｎよりも小さい場合、ステップ２１の処理に戻る。
【００６６】
次に、ステップ２３の判定において、距離ｌ（ｉ）が許容誤差ｌ’以下であると判定された場合について説明する。まず、ステップ２７において、カウンタｉの値がインクリメントされる。続くステップ２８において、カウンタｉの値がカウンタｍの値以上であるか否かが判定される。カウンタｉの値がカウンタｍの値以上であることは、現在選択されている直線の間の全ての座標点について当該直線との距離を算出したことを意味する。逆に、カウンタｉの値がカウンタｍの値よりも小さいことは、現在選択されている直線の端点の間にある座標点のうちの少なくとも１つについて当該直線との距離を算出していないことを意味する。従って、ステップ２８の判定において、カウンタｉの値がカウンタｍの値よりも小さい場合、現在選択されている直線との距離を算出していない座標点について点と直線との距離を算出するためにステップ２２の処理が行われる。一方、ステップ２８の判定において、カウンタｉの値がカウンタｍの値以上である場合、選択されている直線が変更される。具体的には、ステップ２９において、カウンタｍの値がインクリメントされる。また、ステップ２９においては、カウンタｉの値がｉ＝ｎ＋１に設定される。さらに、続くステップ３０において、カウンタｍの値が頂点数Ｎよりも大きいか否かが判定される。ステップ３０の処理は、間引き処理を対象図形の終点である座標点ｐ（Ｎ）まで行ったか否かを判定するための処理である。ステップ２６の判定においてカウンタｍの値が頂点数Ｎ以下である場合、ステップ２２に戻って処理が行われる。一方、ステップ２６の判定においてカウンタｍの値が頂点数Ｎよりも大きい場合、ステップ３１の処理が行われる。
【００６７】
ステップ３１においては、間引き処理による消去後に残った座標点（頂点）について新たな番号が設定される。具体的には、間引き処理による消去後に残った座標点（頂点）の座標値について、入力が行われた順番に、Ｐ０，Ｐ１，Ｐ２，…と番号が設定される。なお、以下の図形識別処理においては、頂点Ｐｊ（ｊは１以上の任意の整数）の座標値を（Ｘｊ，Ｙｊ）として表す。また、ステップ３１においては、頂点数Ｎの値が、間引き処理による消去後に残った頂点の数に再設定される。ステップ３１の完了後、ＣＰＵコア２１はステップ１６の間引き処理を終了する。
【００６８】
図１６の説明に戻り、ステップ１６の後、ステップ１７において、図形情報算出処理が行われる。図形情報算出処理とは、対象図形の図形情報、すなわち、各頂点の線上距離および各辺の絶対角度を算出する処理である。以下、図形情報算出処理の詳細を図１８を用いて説明する。
【００６９】
図１８は、図１６に示すステップ１７の詳細な処理の流れを示すフローチャートである。ステップ１７の図形情報算出処理においては、まず、ステップ４０において、基準角度が算出される。基準角度は、各辺の絶対角度を、当該基準角度を基準とした値に変換するために用いられる。具体的には、基準角度は、入力面のＸ軸の正方向を基準とした、対象図形の最初の辺の角度である。なお、対象図形の最初の辺とは、頂点Ｐ０と頂点Ｐ１とを結ぶ辺である。基準角度Θ’は、例えば次式（２）を用いて算出することができる。
Θ’＝ａｒｃｔａｎ（（Ｙ１−Ｙ０）／（Ｘ１−Ｘ０））…（２）
【００７０】
次に、ステップ４１においては、対象図形の各辺の長さの総和を示す変数Ｌｔが０に設定される。さらに、カウンタｎがｎ＝０に設定される。図形情報算出処理においては、カウンタｎは、対象図形の頂点Ｐｎを示すために用いられる。続くステップ４２においては、カウンタｎの値が頂点数Ｎの値以上であるか否かが判定される。ステップ４２の判定処理は、対象図形の全ての頂点について線上距離を算出し、全ての辺について絶対角度を算出したか否かを判定するための処理である。ステップ４２の判定において、カウンタｎの値が頂点数Ｎの値以上である場合、ステップ４９の処理が行われる。ステップ４９以降の処理については後述する。
【００７１】
一方、ステップ４２の判定において、カウンタｎの値が頂点数Ｎの値よりも小さい場合、ステップ４３の処理が行われる。すなわち、ステップ４３において、頂点Ｐｎと頂点Ｐｎ＋１とを結ぶ辺の絶対角度Θｎが算出される。具体的には、絶対角度Θｎは、次式（３）を用いて算出される。
Θｎ＝ａｒｃｔａｎ（（Ｙ（ｎ＋１）−Ｙｎ）／（Ｘ（ｎ＋１）−Ｘｎ））…（３）
なお、式（３）によって算出される絶対角度は、入力面のＸ軸の正方向を基準とする角度である。従って、続くステップ４４において、ステップ４３において算出された絶対角度の値が、上記基準角度を基準とした値に変換される。すなわち、ステップ４３において算出された絶対角度Θｎから基準角度Θ’を減算した値に絶対角度Θｎの値が変換される。
【００７２】
ステップ４４の次に、ステップ４５において、頂点Ｐｎと頂点Ｐ（ｎ＋１）とを結ぶ辺の長さＬ’ｎが算出される。具体的には、当該長さＬ’ｎは、次式（４）を用いて算出される。
Ｌ’ｎ＝（（（Ｘ（ｎ＋１）−Ｘｎ））2 ＋（（Ｙ（ｎ＋１）−Ｙｎ）））2 ）1/2 …（４）
続くステップ４６において、対象図形の総距離が算出される。具体的には、対象図形の各辺の長さの総和を示す変数Ｌｔの値が更新される。変数Ｌｔの値は、更新前の値にＬ’ｎを加算した値となるように更新される。ステップ４６の処理がｎ＝Ｎとなるまで繰り返されると、最終的に変数Ｌｔの値は、対象図形の各辺の長さの総和、すなわち、対象図形の総距離を示す値となる。続くステップ４７において、ステップ４５で算出したＬ’ｎを用いて頂点Ｐ（ｎ）の線上距離Ｌｎが算出される。具体的には、次式（５）を用いてＬｎの値が算出される。
Ｌｎ＝Ｌ’ｎ＋Ｌ（ｎ−１）…（５）
なお、式（５）において、なお、Ｌ（ｎ−１）の値は、前回のステップ４７において算出されている。また、ｎ＝０の場合は、Ｌ（ｎ−１）＝０として計算される。
【００７３】
ステップ４７の次に、ステップ４８において、カウンタｎの値がインクリメントされる。ステップ４８の後、処理はステップ４２に戻る。以降、ｎ≧Ｎとなるまでステップ４２〜４８の処理が繰り返される。
【００７４】
次に、ステップ４９以降の処理について説明する。まず、ステップ４９においては、カウンタｎの値がｎ＝０に設定される。続くステップ５０において、線上距離Ｌｎの値が正規化される。具体的には、変換前のＬｎの値にＬａ／Ｌｔを乗算した値に線上距離Ｌｎの値が変換される。なお、Ｌａは、前述の基準距離である。ステップ５０によって、変換後におけるＬ（Ｎ）の値がＬ（Ｎ）＝Ｌａとなるように正規化される。
【００７５】
続くステップ５１において、カウンタｎの値がインクリメントされる。さらに、続くステップ５２において、カウンタｎの値が頂点数Ｎの値以上であるか否かが判定される。ステップ５２の判定処理は、対象図形の全ての頂点の線上距離について正規化を行ったか否かを判定するための処理である。ステップ５２の判定において、カウンタｎの値が頂点数Ｎの値よりも小さい場合、ステップ５０の処理が行われる。以降、ｎ≧Ｎとなるまでステップ５０〜５２の処理が繰り返される。一方、ステップ５２の判定において、カウンタｎの値が頂点数Ｎの値以上である場合、ＣＰＵコア２１は、図形情報算出処理を終了する。
【００７６】
図１６の説明に戻り、ステップ１７の後、ステップ１８において、図形決定処理が行われる。図形決定処理とは、識別結果の形状を決定する処理である。以下、図形決定処理の詳細を図１９を用いて説明する。
【００７７】
図１９は、図１６に示すステップ１８の詳細な処理の流れを示すフローチャートである。ステップ１８の図形決定処理においては、まず、ステップ６０において、図形識別プログラムにおいて予め用意されている参照図形のうちの１つが選択され、選択された参照図形の図形情報が読み込まれる。なお、ステップ６０では、まだ選択されていない参照図形のうちから１つが選択される。
【００７８】
ステップ６１においては、図形決定処理において用いられる各変数の値が初期化される。具体的には、カウンタｎ、カウンタｍ、変数Ｓ、変数ｒｄ、および変数ｌｄの値がそれぞれ０に設定される。なお、図形決定処理において、カウンタｎは、対象図形の頂点Ｐｎを示す。また、図形決定処理において、カウンタｍは、参照図形の頂点Ｑｍを示す。変数Ｓは、差分面積を算出するために用いられる変数である。
【００７９】
ステップ６２においては、対象図形の頂点Ｐｎの線上距離Ｌｎが、参照図形の頂点Ｑｍの線上距離Ｍｍよりも小さいか否かが判定される。ステップ６２の判定において、線上距離Ｌｎが線上距離Ｍｍよりも小さい場合、ステップ６３〜６５の処理が行われる。一方、ステップ６２の判定において、線上距離Ｌｎが線上距離Ｍｍ以上である場合、ステップ６６〜６８の処理が行われる。
【００８０】
まず、ステップ６３〜６５の処理について説明する。ステップ６３においては、変数ｒｄの値がｒｄ＝Ｌｎに設定される。続くステップ６４において、変数Ｓの値が更新される。具体的には、更新後の変数Ｓの値は、次式（６）を用いて算出される。
Ｓ＝Ｓ’＋｜（ｌｄ−ｒｄ）・（Θｎ−φｍ）｜…（６）
なお、式（６）において、Ｓ’は更新前の変数Ｓである。続くステップ６５において、カウンタｎの値がインクリメントされる。ステップ６５の後、ステップ６９の処理が行われる。ステップ６９の処理については後述する。
【００８１】
次に、ステップ６６〜６８の処理について説明する。ステップ６６においては、変数ｒｄの値がｒｄ＝Ｍｍに設定される。続くステップ６７において、変数Ｓの値が更新される。具体的には、更新後の変数Ｓの値は、上述の式（６）を用いて算出される。続くステップ６８において、カウンタｍの値がインクリメントされる。ステップ６６の後、ステップ６９の処理が行われる。
【００８２】
ここで、図９に示されるように、対象図形のグラフと参照図形のグラフとの重複しない部分は、１以上の長方形に分けることができる。従って、差分面積は、当該長方形毎に面積を計算することによって算出することができる。ステップ６３〜６５の処理、およびステップ６６〜６８の処理は、当該長方形毎に面積を算出し、算出した面積を累積加算することによって差分面積を算出する処理である。上記ステップ６３〜６５の処理、およびステップ６６〜６８の処理においては、変数ｒｄは長方形の右端のｘ座標を示すように設定され、変数ｌｄは長方形の左端のｘ座標を示すように設定される。このとき、Θｎおよびφｍはいずれか一方が長方形の上端を示し、他方が下端を示す。従って、上述の式（６）によって長方形の面積を算出することができる。
【００８３】
ステップ６９においては、変数ｌｄの値が変数ｒｄの値に更新される。続くステップ７０において、変数ｒｄの値が基準距離の値となっているか否かが判定される。ステップ７０の処理は、対象図形のグラフと参照図形のグラフとの重複しない部分を構成する全ての長方形の面積を算出したか否かを判定するための処理である。ステップ７０の判定において、変数ｒｄの値が基準距離の値となっていない場合、ステップ６２の処理に戻る。以降、変数ｒｄの値が基準距離の値となるまでステップ６２〜６９の処理が繰り返される。一方、ステップ７０の判定において、変数ｒｄの値が基準距離の値となっている場合、ステップ７１の処理が行われる。すなわち、ステップ７１において、変数Ｓの値が差分面積としてＷＲＡＭ２２に保存される。これによって、ステップ６０で選択されている参照図形のグラフと軌跡グラフとの差分面積が算出されたことになる。
【００８４】
ステップ７１の次に、ステップ７２において、全ての参照図形を対象図形と比較したか否かが判定される。すなわち、予め用意されている全ての参照図形について差分面積を算出したか否かが判定される。ステップ７２の判定において、全ての参照図形を対象図形と比較していない場合、ステップ６０の処理に戻る。そして、全ての参照図形を対象図形と比較するまで、ステップ６０〜７２の処理が繰り返される。一方、ステップ７２の判定において、全ての参照図形を対象図形と比較した場合、ステップ７３の処理が行われる。すなわち、ステップ７３において、対象図形の形状が決定される。具体的には、各参照図形のうち、算出された差分面積が最小である参照図形の形状が、対象図形の形状として識別される。ステップ７３の後、ＣＰＵコア２１は図形識別処理を終了する。
【００８５】
以上、本実施形態においては、対象図形および参照図形の線上距離および絶対角度を用いて作成される軌跡グラフおよび参照図形グラフを用いて類似度を判断する。これによって、複雑な形状の図形を正確に認識することが可能となる。特に、軌跡グラフおよび参照図形グラフをステップ状のグラフとすることによって、図形識別処理の計算量を軽減するとともに、より正確に図形の識別を行うことができる。
【００８６】
なお、上記実施形態においては、対象図形および参照図形の最初の辺の絶対角度が０となるように絶対角度を変換する処理（ステップ４４）が行われた後、対象図形と参照図形との比較が行われた。ここで、他の実施形態においては、当該処理を行わないようにしてもよい。これによれば、対象図形と参照図形との比較の際に、タッチパネル１３の入力面における対象図形の向きが考慮されることになる。すなわち、ユーザによって描かれる軌跡の入力面における向きを考慮して図形認識を行いたい場合は、絶対角度を変換する処理を行わないようにすればよい。また、ユーザによって描かれる軌跡の入力面における向きを考慮せずに図形認識を行いたい場合は、絶対角度を変換する処理を行うようにすればよい。
【００８７】
また、上記実施形態においては、入力装置の一例としてタッチパネルを例に挙げて説明したが、入力装置は、ユーザが入力面状に軌跡を描くことができる装置であればどのようなものであってもよい。入力装置は、例えばマウスであってもよい。
【００８８】
また、上述したように、本実施形態における図形識別方法によれば、対象図形の頂点数に大きく影響されずに図形の識別を行うことができる。従って、本実施形態における図形識別方法によれば、間引き処理によって対象図形の頂点数を減らさなくても、図形の識別を正確に行うことができる。従って、上記実施形態においては間引き処理（ステップ１６）を行うようにしたが、他の実施形態においては間引き処理を省略してもよい。すなわち、他の実施形態においては、タッチパネル１３によって検出された全ての座標点を、対象図形を構成する座標点として選出するようにしてもよい。間引き処理を省略することによって、図形識別処理の処理量を全体として軽減することができるというメリットがある。従って、間引き処理の処理量が大きい場合には、間引き処理を省略することができる本実施形態の図形識別方法は特に有効である。
【００８９】
また、上記実施形態においては、対象図形および参照図形の辺の角度は、所定の一方向を基準とする絶対角度であった。すなわち、対象図形および参照図形の辺の角度は、図形の所定の一辺（上記実施形態では、図形の最初の辺（ステップ４４参照）を基準として表される角度であるか、または、入力面における所定の一方向（上記実施形態では、入力面におけるＸ軸の正方向（ステップ４３参照））を基準として表される角度であった。ここで、他の実施形態においては、対象図形および参照図形の辺の角度は、相対角度を用いて表されてもよい。相対角度とは、その辺に隣接する辺の角度を基準として表される角度である。例えば、図６（ｂ）に示す図形情報における辺の角度を、その辺の前の辺の角度を基準とした相対角度で表すと、Θ１＝５０、Θ２＝７０、Θ３＝７０、Θ４＝６０、Θ５＝５０のようになる。ただし、相対角度を用いる場合には、間引き処理をうまく行うことができなかった場合（図１０参照）に、対象図形を正しく識別することができない場合がある。図１０を例にとって説明すると、相対角度を用いる場合、頂点Ｐ３’から頂点Ｐ４までを結ぶ辺の角度は、おおよそ６０°の値となる他の辺の角度に比べてかなり小さくなる。従って、当該辺の部分において、軌跡グラフの形状と参照図形グラフの形状とは大きく異なってしまう。その結果、正六角形の参照図形と図１０に示す対象図形との類似度は低くなってしまい、対象図形が正しく識別されないことも考えられる。以上のように、相対角度を用いる場合には、その影響が類似度の算出に大きく反映されてしまう点に留意する必要がある。
【００９０】
なお、本実施形態に係る図形認識プログラムは、ゲームプログラムに用いることができる。以下、本実施形態に係る図形認識プログラムを応用したゲーム例について説明する。図２０は、本実施形態に係る図形認識プログラムを用いたゲームのゲーム画面例を示す図である。このゲームは、例えばロールプレイングゲームのように、プレイヤが操作するプレイヤキャラクタが敵キャラクタ８１と戦闘を行うゲームである。図２０に示すゲーム画面は、タッチパネル１３によって覆われる第１ＬＣＤ１１に表示される。すなわち、図形識別プログラムは、ゲーム空間の少なくとも一部の様子をゲーム画像として第１ＬＣＤ１１に表示する処理を含んでいる。プレイヤは、タッチパネル１３を用いて敵キャラクタ８１への攻撃指示等を行い、最終的に敵キャラクタを倒すことを目的としてゲームをプレイする。ここで、攻撃指示は、タッチパネル１３の入力面に軌跡を描くことによって行われる。すなわち、プレイヤは、タッチパネル１３の入力面に予め定められた種々の軌跡を描くことによって、軌跡の形状に応じた攻撃指示を行うことができる。
【００９１】
具体的には、上記ゲーム例のゲームプログラムにおいては、予め定められた図形（上記参照図形に対応する）とプレイヤキャラクタによる攻撃（敵キャラクタに対する攻撃）の方法（例えば、剣による攻撃や魔法による攻撃等）との対応が定義されている。プレイヤは、所望する攻撃方法に対応する図形を描くようにタッチパネル１３に対する入力を行う。プレイヤは、例えば、図２１に示すように、のこぎりの歯の形状をした軌跡（図２１に示す斜線部分）を敵キャラクタ８１上で描く。ゲーム装置１は、プレイヤによって描かれた軌跡の形状が、予め定められた図形のうちのいずれの図形の形状であるかを、上記実施形態に係る図形認識プログラムを用いて識別する。さらに、識別された参照図形に関連付けられたゲーム処理を実行することによって、当該参照図形の種類に応じた変化をゲーム画像に発生させる。具体的には、識別された参照図形に対応する攻撃方法によって敵キャラクタに対する攻撃が行われ、当該攻撃の効果を示すエフェクト表示が第１ＬＣＤ１１に表示される、その結果、当該攻撃方法や効果に応じて敵キャラクタのパラメータを減少させる。このように、敵キャラクタに対する攻撃の方法は、識別された図形の形状に応じて決まる。例えば、プレイヤによって描かれた軌跡の形状が三角形であれば剣による攻撃方法が選択され、当該軌跡の形状が四角形であれば魔法による攻撃方法が選択される。
【００９２】
以上のゲーム例において示したように、図形認識プログラムは、プレイヤに所定の図形を描かせるゲームに応用することができる。ここで、一般的な情報処理装置では、現実世界で使われないような複雑な図形をユーザに入力させることあまりない。しかし、ゲーム装置においては、ゲーム性を向上させるために例えば複雑な図形入力によって魔法を発動させるような場合には、あえて複雑な図形をユーザに入力させることが考えられる。例えば、上記のゲーム例において、難しい図形ほど大きな攻撃力の攻撃を行うようにすることによって、複雑な図形を短時間で正確に入力させる図形入力スキルがゲーム空間に反映されるようにすることができる。これによってゲームのゲーム性が向上し、ゲームをより面白いものにすることができる。従って、複雑な図形の識別が可能な本実施形態に係る図形認識プログラムをゲームプログラムに応用すれば非常に有効である。
【産業上の利用可能性】
【００９３】
以上に説明した図形認識プログラムおよび情報処理装置は、所定の図形をユーザに描かせるゲーム処理を実行するゲーム装置等において利用することが可能である。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施形態に係る情報処理装置の一例である携帯型のゲーム装置の外観図
【図２】ゲーム装置１の内部構成を示すブロック図
【図３】タッチパネル１３によって検出される入力の例を示す図
【図４Ａ】間引き処理を説明するための図
【図４Ｂ】間引き処理を説明するための図
【図４Ｃ】間引き処理を説明するための図
【図４Ｄ】間引き処理を説明するための図
【図５】間引き処理が行われた前後の様子を示す図
【図６】間引き処理によって簡略化された対象図形およびその図形情報を示す図
【図７】軌跡グラフの例を示す図
【図８】参照図形グラフおよび参照図形の図形情報の例を示す図
【図９】対象図形と参照図形とを比較する処理を説明するための図
【図１０】対象図形の頂点数と参照図形の頂点数とが異なる場合における対象図形の例を示す図
【図１１】図１０に示す対象図形のグラフと参照図形のグラフとを示す図
【図１２】参照図形および対象図形を表す折れ線状のグラフの一例を示す図
【図１３】参照図形の他の例を示す図
【図１４】参照図形の他の例を示す図
【図１５】参照図形の他の例を示す図
【図１６】ゲーム装置１において実行される図形識別処理の流れを示すフローチャート
【図１７】図１６に示すステップ１６の詳細な処理の流れを示すフローチャート
【図１８】図１６に示すステップ１７の詳細な処理の流れを示すフローチャート
【図１９】図１６に示すステップ１８の詳細な処理の流れを示すフローチャート
【図２０】図形認識プログラムを用いたゲームのゲーム画面例を示す図
【図２１】図形認識プログラムを用いたゲームのゲーム画面例を示す図
【図２２】複雑な図形の一例を示す図
【符号の説明】
【００９５】
１  ゲーム装置
１１  第１ＬＣＤ
１３  タッチパネル
１７  カートリッジ
２１  ＣＰＵコア
２２  ＷＲＡＭ
【図１】
2005346467.tif 000003
【図２】
2005346467.tif 000004
【図３】
2005346467.tif 000005
【図４Ａ】
2005346467.tif 000006
【図４Ｂ】
2005346467.tif 000007
【図４Ｃ】
2005346467.tif 000008
【図４Ｄ】
2005346467.tif 000009
【図５】
2005346467.tif 000010
【図６】
2005346467.tif 000011
【図７】
2005346467.tif 000012
【図８】
2005346467.tif 000013
【図９】
2005346467.tif 000014
【図１０】
2005346467.tif 000015
【図１１】
2005346467.tif 000016
【図１２】
2005346467.tif 000017
【図１３】
2005346467.tif 000018
【図１４】
2005346467.tif 000019
【図１５】
2005346467.tif 000020
【図１６】
2005346467.tif 000021
【図１７】
2005346467.tif 000022
【図１８】
2005346467.tif 000023
【図１９】
2005346467.tif 000024
【図２０】
2005346467.tif 000025
【図２１】
2005346467.tif 000026
【図２２】
2005346467.tif 000027