JP2005346467A - 図形認識プログラム - Google Patents

図形認識プログラム Download PDF

Info

Publication number
JP2005346467A
JP2005346467A JP2004166128A JP2004166128A JP2005346467A JP 2005346467 A JP2005346467 A JP 2005346467A JP 2004166128 A JP2004166128 A JP 2004166128A JP 2004166128 A JP2004166128 A JP 2004166128A JP 2005346467 A JP2005346467 A JP 2005346467A
Authority
JP
Japan
Prior art keywords
graphic
graph
line segment
coordinate point
coordinate
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.)
Pending
Application number
JP2004166128A
Other languages
English (en)
Inventor
Hiroshi Momose
裕志 百瀬
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2004166128A priority Critical patent/JP2005346467A/ja
Priority to US10/914,112 priority patent/US7535460B2/en
Priority to EP04019052.2A priority patent/EP1603078B1/en
Publication of JP2005346467A publication Critical patent/JP2005346467A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • A63F2300/1075Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/301Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device using an additional display connected to the game console, e.g. on the controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 複雑な形状の図形を正確に認識することが可能な図形認識プログラムを提供する。
【解決手段】 図形認識プログラムを実行する情報処理装置は、入力面上に描かれる軌跡を座標点として時系列で検出する。検出された各座標点を時系列で並べた座標点群から、軌跡を表すための座標点が選出される。情報処理装置は、選出された各座標点を時系列順に結んだ各線分の長さを算出する。また、線分の絶対角度または相対角度を各線分毎に算出する。図形識別ステップは、線上距離を第1軸とし選出された座標点を基点とする線分の角度を第2軸とする直交座標系の軌跡グラフと、参照図形を当該直行座標系において表した参照図形グラフとを比較する。比較の結果、軌跡グラフに最も近似する参照図形グラフによって表される参照図形が軌跡の形状として識別される。
【選択図】 図9

Description

