JP2013134621A - 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法 - Google Patents

座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法 Download PDF

Info

Publication number
JP2013134621A
JP2013134621A JP2011284428A JP2011284428A JP2013134621A JP 2013134621 A JP2013134621 A JP 2013134621A JP 2011284428 A JP2011284428 A JP 2011284428A JP 2011284428 A JP2011284428 A JP 2011284428A JP 2013134621 A JP2013134621 A JP 2013134621A
Authority
JP
Japan
Prior art keywords
coordinate
input
coordinates
series
processing
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.)
Granted
Application number
JP2011284428A
Other languages
English (en)
Other versions
JP5855934B2 (ja
Inventor
Keizo Ota
敬三 太田
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 JP2011284428A priority Critical patent/JP5855934B2/ja
Priority to US13/417,794 priority patent/US8773382B2/en
Publication of JP2013134621A publication Critical patent/JP2013134621A/ja
Priority to US14/196,876 priority patent/US9041680B2/en
Application granted granted Critical
Publication of JP5855934B2 publication Critical patent/JP5855934B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】座標入力装置から出力される入力座標データを適切に処理すること。
【解決手段】入力座標に対して遅れて追従する追従座標を算出する。そして、入力座標の移動量に基づいて推測移動量を算出し、追従座標の移動方向に基づいて推測移動方向を算出する。このようにして算出される推測移動量と推測移動方向とに基づいて、推測移動ベクトルを決定する。追従座標は、実際の操作者の指の移動量との相関性が低く、入力座標の移動方向は、入力座標のブレのために、実際の操作者の指の移動方向との相関性が低い。よって、上記のようにして決定される推測移動ベクトルは、実際の操作者の指の移動量および移動方向を、より正確に反映する。
【選択図】図13

Description

本発明は、座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法に関し、特に、座標入力装置から出力される入力座標データを処理するための座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法に関する。
従来、タッチパネル等の座標入力装置から出力される座標データのブレを軽減する技術がある。例えば、前回の補正後の座標データと最新の座標データとを加重平均して最新の補正後の座標データを生成する従来技術(例えば、特許文献1)がある。
特開2001−282449号
しかしながら、座標データのブレを軽減する技術には、操作者の操作に対する応答性が低下するというデメリットが本来的に存在する。よって、上記の補正後の座標データに基づいて座標の移動速度と移動方向を計算した場合、計算される移動方向については、座標データのブレが軽減された結果、操作者の実際の入力操作と概ね合致するが、計算される移動速度については、応答性の低下により、操作者の実際の入力操作と乖離しがちとなってしまう。
本発明は、座標入力装置から出力される入力座標データを適切に処理することが可能な座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法を提供することを目的とする。
上記目的は、例えば下記のような構成例によって達成される。
第1の構成例は、座標入力装置から出力される入力座標データを処理するための座標処理プログラムである。当該座標処理プログラムは、コンピュータを、前記入力座標データによって示される第1座標系列に基づいて、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出手段、前記第1座標系列に基づいて座標の移動量を算出する移動量算出手段、前記第2座標系列に基づいて座標の移動方向を算出する移動方向算出手段、および前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて所定の処理を行う処理手段として機能させる。
「座標入力装置」は、入力座標データを出力可能な任意のポインティングデバイスであってもよく、典型的にはタッチパネルである。「第2座標系列」は、第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す任意の座標系列であればよく、例えば、入力座標データに基づいて設定される目標座標に追従する追従座標を、第2座標系列の座標として計算してもよいし、第1座標系列に含まれる複数の座標を平均(相加平均、加重平均等)することによって第2座標系列の座標を計算してもよい。
上記座標処理プログラムは、任意のコンピュータ読み取り可能な記憶媒体(例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、半導体メモリカード、ROM、RAMなど)に格納され得る。
なお、前記移動量算出手段は、少なくとも、前記第1座標系列における最新座標と、当該最新座標の直前の座標との間の距離に基づいて、前記移動量を算出してもよい。
また、前記移動方向算出手段は、少なくとも、前記第2座標系列における最新座標と、当該最新座標の直前の座標とを結ぶ直線の方向に基づいて、前記移動方向を算出してもよい。
また、前記第2座標系列算出手段は、前記入力座標データに基づいて設定される目標座標に追従する追従座標を、前記第2座標系列の座標として算出してもよい。
また、前記第2座標系列算出手段は、前記目標座標に所定の割合で追従する追従座標を、前記第2座標系列の座標として算出してもよい。
また、前記第2座標系列算出手段は、前記追従座標から前記目標座標までの距離の所定割合だけ前記目標座標へ近づくように前記追従座標を都度更新してもよい。
また、前記目標座標は、前記入力座標データが示す入力座標から所定距離よりも離れたときに、当該所定距離だけ離れた位置に位置するように当該入力座標に向かって移動する遊び座標であってもよい。
また、前記処理手段は、前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて、座標の移動量および移動方向を示す移動ベクトルを生成する移動ベクトル生成手段を含んでいてもよい。
また、前記処理手段は、前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて第3座標系列を算出する第3座標系列算出手段を含んでいてもよい。
また、前記処理手段は、前記座標入力装置からの前記入力座標データの出力が一時的に途切れた場合に、前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて前記入力座標データを補完する座標補完手段を含んでいてもよい。
また、前記処理手段は、前記座標入力装置からの前記入力座標データの出力に応じて、前記所定の処理をリアルタイムに行ってもよい。
第2の構成例は、座標入力装置から出力される入力座標データを処理するための座標処理装置である。当該座標処理装置は、前記入力座標データによって示される第1座標系列に基づいて、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出手段、前記第1座標系列に基づいて座標の移動量を算出する移動量算出手段、前記第2座標系列に基づいて座標の移動方向を算出する移動方向算出手段、および前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて所定の処理を行う処理手段を備える。
第3の構成例は、座標入力装置から出力される入力座標データを処理するための座標処理システムである。当該座標処理システムは、前記入力座標データによって示される第1座標系列に基づいて、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出手段、前記第1座標系列に基づいて座標の移動量を算出する移動量算出手段、前記第2座標系列に基づいて座標の移動方向を算出する移動方向算出手段、および前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて所定の処理を行う処理手段を備える。
第4の構成例は、座標入力装置から出力される入力座標データを処理するための座標処理システムのコンピュータによって実行される座標処理方法である。当該座標処理方法は、前記入力座標データによって示される第1座標系列に基づいて、前記コンピュータが、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出ステップ、前記第1座標系列に基づいて前記コンピュータが座標の移動量を算出する移動量算出ステップ、前記第2座標系列に基づいて前記コンピュータが座標の移動方向を算出する移動方向算出ステップ、および前記移動量算出ステップにおいて算出された移動量と前記移動方向算出ステップにおいて算出された移動方向とを用いて前記コンピュータが所定の処理を行う処理ステップを備える。
本発明によれば、座標入力装置から出力される入力座標データを適切に処理することが可能である。
座標処理システムの一例を示す図 ペンによる入力座標の一例を示す図 指による入力座標の一例を示す図 入力座標の一例を示す図 入力座標に応じて決定される遊び座標の一例を示す図 遊び座標に応じて決定される追従座標の一例を示す図 入力座標に途切れが生じたときの遊び座標および追従座標の一例を示す図 指による入力座標およびそれに対応する追従座標の一例を示す図 ペンによる入力座標およびそれに対応する追従座標の一例を示す図 速度座標の一例を示す図 RAMに記憶されるデータの一例を示す図 座標処理の流れを示すフローチャートの一部 座標処理の流れを示すフローチャートの残りの一部 遊び半径の計算方法の一例を示す図 ジグザグ形状の判定方法の一例を示す図 追従割合の計算方法の一例を示す図 追従座標の決定方法の変形例を示す図 入力座標の補正方法の変形例を示す図
図1において、座標処理システム10は、タッチパネル12、情報処理装置14、表示装置16および外部記憶媒体24を備えている。
タッチパネル12は、操作面に対する指またはペンの接触位置を周期的に検出し、当該接触位置を示す座標データを所定の周期で情報処理装置14へと出力する。本実施形態では、タッチパネル12は感圧式である。
情報処理装置14は、プロセッサ18、内部記憶装置20およびメインメモリ22を備えている。内部記憶装置20には、プロセッサ18によって実行されるコンピュータプログラムが格納されている。内部記憶装置20は、典型的には、ハードディスクやROM(Read Only Memory)である。メインメモリ22は、コンピュータプログラムやその他のデータを一時的に記憶する。
表示装置16は、情報処理装置14によって生成された画像を画面に表示する。表示装置16の画面上にタッチパネル12が設けられていてもよい。
外部記憶装置24には、プロセッサ18によって実行されるコンピュータプログラムが格納されている。外部記憶装置24は、典型的には、CD(Compact Disc)やDVD(Digital Versatile Disc)や半導体記憶装置である。
なお、図1に示した座標処理システム10の構成は単なる一例に過ぎず、他の実施形態では、座標処理システムは、例えば、タッチパネルを備えた携帯型ゲーム機であってもよい。
次に、座標処理システム10において実行される座標処理の概要を説明する。
図2は、操作者がタッチパネル12の操作面にペンで円弧を描いたときにタッチパネル12によって検出される一連の座標(入力座標p1〜p18)を示している。このように、ペンでタッチパネル12を操作する場合には、入力座標にブレや途切れはほとんど生じない。一方、操作者がタッチパネル12の操作面に指で同じ円弧を描いたときには、図3に示すように、入力座標にブレや途切れが生じる。これは、主に、指はペンに比べて、操作面への接触面積が大きいことに起因する。一般的に、入力操作時における操作面への接触面積が大きいほど、入力座標のブレや途切れが発生しやすくなる傾向がある。これは、接触面積が大きいほど、検出される接触位置にブレが生じやすく、また、特に感圧式の座標入力装置では、接触面積が大きいほど操作面に対する単位面積当たりの圧力が小さくなるので、実際には接触しているにも関わらず、接触していないと誤判定されてしまうことが起こりやすくなるからである。
情報処理装置14は、上記のような入力座標のブレや途切れを補正する処理(座標補正処理)を行う。具体的には、タッチパネル12を通じて入力される入力座標に基づいて、「遊び座標」および「追従座標」をリアルタイムに更新することによって、上記のような入力座標のブレや途切れを補正する。
以下、図5を参照して、図4に示すような入力座標p1〜p6が入力されたときの遊び座標の更新方法について説明する。
最初の入力座標p1が入力されると、当該入力座標p1と同じ値に、遊び座標r1が設定される。
一旦設定された遊び座標は、最新の入力座標との間の距離が所定距離(図5に示す「遊び半径」)以下である間は変化しない。一方、最新の入力座標と間の距離が上記所定距離よりも大きい場合には、最新の入力座標との間の距離が上記所定距離と一致するように、最新の入力座標へ向かって移動するように遊び座標は変化する。なお、後述するように、遊び半径は、「指度合」(指らしさの度合を示す変数)に応じて例えば0〜30の範囲で変化する。
すなわち、入力座標p2が入力されると、当該入力座標p2と遊び座標r1との間の距離が遊び半径よりも大きいので、入力座標p2との間の距離が遊び半径と一致するように、遊び座標は入力座標p2に向かって移動する。こうして、図5に示す遊び座標r2が決定される。
入力座標p3が入力されると、当該入力座標p3と遊び座標r2との間の距離が遊び半径よりも大きいので、入力座標p3との間の距離が遊び半径と一致するように、遊び座標は入力座標p3に向かって移動する。こうして、図5に示す遊び座標r3が決定される。
以下、同様にして、入力座標p4,p5,p6が入力される度に、遊び座標r4,r5,r6が順次決定される。
図5から明らかなように、遊び座標r1〜r6によって示される入力軌跡は、入力座標p1〜p6によって示される入力軌跡と比べて、より滑らかになっており、座標のブレが抑えられているのが分かる。
次に、図6を参照して、図4に示すような入力座標p1〜p6が入力されたときの追従座標の更新方法について説明する。
最初の入力座標p1が入力されると、当該入力座標p1と同じ値(すなわち、遊び座標r1と同じ値)に、追従座標f1が設定される。
一旦設定された追従座標は、最新の遊び座標との間の距離の所定割合(後述する「追従割合」)だけ当該遊び座標へ向かって移動するように更新される。なお、後述するように、追従割合は、指度合に応じて例えば40%〜100%の範囲で変化する。
すなわち、遊び座標r2の位置が決定されると、当該遊び座標r2と追従座標f1との間の距離の所定割合(追従割合)だけ、追従座標は遊び座標r2へ向かって移動する。こうして、図6に示す追従座標f2が決定される。
遊び座標r3の位置が決定されると、当該遊び座標r3と追従座標f2との間の距離の所定割合(追従割合)だけ、追従座標は遊び座標r3へ向かって移動する。こうして、図6に示す追従座標f3が決定される。
以下、同様にして、遊び座標r4,r5,r6が決定される度に、追従座標f4,f5,f6が順次決定される。
図6から明らかなように、追従座標f1〜f6によって示される入力軌跡は、遊び座標r1〜r6によって示される入力軌跡と比べて、さらに滑らかになっており、座標のブレがさらに抑えられているのが分かる。
なお、入力座標が一時的に途切れた場合でも、遊び座標および追従座標の更新は行われる。図7を参照して、入力座標が一時的に途切れた場合における遊び座標および追従座標の更新方法について説明する。
入力座標p1,p2,p3,p4が入力される度に、遊び座標r1,r2,r3,r4および追従座標f1,f2,f3,f4が順次決定される点については、図5および図6と同様である。
図7の例では、入力座標p5が入力されるはずのタイミング(以下では、タイミングt5と称す)では入力座標が入力されず、その後、入力座標p6が入力されている。遊び座標および追従座標は、タッチパネル12から有効な入力座標が入力されたか否かに関わらず、所定の周期(例えば、タッチパネル12から座標データが出力される周期と同じ周期)で更新される。よって、タイミングt5においても、遊び座標および追従座標は更新される。
なお、本実施形態では、後述するように、入力座標が入力されない間は遊び半径が徐々に小さくなっていく(図12のS22)。よって、タイミングt5では、最新の入力座標(すなわち、入力座標p4)との間の距離が、少し小さくなった遊び半径と一致するように、遊び座標は入力座標p4に向かって少しだけ移動する。こうして、図7に示す遊び座標r5が決定される。
遊び座標r5が決定されると、当該遊び座標r5と追従座標f4との間の距離の所定割合(追従割合)だけ、追従座標は遊び座標r5へ向かって移動する。こうして、図7に示す追従座標f5が決定される。
このように、入力座標p5が入力されなくても、当該入力座標p5が入力されるはずのタイミング(タイミングt5)に対応する遊び座標r5および追従座標f5が決定される。よって、入力座標が一時的に途切れた場合でも、座標の途切れを補正することができる(すなわち、本来入力されるはずの座標を補完することができる)。
なお、座標の途切れを補正する際には、入力座標が一時的に途切れたのか、操作者が意図的に指またはペンをタッチパネル12の操作面から離したのかを区別する必要がある。これらを区別するための方法としては、種々の方法が考えられる。
本実施形態では、追従座標が移動している間(より正確には、最新の遊び座標へ向かって移動するときの追従座標の移動量が所定量以上である間)は、操作者が入力操作を継続しているとみなして座標の補完を行う。そして、追従座標が最終的に停止した時点(より正確には、最新の遊び座標へ向かって移動するときの追従座標の移動量が所定量未満となった時点)で、操作者が入力操作を終了したとみなす。この場合、入力座標が途切れる直前における遊び座標と追従座標との間の距離が大きいほど、操作者が入力操作を終了したとみなすまでの時間が長くなる。
一般的に、操作者が操作面上で指またはペンを素早く滑らせた場合には、ゆっくりと滑らせた場合と比べて操作面に対する圧力が不安定になるため、入力座標の途切れが生じやすくなる。また、操作者が操作面上で指またはペンを素早く滑らせる場合には、ゆっくりと滑らせる場合と比べて、遊び座標と追従座標との間の距離が大きくなる。よって、本実施形態では、操作者が操作面上で指またはペンを素早く滑らせた場合には、ゆっくりと滑らせた場合と比べて、操作者が入力操作を終了したとみなすまでの時間が長くなるので、入力座標の途切れを効果的に補正することができる。また、操作者が操作面上で指またはペンをゆっくりと滑らせた場合には、操作者が入力操作を終了したとみなすまでの時間が短くなるため、応答性の低下を抑えることができる。その結果、操作者にとって、良好な操作性が得られる。
図3のような入力座標p1〜p4,p6〜p10,p13〜p18に対して、上記のように遊び座標および追従座標を更新した結果、図8に示すような追従座標f1〜f21が得られる。図8に示すように、追従座標f1は入力座標p1と一致しており、最後の追従座標f21は最後の入力座標p18とほぼ一致している。また、追従座標f1〜f21によって示される入力軌跡は、入力座標p1〜p4,p6〜p10,p13〜p18によって示される入力軌跡と比べて、滑らかになっており、本来の入力軌跡の形状により近づいている。また、入力座標が一時的に途切れた期間に対応する追従座標f5,f11〜f12が補完されている。したがって、タッチパネル12を指で操作する操作者にとって、良好な操作性が得られる。
一方、図2のような入力座標p1〜p18に対して、上記のように遊び座標および追従座標を更新すると、図9に示すような追従座標f1〜f21が得られる。しかしながら、この場合には、そもそも入力座標にはブレや途切れが存在しないため、追従座標f1〜f21によって示される入力軌跡よりも、入力座標p1〜p18によって示される入力軌跡の方が、より正確な入力軌跡を表していると言える。また、前述したように、座標データのブレを軽減する技術には、操作者の操作に対する応答性が低下するというデメリットが本来的に存在するため、例えば、入力座標p2に対応する追従座標f2は、入力座標p2からずれてしまう。追従座標f3〜f18についても同様である。また、操作者が入力操作を終了したとみなすタイミングも、本来のタイミング(すなわち、入力座標が途絶えたタイミング)よりも遅いタイミング(すなわち、追従座標が移動しなくなったタイミング)になってしまう。
よって、上記のようなデメリットを考慮すると、図1のように、操作者がペンでタッチパネル12を操作している場合には、入力座標のズレや途切れを補正するよりも、むしろ、入力座標を補正しない方が好ましいと言える。そこで、本実施形態では、操作者がタッチパネル12を指で操作しているのかペンで操作しているのかによって、入力座標のズレや途切れの補正度合を変化させている。
具体的には、操作者がタッチパネル12を指で操作していると判定される場合には、前述の遊び半径を大きくするとともに、前述の追従割合を小さくし、操作者がタッチパネル12をペンで操作していると判定される場合には、前述の遊び半径を小さくするとともに、前述の追従割合を大きくする。遊び半径を大きくするほど、接触位置の変動に対する応答性が低下するため、座標のブレはより抑えられ、同様に、追従割合を小さくするほど、接触位置の変動に対する応答性が低下するため、座標のブレはより抑えられる。これにより、タッチパネル12を指で操作する場合も、ペンで操作する場合も、操作者にとって、良好な操作性が得られる。
なお、操作者がタッチパネル12をペンで操作していると判定される場合には、遊び半径を0にし、追従割合を100%にすることによって、追従座標が入力座標に完全に一致するようになる。そして、入力座標が途切れると、追従座標は一切移動しないため、入力座標が途切れた時点で即座に、操作者が入力操作を終了したとみなされることになる。
なお、操作者がタッチパネル12を指で操作しているのかペンで操作しているのかの判定方法としては、種々の判定方法が考えられる。本実施形態では、指で操作しているのかペンで操作しているのかを二者択一で判定するのではなく、入力座標で示される入力軌跡の形状や、入力座標で示される連続接触時間や非連続接触時間に応じて、0.0〜1.0の範囲の値をとり得る、指らしさの度合を示す変数(指度合)を随時更新し、当該指度合に応じて遊び半径および追従割合を変化させている。
ところで、図7を参照して説明したように、入力座標が途切れている間は、遊び座標が最新の入力座標(すなわち、最後に入力された入力座標)へ向かって徐々に移動するとともに、追従座標が遊び座標へ向かって移動することになる。よって、新たな入力座標が入力されない限りは、追従座標の移動速度(すなわち、1回当たりの移動量)が徐々に小さくなってしまう。これは、図8の追従座標f10〜f12や、追従座標f18〜f21にも表れている。
しかしながら、実際には操作者は、図2に示すような入力操作の途中で指の移動速度を遅めたり速めたりしたわけではない。よって、追従座標の移動速度は、操作者の指の移動速度とは乖離したものとなる。そこで、本実施形態では、実際の操作者の指の移動量(単位時間当たりの移動量)と移動方向を推測し、少なくとも入力座標が途切れている間は、推測した移動量(推測移動量)および推測した移動方向(推測移動方向)とに基づいて決定されるベクトル(推測移動ベクトル)を用いて入力座標を補完する方法も提供する。以下では、このように推測移動ベクトルを用いて決定される座標を「速度座標」と称する。速度座標は、追従座標と比べて、実際の操作者の指の速度をより正確に反映していると考えられる。
上記のように、推測移動ベクトルは、推測移動量と推測移動方向とに基づいて決定されるベクトルである。ここまで説明から明らかなように、追従座標は、入力座標に対して遅れて追従するため、これらの座標の移動量は、実際の操作者の指の移動量との相関性が低い。一方、入力座標の移動方向は、入力座標のブレのために、実際の操作者の指の移動方向との相関性が低い。そこで、本実施形態では、入力座標の移動量に基づいて推測移動量を算出し、追従座標の移動方向に基づいて推測移動方向を算出している。その結果、このようにして算出される推測移動量と推測移動方向とに基づいて決定される推測移動ベクトルは、実際の操作者の指の移動量および移動方向を、より正確に反映していると考えられる。
以下、図10を参照して、図3に示すような入力座標p1〜p4,p6〜p10,p13〜p18が入力されたときの速度座標の更新方法について説明する。
速度座標は、入力座標が途切れることなく入力されている間は、基本的に、追従座標に一致するように更新される。したがって、速度座標s8〜s10は、追従座標f8〜f10にそれぞれ一致する。
入力座標が途切れている間は、速度座標は、追従座標から独立して、推測移動ベクトルに応じて更新される。すなわち、入力座標p11が入力されるはずのタイミングでは、その時点における推測移動ベクトルに応じて速度座標は移動する。こうして、図10に示す速度座標s11が決定される。さらに、入力座標p12が入力されるはずのタイミングでも、その時点における推測移動ベクトルに応じて速度座標は移動する。こうして、図10に示す速度座標s12が決定される。
入力座標の入力が再開されると、速度座標は、最新の追従座標へ向かって順次移動し、最終的には、追従座標に再び一致するようになる。
前述のように、速度座標は、入力座標や追従座標と比べて、特に入力座標が途切れている期間において、実際の操作者の指の移動量と移動方向をより正確に反映していると考えられる。したがって、例えば、ある瞬間における操作面上における操作者の指の移動速さと移動方向の両方に基づいて何らかの処理を行う場合には、入力座標や追従座標を参照するよりも速度座標を参照した方が、操作者にとっては、より良好な操作性が得られる。
次に、図11〜図13を参照して、上述した座標処理を実行する情報処理装置14の動作について具体的に説明する。
図11は、上述した座標処理を実行するときに情報処理装置14のメインメモリ22に格納される各種データの一例を示している。
座標処理プログラムD10は、情報処理装置14のプロセッサ18に上述した座標処理を実行させるためのコンピュータプログラムである。座標処理プログラムD10は、内部記憶装置20または外部記憶装置24等から読み出されてメインメモリ22にロードされる。
入力座標D11は、タッチパネル12から出力される入力座標を示すデータであり、典型的には、タッチパネル12の操作面における接触位置を表す2次元座標値である。本実施形態では、メインメモリ22には、タッチパネル12を通じて入力された最新の入力座標と、1つ前に入力された入力座標と、2つ前に入力された入力座標と、3つ前に入力された入力座標の、少なくとも4つの入力座標が保持される。
入力タッチ状態D12は、タッチパネル12から出力される、タッチパネル12の操作面がタッチされている状態(以下、「タッチオン状態」または単に「オン」と称す)か、タッチされていない状態(以下、「タッチオフ状態」または単に「オフ」と称す)かを示すデータである。なお、ある種のタッチパネルでは、入力座標D11が無効な座標値である場合に、入力タッチ状態がタッチオフ状態であると判断することができる。
遊び座標D13、追従座標D14および速度座標D15は、前述した遊び座標、追従座標、速度座標をそれぞれ示すデータであり、典型的には、タッチパネル12を通じて入力される入力座標D11に基づいてリアルタイムに生成される2次元座標値である。
補正タッチ状態D16は、入力タッチ状態D12に対して前述の途切れ補正結果を反映させたものである。すなわち、入力タッチ状態D12が一時的にタッチオフ状態となったとしても、操作者による入力操作が途切れていない(すなわち、入力座標の途切れは一時的なものであって、実際には操作者による操作面へのタッチが継続している)とみなされる場合には、補正タッチ状態D16はタッチオン状態のまま維持される。
遊び半径D17は、前述のように、遊び座標D13を更新するために用いられる変数である。本実施形態では、遊び半径D17は、0.0〜30.0の範囲の値をとり得る。
追従割合D18は、前述のように、追従座標D14を更新するために用いられる変数である。本実施形態では、追従割合D18は、40%〜100%の範囲の値をとり得る。
指度数D19は、前述のように、指らしさの度合を示す変数である。本実施形態では、指度数D19は、0.0〜1.0の範囲の値をとり得る。
推測移動量D20は、前述のように、入力座標D11の移動量に基づいて推測される、実際の操作者の指の移動量(単位時間当たりの移動量)である。
推測移動方向D21は、前述のように、追従座標D14の移動方向に基づいて推測される、実際の操作者の指の移動方向である。推測移動方向D21は、典型的には2次元ベクトルで表される。
推測移動ベクトルD22は、推測移動量D20と推測移動方向D21とに基づいて決定されるベクトルであり、典型的には、推測移動量D20が示す大きさと、推測移動方向D21が示す方向とを有する2次元ベクトルである。
次に、図12および図13のフローチャートを参照して、座標処理プログラムD10に基づいて情報処理装置14のプロセッサ18によって実行される座標処理の流れを説明する。
座標処理プログラムD10の実行が開始されると、まず図12のステップS10において、プロセッサ18は、初期設定を行う。当該初期設定では、各変数に初期値を設定する処理などが行われる。例えば、指度合D19は0.0に、遊び半径は0.0に、追従割合は100%に設定される。
ステップS11において、プロセッサ18は、タッチパネル12からの信号に基づいて、入力タッチ状態D12がオン(タッチオン状態)かどうかを判断する。そして、入力タッチ状態D12がオンである場合には処理はステップS12に進み、そうでない場合には処理はステップS22に進む。
ステップS12において、プロセッサ18は、タッチパネル12からの信号に基づいて入力座標D11を取得する。
ステップS13において、プロセッサ18は、指度合D19に応じて遊び半径D17を更新する。具体的には、指度合D19が大きいほど(すなわち、指らしさの度合が大きいほど)、遊び半径D17を大きくする。例えば、図14に示すような関数を用いて、指度合D19から遊び半径D17を算出する。
ステップS14において、プロセッサ18は、指度合D19を減衰させる。例えば、指度合D19に0.98を乗算する。
ステップS15において、プロセッサ18は、タッチオフ状態が短時間で終了したかどうかを判定する。具体的には、例えば、入力タッチ状態D12のタッチオフ状態の連続回数(すなわち連続非接触時間)をカウントしておき、入力タッチ状態D12がタッチオフ状態からタッチオン状態に変化した時点で、当該連続回数が所定数以下(例えば2以下)であれば、タッチオフ状態が短時間で終了したと判断する。
このようにタッチオフ状態が短時間で終了することは、通常の正常な入力操作では生じず、タッチパネル12を指で操作することによって生じる入力座標の一時的な途切れが生じた可能性が高い。
タッチオフ状態が短時間で終了したと判定された場合には処理はステップS16に進み、そうでない場合には処理はステップS17に進む。
ステップS16において、プロセッサ18は、指度合D19を増加させる。具体的には、例えば、指度合D19に所定の定数(例えば0.6)を加算する。
ステップS17において、プロセッサ18は、タッチオン状態が2連続以上継続中かどうかを判断する。具体的には、例えば、入力タッチ状態D12のタッチオン状態の連続回数(すなわち連続接触時間)をカウントしておき、当該連続回数が2以上かどうかを判断する。タッチオン状態が2連続以上継続中であると判定された場合には処理はステップS18に進み、そうでない場合には処理はステップS25に進む。
ステップS18において、プロセッサ18は、最新の入力座標と1つ前の入力座標に基づいて推測移動量D20を更新する。具体的には、例えば、更新前の推測移動量D20をAとし、更新後の推測移動量D20をA’とし、最新の入力座標と直前の入力座標との間の距離をBとすると、A’=A+(B−A)×Cとなる。なお、Cは所定の係数(例えば0.2)である。なお、他の実施形態では、最新の入力座標と1つ前の入力座標との間の距離を推測移動量D20としてもよい。さらに他の実施形態では、最新の入力座標と1つ前の入力座標の間の距離d1と、1つ前の入力座標と2つ前の入力座標の間の距離d2との平均(相加平均、加重平均等)を、推測移動量D20としてもよい。
ステップS19において、プロセッサ18は、タッチオン状態が4連続以上継続中かどうかを判断する。具体的には、例えば、入力タッチ状態D12のタッチオン状態の連続回数(すなわち連続接触時間)をカウントしておき、当該連続回数が4以上かどうかを判断する。タッチオン状態が4連続以上継続中であると判定された場合には処理はステップS20に進み、そうでない場合には処理は図13のステップS30に進む。
ステップS20において、プロセッサ18は、入力座標D11が示す形状がジグザグ形状かどうかを判断する。具体的には、例えば、直近の4つの入力座標が示す入力軌跡の形状がジグザグ形状かどうかを判断する。例えば、図15において、入力座標pa→入力座標pb→入力座標pc→入力座標pdの順番で入力座標が入力されているときに、入力座標paと入力座標pdを結ぶベクトルVadの単位ベクトルと、入力座標pbと入力座標pcを結ぶベクトルVbcの単位ベクトルとの内積を計算する。そして、当該内積が所定値(例えば0.8よりも小さい場合(すなわち、入力座標paと入力座標pdを結ぶ線分と、入力座標pbと入力座標pcを結ぶ線分とのなす角度が、所定角度よりも大きい場合)に、これらの4つの入力座標pa〜pdが示す入力軌跡の形状がジグザグ形状であると判断する。
通常の正常な入力操作では、直近の4つの入力座標が示す入力軌跡の形状がジグザグ形状となることはほとんどないため、このようなジグザグ形状は、タッチパネル12を指で操作することによって生じた入力座標のブレによるものである可能性が高い。
なお、接触位置がほとんど動いていない状態における接触位置のわずかな変動によって入力軌跡がジグザグ形状であると判断されてしまうのを防止するために、例えば、上記ベクトルVadおよび上記ベクトルVbcの少なくとも一方の大きさが所定の閾値以下である場合には、ジグザグ形状ではないと判断するようにしてもよい。
入力座標D11が示す形状がジグザグ形状であると判断された場合には処理はステップS21に進み、そうでない場合には処理は図13のステップS30に進む。
ステップS21において、プロセッサ18は、指度合D19を増加させる。具体的には、例えば、指度合D19に所定の定数(例えば0.6)を加算する。そして、処理は図13のステップS30に進む。
ステップS22において、プロセッサ18は、遊び半径D17を小さくする。例えば、遊び半径D17から3.0を減算する。
ステップS23において、プロセッサ18は、タッチオン状態が短時間で終了したかどうかを判定する。具体的には、例えば、入力タッチ状態D12のタッチオン状態の連続回数(すなわち連続接触時間)をカウントしておき、入力タッチ状態D12がタッチオン状態からタッチオフ状態に変化した時点で、当該連続回数が所定数以下(例えば2以下)であれば、タッチオン状態が短時間で終了したと判断する。
このようにタッチオン状態が短時間で終了することは、通常の正常な入力操作では生じず、タッチパネル12を指で操作することによって生じる入力座標の一時的な途切れが生じた可能性が高い。
タッチオン状態が短時間で終了したと判定された場合には処理はステップS24に進み、そうでない場合には処理はステップS25に進む。
ステップS24において、プロセッサ18は、指度合D19を増加させる。具体的には、例えば、指度合D19に所定の定数(例えば0.6)を加算する。
ステップS25において、プロセッサ18は、推測移動量D20を減衰させる。具体的には、例えば、推測移動量D20に0.98を乗算する。そして、処理は図13のステップS30に進む。
図13のステップS30において、プロセッサ18は、指度合D19に応じて追従割合D18を更新する。具体的には、指度合D19が大きいほど(すなわち、指らしさの度合が大きいほど)、追従割合D18を小さくする。例えば、図16に示すような関数を用いて、指度合D19から追従割合D18を算出する。
ステップS31において、プロセッサ18は、補正タッチ状態D16がオフ(タッチオフ状態)で、且つ、入力タッチ状態D12がオン(タッチオン状態)であるかどうかを判断する。補正タッチ状態D16がオフで、且つ、入力タッチ状態D12がオンであるということは、操作者が指またはペンを操作面に最初に接触させたか、もしくは、操作者が指またはペンを操作面から意図的に離した後に、新たな入力を行うために、操作面に再び接触させたことを意味する。ステップS31の判断結果が肯定的である場合には処理はステップS32に進み、そうでない場合には処理はステップS34に進む。
ステップS32において、プロセッサ18は、遊び座標D13、追従座標D14および速度座標D15を、最新の入力座標D11と同じ座標に更新する。
ステップS33において、プロセッサ18は、推測移動量D20、推測移動方向D21および推測移動ベクトルD22を初期化する。具体的には、推測移動量D20を0に初期化し、推測移動方向D21および推測移動ベクトルD22を零ベクトルに初期化する。
ステップS34において、プロセッサ18は、遊び半径D17に応じて遊び座標D13を更新する。具体的には、最新の入力座標と、遊び座標D13との間の距離が遊び半径D17よりも大きい場合には、最新の入力座標と、遊び座標D13との間の距離が遊び半径D17と一致するように、最新の入力座標へ向かって移動するように遊び座標D13を変更する。なお、最新の入力座標と遊び座標D13との間の距離が遊び半径D17以下の場合には、遊び座標D13の値は変更しない。
ステップS35において、プロセッサ18は、追従割合D18に応じて追従座標D14を更新する。具体的には、ステップS34において更新された遊び座標D13と、追従座標D14との間の距離に、追従割合D18を乗算した結果の距離だけ、追従座標D14が遊び座標D13へ向かって移動するように、追従座標D14を更新する。
ステップS36において、プロセッサ18は、最新の追従座標と1つ前の追従座標に基づいて推測移動方向D21を更新する。具体的には、例えば、更新前の推測移動方向D21をVとし、更新後の推測移動方向D21をV’とし、1つ前の追従座標と最新の追従座標を結ぶベクトルをvとすると、V’=V+(v−V)×Dとなる。なお、Dは所定の係数(例えば0.3)である。なお、他の実施形態では、1つ前の追従座標と最新の追従座標を結ぶベクトルを推測移動方向D21としてもよい。さらに他の実施形態では、1つ前の追従座標と最新の追従座標を結ぶベクトルv1と、2つ前の追従座標と1つ前の追従座標を結ぶベクトルv2との平均(相加平均、加重平均等)を、推測移動方向D21としてもよい。
ステップS37において、プロセッサ18は、入力タッチ状態D12がオンかどうかを判断する。そして、入力タッチ状態D12がオンである場合には処理はステップS39に進み、そうでない場合には処理はステップS38に進む。
ステップS38において、プロセッサ18は、追従座標が所定距離以上移動したかどうかを判断する。具体的には、例えば、最新の追従座標と1つ前の追従座標との距離が、所定距離(例えば0.01)以上かどうかを判断する。追従座標が所定距離以上移動したと判断された場合には処理はステップS39に進み、そうでない場合には処理はステップS41に進む。なお、追従座標が所定距離以上移動したかどうかを判断する代わりに、追従座標が停止したかどうか(言い換えれば、追従座標が目標座標に到達したかどうか)を判断してもよい。
ステップS39において、プロセッサ18は、補正タッチ状態D16をオン(タッチオン状態)に更新する。これにより、入力タッチ状態D12がオフであっても、追従座標が移動している間(ほんの僅かな速さでしか移動していない場合は除かれる)は、操作者による入力操作が途切れていない(すなわち、入力座標の途切れは一時的なものであって、実際には操作者による操作面へのタッチが継続している)とみなされる。
ステップS40において、プロセッサ18は、推測移動量D20と推測移動方向D21に基づいて、推測移動ベクトルD22を更新する。
ステップS41において、プロセッサ18は、補正タッチ状態D16をオフ(タッチオン状態)に更新する。
ステップS42において、プロセッサ18は、入力タッチ状態D12がオンかどうかを判断する。そして、入力タッチ状態D12がオンである場合には処理はステップS43に進み、そうでない場合には処理はステップS44に進む。
ステップS43において、プロセッサ18は、最新の追従座標D14に応じて速度座標D15を更新する。具体的には、例えば、入力タッチ状態D12のタッチオン状態の連続回数をカウントしておき、当該連続回数をN(ただし、上限は10とする)とし、最新の追従座標をFとし、更新前の速度座標をSとし、更新後の速度座標をS’とすると、S’=S+(F−S)×N/10となる。すなわち、タッチオン状態の連続回数が0〜9であるときは、速度座標D15は追従座標D14に一致すべく接近し、タッチオン状態の連続回数が10以上になると、速度座標D15は追従座標D14に常に一致する。
ステップS44において、プロセッサ18は、推測移動ベクトルD22に応じて速度座標D15を更新する。具体的には、推測移動ベクトルD22が示す移動方向へ向かって、推測移動ベクトルD22が示す移動量だけ、速度座標が移動するように、速度座標D15を更新する。
ステップS43の処理またはステップS44の処理が終了すると、処理は図12のステップS11に戻り、以上のような処理を所定の周期(例えばタッチパネル12からの入力座標データの出力周期と同じ周期)で繰り返す。
上記のようにして、タッチパネル12から出力される入力座標データに応じてリアルタイムに更新される追従座標D14および速度座標D15は、入力座標のブレや途切れを補正した結果の座標(補正後座標)として、任意の用途に利用することができる。なお、用途に応じて追従座標D14および速度座標D15のいずれか一方のみを利用してもよい。追従座標D14は、速度座標D15と比べて、操作者が描いた軌跡の形状をより正確に反映する傾向があるので、例えば、操作者が描いた軌跡の形状を表示装置16の画面に表示するような用途に好適である。一方、速度座標D15は、追従座標D14と比べて、指またはペンの移動方向および移動速度をより正確に反映する傾向があるので、例えば、表示装置16の画面に表示されたキャラクタ、アイコン、ウィンドウ等のオブジェクトを、指またはペンの移動方向および移動速度に応じて移動させるような用途に好適である。
なお、追従座標D14や速度座標D15と同様に、タッチパネル12から出力される入力座標データに応じてリアルタイムに更新される他のデータ(例えば、遊び座標D13、補正タッチ状態D16、指度合D19、推測移動ベクトルD22など)も、任意の用途に利用することができる。例えば、表示装置16の画面上にタッチパネル12が設けられている場合に、画面に表示されるアイコンやメニューボタンや手書き入力ボックス等の大きさを、指度合D19に応じて変更してもよい。例えば、指度合D19が大きいほど、それらの大きさを大きくすることによって、指で操作しているときには操作性が向上し、ペンで操作しているときには画面に表示可能な情報量を増やして、限られた表示領域を有効利用することができる。また、推測移動ベクトルD22は、速度座標D15と同様に、表示装置16の画面に表示されたキャラクタ、アイコン、ウィンドウ等のオブジェクトを、指またはペンの移動方向および移動速度に応じて移動させるような用途に好適である。
なお、上記実施形態は、あくまでも一実施形態に過ぎず、種々の変形例が考えられる。
例えば、上記実施形態では、遊び座標D13を目標座標として追従するように、追従座標D14が更新されるが、他の実施形態では、図17に示すように、遊び座標D13を用いずに、入力座標D11を目標座標として追従するように、追従座標D14が更新されてもよい。この場合でも、図17において、追従座標f1〜f6によって示される入力軌跡は、入力座標p1〜p6によって示される入力軌跡と比べて、より滑らかになっており、座標のブレが抑えられている。
また、上記実施形態では、追従座標D14を利用して座標のブレを補正しているが、他の実施形態では、遊び座標D13のみを利用して座標のブレを補正してもよいし、さらに他の補正手法を採用して座標のブレを補正してもよい。例えば、図18に示すように、直近の3つの入力座標を平均することによって得られる平均座標を利用して、座標のブレを補正してもよい。例えば、図18の平均座標a3は、入力座標p1〜p3を平均した座標であり、平均座標a4は、入力座標p2〜p4を平均した座標である。この場合、平均すべき入力座標の個数を変更することによって、座標のブレを補正する度合い(すなわち、接触位置の変動に対する応答性)を変更することができる。よって、例えば、指度合D19が0のときには平均すべき入力座標の個数を1とし、指度合D19が大きいほど、平均すべき入力座標の個数を大きくすることによって、上記実施形態と似たような効果が得られる。
また、上記実施形態では、操作者による操作面へのタッチが継続しているかどうかを追従座標の移動量(単位時間当たりの移動量)に基づいて判断して、座標の途切れを補正(すなわち、本来入力されるはずの座標を補完)しているが、他の実施形態では、入力座標が途切れてからの経過時間に基づいて、操作者による操作面へのタッチが継続しているかどうかを判断してもよい。例えば、入力座標が途切れてからの経過時間が、所定の基準時間を超えるまでの間は、操作者による操作面へのタッチが継続していると判断し、基準時間を超えた時点で、操作者による操作面へのタッチが終了したと判断してもよい。また、当該基準時間を、指度合D19または推測移動量D20に応じてリアルタイムに変更するようにしてもよい。例えば、指度合D19が0のときには基準時間を0とし、指度合D19が大きいほど基準時間を長くすることによって、上記実施形態と似たような効果が得られる。また、操作者が指を素早く移動させるほど、座標の途切れは発生しやすいので、例えば、推測移動量D20(すなわち、実際の操作者の指の移動量を推測した値)が0のときには基準時間を0とし、推測移動量D20が大きいほど基準時間を長くすることによっても、上記実施形態と似たような効果が得られる。
また、上記実施形態では、指度合D19を用いることによって、座標の補正度合を調整しているが、他の実施形態では、操作者が指で操作しているかペンで操作しているかを二者択一で判定して、その結果に応じて座標の補正度合を2段階に変更してもよい。例えば、操作者が指で操作していると判定された場合には座標の補正を行い、操作者がペンで操作していると判定された場合には座標の補正を行わないようにしてもよい。
また、上記実施形態では、入力座標によって示される入力軌跡の形状や、連続接触時間や、連続非接触時間に基づいて、指度合D19を更新しているが、指度合D19の更新方法はこれに限定されない。例えば、操作面に対する接触面積を検出することが可能なタッチパネルを利用する場合には、検出される接触面積に応じて指度合D19をリアルタイムに更新してもよい。例えば、検出される接触面積が大きいほど、指度合D19を大きくしてもよい。
また、上記実施形態では、タッチパネル12から出力される入力座標データの特徴に基づいて、操作者が指で操作しているかペンで操作しているかを判断しているが、他の実施形態では、操作者が指で操作するのかペンで操作するのかを、操作者が予め任意の入力装置を用いて指定するようにしてもよい。そして、指での操作が指定された場合と、ペンでの操作が指定された場合とで、座標の補正度合を2段階に変更してもよい。
また、図1に示すような座標処理システム10に替えて、タッチパネル12を有する情報処理装置(例えば、タッチパネルを搭載した携帯ゲーム機、シンクライアント、可搬型パソコン、モニタなど)を利用してもよい。
また、感圧式のタッチパネル12に替えて、他の方式(静電式など)のタッチパネルを利用してもよい。ただし、例えば静電式のタッチパネルでは、指で操作したときの入力座標のブレや途切れは、感圧式のタッチパネルほど顕著には現れない。なお、静電式の座標入力装置を利用する場合には、操作面に対する接触面積に基づいて、操作者が指で操作しているかペンで操作しているかを判定するようにしてもよい。
また、タッチパネル12に替えて、タッチパッドなど、タッチパネルと同等の機能を有する任意の座標入力装置(すなわち、操作面に対する指またはペンの接触位置を検出可能な座標入力装置)を利用してもよい。
また、上記実施形態では、図12および図13に示した複数の処理を1つのコンピュータ(プロセッサ18)が実行しているが、他の実施形態では、これらの複数の処理を複数のコンピュータが分担して実行してもよい。さらに他の実施形態では、これらの複数の処理の一部または全部を専用回路によって実現してもよい。
また、上記実施形態では、図12および図13に示した複数の処理を1台の情報処理装置14において実行しているが、他の実施形態では、これらの複数の処理を複数の情報処理装置が分担して実行してもよい。
また、上記実施形態では、内部記憶装置20または外部記憶装置24からメインメモリ22へ座標処理プログラムD10がロードされているが、他の実施形態では、他の情報処理装置(例えばサーバ装置)から情報処理装置14へ座標処理プログラムD10が供給されてもよい。
10 座標処理システム
12 タッチパネル

Claims (14)

  1. 座標入力装置から出力される入力座標データを処理するための座標処理プログラムであって、
    コンピュータを、
    前記入力座標データによって示される第1座標系列に基づいて、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出手段、
    前記第1座標系列に基づいて座標の移動量を算出する移動量算出手段、
    前記第2座標系列に基づいて座標の移動方向を算出する移動方向算出手段、および
    前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて所定の処理を行う処理手段として機能させる、座標処理プログラム。
  2. 前記移動量算出手段は、少なくとも、前記第1座標系列における最新座標と、当該最新座標の直前の座標との間の距離に基づいて、前記移動量を算出する、請求項1に記載の座標処理プログラム。
  3. 前記移動方向算出手段は、少なくとも、前記第2座標系列における最新座標と、当該最新座標の直前の座標とを結ぶ直線の方向に基づいて、前記移動方向を算出する、請求項1または2に記載の座標処理プログラム。
  4. 前記第2座標系列算出手段は、前記入力座標データに基づいて設定される目標座標に追従する追従座標を、前記第2座標系列の座標として算出する、請求項1〜3のいずれか1項に記載の座標処理プログラム。
  5. 前記第2座標系列算出手段は、前記目標座標に所定の割合で追従する追従座標を、前記第2座標系列の座標として算出する、請求項4に記載の座標処理プログラム。
  6. 前記第2座標系列算出手段は、前記追従座標から前記目標座標までの距離の所定割合だけ前記目標座標へ近づくように前記追従座標を都度更新する、請求項4または5に記載の座標処理プログラム。
  7. 前記目標座標は、前記入力座標データが示す入力座標から所定距離よりも離れたときに、当該所定距離だけ離れた位置に位置するように当該入力座標に向かって移動する遊び座標である、請求項4〜6のいずれか1項に記載の座標処理プログラム。
  8. 前記処理手段は、前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて、座標の移動量および移動方向を示す移動ベクトルを生成する移動ベクトル生成手段を含む、請求項1〜7のいずれか1項に記載の座標処理プログラム。
  9. 前記処理手段は、前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて第3座標系列を算出する第3座標系列算出手段を含む、請求項1〜7のいずれか1項に記載の座標処理プログラム。
  10. 前記処理手段は、前記座標入力装置からの前記入力座標データの出力が一時的に途切れた場合に、前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて前記入力座標データを補完する座標補完手段を含む、請求項1〜7のいずれか1項に記載の座標処理プログラム。
  11. 前記処理手段は、前記座標入力装置からの前記入力座標データの出力に応じて、前記所定の処理をリアルタイムに行う、請求項1〜10のいずれか1項に記載の座標処理プログラム。
  12. 座標入力装置から出力される入力座標データを処理するための座標処理装置であって、
    前記入力座標データによって示される第1座標系列に基づいて、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出手段、
    前記第1座標系列に基づいて座標の移動量を算出する移動量算出手段、
    前記第2座標系列に基づいて座標の移動方向を算出する移動方向算出手段、および
    前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて所定の処理を行う処理手段を備える、座標処理装置。
  13. 座標入力装置から出力される入力座標データを処理するための座標処理システムであって、
    前記入力座標データによって示される第1座標系列に基づいて、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出手段、
    前記第1座標系列に基づいて座標の移動量を算出する移動量算出手段、
    前記第2座標系列に基づいて座標の移動方向を算出する移動方向算出手段、および
    前記移動量算出手段によって算出された移動量と前記移動方向算出手段によって算出された移動方向とを用いて所定の処理を行う処理手段を備える、座標処理システム。
  14. 座標入力装置から出力される入力座標データを処理するための座標処理システムのコンピュータによって実行される座標処理方法であって、
    前記入力座標データによって示される第1座標系列に基づいて、前記コンピュータが、当該第1座標系列によって表される入力軌跡の形状よりも滑らかな形状の入力軌跡を表す第2座標系列を算出する第2座標系列算出ステップ、
    前記第1座標系列に基づいて前記コンピュータが座標の移動量を算出する移動量算出ステップ、
    前記第2座標系列に基づいて前記コンピュータが座標の移動方向を算出する移動方向算出ステップ、および
    前記移動量算出ステップにおいて算出された移動量と前記移動方向算出ステップにおいて算出された移動方向とを用いて前記コンピュータが所定の処理を行う処理ステップを備える、座標処理システム。
JP2011284428A 2011-10-28 2011-12-26 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法 Active JP5855934B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011284428A JP5855934B2 (ja) 2011-12-26 2011-12-26 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法
US13/417,794 US8773382B2 (en) 2011-10-28 2012-03-12 Computer-readable storage medium, coordinate processing apparatus, coordinate processing system, and coordinate processing method
US14/196,876 US9041680B2 (en) 2011-10-28 2014-03-04 Computer-readable storage medium, coordinate processing apparatus, coordinate processing system, and coordinate processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011284428A JP5855934B2 (ja) 2011-12-26 2011-12-26 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法

Publications (2)

Publication Number Publication Date
JP2013134621A true JP2013134621A (ja) 2013-07-08
JP5855934B2 JP5855934B2 (ja) 2016-02-09

Family

ID=48911268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011284428A Active JP5855934B2 (ja) 2011-10-28 2011-12-26 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法

Country Status (1)

Country Link
JP (1) JP5855934B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015035192A (ja) * 2013-08-09 2015-02-19 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2015064692A (ja) * 2013-09-24 2015-04-09 ブラザー工業株式会社 情報入力装置
JP6022137B1 (ja) * 2016-03-22 2016-11-09 三菱電機株式会社 座標補正装置、座標補正方法及び座標補正プログラム
JP2018525709A (ja) * 2015-06-30 2018-09-06 シナプティクス インコーポレイテッド ランドリフトイベントの位置フィルタリング

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333829A (ja) * 1997-06-04 1998-12-18 Dowa Visual Syst Kk 検出位置の補正方法及びその装置並びにタッチパネル装置
JP2000122801A (ja) * 1998-10-13 2000-04-28 Matsushita Electric Ind Co Ltd 座標値補正装置
JP2007034793A (ja) * 2005-07-28 2007-02-08 Nintendo Co Ltd 入力データ処理プログラムおよび情報処理装置
US20110025614A1 (en) * 2009-07-29 2011-02-03 Nintendo Co., Ltd. Storage medium having information processing program stored therein, information processing device, and coordinate calculation method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333829A (ja) * 1997-06-04 1998-12-18 Dowa Visual Syst Kk 検出位置の補正方法及びその装置並びにタッチパネル装置
JP2000122801A (ja) * 1998-10-13 2000-04-28 Matsushita Electric Ind Co Ltd 座標値補正装置
JP2007034793A (ja) * 2005-07-28 2007-02-08 Nintendo Co Ltd 入力データ処理プログラムおよび情報処理装置
US20110025614A1 (en) * 2009-07-29 2011-02-03 Nintendo Co., Ltd. Storage medium having information processing program stored therein, information processing device, and coordinate calculation method
JP2011028671A (ja) * 2009-07-29 2011-02-10 Nintendo Co Ltd 情報処理プログラムおよび情報処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015035192A (ja) * 2013-08-09 2015-02-19 富士ゼロックス株式会社 情報処理装置及びプログラム
JP2015064692A (ja) * 2013-09-24 2015-04-09 ブラザー工業株式会社 情報入力装置
JP2018525709A (ja) * 2015-06-30 2018-09-06 シナプティクス インコーポレイテッド ランドリフトイベントの位置フィルタリング
JP7007916B2 (ja) 2015-06-30 2022-01-25 シナプティクス インコーポレイテッド ランドリフトイベントの位置フィルタリング
JP6022137B1 (ja) * 2016-03-22 2016-11-09 三菱電機株式会社 座標補正装置、座標補正方法及び座標補正プログラム
WO2017163297A1 (ja) * 2016-03-22 2017-09-28 三菱電機株式会社 座標補正装置、座標補正方法及び座標補正プログラム

Also Published As

Publication number Publication date
JP5855934B2 (ja) 2016-02-09

Similar Documents

Publication Publication Date Title
JP4790847B2 (ja) タッチ・スクリーン操作インターフェース
JP5798103B2 (ja) 端末装置、画面表示方法、プログラム
JP4387242B2 (ja) プログラム、情報記憶媒体及びゲーム装置
KR101572307B1 (ko) 정보 처리 장치, 정보 처리 장치의 제어 방법, 및 저장 매체
EP2587349B1 (en) Information processing program, system and method for processing input data from an input device
US20170220114A1 (en) Input device, display device, and method for controlling input device
US20190310755A1 (en) Coordinate correction apparatus
CN111135556B (zh) 一种虚拟相机控制的方法及装置、电子设备、存储介质
US9389781B2 (en) Information processing apparatus, method for controlling same, and recording medium
JP5855934B2 (ja) 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法
JP5827870B2 (ja) 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法
JP2012247911A (ja) 情報処理装置、情報処理方法、及びプログラム
EP2587348B1 (en) Information processing program, information processing system, and information processing method
US9041680B2 (en) Computer-readable storage medium, coordinate processing apparatus, coordinate processing system, and coordinate processing method
WO2018218392A1 (zh) 触摸操作的处理方法和触摸键盘
JP5833898B2 (ja) 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
JP5833906B2 (ja) 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
TWI768407B (zh) 預測控制方法、輸入系統及電腦可讀取記錄媒體
JP2016115042A (ja) 電子機器
JP5790963B1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2016053948A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN116360608A (zh) 交互控制的方法、装置、设备和存储介质
JP2019134880A (ja) プログラム及びゲーム装置
JP2017012618A (ja) タッチ操作によりゲームを進行するコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151210

R150 Certificate of patent or registration of utility model

Ref document number: 5855934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250