本発明は、図形認識プログラムに関し、より特定的には、タッチパネル等による入力によって、軌跡を描くように図形が描かれた際に、当該図形の形状を認識するための図形認識プログラムに関する。
従来から、ユーザによってタッチパネル等に描かれた図形の形状を判断するための方法が種々提案されている。中でも、描かれた図形の頂点数を推定し、推定した頂点数と理想的な参照図形の頂点数とを比較する方法がよく用いられている。例えば三角形や四角形等のような単純な図形を認識する場合であれば、頂点数を比較することによって図形の形状を容易に認識することができるからである。
タブレットに描かれた図形を認識する手段として、特許第3046472号公報に記載の図形認識装置(先行技術1)がある。この図形認識装置では、以下の処理を行うことによって図形を認識している。すなわち、まず、入力された座標点列から、直線の要素(図形の辺に相当する)を抽出し、抽出した各辺の長さ、および各辺の角度(方向)を算出する。次に、各辺の長さおよび角度に基づいて角度ヒストグラムを作成する(特許文献1の図3(c)および(d)参照)。この角度ヒストグラムに基づいて、入力された座標点列によって表される図形の頂点の数(辺の数)が推定される。先行技術1においては、以上のように推定された頂点数を用いて図形の認識を行っている。
特許第3046472号公報
ここで、複雑な形状の図形を認識する場合を考える。複雑な形状の図形は一般的に多くの頂点数を有するので、入力された座標点列から直線の要素を正確に抽出することが困難になり、描かれた図形の頂点数を正確に推定することは困難である。また、複雑な形状の図形を描く場合には、ユーザによる入力も正確さに欠けることが多くなるので、この理由からも、描かれた図形の頂点数を正確に推定することは困難であると言える。以上より、複雑な形状の図形を認識する場合には、描かれた図形について推定された頂点数と、理想的な参照図形の頂点数とが一致する可能性は低くなると考えられる。その結果、描かれた図形と理想的な参照図形との比較を正確に行うことができず、描かれた図形の形状を正確に判断することができなくなる。つまり、上述したような頂点数を推定する方法では、複雑な形状の図形を正確に認識することが困難であると考えられる。
また、上記先行技術1では、上記角度ヒストグラムを用いて頂点数を推定しているが、この角度ヒストグラムは、各辺が描かれた順番を考慮していない。従って、例えば図22に示すような2重の渦巻き形状の図形を描いた場合には、辺の角度が同じと判断される部分(図22に示す点線部分)が1つの辺とみなされてしまう。そのため、上記先行技術1では、図22に示す形状と四角形との区別が付かず、複雑な形状の図形を正確に認識することができない。
それ故、本発明の目的は、複雑な形状の図形を正確に認識することが可能な図形認識プログラムを提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
すなわち、本発明は、入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別するためにコンピュータに実行される図形識別プログラムである。図形識別プログラムは、コンピュータ(21等)に、検出ステップ(ステップ12)と、座標点選出ステップ(ステップ16)と、長さ算出ステップ(ステップ45)と、角度算出ステップ(ステップ43,44)と、図形識別ステップ(ステップ18)とを実行させる。検出ステップは、入力面上に描かれる軌跡を座標点として時系列で検出する。座標点選出ステップは、検出された各座標点を時系列で並べた座標点群から、軌跡を表すための座標点を選出する。長さ算出ステップは、選出された各座標点を時系列順に結んだ各線分の長さを算出する。角度算出ステップは、線分と予め決められた基準直線とがなす絶対角度、または、線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する。図形識別ステップは、選出された各座標点のうちの始点または終点から各座標点までの線分上に沿った距離(線上距離)を第1軸とし選出された座標点を基点とする線分の角度を第2軸とする直交座標系の軌跡グラフ(図7)と、予め用意されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフ(図8)とを比較することにより、当該軌跡グラフに最も近似する参照図形グラフによって表される参照図形を軌跡の形状として識別する。
また、第2の発明においては、図形識別ステップは、面積算出ステップ(ステップ64,67)と、識別ステップ(ステップ73)とを含んでいてもよい。面積算出ステップは、直交座標系における軌跡グラフと参照図形グラフとの重複しない線分によって囲まれた領域の面積(差分面積)を各参照図形毎に算出する。識別ステップは、面積算出ステップにおいて算出された面積が最も小さい参照図形を軌跡の形状として識別する。
また、第3の発明においては、軌跡グラフおよび参照図形グラフは、線分に対応する部分が第1軸に平行な直線成分によって構成されるステップ状のグラフであってもよい。
また、第4の発明においては、図形識別プログラムは、正規化ステップ(ステップ50)をコンピュータにさらに実行させてもよい。正規化ステップは、図形識別ステップにおいて軌跡グラフと参照図形グラフとの比較が行われる前に、当該軌跡グラフの各線分の累積長さと当該参照図形グラフの累積長さとが等しくなるように、当該軌跡グラフの各線分の長さの割合を保ったまま当該軌跡グラフの累積長さを正規化する。
また、第5の発明においては、座標点選出ステップは、検出された座標点群の中から、所定の2つの座標点を結んだ直線から所定距離内に存在する座標点を間引くことによって座標点を選出するようにしてもよい。
また、第6の発明においては、座標点選出ステップは、検出された座標点の全ての点を選出するようにしてもよい。
また、第7の発明においては、検出ステップは、入力面上に描かれる一筆書きの軌跡を座標点として時系列で検出するようにしてもよい。
また、第8の発明においては、コンピュータには表示装置が接続されていてもよい。このとき、図形識別プログラムは、ゲーム画像表示ステップと、ゲーム処理ステップをコンピュータにさらに実行させるようにしてもよい。ゲーム画像表示ステップは、ゲーム空間の少なくとも一部の様子をゲーム画像として表示装置に表示する。ゲーム処理ステップは、図形識別ステップにおいて軌跡の形状として識別された参照図形に関連付けられたゲーム処理を実行することにより、ゲーム画像に当該参照図形の種類に応じた変化を発生させる。
また、本発明は、上記図形識別プログラムを実行する情報処理装置の形態で提供されてもよい。典型的には、入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別し、当該認識した結果に基づいてゲームの進行に変化を生じさせ、当該変化を表示装置に表示するゲーム装置として提供されてもよい。
本発明によれば、対象図形と参照図形との類似度は、それぞれの図形を示すグラフ(軌跡グラフおよび参照図形グラフ)の類似度によって判断される。すなわち、類似度の判断は、各線分の角度や、始点または終点から頂点までの距離といった要素が総合的に考慮されて行われる。ここで、識別する対象となる図形が複雑な形状である場合には、ノイズの影響を受けやすいことや頂点を間引く処理が正確に行えないこと等が原因で、対象図形および参照図形の特徴を表す要素を正しく抽出することができないことがある。この場合には、対象図形の特徴を表す1つの要素を重視して類似度を判断する方法では、当該要素が正しく抽出されなければ、図形を正確に識別することができない。例えば、図形の頂点数を重視して類似度を判断する方法では、頂点数を正しく抽出することができなければ図形を正確に識別することができない。これに対して、本発明によれば、図形の特徴を表す複数の要素が総合的に考慮される。従って、識別する対象となる図形が複雑な形状であることが原因で、ある1つの要素が正しく抽出されていなくとも、図形を正確に識別することができる。複雑な形状について図形認識を行う場合には特に頂点数を正確に抽出することが難しいが、本発明によれば、頂点を間引く処理において頂点数を正確に抽出することができない場合でも、図形の形状を正しく識別することができる。
また、第2の発明によれば、軌跡グラフと参照図形グラフとの類似度を正確に判断することができるので、ひいては、ユーザによって描かれた軌跡と参照図形との比較を正確に行うことができる。
また、第3の発明によれば、軌跡グラフおよび参照図形グラフは、例えば図7に示すようなステップ状のグラフとして表される。このようなステップ状のグラフでは、グラフ上における第1軸に平行な直線は、軌跡の線分の長さおよび角度を表すこととなる。換言すれば、グラフ上の任意の点について、始点または終点からその点までの線分上の距離が第1軸成分の値となり、かつ、当該点を含む線分の絶対角度または相対角度が第2軸成分の値となる。従って、ユーザによって描かれた軌跡や参照図形をステップ状のグラフによって表すことによって、検出された座標点(頂点)を結ぶ線分の長さをグラフに反映させることができる。これによって、図形の特徴と示す要素として線分の長さを考慮に入れて類似度が判断されることになるので、図形の識別をより正確に行うことができる。
また、特に、軌跡グラフおよび参照図形グラフをステップ状のグラフによって表すとともに、これらのグラフの互いに重複しない線分によって囲まれた領域の面積によって類似度を判断する場合には、当該面積を算出する処理が簡易になる。例えば、軌跡グラフおよび参照図形グラフを折れ線状のグラフ(図12参照)によって表す場合に比べて、当該面積の算出処理が簡易になる。また、折れ線状のグラフに基づいて面積を算出する場合に比べてノイズの影響を受けにくいので、図形の識別をより正確に行うことができる。
また、第4の発明によれば、ユーザによって入力された軌跡と参照図形との大きさが異なる場合でも、当該軌跡と参照図形との比較を正確に行うことができる。
また、第5の発明によれば、間引き処理を行うことによって対象図形の形状を簡単化することができる。これによって、対象図形と参照図形とを比較する処理の処理量を軽減することができる。
また、第6の発明によれば、処理量の大きい間引き処理を行わずに済むので、図形識別処理全体の処理量を軽減することができる。
また、第7の発明によれば、一筆書きで描かれる軌跡が1つの入力とみなされて図形識別処理が行われる。つまり、1回の連続した入力によって描かれる軌跡を単位として、参照図形との比較が行われる。従って、第7の発明によれば、1回の入力が行われているか否かを、連続した入力が行われているか否かによって判断することができる。すなわち、参照図形との比較を行う対象となる軌跡(1回の入力による軌跡)の単位を容易に決定することができる。
また、第8の発明によれば、プレイヤに所定の図形を描かせることによってゲーム操作が行われるという、新規な操作感覚でゲームをプレイすることができる新規なゲームを提供することができる。なお、ゲームにおいては、複雑な形状の図形をプレイヤにあえて入力させることが考えられるので、複雑な形状を識別することができる本発明の図形識別プログラムをゲームプログラムに適用することは非常に有効である。
以下、本実施形態に係る情報処理装置および図形識別プログラムについて説明する。なお、本実施形態では、情報処理装置の一例として2つの表示装器を備えるゲーム装置を例に挙げて説明するが、本発明に係る情報処理装置は、プレイヤによって図形を描かせることができる入力装置を備えておりかつ図形識別プログラムを実行可能な装置であればどのような装置であっても構わない。例えば、情報処理装置は、単一の表示器を備えるゲーム装置、ビデオゲーム装置や据え置き型のパーソナルコンピュータであってもよいし、PDA等の携帯端末であってもよい。また、入力装置としては、例えばタブレット、タッチパネル、マウス、キーボード、ゲームコントローラなどがある。
図1は、本発明の一実施形態に係る情報処理装置の一例である携帯型のゲーム装置の外観図である。図1において、本実施形態のゲーム装置1は、2つの液晶表示器(以下、「LCD」という)11および12を所定の配置位置となるように、ハウジング18に収納して構成される。具体的には、第1LCD11および第2LCD12を互いに上下に配置して収納する場合は、ハウジング18が下部ハウジング18aおよび上部ハウジング18bから構成される。上部ハウジング18bは、下部ハウジング18aの上辺の一部で回動自在に支持される。上部ハウジング18bは、第2LCD12の平面形状よりも少し大きな平面形状を有し、一方主面から第2LCD12の表示画面を露出するように開口部が形成される。下部ハウジング18aは、横方向の略中央部に第1LCD11の表示画面を露出する開口部が形成される。下部ハウジング18aの平面形状は、上部ハウジング18bよりも横長に選ばれる。下部ハウジング18aには、第1LCD11を挟むいずれか一方にスピーカ15の音抜き孔が形成されるとともに、第1LCD11を挟む左右に操作スイッチ部14が装着される。
操作スイッチ部14は、第1LCD11の右横における下部ハウジング18aの一方主面に装着される動作スイッチ14aおよび14bと、第1LCD11の左横における下部ハウジング18aの一方主面に装着される方向指示スイッチ14c、スタートスイッチ14d、およびセレクトスイッチ14eとを含む。動作スイッチ14aおよび14bは、例えばアクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ14cは、プレイヤ(ユーザ)によって操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。また、必要に応じて、動作スイッチをさらに追加したり、下部ハウジング18aにおける操作スイッチ14の装着領域の上部面(上部側面)の左右に側面スイッチ14fおよび14gを設けたりしても構わない。
また、第1LCD11の上面には、タッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式のいずれの種類でもよく、その上面(入力面)をスタイラス16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス16の座標位置を検出して座標データを出力するものである。
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスタイラス16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スタイラス16が収納される。下部ハウジング18aの側面の一部には、本実施形態に係る図形識別プログラムを含むゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したカートリッジ17を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
次に、図2を参照して、ゲーム装置1の内部構成について説明する。なお、図2は、ゲーム装置1の内部構成を示すブロック図である。
図2において、ハウジング18aに収納される電子回路基板には、コンピュータとして機能するCPUコア21等が実装される。CPUコア21には、所定のバスを介して、カートリッジ17と接続するためのコネクタ28が接続されるととともに、入出力インターフェース(I/F)回路27、第1のグラフィック処理ユニット(第1GPU)24、第2のグラフィック処理ユニット(第2GPU)26、およびワーキングRAM(WRAM)22が接続される。
コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、上述したようにゲームプログラムを格納するための記憶媒体である。具体的には、カートリッジ17は、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがWRAM22に記憶される。
I/F回路27には、タッチパネル13、操作スイッチ部14、およびスピーカ15が接続される。スピーカ15は、上述した音抜き孔の内側位置に配置される。
第1GPU24には、第1ビデオRAM(以下「VRAM」)23が接続され、第2GPU26には、第2のビデオRAM(以下「VRAM」)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第1ゲーム画像を生成する。生成された第1ゲーム画像は、第1GPU24によって第1VRAM23に描画される。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第2ゲーム画像を生成する。生成された第2ゲーム画像は、第2GPU26によって第2VRAM25に描画される。
第1VRAM23は第1LCD11に接続され、第2VRAM25は第2LCD12に接続される。第1GPU24は、CPUコア21からの指示に応じて第1VRAM23に描画された第1ゲーム画像を第1LCD11に出力する。そして、第1LCD11は、第1GPU24から出力された第1ゲーム画像を表示する。第2GPU26は、CPUコア21からの指示に応じて第2VRAM25に描画された第2ゲーム画像を第2LCD12に出力する。そして、第2LCD12は、第2GPU26から出力された第2ゲーム画像を表示する。
以下、カートリッジ17に格納されたゲームプログラムによってゲーム装置1において実行されるゲーム処理について説明する。なお、本実施形態では、本発明に係る図形識別プログラムがゲームプログラムとしてゲーム装置によって実行される場合を例として説明する。また、本実施形態においては、タッチパネル13によって表示画面が覆われる第1LCD11のみを表示装置として用いる。従って、ゲーム装置1は、第2LCD12を有しない構成であってもよい。
以下、本実施形態に係る図形認識プログラムによって実行される処理について説明する。まず、当該処理の概要について説明する。当該処理は、タッチパネル13の入力面(第1LCD11の表示画面)上にユーザによって描かれた軌跡の形状が、予め用意された複数の参照図形のうちのいずれの図形の形状であるかを識別する処理である。なお、以下では、ユーザがタッチパネル13の入力面に六角形を描いた場合を例として説明する。
図3は、タッチパネル13によって検出される入力の例を示す図である。ユーザがタッチパネル13に対して入力を行うと、タッチパネル13は、入力があった位置を所定時間間隔で時系列で検出する。タッチパネル13は、入力があった位置を、入力面の横方向をX軸とし、縦方向をY軸とする平面における座標値(X,Y)によって表すものとする。
また、タッチパネル13によって検出された各座標点には、入力された時系列順に番号が設定される。すなわち、第j(jは1以上の任意の整数)番目に検出された座標点には、p(j−1)という番号が設定される。なお、「番号の設定」は実施例の理解を容易にするための説明であり、データに実際に番号を設定しているわけではない。つまり、コンピュータ上においては、検出された座標点のデータは、予め確保された記憶領域の例えばアドレス順に記憶されるので、結果的にデータを記憶した順番が分かる。ここでは、データを記憶した順番が分かることの概念的な説明として上述した「番号の設定」の概念を用いて説明している。図3においては、15個の座標点が検出され、入力された順番にp0からp14の番号が設定される。これらの各座標点を入力の順番に直線で結んだ図形が、図形識別プログラムによる識別の対象となる図形である。以下、本実施例の理解を容易にするため、タッチパネル13によって検出された各座標点を時系列順に(すなわち、入力された順番に)直線で結んだ図形を対象図形と呼ぶ。対象図形は、タッチパネル13の入力面上に描かれた軌跡を表す座標点の集合によって構成される。つまり、対象図形は、タッチパネル13の入力面上に描かれた軌跡の図形的特徴を特定するために、ユーザの入力軌跡を複数の線分によって表した図形である。なお、対象図形は、本実施形態の説明を容易にするために用いられる概念であり、コンピュータ上においては単に座標点のデータや座標点と座標点との間の距離のデータ等によって表される。
タッチパネル13によって対象図形が検出されると、まず、対象図形から直線の要素が抽出される。すなわち、対象図形を構成する各座標点を間引く処理(間引き処理)が行われる。間引き処理は、タッチパネル13によって検出された各座標点からいくつかの座標点を消去(換言すれば、「抽出」又は「取得」)することによって、対象図形の形状を簡単化する処理である。以下、図4A〜図4Dを用いて間引き処理を説明する。
図4A〜図4Dは、間引き処理を説明するための図である。間引き処理は、タッチパネル13によって検出された座標点群の中から、所定の2つの座標点を結んだ直線から所定距離内に存在する座標点を消去する処理である。すなわち、間引き処理は、対象図形を構成する座標点のうちの隣接しない2点を端点とする直線と、当該2点の間の各座標点との距離を算出することによって行われる。具体的には、まず、対象図形の始点である座標点p0を前側の端点(前端点)とし、座標点p0の2つ後の座標点p2を後側の端点(後端点)とする直線が選択される。そして、選択された直線と、当該直線の端点の間の座標点(すなわち、座標点p1)との距離l1が算出される(図4A参照)。さらに、算出された距離l1が所定距離(許容誤差)l’よりも大きいか否かが判定される。なお、図4Aにおいてはl1<l’であるものとする。また、所定距離l’は、認識させる図形の種類によって適宜決められる任意の値である。
図4Aに示すようにl1が所定距離l’以下である場合、新たに直線が選択され、選択された直線と当該直線の端点の間の座標点との距離が算出される。具体的には、後端点を1つ後の座標点に移動した直線が新たに選択される。図4Aの例では、座標点p0から座標点p3までを結ぶ直線が選択される。そして、選択された直線と、当該直線の端点の間の座標点との距離が算出される(図4B参照)。図4Bの例では、座標点p0から座標点p3までを結ぶ直線と、当該直線の端点の間の座標点(座標点p0と座標点p3との間の各座標点、すなわち、座標点p1および座標点p2)との距離が算出される。すなわち、当該直線と座標点p1との距離l1、および、当該直線と座標点p2との距離l2が算出される。距離l1および距離l2が算出されると、距離l1および距離l2のいずれかが許容誤差l’よりも大きいか否かが判定される。ここで、距離l1および距離l2の双方が許容誤差l’以下である場合、新たに直線が選択され、選択された直線と座標点との距離が算出される。すなわち、座標点p0から座標点p4までを結ぶ直線と、座標点p0と座標点p4との間の各座標点(すなわち、座標点p1、座標点p2、および座標点p3)との距離が算出される。
一方、距離l1および距離l2の少なくともいずれか一方が許容誤差l’よりも大きい場合、それまでに所定距離l’以下であると判断された座標点を消去する処理が行われる。具体的には、現在選択されている直線の前端点よりも後の座標点であって、かつ、直線の後端点よりも2つ以上前の座標点が消去される。図4Bの例では、座標点p0よりも後の座標点であって、座標点p3よりも2つ以上前の座標点、すなわち、座標点p1が消去される(図4C参照)。
図4cに示すように座標点が消去された場合、新たに直線と座標点との距離が算出される。この場合、移動前の後端点を前端点とし、移動後の前端点よりも2つ後の座標点を後端点とする直線が選択される。具体的には、座標点p2から座標点p4までを結ぶ直線が選択される。そして、当該直線と座標点p3との距離l3が算出される(図4D参照)。以降、直線を選択して座標点と直線との距離を算出する処理と、算出された距離が所定距離よりも大きいか否かを判定する処理とが繰り返される。そして、算出された距離が所定距離よりも大きい場合にはそれまでに所定距離l’以下であると判断された座標点を消去する処理が行われる。これらの処理は、対象図形の終点である座標点p14を後端点とする直線が選択されるまで行われる。
図5は、間引き処理が行われた前後の様子を示す図である。図5に示すように、図4A〜図4Dに示した間引き処理が行われた結果、座標点p1、座標点p3、座標点p5、座標点p6、座標点p8、座標点p9、座標点p12、および座標点p13が消去されるものとする。このように、間引き処理によって対象図形を構成する座標点が7つに変更されたことによって、対象図形を構成する線分の数(座標点の数)が減らされ、対象図形の形状が簡単化される。なお、本実施形態では、対象図形を構成する各直線を、対象図形の辺と呼ぶ。また、対象図形を構成する座標点を、対象図形の頂点と呼ぶ。なお、本実施形態においては、図4A〜図4Dに示す方法で間引き処理を行うこととしたが、対象図形を構成する座標点を間引くアルゴリズムはどのようなものであってもよい。なお、図4に示したように座標点数を減らすとその後の処理を軽減できるが、本発明では検出された座標点の全てを図形の頂点とするようにしてもよい。
図6(a)は、間引き処理によって簡略化された対象図形を示す図である。図6(a)においては、間引き処理後に残された頂点について、頂点P0〜頂点P6という新たな番号を付している。間引き処理によって対象図形が簡略化されると、簡略化された対象図形について図形情報が算出される。図形情報とは、図形の各頂点の線上距離および各辺の絶対角度を含む情報である。線上距離とは、対象図形の始点から頂点までを図形の線上に沿って進んだ距離である。図6(a)を例にとって説明すると、例えば、頂点P2における線上距離L2は、頂点P0から頂点P1までを結ぶ直線の距離と、頂点P1から頂点P2までを結ぶ直線の距離との和である。また、対象図形の始点である頂点P0の線上距離L0は、L0=0である。
また、絶対角度とは、予め決められた基準直線に対する対象図形の各辺(線分)の角度である。本実施形態では、基準直線は、対象図形の始点を含む辺(すなわち、頂点P0と頂点P1とを結ぶ線分)であるとする。つまり、絶対角度は、対象図形の始点を含む辺の角度(後述する基準角度)を基準として(0°として)表される角度である。図6(a)を例にとって説明すると、まず、軌跡の始点である頂点P0から頂点P1を結ぶ辺を基準として、頂点P0−P1,頂点P1−P2,頂点P2−P3,頂点P3−P4,頂点P4−P5,頂点P5−P6の各辺の絶対角度を算出する。例えば、頂点P1から頂点P2までを結ぶ辺の絶対角度Θ1は、当該辺と対象図形の始点を含む辺(すなわち、頂点P0から頂点P1までを結ぶ辺)とのなす角度である。また、頂点P0から頂点P1までを結ぶ辺を基準として絶対角度を表現するので、当該辺の絶対角度Θ0は、Θ0=0である。このように、ゲーム装置1は、対象図形の各頂点について線上距離を算出し、各辺について絶対角度を算出することによって、直交座標のx軸を始点から各辺に沿った長さとし、y軸を絶対角度とする軌跡グラフのための軌跡の図形情報を算出する。
図6(b)は、図形情報の一例を示す図である。なお、図6(b)に示す図形情報は、図6(a)に示す対象図形の図形情報である。図6(b)に示すように、図形情報には、対象図形の頂点Pnについて、頂点Pnにおける線上距離Lnと、頂点Pnから頂点Pn+1までを結ぶ辺の絶対角度Θnとが含まれている。なお、Θnについてはn=6の場合における辺が存在しないので、Θ6の値は存在しない。
上記図形情報が算出されると、対象図形と参照図形との比較が行われる。参照図形は、図形識別プログラムにおいて図形識別のために予め用意されている図形グラフの図形情報によって表される。ここでは、当該図形情報は、上述した軌跡グラフと同様に、直交座標のx軸を始点から各辺に沿った長さとし、y軸を絶対角度とするデータである。図形識別プログラムには、複数種類の参照図形を示すデータが含まれており、ゲーム装置1は、タッチパネル13の入力面上にユーザによって描かれた軌跡が、複数の参照図形のうちのいずれの図形であるかを識別する。なお、図形識別プログラムには、参照図形を示すデータとして、上記図形情報が含まれている。対象図形と参照図形との比較は、図形情報を用いて行われる。すなわち、ゲーム装置1は、線上距離および絶対角度を用いて対象図形との類似度を各参照図形毎に算出する。その結果、対象図形の形状は、類似度が最も低い参照図形の形状であると識別される。
本実施形態においては、対象図形と参照図形との比較は、上記線上距離および絶対角度を軸とする直交座標系におけるステップ状のグラフを用いて行われる。図7は、対象図形を表すステップ状のグラフ(軌跡グラフ)の例を示す図である。図7に示す座標平面は、x軸が線上距離であり、y軸が絶対角度である。図7に示す軌跡グラフは、図6に示す対象図形の特徴を示している。具体的には、図6に示す頂点P0から頂点P1までを結ぶ線分が、図7に示すグラフのx=L0〜L1の線分に対応する。図7に示すグラフより、始点(x=L0)からx=L1の座標まで延びる辺は、長さがL1−L0であり、絶対角度y=Θ0(=0)であることを読みとることができる。また、始点からの距離がL1の頂点(頂点P1)から、始点からの距離がL2の頂点(頂点P2)まで延びる辺は、長さがL2−L1であり、絶対角度y=Θ1であることを読みとることができる。図7に示すように、軌跡グラフによって対象図形の特徴を表現することができる。
一方、参照図形についても対象図形と同様、線上距離および絶対角度を軸とする直交座標系におけるグラフとして表現することができる。図8は、参照図形を表すステップ状のグラフ(参照図形グラフ)および参照図形の図形情報の例を示す図である。図8(a)は、参照図形の図形情報を示す図である。なお、図8(a)に示す図形情報は、参照図形の各頂点Qm(m=1〜6)について、頂点Qmの線上距離Mmと、頂点Qmから頂点Qm+1までを結ぶ辺の絶対角度φmとを表している。図形情報からわかるように、図8(a)に示す参照図形は、一辺の長さが60の正六角形である。また、図8(b)に示す参照図形グラフは、図8(a)に示す図形情報により示される参照図形の特徴を表現するグラフである。なお、各参照図形の図形情報は、参照図形の終点の線上距離が所定の基準距離となるように予め用意されている。つまり、各参照図形の終点の線上距離は、各参照図形について一定となるように予め調整されている。図8に示すように、参照図形についても対象図形と同様、線上距離および絶対角度を算出することによって、参照図形の特徴をグラフによって表現することができる。
対象図形と参照図形との比較は、軌跡グラフと参照図形グラフとを比較することによって行われる。図9は、対象図形と参照図形とを比較する処理を説明するための図である。図9は、図7に示す軌跡グラフと図8(b)に示す参照図形グラフとを重ね合わせた図である。ゲーム装置1は、軌跡グラフと参照図形グラフとを重ねた場合に、軌跡グラフと参照図形グラフとの重複しない線分によって囲まれる領域(図9に示す斜線領域)の面積を算出する。なお、以下では、当該面積を差分面積と呼ぶ。本実施形態では、算出された差分面積が類似度として用いられる。すなわち、軌跡グラフと参照図形グラフとが似た形状である場合、差分面積は小さくなるので、類似度が高いと判断することができる。逆に、軌跡グラフと参照図形グラフとが全く異なる形状である場合、差分面積は大きくなるので、類似度が低いと判断することができる。従って、ゲーム装置1は、各参照図形毎に差分面積を算出し、算出された差分面積が最も小さい図形の形状が対象図形の形状であると識別する。
なお、軌跡グラフと参照図形グラフとを重ねる際には、軌跡グラフの累積長さと参照図形の累積長さとが等しくなるように、対象図形の累積長さが正規化される。ここで、累積長さとは、図形を構成する各線分の長さの総和、すなわち、図形の終点における線上距離である。図7〜図9の例においては、対象図形を構成する各線分の累積長さ(線上距離L5)が360となるように、当該累積長さが正規化される。これによって、ユーザによって入力された軌跡の大きさの影響を受けずに図形の識別を行うことができる。
以上のように、本実施形態によれば、対象図形および参照図形のそれぞれについて図形情報(線上距離および絶対角度)が算出される。そして、算出された図形情報に基づいて作成される軌跡グラフおよび参照図形グラフを用いて対象図形と参照図形との類似度が判断される。すなわち、対象図形と参照図形との類似度を、それぞれの図形を示すグラフの互いに重複しない部分の面積(差分面積)によって判断する。これによって、各辺の角度、各頂点における線上距離、頂点数、各辺の長さ、および各辺の入力順序といった種々の要素が考慮されて、対象図形と参照図形との類似度が判断されることとなる。
ここで、複雑な図形について図形の識別を行う場合には、タッチパネル13の誤検出やユーザの誤入力等が原因で対象図形の頂点数と参照図形の頂点数とが異なる可能性がある。また、間引き処理のアルゴリズムによっては対象図形の頂点数を正確に算出することができない可能性がある。なお、対象図形と参照図形との類似度を頂点数を用いて判定する従来の方法においては、対象図形の頂点数と参照図形の頂点数とが異なる場合には類似度が低く判断されてしまう可能性がある。以上より、従来の方法では、複雑な形状の対象図形についてはその形状を正確に識別することができない。これに対して、本実施形態によれば、対象図形と参照図形との類似度を判断するために種々の要素が考慮されるので、対象図形の頂点数のみが原因で類似度が大きく変化しない。従って、対象図形の頂点数と参照図形の頂点数とが異なる場合であっても対象図形の形状を正確に識別することができる。
図10は、対象図形の頂点数と参照図形の頂点数とが異なる場合における対象図形の例を示す図である。図10に示す対象図形は、図6に示す対象図形の各頂点に加えて、頂点P3と頂点P4との間に頂点P3’を有している。対象図形が図10に示す図形である場合、対象図形と参照図形との類似度を頂点数を用いて比較する従来の方法では、頂点P3’が検出されたことが原因で頂点数が7個と判断される結果、対象図形が六角形であることが正しく識別されないおそれがある。一方、図11は、図10に示す対象図形のグラフと参照図形のグラフとを示す図である。本実施形態によれば、頂点P3’が検出された影響は、図11に示す斜線部分A、B、およびCとして現れる。しかし、差分面積の全体(斜線部分の面積の総和)は、これらの斜線部分A〜Cによって大きく変化するわけではない。すなわち、図9に示す差分面積と図11に示す差分面積とはほぼ同じである。従って、図10に示す対象図形であっても、図6に示す対象図形と同程度の類似度であると判断される。その結果、図10に示す対象図形は六角形であることが正しく識別されることとなる。
なお、差分面積を算出する方法としては、各頂点を直線で結んだ折れ線状のグラフを用いる方法も考えられる。図12は、参照図形および対象図形を表す折れ線状のグラフの一例を示す図である。図12に示すような折れ線状のグラフを用いる方法によっても差分面積(図12に示す斜線部分)を算出することは可能である。しかし、折れ線状のグラフを用いる場合には、差分面積を算出するための計算量が、ステップ状のグラフを用いる場合に比べて大きくなる。また、折れ線状のグラフでは、対象図形および参照図形の各辺の長さが考慮されていない。そのため、タッチパネル13の誤検出やユーザの誤入力等が原因であるノイズの影響を受けやすくなる。例えば、参照図形とは大きく異なる頂点(図12に示す頂点P’)が検出された場合、当該頂点の影響を大きく受けてしまうのである。さらに、折れ線状のグラフでは、対象図形および参照図形の頂点数が考慮されなくなるので、例えば正三角形と正方形と正六角形との識別が困難であるという問題点もある。これに対して、本実施形態のようにステップ状のグラフを用いることによって、頂点数や参照図形の各辺の長さを考慮して類似度を判断することができるので、図形の識別をより正確に行うことができる。
なお、以上においては、参照図形が六角形である場合について説明したが、ステップ状のグラフを用いることによって、参照図形がより複雑な場合にも対応することができる。図13〜図15は、参照図形の他の例を示す図である。本実施形態によれば、ステップ状のグラフを用いることによって、図13に示すような2重の正方形である参照図形についても当該図形の特徴を正確に表すことができる。また、図14に示す星形の図形や図15に示すような複雑な図形の参照図形についても、ステップ状のグラフを用いることによって当該図形の特徴を正確に表すことができる。従って、図13〜図15に示す参照図形をユーザが描いた場合でも、ユーザの描いた軌跡の形状を正確に識別することができる。
次に、図形識別プログラムを実行することによってゲーム装置1において行われる図形識別処理の詳細を説明する。図16は、ゲーム装置1において実行される図形識別処理の流れを示すフローチャートである。ゲーム装置1の電源が投入されると、ゲーム装置1のCPUコア21は、図示しないブートROMに記憶されている起動プログラムを実行し、WRAM22等の各ユニットが初期化される。そして、カートリッジ17に格納されたプログラムがWRAM22に読み込まれ、CPUコア21によって当該プログラムの実行が開始される。図16に示すフローチャートは、以上の処理が完了した後に行われる図形識別処理を示すフローチャートである。
図16では、まず、ステップ10(図では「ステップ」を単に「S」と略す。)において、カウンタnの値が初期化される、すなわち、n=0に設定される。このカウンタnは、対象図形として検出される座標点の番号を示すために用いられる。続くステップ11において、タッチパネル13に対する入力が開始されたか否かが判定される。具体的には、当該入力があった位置を示す座標データがタッチパネル13から出力されたか否かが判定される。ステップ11の判定において、タッチパネル13に対する入力が開始されていない場合、ステップ11の処理が繰り返される。一方、ステップ11の判定において、タッチパネル13に対する入力が開始されていない場合、ステップ12の処理が行われる。すなわち、ゲーム装置1は、ユーザによってタッチパネル13に対する入力が行われるまで待機し、当該入力を検知するとステップ12の処理へ進む。
ステップ12においては、CPUコア21は、タッチパネル13の入力面において入力があった座標点の座標を検出して保存する。具体的には、タッチパネル13から座標値(X,Y)を読み込み、WRAM22に格納する。なお、カウンタn=j(jは1以上の整数)である場合に検出される座標値は、座標点p(j)の座標値(Xj,Yj)として格納される。続くステップ13において、カウンタnの値が1だけ増加(インクリメント)される。続くステップ14において、タッチパネル13に対する入力が所定時間の間検出されなくなったか否かが判定される。具体的には、タッチパネル13から座標データが所定時間の間出力されなくなったか否かが判定される。ステップ14の判定において、タッチパネル13に対する入力が所定時間の間に検出された場合、ステップ12の処理に戻る。以降、タッチパネル13に対する入力が一定時間の間なくなるまで、ステップ12〜14の処理が繰り返される。一方、ステップ14の判定において、タッチパネル13に対する入力が所定時間の間検出されなかった場合、ステップ15の処理が行われる。すなわち、ステップ15において、対象図形の頂点数Nの値がWRAM22に保存される。具体的には、Nの値は、現時点におけるnの値に設定される。これによって、対象図形の頂点数が決定されたことになる。以上のステップ12〜15によって、タッチパネル13の入力面上に描かれた軌跡の座標点が時系列で検出され、検出された座標点群が時系列に並んでWRAM22に格納されることとなる。
ステップ16においては、ステップ12によって検出された対象図形に対して上述の間引き処理が行われる(図4A〜図4D参照)。間引き処理は、対象図形から直線の要素を抽出するために、対象図形を構成する座標点からいくつかの座標点を間引く処理である。以下、間引き処理の詳細を図17を用いて説明する。
図17は、図16に示すステップ16の詳細な処理の流れを示すフローチャートである。ステップ16の間引き処理においては、まず、ステップ20において、カウンタnの値がn=0に設定される。間引き処理においては、カウンタnは、直線と座標点との距離を計算する際において、当該直線の前側の端点を示すために用いられる。続くステップ21において、カウンタmの値がm=n+2に設定されるとともに、カウンタiの値がi=n+1に設定される。間引き処理においては、カウンタmは、直線と座標点との距離を計算する際において、当該直線の後側の端点を示すために用いられる。カウンタiは、直線と座標点との距離を計算する際における当該座標点を示すために用いられる。ステップ20においてカウンタnの値が設定され、ステップ21においてカウンタmの値が設定されることによって、座標点との距離を算出すべき直線が選択されたことになる。
ステップ21の次のステップ22において、現在選択されている直線と、当該2点の間の座標点との距離が算出される。具体的には、カウンタnにより示される座標点(座標点p(n))を前端点とし、カウンタmにより示される座標点(座標点p(m))を後端点とする直線と、カウンタiにより示される座標点(座標点p(i))との距離l(i)が算出される。当該距離l(i)は、例えば、次式(1)を用いて算出することができる。
l(i)=((Xm−Xn)(Yi−Yn)−(Ym−Yi)(Xi−Xn))2 /((Xm−Xn)2 +(Ym−Yn)2 )…(1)
ステップ23においては、ステップ22で算出された距離l(i)が許容誤差l’よりも大きいか否かが判定される。この許容誤差l’の値は、予め定められている。ステップ23の判定において、距離l(i)が許容誤差l’よりも大きいと判定された場合、ステップ24の処理が行われる。一方、ステップ23の判定において、距離l(i)が許容誤差l’以下であると判定された場合、ステップ27の処理が行われる。
まず、ステップ23の判定において、距離l(i)が許容誤差l’よりも大きいと判定された場合について説明する。まず、ステップ24において、座標点を消去する処理が行われる。この処理において消去される座標点は、点p(n+1)から点p(m−2)までの座標点である。例えば、n=0、m=3、およびi=2である場合、座標点p1が消去される(図4C参照)。具体的には、座標点p1の座標値がWRAM22から削除される。続くステップ25において、カウンタnの値がカウンタmの値に設定される。さらに、ステップ26において、カウンタmの値が頂点数N以上であるか否かが判定される。ステップ26の処理は、間引き処理を対象図形の終点である座標点p(N)まで行ったか否かを判定するための処理である。ステップ26の判定において、カウンタmの値が頂点数N以上である場合、ステップ31の処理が行われる。ステップ31の処理については後述する。一方、ステップ26の判定において、カウンタmの値が頂点数Nよりも小さい場合、ステップ21の処理に戻る。
次に、ステップ23の判定において、距離l(i)が許容誤差l’以下であると判定された場合について説明する。まず、ステップ27において、カウンタiの値がインクリメントされる。続くステップ28において、カウンタiの値がカウンタmの値以上であるか否かが判定される。カウンタiの値がカウンタmの値以上であることは、現在選択されている直線の間の全ての座標点について当該直線との距離を算出したことを意味する。逆に、カウンタiの値がカウンタmの値よりも小さいことは、現在選択されている直線の端点の間にある座標点のうちの少なくとも1つについて当該直線との距離を算出していないことを意味する。従って、ステップ28の判定において、カウンタiの値がカウンタmの値よりも小さい場合、現在選択されている直線との距離を算出していない座標点について点と直線との距離を算出するためにステップ22の処理が行われる。一方、ステップ28の判定において、カウンタiの値がカウンタmの値以上である場合、選択されている直線が変更される。具体的には、ステップ29において、カウンタmの値がインクリメントされる。また、ステップ29においては、カウンタiの値がi=n+1に設定される。さらに、続くステップ30において、カウンタmの値が頂点数Nよりも大きいか否かが判定される。ステップ30の処理は、間引き処理を対象図形の終点である座標点p(N)まで行ったか否かを判定するための処理である。ステップ26の判定においてカウンタmの値が頂点数N以下である場合、ステップ22に戻って処理が行われる。一方、ステップ26の判定においてカウンタmの値が頂点数Nよりも大きい場合、ステップ31の処理が行われる。
ステップ31においては、間引き処理による消去後に残った座標点(頂点)について新たな番号が設定される。具体的には、間引き処理による消去後に残った座標点(頂点)の座標値について、入力が行われた順番に、P0,P1,P2,…と番号が設定される。なお、以下の図形識別処理においては、頂点Pj(jは1以上の任意の整数)の座標値を(Xj,Yj)として表す。また、ステップ31においては、頂点数Nの値が、間引き処理による消去後に残った頂点の数に再設定される。ステップ31の完了後、CPUコア21はステップ16の間引き処理を終了する。
図16の説明に戻り、ステップ16の後、ステップ17において、図形情報算出処理が行われる。図形情報算出処理とは、対象図形の図形情報、すなわち、各頂点の線上距離および各辺の絶対角度を算出する処理である。以下、図形情報算出処理の詳細を図18を用いて説明する。
図18は、図16に示すステップ17の詳細な処理の流れを示すフローチャートである。ステップ17の図形情報算出処理においては、まず、ステップ40において、基準角度が算出される。基準角度は、各辺の絶対角度を、当該基準角度を基準とした値に変換するために用いられる。具体的には、基準角度は、入力面のX軸の正方向を基準とした、対象図形の最初の辺の角度である。なお、対象図形の最初の辺とは、頂点P0と頂点P1とを結ぶ辺である。基準角度Θ’は、例えば次式(2)を用いて算出することができる。
Θ’=arctan((Y1−Y0)/(X1−X0))…(2)
次に、ステップ41においては、対象図形の各辺の長さの総和を示す変数Ltが0に設定される。さらに、カウンタnがn=0に設定される。図形情報算出処理においては、カウンタnは、対象図形の頂点Pnを示すために用いられる。続くステップ42においては、カウンタnの値が頂点数Nの値以上であるか否かが判定される。ステップ42の判定処理は、対象図形の全ての頂点について線上距離を算出し、全ての辺について絶対角度を算出したか否かを判定するための処理である。ステップ42の判定において、カウンタnの値が頂点数Nの値以上である場合、ステップ49の処理が行われる。ステップ49以降の処理については後述する。
一方、ステップ42の判定において、カウンタnの値が頂点数Nの値よりも小さい場合、ステップ43の処理が行われる。すなわち、ステップ43において、頂点Pnと頂点Pn+1とを結ぶ辺の絶対角度Θnが算出される。具体的には、絶対角度Θnは、次式(3)を用いて算出される。
Θn=arctan((Y(n+1)−Yn)/(X(n+1)−Xn))…(3)
なお、式(3)によって算出される絶対角度は、入力面のX軸の正方向を基準とする角度である。従って、続くステップ44において、ステップ43において算出された絶対角度の値が、上記基準角度を基準とした値に変換される。すなわち、ステップ43において算出された絶対角度Θnから基準角度Θ’を減算した値に絶対角度Θnの値が変換される。
ステップ44の次に、ステップ45において、頂点Pnと頂点P(n+1)とを結ぶ辺の長さL’nが算出される。具体的には、当該長さL’nは、次式(4)を用いて算出される。
L’n=(((X(n+1)−Xn))2 +((Y(n+1)−Yn)))2 1/2 …(4)
続くステップ46において、対象図形の総距離が算出される。具体的には、対象図形の各辺の長さの総和を示す変数Ltの値が更新される。変数Ltの値は、更新前の値にL’nを加算した値となるように更新される。ステップ46の処理がn=Nとなるまで繰り返されると、最終的に変数Ltの値は、対象図形の各辺の長さの総和、すなわち、対象図形の総距離を示す値となる。続くステップ47において、ステップ45で算出したL’nを用いて頂点P(n)の線上距離Lnが算出される。具体的には、次式(5)を用いてLnの値が算出される。
Ln=L’n+L(n−1)…(5)
なお、式(5)において、なお、L(n−1)の値は、前回のステップ47において算出されている。また、n=0の場合は、L(n−1)=0として計算される。
ステップ47の次に、ステップ48において、カウンタnの値がインクリメントされる。ステップ48の後、処理はステップ42に戻る。以降、n≧Nとなるまでステップ42〜48の処理が繰り返される。
次に、ステップ49以降の処理について説明する。まず、ステップ49においては、カウンタnの値がn=0に設定される。続くステップ50において、線上距離Lnの値が正規化される。具体的には、変換前のLnの値にLa/Ltを乗算した値に線上距離Lnの値が変換される。なお、Laは、前述の基準距離である。ステップ50によって、変換後におけるL(N)の値がL(N)=Laとなるように正規化される。
続くステップ51において、カウンタnの値がインクリメントされる。さらに、続くステップ52において、カウンタnの値が頂点数Nの値以上であるか否かが判定される。ステップ52の判定処理は、対象図形の全ての頂点の線上距離について正規化を行ったか否かを判定するための処理である。ステップ52の判定において、カウンタnの値が頂点数Nの値よりも小さい場合、ステップ50の処理が行われる。以降、n≧Nとなるまでステップ50〜52の処理が繰り返される。一方、ステップ52の判定において、カウンタnの値が頂点数Nの値以上である場合、CPUコア21は、図形情報算出処理を終了する。
図16の説明に戻り、ステップ17の後、ステップ18において、図形決定処理が行われる。図形決定処理とは、識別結果の形状を決定する処理である。以下、図形決定処理の詳細を図19を用いて説明する。
図19は、図16に示すステップ18の詳細な処理の流れを示すフローチャートである。ステップ18の図形決定処理においては、まず、ステップ60において、図形識別プログラムにおいて予め用意されている参照図形のうちの1つが選択され、選択された参照図形の図形情報が読み込まれる。なお、ステップ60では、まだ選択されていない参照図形のうちから1つが選択される。
ステップ61においては、図形決定処理において用いられる各変数の値が初期化される。具体的には、カウンタn、カウンタm、変数S、変数rd、および変数ldの値がそれぞれ0に設定される。なお、図形決定処理において、カウンタnは、対象図形の頂点Pnを示す。また、図形決定処理において、カウンタmは、参照図形の頂点Qmを示す。変数Sは、差分面積を算出するために用いられる変数である。
ステップ62においては、対象図形の頂点Pnの線上距離Lnが、参照図形の頂点Qmの線上距離Mmよりも小さいか否かが判定される。ステップ62の判定において、線上距離Lnが線上距離Mmよりも小さい場合、ステップ63〜65の処理が行われる。一方、ステップ62の判定において、線上距離Lnが線上距離Mm以上である場合、ステップ66〜68の処理が行われる。
まず、ステップ63〜65の処理について説明する。ステップ63においては、変数rdの値がrd=Lnに設定される。続くステップ64において、変数Sの値が更新される。具体的には、更新後の変数Sの値は、次式(6)を用いて算出される。
S=S’+|(ld−rd)・(Θn−φm)|…(6)
なお、式(6)において、S’は更新前の変数Sである。続くステップ65において、カウンタnの値がインクリメントされる。ステップ65の後、ステップ69の処理が行われる。ステップ69の処理については後述する。
次に、ステップ66〜68の処理について説明する。ステップ66においては、変数rdの値がrd=Mmに設定される。続くステップ67において、変数Sの値が更新される。具体的には、更新後の変数Sの値は、上述の式(6)を用いて算出される。続くステップ68において、カウンタmの値がインクリメントされる。ステップ66の後、ステップ69の処理が行われる。
ここで、図9に示されるように、対象図形のグラフと参照図形のグラフとの重複しない部分は、1以上の長方形に分けることができる。従って、差分面積は、当該長方形毎に面積を計算することによって算出することができる。ステップ63〜65の処理、およびステップ66〜68の処理は、当該長方形毎に面積を算出し、算出した面積を累積加算することによって差分面積を算出する処理である。上記ステップ63〜65の処理、およびステップ66〜68の処理においては、変数rdは長方形の右端のx座標を示すように設定され、変数ldは長方形の左端のx座標を示すように設定される。このとき、Θnおよびφmはいずれか一方が長方形の上端を示し、他方が下端を示す。従って、上述の式(6)によって長方形の面積を算出することができる。
ステップ69においては、変数ldの値が変数rdの値に更新される。続くステップ70において、変数rdの値が基準距離の値となっているか否かが判定される。ステップ70の処理は、対象図形のグラフと参照図形のグラフとの重複しない部分を構成する全ての長方形の面積を算出したか否かを判定するための処理である。ステップ70の判定において、変数rdの値が基準距離の値となっていない場合、ステップ62の処理に戻る。以降、変数rdの値が基準距離の値となるまでステップ62〜69の処理が繰り返される。一方、ステップ70の判定において、変数rdの値が基準距離の値となっている場合、ステップ71の処理が行われる。すなわち、ステップ71において、変数Sの値が差分面積としてWRAM22に保存される。これによって、ステップ60で選択されている参照図形のグラフと軌跡グラフとの差分面積が算出されたことになる。
ステップ71の次に、ステップ72において、全ての参照図形を対象図形と比較したか否かが判定される。すなわち、予め用意されている全ての参照図形について差分面積を算出したか否かが判定される。ステップ72の判定において、全ての参照図形を対象図形と比較していない場合、ステップ60の処理に戻る。そして、全ての参照図形を対象図形と比較するまで、ステップ60〜72の処理が繰り返される。一方、ステップ72の判定において、全ての参照図形を対象図形と比較した場合、ステップ73の処理が行われる。すなわち、ステップ73において、対象図形の形状が決定される。具体的には、各参照図形のうち、算出された差分面積が最小である参照図形の形状が、対象図形の形状として識別される。ステップ73の後、CPUコア21は図形識別処理を終了する。
以上、本実施形態においては、対象図形および参照図形の線上距離および絶対角度を用いて作成される軌跡グラフおよび参照図形グラフを用いて類似度を判断する。これによって、複雑な形状の図形を正確に認識することが可能となる。特に、軌跡グラフおよび参照図形グラフをステップ状のグラフとすることによって、図形識別処理の計算量を軽減するとともに、より正確に図形の識別を行うことができる。
なお、上記実施形態においては、対象図形および参照図形の最初の辺の絶対角度が0となるように絶対角度を変換する処理(ステップ44)が行われた後、対象図形と参照図形との比較が行われた。ここで、他の実施形態においては、当該処理を行わないようにしてもよい。これによれば、対象図形と参照図形との比較の際に、タッチパネル13の入力面における対象図形の向きが考慮されることになる。すなわち、ユーザによって描かれる軌跡の入力面における向きを考慮して図形認識を行いたい場合は、絶対角度を変換する処理を行わないようにすればよい。また、ユーザによって描かれる軌跡の入力面における向きを考慮せずに図形認識を行いたい場合は、絶対角度を変換する処理を行うようにすればよい。
また、上記実施形態においては、入力装置の一例としてタッチパネルを例に挙げて説明したが、入力装置は、ユーザが入力面状に軌跡を描くことができる装置であればどのようなものであってもよい。入力装置は、例えばマウスであってもよい。
また、上述したように、本実施形態における図形識別方法によれば、対象図形の頂点数に大きく影響されずに図形の識別を行うことができる。従って、本実施形態における図形識別方法によれば、間引き処理によって対象図形の頂点数を減らさなくても、図形の識別を正確に行うことができる。従って、上記実施形態においては間引き処理(ステップ16)を行うようにしたが、他の実施形態においては間引き処理を省略してもよい。すなわち、他の実施形態においては、タッチパネル13によって検出された全ての座標点を、対象図形を構成する座標点として選出するようにしてもよい。間引き処理を省略することによって、図形識別処理の処理量を全体として軽減することができるというメリットがある。従って、間引き処理の処理量が大きい場合には、間引き処理を省略することができる本実施形態の図形識別方法は特に有効である。
また、上記実施形態においては、対象図形および参照図形の辺の角度は、所定の一方向を基準とする絶対角度であった。すなわち、対象図形および参照図形の辺の角度は、図形の所定の一辺(上記実施形態では、図形の最初の辺(ステップ44参照)を基準として表される角度であるか、または、入力面における所定の一方向(上記実施形態では、入力面におけるX軸の正方向(ステップ43参照))を基準として表される角度であった。ここで、他の実施形態においては、対象図形および参照図形の辺の角度は、相対角度を用いて表されてもよい。相対角度とは、その辺に隣接する辺の角度を基準として表される角度である。例えば、図6(b)に示す図形情報における辺の角度を、その辺の前の辺の角度を基準とした相対角度で表すと、Θ1=50、Θ2=70、Θ3=70、Θ4=60、Θ5=50のようになる。ただし、相対角度を用いる場合には、間引き処理をうまく行うことができなかった場合(図10参照)に、対象図形を正しく識別することができない場合がある。図10を例にとって説明すると、相対角度を用いる場合、頂点P3’から頂点P4までを結ぶ辺の角度は、おおよそ60°の値となる他の辺の角度に比べてかなり小さくなる。従って、当該辺の部分において、軌跡グラフの形状と参照図形グラフの形状とは大きく異なってしまう。その結果、正六角形の参照図形と図10に示す対象図形との類似度は低くなってしまい、対象図形が正しく識別されないことも考えられる。以上のように、相対角度を用いる場合には、その影響が類似度の算出に大きく反映されてしまう点に留意する必要がある。
なお、本実施形態に係る図形認識プログラムは、ゲームプログラムに用いることができる。以下、本実施形態に係る図形認識プログラムを応用したゲーム例について説明する。図20は、本実施形態に係る図形認識プログラムを用いたゲームのゲーム画面例を示す図である。このゲームは、例えばロールプレイングゲームのように、プレイヤが操作するプレイヤキャラクタが敵キャラクタ81と戦闘を行うゲームである。図20に示すゲーム画面は、タッチパネル13によって覆われる第1LCD11に表示される。すなわち、図形識別プログラムは、ゲーム空間の少なくとも一部の様子をゲーム画像として第1LCD11に表示する処理を含んでいる。プレイヤは、タッチパネル13を用いて敵キャラクタ81への攻撃指示等を行い、最終的に敵キャラクタを倒すことを目的としてゲームをプレイする。ここで、攻撃指示は、タッチパネル13の入力面に軌跡を描くことによって行われる。すなわち、プレイヤは、タッチパネル13の入力面に予め定められた種々の軌跡を描くことによって、軌跡の形状に応じた攻撃指示を行うことができる。
具体的には、上記ゲーム例のゲームプログラムにおいては、予め定められた図形(上記参照図形に対応する)とプレイヤキャラクタによる攻撃(敵キャラクタに対する攻撃)の方法(例えば、剣による攻撃や魔法による攻撃等)との対応が定義されている。プレイヤは、所望する攻撃方法に対応する図形を描くようにタッチパネル13に対する入力を行う。プレイヤは、例えば、図21に示すように、のこぎりの歯の形状をした軌跡(図21に示す斜線部分)を敵キャラクタ81上で描く。ゲーム装置1は、プレイヤによって描かれた軌跡の形状が、予め定められた図形のうちのいずれの図形の形状であるかを、上記実施形態に係る図形認識プログラムを用いて識別する。さらに、識別された参照図形に関連付けられたゲーム処理を実行することによって、当該参照図形の種類に応じた変化をゲーム画像に発生させる。具体的には、識別された参照図形に対応する攻撃方法によって敵キャラクタに対する攻撃が行われ、当該攻撃の効果を示すエフェクト表示が第1LCD11に表示される、その結果、当該攻撃方法や効果に応じて敵キャラクタのパラメータを減少させる。このように、敵キャラクタに対する攻撃の方法は、識別された図形の形状に応じて決まる。例えば、プレイヤによって描かれた軌跡の形状が三角形であれば剣による攻撃方法が選択され、当該軌跡の形状が四角形であれば魔法による攻撃方法が選択される。
以上のゲーム例において示したように、図形認識プログラムは、プレイヤに所定の図形を描かせるゲームに応用することができる。ここで、一般的な情報処理装置では、現実世界で使われないような複雑な図形をユーザに入力させることあまりない。しかし、ゲーム装置においては、ゲーム性を向上させるために例えば複雑な図形入力によって魔法を発動させるような場合には、あえて複雑な図形をユーザに入力させることが考えられる。例えば、上記のゲーム例において、難しい図形ほど大きな攻撃力の攻撃を行うようにすることによって、複雑な図形を短時間で正確に入力させる図形入力スキルがゲーム空間に反映されるようにすることができる。これによってゲームのゲーム性が向上し、ゲームをより面白いものにすることができる。従って、複雑な図形の識別が可能な本実施形態に係る図形認識プログラムをゲームプログラムに応用すれば非常に有効である。
以上に説明した図形認識プログラムおよび情報処理装置は、所定の図形をユーザに描かせるゲーム処理を実行するゲーム装置等において利用することが可能である。
本発明の一実施形態に係る情報処理装置の一例である携帯型のゲーム装置の外観図 ゲーム装置1の内部構成を示すブロック図 タッチパネル13によって検出される入力の例を示す図 間引き処理を説明するための図 間引き処理を説明するための図 間引き処理を説明するための図 間引き処理を説明するための図 間引き処理が行われた前後の様子を示す図 間引き処理によって簡略化された対象図形およびその図形情報を示す図 軌跡グラフの例を示す図 参照図形グラフおよび参照図形の図形情報の例を示す図 対象図形と参照図形とを比較する処理を説明するための図 対象図形の頂点数と参照図形の頂点数とが異なる場合における対象図形の例を示す図 図10に示す対象図形のグラフと参照図形のグラフとを示す図 参照図形および対象図形を表す折れ線状のグラフの一例を示す図 参照図形の他の例を示す図 参照図形の他の例を示す図 参照図形の他の例を示す図 ゲーム装置1において実行される図形識別処理の流れを示すフローチャート 図16に示すステップ16の詳細な処理の流れを示すフローチャート 図16に示すステップ17の詳細な処理の流れを示すフローチャート 図16に示すステップ18の詳細な処理の流れを示すフローチャート 図形認識プログラムを用いたゲームのゲーム画面例を示す図 図形認識プログラムを用いたゲームのゲーム画面例を示す図 複雑な図形の一例を示す図
符号の説明
1 ゲーム装置
11 第1LCD
13 タッチパネル
17 カートリッジ
21 CPUコア
22 WRAM

Claims (14)

  1. 入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別するためにコンピュータに実行される図形識別プログラムであって、
    前記コンピュータに、
    前記入力面上に描かれる軌跡を座標点として時系列で検出する検出ステップと、
    前記検出された各座標点を時系列で並べた座標点群から、前記軌跡を表すための座標点を選出する座標点選出ステップと、
    前記選出された各座標点を時系列順に結んだ各線分の長さを算出する長さ算出ステップと、
    前記線分と予め決められた基準直線とがなす絶対角度、または、前記線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する角度算出ステップと、
    前記選出された各座標点のうちの始点または終点から各座標点までの前記線分上に沿った距離を第1軸とし前記選出された座標点を基点とする前記線分の角度を第2軸とする直交座標系の軌跡グラフと、予め用意されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフとを比較することにより、当該軌跡グラフに最も近似する参照図形グラフによって表される参照図形を前記軌跡の形状として識別する図形識別ステップとを実行させることを特徴とする図形識別プログラム。
  2. 前記図形識別ステップは、
    前記直交座標系における前記軌跡グラフと前記参照図形グラフとの重複しない線分によって囲まれた領域の面積を各参照図形毎に算出する面積算出ステップと、
    前記面積算出ステップにおいて算出された面積が最も小さい参照図形を前記軌跡の形状として識別する識別ステップとを含む、請求項1に記載の図形識別プログラム。
  3. 前記軌跡グラフおよび前記参照図形グラフは、前記線分に対応する部分が前記第1軸に平行な直線成分によって構成されるステップ状のグラフである、請求項1または2に記載の図形識別プログラム。
  4. 前記図形識別ステップにおいて前記軌跡グラフと前記参照図形グラフとの比較が行われる前に、当該軌跡グラフの各線分の累積長さと当該参照図形グラフの累積長さとが等しくなるように、当該軌跡グラフの各線分の長さの割合を保ったまま当該軌跡グラフの累積長さを正規化する正規化ステップを前記コンピュータにさらに実行させる、請求項1ないし3のいずれかに記載の図形識別プログラム。
  5. 前記座標点選出ステップは、前記検出された座標点群の中から、所定の2つの座標点を結んだ直線から所定距離内に存在する座標点を間引くことによって座標点を選出する、請求項1に記載の図形識別プログラム。
  6. 前記座標点選出ステップは、前記検出された座標点の全ての点を選出する、請求項1に記載の図形識別プログラム。
  7. 前記検出ステップは、前記入力面上に描かれる一筆書きの軌跡を座標点として時系列で検出する、請求項1に記載の図形識別プログラム。
  8. 前記コンピュータには表示装置が接続されており、
    ゲーム空間の少なくとも一部の様子をゲーム画像として前記表示装置に表示するゲーム画像表示ステップと、
    前記図形識別ステップにおいて前記軌跡の形状として識別された参照図形に関連付けられたゲーム処理を実行することにより、前記ゲーム画像に当該参照図形の種類に応じた変化を発生させるゲーム処理ステップを前記コンピュータにさらに実行させる、請求項1ないし7のいずれかに記載の図形識別プログラム。
  9. 入力装置の入力面上にユーザによって描かれた軌跡の形状がどのような図形的の形状であるかを識別し、当該認識した結果に基づいてゲームの進行に変化を生じさせ、当該変化を表示装置に表示するゲーム装置であって、
    複数の頂点と各頂点を結ぶ線分によって構成される複数の参照図形について、当該参照図形の各頂点のうちの始点または終点から各頂点までの当該線分上に沿った距離と、当該線分と予め決められた基準直線とがなす絶対角度、または、当該線分とそれに隣接する線分とがなす相対角度とを記憶した参照図形記憶手段と、
    前記入力面上に描かれる軌跡を座標点として時系列で検出する検出手段と、
    前記検出された各座標点を時系列で並べた座標点群から、前記軌跡を表すための座標点を選出する座標点選出手段と、
    前記選出された各座標点を時系列順に結んだ各線分の長さを算出する長さ算出手段と、
    前記線分と予め決められた基準直線とがなす絶対角度、または、前記線分とそれに隣接する線分とがなす相対角度を各線分毎に算出する角度算出手段と、
    前記選出された各座標点のうちの始点または終点から各座標点までの前記線分上に沿った距離を第1軸とし前記選出された座標点を基点とする前記線分の角度を第2軸とする直交座標系の軌跡グラフと、前記参照図形記憶手段に記憶されている複数種類の参照図形のそれぞれを当該直行座標系において表した参照図形グラフとを比較することにより、当該軌跡グラフに最も近似する参照図形グラフによって表される参照図形を前記軌跡の形状として識別する図形識別手段とを備える、ゲーム装置。
  10. 前記図形識別手段は、
    前記直交座標系における前記軌跡グラフと前記参照図形グラフとの重複しない線分によって囲まれた領域の面積を各参照図形毎に算出する面積算出手段と、
    前記面積算出手段によって算出された面積が最も小さい参照図形を前記軌跡の形状として識別する識別手段とを含む、請求項9に記載のゲーム装置。
  11. 前記軌跡グラフおよび前記参照図形グラフは、前記線分に対応する部分が前記第1軸に平行な直線成分によって構成されるステップ状のグラフである、請求項9または10に記載のゲーム装置。
  12. 前記図形識別手段によって前記軌跡グラフと前記参照図形グラフとの比較が行われる前に、当該軌跡グラフの各線分の累積長さと当該参照図形グラフの累積長さとが等しくなるように、当該軌跡グラフの各線分の長さの割合を保ったまま当該軌跡グラフの累積長さを正規化する正規化手段をさらに備える、請求項9ないし11のいずれかに記載のゲーム装置。
  13. 前記座標点選出手段は、前記検出された座標点群の中から、所定の2つの座標点を結んだ直線から所定距離内に存在する座標点を間引くことによって座標点を選出する、請求項9に記載のゲーム装置。
  14. 前記座標点選出手段は、前記検出された座標点の全ての点を選出する、請求項9に記載のゲーム装置。
JP2004166128A 2004-06-03 2004-06-03 図形認識プログラム Pending JP2005346467A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004166128A JP2005346467A (ja) 2004-06-03 2004-06-03 図形認識プログラム
US10/914,112 US7535460B2 (en) 2004-06-03 2004-08-10 Method and apparatus for identifying a graphic shape
EP04019052.2A EP1603078B1 (en) 2004-06-03 2004-08-11 Graphics identification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004166128A JP2005346467A (ja) 2004-06-03 2004-06-03 図形認識プログラム

Publications (1)

Publication Number Publication Date
JP2005346467A true JP2005346467A (ja) 2005-12-15

Family

ID=34926130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004166128A Pending JP2005346467A (ja) 2004-06-03 2004-06-03 図形認識プログラム

Country Status (3)

Country Link
US (1) US7535460B2 (ja)
EP (1) EP1603078B1 (ja)
JP (1) JP2005346467A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006122407A (ja) * 2004-10-29 2006-05-18 Konami Co Ltd ゲームプログラム、ゲーム装置及びゲーム方法
JP2006288532A (ja) * 2005-04-07 2006-10-26 Nintendo Co Ltd ゲームプログラム
JP2012249834A (ja) * 2011-06-03 2012-12-20 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4213052B2 (ja) * 2004-01-28 2009-01-21 任天堂株式会社 タッチパネル入力を用いたゲームシステム
JP4159491B2 (ja) * 2004-02-23 2008-10-01 任天堂株式会社 ゲームプログラムおよびゲーム装置
US10201753B2 (en) * 2004-07-16 2019-02-12 Universal Entertainment Corporation Gaming machine and program thereof
US7417632B2 (en) * 2004-12-02 2008-08-26 Sap Ag Automatic testing of graphics programs
US7462798B2 (en) 2005-04-27 2008-12-09 Aruze Corp. Gaming machine
JP4628178B2 (ja) * 2005-05-16 2011-02-09 任天堂株式会社 情報処理装置および項目選択処理プログラム
US20080030516A1 (en) * 2006-04-05 2008-02-07 Haghighi Roshanak H Electronic presentation system and method
JP3938928B1 (ja) 2006-06-22 2007-06-27 株式会社コナミデジタルエンタテインメント 線形状処理装置、線形状処理方法、ならびに、プログラム
US8155449B2 (en) * 2007-11-09 2012-04-10 The Boeing Company Method for comparing computer-generated drawings
JP5083150B2 (ja) * 2008-09-30 2012-11-28 カシオ計算機株式会社 画像処理装置、及びその処理順設定方法、処理順設定プログラム
US8467612B2 (en) * 2008-10-13 2013-06-18 Honeywell International Inc. System and methods for navigation using corresponding line features
TWI391850B (zh) * 2009-03-31 2013-04-01 Au Optronics Corp 輸入圖形判定方法及電腦可讀儲存媒體
CN101661373B (zh) * 2009-09-29 2013-02-27 中兴通讯股份有限公司 一种通过接触面型进行识别解锁的方法及装置
CN102034254B (zh) * 2010-09-29 2012-07-04 广东威创视讯科技股份有限公司 一种识别几何图形的方法
US20120216113A1 (en) 2011-02-18 2012-08-23 Google Inc. Touch gestures for text-entry operations
CN102968265B (zh) * 2011-09-01 2015-12-16 晨星软件研发(深圳)有限公司 将触控点转换为输入文字的方法及触控装置
TWI560584B (en) * 2011-09-05 2016-12-01 Mstar Semiconductor Inc Method, touch control device, and computer program product for transforming touch points into characters
TWI512718B (zh) * 2012-06-04 2015-12-11 Mstar Semiconductor Inc 播放方法與裝置
CN103577077A (zh) * 2012-07-20 2014-02-12 晨星软件研发(深圳)有限公司 符号输入装置、符号输入方法及相关的电脑程序产品
KR102057647B1 (ko) * 2013-02-15 2019-12-19 삼성전자주식회사 데이터 입력 방법 및 그 방법을 처리하는 전자 장치
JP5835255B2 (ja) * 2013-03-19 2015-12-24 カシオ計算機株式会社 グラフ表示装置及びグラフ表示プログラム
DE102014214711B4 (de) * 2014-07-25 2023-01-05 Continental Autonomous Mobility Germany GmbH Verfahren zum Betrieb eines Assistenzsystems eines Kraftfahrzeugs sowie Assistenzsystem
US9904463B2 (en) * 2014-09-23 2018-02-27 Sulake Corporation Oy Method and apparatus for controlling user character for playing game within virtual environment
EP3467790B1 (en) * 2016-05-26 2020-09-16 Sony Corporation Information processing device, information processing method, and storage medium
CN109359366B (zh) * 2018-09-30 2022-11-15 中民筑友科技投资有限公司 一种机电标识的自动识别方法、装置、设备及存储介质
CN111596925B (zh) * 2020-06-18 2023-11-07 腾讯科技(深圳)有限公司 自动生成代码的方法、装置、计算机设备及介质
CN112734781B (zh) * 2021-01-12 2024-04-19 深圳市其乐游戏科技有限公司 阵列图案的快速输入方法、终端及可读存储介质
CN112884863B (zh) * 2021-01-21 2022-07-19 广州朗国电子科技股份有限公司 基于电子白板自动矫正三角形的绘图方法及其应用
US11321884B1 (en) 2021-03-19 2022-05-03 Adobe Inc. Generating candidate mirror snap points using determined axes of symmetry

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01269185A (ja) * 1988-04-20 1989-10-26 Fujitsu Ltd 直線成分抽出方式
JPH03282896A (ja) * 1990-03-30 1991-12-13 Toshiba Corp パターン認識装置
JPH0612493A (ja) * 1992-06-25 1994-01-21 Hitachi Ltd ジェスチャ認識方法およびユーザインタフェース方法
JPH0676118A (ja) * 1992-08-26 1994-03-18 Nec Corp 手書き入力文字認識装置
JPH1049526A (ja) * 1996-07-31 1998-02-20 Hitachi Ltd 文書編集装置
JPH10198760A (ja) * 1997-01-13 1998-07-31 Takayuki Mizuno 手書き文字認識方法及び手書き文字認識装置
JPH11295090A (ja) * 1998-04-13 1999-10-29 Kenwood Corp 類似度算出方法
JP2002282542A (ja) * 2001-03-27 2002-10-02 Namco Ltd 手書き認識を用いた遊技装置、遊技装置における画像消去方法、及びそのプログラム
JP2003208569A (ja) * 2002-01-10 2003-07-25 Ricoh Co Ltd 手書き情報処理装置、手書き情報処理方法、手書き情報処理プログラム、そのプログラムが記録された記録媒体、及び電子黒板

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5866176A (ja) 1981-10-16 1983-04-20 Toshiba Corp 図形認識装置
US4618927A (en) 1982-05-24 1986-10-21 Sharp Kabushiki Kaisha Electronic game apparatus
JPS6282486A (ja) 1985-10-08 1987-04-15 Hitachi Ltd オンライン手書き図形認識装置
JPS61168347A (ja) 1985-12-07 1986-07-30 デンカ製薬株式会社 胃内異物吸着用磁石の摘出装置
JPH01177682A (ja) 1988-01-08 1989-07-13 Nec Corp 図形認識装置
JPH04238585A (ja) 1991-01-22 1992-08-26 Nippon Telegr & Teleph Corp <Ntt> 図面解釈処理方式
US5953735A (en) 1991-03-20 1999-09-14 Forcier; Mitchell D. Script character processing method and system with bit-mapped document editing
JP2794230B2 (ja) 1991-07-16 1998-09-03 株式会社スクウェア ビデオ・ゲーム装置,その制御方法および制御ディバイス
JPH0618250A (ja) 1992-04-08 1994-01-25 Sharp Corp 電子メジャー
US5287417A (en) 1992-09-10 1994-02-15 Microsoft Corporation Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment
US5465325A (en) 1992-11-16 1995-11-07 Apple Computer, Inc. Method and apparatus for manipulating inked objects
JP3046472B2 (ja) 1993-07-12 2000-05-29 シャープ株式会社 手書き図形認識装置
US5485565A (en) 1993-08-04 1996-01-16 Xerox Corporation Gestural indicators for selecting graphic objects
US5500937A (en) 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
DE4331258A1 (de) 1993-09-15 1995-03-23 Nsm Ag Programmgesteuertes Unterhaltungs- und Spielgerät
JPH0793560A (ja) 1993-09-28 1995-04-07 Hitachi Software Eng Co Ltd 図形輪郭線認識方法
US5596656B1 (en) 1993-10-06 2000-04-25 Xerox Corp Unistrokes for computerized interpretation of handwriting
US5592608A (en) 1993-10-15 1997-01-07 Xerox Corporation Interactively producing indices into image and gesture-based data using unrecognized graphical objects
US5638462A (en) 1993-12-24 1997-06-10 Nec Corporation Method and apparatus for recognizing graphic forms on the basis of elevation angle data associated with sequence of points constituting the graphic form
TW397951B (en) * 1995-06-05 2000-07-11 Motorola Inc Method and microprocessor for preprocessing handwriting having characters composed of a preponderance of straight line segments
US6278445B1 (en) 1995-08-31 2001-08-21 Canon Kabushiki Kaisha Coordinate input device and method having first and second sampling devices which sample input data at staggered intervals
US5751853A (en) * 1996-01-02 1998-05-12 Cognex Corporation Locating shapes in two-dimensional space curves
US5920309A (en) * 1996-01-04 1999-07-06 Logitech, Inc. Touch sensing method and apparatus
JP3153761B2 (ja) 1996-03-06 2001-04-09 株式会社ナムコ ゲーム画面表示方法及びゲーム装置
US5798769A (en) 1996-08-15 1998-08-25 Xerox Corporation Method and apparatus for maintaining links between graphic objects in a free-form graphics display system
US6044174A (en) * 1996-10-11 2000-03-28 Lucent Technologies Inc. Method and apparatus for parametric representation of handwritten symbols
IL119498A (en) 1996-10-27 2003-02-12 Advanced Recognition Tech Application launching system
JP3356639B2 (ja) 1996-11-26 2002-12-16 シャープ株式会社 データ処理装置
US6057830A (en) 1997-01-17 2000-05-02 Tritech Microelectronics International Ltd. Touchpad mouse controller
US5880717A (en) 1997-03-14 1999-03-09 Tritech Microelectronics International, Ltd. Automatic cursor motion control for a touchpad mouse
JPH11134509A (ja) 1997-10-27 1999-05-21 Nippon Telegr & Teleph Corp <Ntt> 図面認識処理方法及び建築図面認識処理方法
JPH11128533A (ja) 1997-10-30 1999-05-18 Nintendo Co Ltd ビデオゲーム装置およびその記憶媒体
US6057845A (en) 1997-11-14 2000-05-02 Sensiva, Inc. System, method, and apparatus for generation and recognizing universal commands
JP3031676B1 (ja) 1998-07-14 2000-04-10 コナミ株式会社 ゲ―ムシステムおよびコンピュ―タ読み取り可能な記憶媒体
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
JP3181275B2 (ja) 1999-07-30 2001-07-03 株式会社ケイシーイーオー 競技方法及び装置、記録媒体
JP3350009B2 (ja) 1999-11-25 2002-11-25 コナミ株式会社 的叩きゲーム機
US6461237B1 (en) 2000-01-28 2002-10-08 Square Co., Ltd. Computer readable program product storing program for ball-playing type game, said program, and ball-playing type game processing apparatus and method
US6738049B2 (en) 2000-05-08 2004-05-18 Aquila Technologies Group, Inc. Image based touchscreen device
JP3433380B2 (ja) 2000-06-07 2003-08-04 株式会社スクウェア・エニックス 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体、球技系ゲーム処理装置およびその方法
JP2002058868A (ja) 2000-06-07 2002-02-26 Square Co Ltd 球技系ゲームのプログラムを記録したコンピュータ読み取り可能な記録媒体およびプログラム、ならびに、球技系ゲーム処理装置およびその方法
US6761632B2 (en) 2000-08-31 2004-07-13 Igt Gaming device having perceived skill
WO2002059868A1 (en) 2001-01-24 2002-08-01 Interlink Electronics, Inc. Game and home entertainment device remote control
JP2002222425A (ja) * 2001-01-29 2002-08-09 Canon Inc 情報処理装置及び方法
JP2002245458A (ja) * 2001-02-15 2002-08-30 Casio Comput Co Ltd 署名認証装置、署名認証方法、及びプログラム
US20020141643A1 (en) 2001-02-15 2002-10-03 Denny Jaeger Method for creating and operating control systems
US6530838B2 (en) 2001-04-18 2003-03-11 Mobilink Telecom Co., Ltd. Game pad connectable to personal portable terminal
US20040085300A1 (en) 2001-05-02 2004-05-06 Alec Matusis Device and method for selecting functions based on intrinsic finger features
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US20050024341A1 (en) 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
KR100408720B1 (ko) * 2001-06-28 2003-12-11 주식회사 하이닉스반도체 반도체 메모리 소자의 디코더회로
FI116591B (fi) 2001-06-29 2005-12-30 Nokia Corp Menetelmä ja laite toiminnon toteuttamiseksi
JP4974319B2 (ja) 2001-09-10 2012-07-11 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
US7379053B2 (en) 2001-10-27 2008-05-27 Vortant Technologies, Llc Computer interface for navigating graphical user interface by touch
JP3690672B2 (ja) 2002-05-17 2005-08-31 任天堂株式会社 ゲームシステムおよびゲームプログラム
US20040014513A1 (en) 2002-05-21 2004-01-22 Boon Edward J. Game control system and method
US7918730B2 (en) 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
US20040130525A1 (en) 2002-11-19 2004-07-08 Suchocki Edward J. Dynamic touch screen amusement game controller
JP3888542B2 (ja) 2002-12-05 2007-03-07 任天堂株式会社 ゲーム装置およびゲームプログラム
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
KR20040083788A (ko) 2003-03-25 2004-10-06 삼성전자주식회사 제스쳐 커맨드를 이용하여 프로그램을 구동시킬 수 있는휴대용 단말기 및 이를 이용한 프로그램 구동 방법
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01269185A (ja) * 1988-04-20 1989-10-26 Fujitsu Ltd 直線成分抽出方式
JPH03282896A (ja) * 1990-03-30 1991-12-13 Toshiba Corp パターン認識装置
JPH0612493A (ja) * 1992-06-25 1994-01-21 Hitachi Ltd ジェスチャ認識方法およびユーザインタフェース方法
JPH0676118A (ja) * 1992-08-26 1994-03-18 Nec Corp 手書き入力文字認識装置
JPH1049526A (ja) * 1996-07-31 1998-02-20 Hitachi Ltd 文書編集装置
JPH10198760A (ja) * 1997-01-13 1998-07-31 Takayuki Mizuno 手書き文字認識方法及び手書き文字認識装置
JPH11295090A (ja) * 1998-04-13 1999-10-29 Kenwood Corp 類似度算出方法
JP2002282542A (ja) * 2001-03-27 2002-10-02 Namco Ltd 手書き認識を用いた遊技装置、遊技装置における画像消去方法、及びそのプログラム
JP2003208569A (ja) * 2002-01-10 2003-07-25 Ricoh Co Ltd 手書き情報処理装置、手書き情報処理方法、手書き情報処理プログラム、そのプログラムが記録された記録媒体、及び電子黒板

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006122407A (ja) * 2004-10-29 2006-05-18 Konami Co Ltd ゲームプログラム、ゲーム装置及びゲーム方法
JP2006288532A (ja) * 2005-04-07 2006-10-26 Nintendo Co Ltd ゲームプログラム
JP4717489B2 (ja) * 2005-04-07 2011-07-06 任天堂株式会社 ゲームプログラム
JP2012249834A (ja) * 2011-06-03 2012-12-20 Nintendo Co Ltd 画像処理プログラム、画像処理装置、画像処理方法および画像処理システム
US9610497B2 (en) 2011-06-03 2017-04-04 Nintendo Co., Ltd. Storage medium, image processing apparatus, image processing method, and image processing system

Also Published As

Publication number Publication date
US20050270289A1 (en) 2005-12-08
EP1603078A2 (en) 2005-12-07
US7535460B2 (en) 2009-05-19
EP1603078B1 (en) 2018-05-16
EP1603078A3 (en) 2012-03-21

Similar Documents

Publication Publication Date Title
JP2005346467A (ja) 図形認識プログラム
US8558792B2 (en) Storage medium storing game program and game apparatus therefor
US7736235B2 (en) Game system for varying parameter of a character
US7628698B2 (en) Game program
JP4213052B2 (ja) タッチパネル入力を用いたゲームシステム
US7470192B2 (en) Game apparatus and storage medium storing game program
JP4172645B2 (ja) 入力位置との関係でゲームオブジェクトの動作を変化させるゲームプログラム
US20050176486A1 (en) Game apparatus and storage medium having game program stored therein
US20060252540A1 (en) Storage medium having game program stored thereon and game apparatus
US20060205502A1 (en) Storage medium storing game program and game apparatus
US20050227762A1 (en) Game apparatus and storage medium storing game program
EP2667294A2 (en) Information processing apparatus, method for information processing, and game apparatus
JP4848401B2 (ja) タッチパネル入力を用いたゲームシステム
JP6721297B2 (ja) ゲーム装置
EP2626853A2 (en) Scrolling screen apparatus, method for scrolling screen, and game apparatus
JP4743602B2 (ja) 画像処理装置、画像処理プログラム、ゲーム装置およびゲームプログラム
JP2008083796A (ja) 情報処理プログラムおよび情報処理装置
CN111481923A (zh) 摇杆显示方法及装置、计算机存储介质、电子设备
JP4472467B2 (ja) 画像処理プログラムおよび画像処理装置
JP6235544B2 (ja) プログラム,コンピュータ装置,画面制御方法,及びシステム
JP2006059028A (ja) 画像処理プログラムおよび画像処理装置
JP2006204344A (ja) ゲームプログラムおよびゲーム装置
EP4378552A1 (en) Method and apparatus for interaction in virtual environment
JP5000153B2 (ja) ゲームプログラム
JP5826244B2 (ja) ゲームシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100616

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100721