JP6862597B1 - 方法、プログラム、及び電子装置 - Google Patents
方法、プログラム、及び電子装置 Download PDFInfo
- Publication number
- JP6862597B1 JP6862597B1 JP2020120603A JP2020120603A JP6862597B1 JP 6862597 B1 JP6862597 B1 JP 6862597B1 JP 2020120603 A JP2020120603 A JP 2020120603A JP 2020120603 A JP2020120603 A JP 2020120603A JP 6862597 B1 JP6862597 B1 JP 6862597B1
- Authority
- JP
- Japan
- Prior art keywords
- determined
- axis
- data points
- value
- speed
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000006073 displacement reaction Methods 0.000 claims abstract description 110
- 239000002131 composite material Substances 0.000 claims description 63
- 230000000717 retained effect Effects 0.000 claims description 18
- 230000014759 maintenance of location Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 143
- 239000000872 buffer Substances 0.000 description 64
- 230000004913 activation Effects 0.000 description 29
- 230000004048 modification Effects 0.000 description 23
- 238000012986 modification Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 21
- 230000001419 dependent effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 6
- 230000005057 finger movement Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/426—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/92—Video game devices specially adapted to be hand-held while playing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
Description
タッチパネルを備えるコンピュータにおいて実行される方法であって、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントに基づいて、該データポイントの集合が示す角度を決定するステップと、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示される1又は複数のデータポイントを、既定の時間ごとに、データポイント列として保持するステップと、
前記保持されたデータポイント列におけるデータポイントの変位に基づいて該データポイント列におけるタッチイベントが発生した位置の変位する速さに対応する変位速さを決定し、決定された最新の変位速さの、その前に決定された変位速さの平均値に対する偏りに少なくとも基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための重み付き速さを決定するステップと、
を含み、
前記重み付き速さを決定するステップは、前記決定された角度が示す方向における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて重み係数を算出し、該重み係数に更に基づいて変位速さを決定する、ことを特徴とする。
データポイント列として保持するステップは、フレームレートに対応する時間ごとに、1又は複数のデータポイントをデータポイント列として保持し、
前記重み付き速さを決定するステップは、一のフレームの時間内に保持されるデータポイント列におけるデータポイントの変位に基づいて、該フレームにおけるタッチイベントが発生した位置の変位する速さに対応する変位速さを決定し、最新のフレームにおける変位速さの、該最新のフレームより前のフレームにおける変位速さの平均値に対する偏りに少なくとも基づいて、重み付き速さを決定する。
前記角度を決定するステップは、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントを保持するステップと、
前記保持されているデータポイントのうち既定の保持時間を超えたデータポイントの保持を終了するステップと、
前記保持されているデータポイントに基づいて回帰直線の傾きを決定するステップと、
前記保持されているデータポイントの集合としての変位方向に基づいて前記決定された回帰直線の傾きを回転させる回転量を決定するステップと、
前記決定された回帰直線の傾き及び前記決定された回転量に基づいて、角度を決定するステップと、
を含み、前記方法は、
既定の時間ごとに、前記決定された重み付き速さと、前記決定された角度を持つ単位ベクトルと、該決定された角度が示す方向における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて算出される重み係数とに基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための合成ベクトルを決定するステップと、
を含む。
前記決定された合成ベクトルの方向は、操作対象オブジェクトの移動方向であり、前記決定された合成ベクトルの大きさは、操作対象オブジェクトの移動速さである。
前記決定された合成ベクトルの大きさに基づいて、操作対象オブジェクトの移動状態を決定するステップを含む。
タッチパネルを備えるコンピュータにおいて実行される方法であって、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントを保持するステップと、
前記保持されているデータポイントのうち既定の保持時間を超えたデータポイントの保持を終了するステップと、
前記保持されているデータポイントに基づいて回帰直線の傾きを決定するステップと、
前記保持されているデータポイントの集合としての変位方向に基づいて前記決定された回帰直線の傾きを回転させる回転量を決定するステップと、
前記決定された回帰直線の傾き及び前記決定された回転量に基づいて、角度を決定するステップと、
既定の時間ごとに、前記決定された角度を持つ単位ベクトルと、該決定された角度における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて算出される重み係数とに基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための合成ベクトルを決定するステップと、
を含むことを特徴とする。
タッチパネルを備える電子装置であって、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントに基づいて、該データポイントの集合が示す角度を決定し、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示される1又は複数のデータポイントを、既定の時間ごとに、データポイント列として保持し、
前記保持されたデータポイント列におけるデータポイントの変位に基づいて該データポイント列におけるタッチイベントが発生した位置の変位する速さに対応する変位速さを決定し、決定された最新の変位速さの、その前に決定された変位速さの平均値に対する偏りに少なくとも基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための重み付き速さを決定し、
前記重み付き速さを決定することは、前記決定された角度が示す方向における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて重み係数を算出し、該重み係数に更に基づいて変位速さを決定する、ことを特徴とする。
タッチパネルを備える電子装置であって、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントを保持し、
前記保持されているデータポイントのうち既定の保持時間を超えたデータポイントの保持を終了し、
前記保持されているデータポイントに基づいて回帰直線の傾きを決定し、
前記保持されているデータポイントの集合としての変位方向に基づいて前記決定された回帰直線の傾きを回転させる回転量を決定し、
前記決定された回帰直線の傾き及び前記決定された回転量に基づいて、角度を決定し、
既定の時間ごとに、前記決定された角度を持つ単位ベクトルと、該決定された角度における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて算出される重み係数とに基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための合成ベクトルを決定する、ことを特徴とする。
により表される。Pi,k(k=1〜m)は、各データポイントである。データポイント列P(i)が含む各データポイントは、i番目のフレームの時間内に第1のバッファに保持されたデータポイントである。各データポイントPi,k(k=1〜m)のx座標の値及びy座標の値は(xi,k,yi,k)で表される。各データポイントは、Pi,1、Pi,2、…、Pi,mの順番に第1のバッファに格納された時間が早いものとする。エンジン部23は、i−1番目のP(i−1)を保持してから1フレームの時間F(秒)経過後にP(i)を保持し、更に1フレームの時間経過後にP(i+1)を保持する。変数mは、P(i)が含むデータポイントの数であるため、P(i)に応じて異なる。
(1)
(2)
ここで、nは、エンジン部23が第2のバッファに保持しているデータポイント列の数であり、フレーム数に対応する。本実施形態では、エンジン部23は5フレームに対応する時間5F(秒)データポイント列を保持するため、経過時間に応じて、n=1、n=2、n=3、n=4、n=5、n=5、…n=5となる。したがって、5フレームに対応する時間5F(秒)経過後は、n=5となる。また、最も新しく保持したデータポイント列P(n)のx座標の値がxn,1,…xn,mであり、最も新しく保持したデータポイント列P(n)のy座標の値がyn,1,…yn,mである。なお、エンジン部23がデータポイント列を保持する時間に応じて、nの最大値は異なる値となる。
(3)
ここで、nは、エンジン部23が第2のバッファに保持しているデータポイント列の数である。
(4)
ここで、αは、ディスプレイのピクセル密度DPI(Dot-Per-Inch)に対応する係数である。αは、0以上の実数であり、一般的には1である。βは、重み係数である。βを大きくすることにより変位速さは突発的な変化を反映しやすくなり、βを小さくすることにより変位速さは突発的な変化を反映しにくくなる。P(i)がデータポイントを含まない場合、エンジン部23は、変位速さviを算出せず、例えばvi=0と設定する。P(i)がデータポイントを1つのみ含む場合も、エンジン部23は、変位速さviを同様に算出せず、例えばvi=0と設定する。
(5)
ここで、aとbは、予め座標軸上に設定されたx軸とy軸に2つの軸を有する仮想的な楕円の短軸(x軸)及び長軸(y軸)又は長軸(x軸)及び短軸(y軸)の長さに対応する大きさを示す値である。aとbは異なる大きさの値である。θはエンジン部23がフレームの時間ごとに決定する角度であり、max(a、b)はaとbとの最大値を出力する関数である。式(5)によれば、重み係数βは、aとbを各々軸の長さとする楕円形の角度θにおける半径の大きさの逆数の重みを与えるものである。
(6)
ここで、i=1の場合は、直前までの変位速さが存在しないため、avgi-1(v)=0となる。
(7)
関数aop(x,y)は、場合分けをするため、関数rotate(x,y)、関数left(x)、関数down(y)を使用する。最初に、関数aop(x,y)は、関数rotate(x,y)を用いて、xとyのいずれか一つを独立変数として決定する。
(8)
関数rotate(x,y)は、n個のデータポイントPが主にy軸方向に変位しているか否かを判定し、例えば真偽値を返す。このようにして、関数rotate(x,y)は、n個のデータポイントPが主にx軸(左右)方向に変位しているか又は主にy軸(上下)方向に変位しているかを判定し、x軸の値とy軸の値のどちらが独立変数として適切であるかを判定する。
(9)
関数left(x)は、関数rotate(x,y)が不等号を満たさない場合、n個のデータポイントPの変位方向が−x軸方向(左方向)か否かを判定し、例えば真偽値を返す。関数left(x)は、n個のデータポイントPのxの値(x1,x2,…xn)における時系列的に前後する値の差分値(x2−x1,x3−x2,…xn−xn-1)を算出する。関数left(x)は、差分値がマイナスとなる個数が、差分値がプラスとなる個数より多いか否かを判定することにより、n個のデータポイントPの変位方向が−x軸方向(左方向)か否かを判定する。このようにして、関数left(x)は、n個のデータポイントPの変位方向が−x軸方向(左方向)か+x軸方向(右方向)であるかを判定し、決定された回帰直線の傾きに対して180度回転させるか否かを示す回転量を決定する。例えば、関数left(x)が真である場合、関数aop(x,y)は回転量を180度と決定し、関数left(x)が偽である場合、関数aop(x,y)は回転量を0度と決定する。
(10)
関数down(y)は、関数rotate(x,y)が不等号を満たす場合、n個のデータポイントPの変位方向が−y軸方向(下方向)か否かを判定し、例えば真偽値を返す。関数down(y)は、n個のデータポイントPのyの値(y1,y2,…yn)における時系列的に前後する値の差分値(y2−y1,y3−y2,…yn−yn-1)を算出する。関数down(y)は、差分値がマイナスとなる個数が、差分値がプラスとなる個数より多いか否かを判定することにより、n個のデータポイントPの変位方向が−y軸方向(下方向)か否かを判定する。このようにして、関数down(y)は、n個のデータポイントPの変位方向が−y軸方向(下方向)か+y軸方向(上方向)であるかを判定し、決定された回帰直線の傾きに対して180度回転させるか否かを示す回転量を決定する。例えば、関数down(y)が真である場合、関数aop(x,y)は回転量を180度と決定し、関数down(y)が偽である場合、関数aop(x,y)は回転量を0度と決定する。
(11)
ここで、
は、x(独立変数)の平均であり、
は、y(従属変数)の平均であり、
は、x(独立変数)とy(従属変数)の共分散であり、
は、x(独立変数)の分散である。
(13)
ここで、sは、最新の決定されたCPD関数の出力値(重み付き速さ)であり、pは、活性化関数f(s,p)が直前に出力して保持した値である。直前に出力した値とは、コントローラ制御部24が一のフレームにおける活性化関数f(s,p)の出力値(変換済み重み付き速さ)を決定する場合に、一のフレームの直前のフレームにおいて決定された活性化関数f(s,p)の出力値である。活性化関数f(s,p)は、sを入力として0〜1の実数oを決定し、oとpを比較し、oがp以上であればoを出力し、oがp未満であればpを出力する。したがって、活性化関数f(s,p)の出力値は、pを下回ることはない。本実施形態では、実数oは、CPD関数の出力値sを所定の定数C1で割った値である。例えば所定の定数C1は、実数oが0〜1の実数となるように、CPD関数の出力値が取りうる最大値に設定される。なお、活性化関数f(s,p)が決定する実数oの範囲0〜1は、他の数値範囲とすることができる。
(14)
ここで、
は、コントローラ制御部24が直前に決定して保持している合成ベクトルであり、
は、コントローラ制御部24が保持する合成ベクトルに加算する加算ベクトルであり、f(s,p)は、コントローラ制御部24が決定した最新の変換済み重み付き速さであり、
は、エンジン部23が決定した角度を持つ単位ベクトルであり、γは、加算ベクトルに対する重みである。なお、直前に決定して保持している合成ベクトルは、コントローラ制御部24が一のフレームにおける合成ベクトルを決定する場合に、一のフレームの直前のフレームにおいて決定して保持された合成ベクトルである。式(14)が示すように、合成ベクトル
は、最大値が1.0を超えないように正規化される。なお、合成ベクトルの最大値を1.0とするのは1つの例示であって、合成ベクトルの最大値は他の数値とすることができる。
(15)
ここで、aとbは、予め座標軸上に設定されたx軸とy軸に2つの軸を有する仮想的な楕円の短軸(x軸)及び長軸(y軸)又は長軸(x軸)及び短軸(y軸)の長さに対応する大きさを示す値である。aとbは異なる大きさの値である。θはエンジン部23がフレームの時間ごとに決定する角度である。このように、重み係数1/γは、仮想的な楕円に関する基本的な概念は重み係数βと同様である。C2は、コントローラ制御部24が直前に決定して保持している合成ベクトルに対する加算ベクトルの影響を調整するための定数であり、この値を大きくすればするほど、加算ベクトルの大きさは小さくなるため、加速がゆっくりと行われるようになる。例えば、f(s、p)の取りうる最大値が1であるのに対して、定数C2は、20に設定される。aとbは、x軸とy軸に各々平行な2つの軸を有する仮想的な楕円の2つの軸の長さに対応するものであり、例えば仮想コントローラの設計に応じて、任意の値とすることができる。また、a・bは定数であるため、例えば仮想コントローラの設計に応じて、任意の値とすることができる。
と表す。
となり、加算ベクトルがそのまま合成ベクトルとなることが確認できる。
であるため、合成ベクトルは
となり、コントローラ制御部24が保持するベクトルと加算ベクトルとの和のベクトルとなる。
となり、コントローラ制御部24が保持するベクトルと加算ベクトルとの和のベクトルであってノルムが1のベクトルとなる。
と、コントローラ制御部24が直前に決定して保持している合成ベクトル
との和に基づいて、合成ベクトル
を決定し、保持する。この保持した合成ベクトルは、コントローラ制御部24が次回のステップ504の処理において参照する、直前に決定して保持している合成ベクトル
である。
エンジン部23は、タッチパネル12へのユーザの操作により発生したタッチイベントに基づいて、データポイントを取得し、第1のバッファに格納する。
エンジン部23は、第1のバッファに格納されたデータポイントに基づいて、フレームの時間ごとに、データポイントの集合が示す角度を決定する。例えば、エンジン部23は、当該角度を決定するにあたって、第1のバッファに保持されているデータポイントのうち既定の保持時間を超えたデータポイントの保持を終了し、第1のバッファに保持されているデータポイントに基づいて回帰直線の傾きを決定し、データポイントの集合としての変位方向に基づいて、決定された回帰直線の傾きに対して180度回転させるか否かを示す回転量を決定し、決定された回帰直線の傾き及び決定された回転量に基づいて、角度を決定する。
エンジン部23は、フレームの時間ごとに、第1のバッファに保持されたデータポイントを、データポイント列として、第2のバッファに保持する。エンジン部23は、第2のバッファに保持されたデータポイント列におけるデータポイントの変位に基づいて該データポイント列における変位速さを決定し、決定された最新の変位速さの、その前に決定された変位速さの平均値に対する偏り(偏差)に少なくとも基づいて、重み付き速さを決定する。例えば、エンジン部23は、フレームの時間ごとに、式(3)のCPD関数を用いて、重み付き速さを決定する。コントローラ制御部24は、フレームの時間ごとに、入力された値に対応する値を決定する活性化関数f(s,p)に、決定された重み付き速さを入力することにより、変換済み重み付き速さを決定する。
コントローラ制御部24は、フレームの時間ごとに、決定された変換済み重み付き速さと、決定された角度を持つ単位ベクトルと、重み係数1/γとに基づいて合成ベクトルを決定する。例えば、コントローラ制御部24は、式(14)を用いて合成ベクトルを算出する。
このようにして、本実施形態では、仮想コントローラの方向及び大きさの入力に対応する合成ベクトルを出力することが可能となる。
(16)
(17)
(18)
11 プロセッサ
12 入力装置、タッチパネル
13 表示装置
14 記憶装置
15 通信装置
16 バス
21 入力部
22 表示部
23 エンジン部
24 コントローラ制御部
25 アプリケーション部
31、33、35 角度
32、34、36 方向
41 角度
42 ベクトル
Claims (7)
- タッチパネルを備えるコンピュータにおいて実行される方法であって、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントに基づいて、該データポイントの集合が示す角度を決定するステップと、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示される1又は複数のデータポイントを、既定の時間ごとに、データポイント列として保持するステップと、
前記保持されたデータポイント列におけるデータポイントの変位に基づいて該データポイント列におけるタッチイベントが発生した位置の変位する速さに対応する変位速さを決定し、決定された最新の変位速さの、その前に決定された変位速さの平均値に対する偏りに少なくとも基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための重み付き速さを決定するステップと、
を含み、
前記重み付き速さを決定するステップは、前記決定された角度が示す方向における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて重み係数を算出し、該重み係数に更に基づいて変位速さを決定する、
方法。 - データポイント列として保持するステップは、フレームレートに対応する時間ごとに、1又は複数のデータポイントをデータポイント列として保持し、
前記重み付き速さを決定するステップは、一のフレームの時間内に保持されるデータポイント列におけるデータポイントの変位に基づいて、該フレームにおけるタッチイベントが発生した位置の変位する速さに対応する変位速さを決定し、最新のフレームにおける変位速さの、該最新のフレームより前のフレームにおける変位速さの平均値に対する偏りに少なくとも基づいて、重み付き速さを決定する、
請求項1に記載の方法。 - 前記角度を決定するステップは、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントを保持するステップと、
前記保持されているデータポイントのうち既定の保持時間を超えたデータポイントの保持を終了するステップと、
前記保持されているデータポイントに基づいて回帰直線の傾きを決定するステップと、
前記保持されているデータポイントの集合としての変位方向に基づいて前記決定された回帰直線の傾きを回転させる回転量を決定するステップと、
前記決定された回帰直線の傾き及び前記決定された回転量に基づいて、角度を決定するステップと、
を含み、前記方法は、
既定の時間ごとに、前記決定された重み付き速さと、前記決定された角度を持つ単位ベクトルと、該決定された角度が示す方向における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて算出される重み係数とに基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための合成ベクトルを決定するステップと、
を含む、請求項1又は2に記載の方法。 - 前記決定された合成ベクトルの方向は、操作対象オブジェクトの移動方向であり、前記決定された合成ベクトルの大きさは、操作対象オブジェクトの移動速さである、請求項3に記載の方法。
- 前記決定された合成ベクトルの大きさに基づいて、操作対象オブジェクトの移動状態を決定するステップを含む、請求項4に記載の方法。
- 請求項1から5のいずれか1項に記載の方法の各ステップをコンピュータに実行させるプログラム。
- タッチパネルを備える電子装置であって、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示されるデータポイントに基づいて、該データポイントの集合が示す角度を決定し、
前記タッチパネルへのユーザの操作により発生したタッチイベントに基づいて取得される第1の軸の値及び第2の軸の値により示される1又は複数のデータポイントを、既定の時間ごとに、データポイント列として保持し、
前記保持されたデータポイント列におけるデータポイントの変位に基づいて該データポイント列におけるタッチイベントが発生した位置の変位する速さに対応する変位速さを決定し、決定された最新の変位速さの、その前に決定された変位速さの平均値に対する偏りに少なくとも基づいて、仮想空間内の操作対象オブジェクトのパラメータを決定するための重み付き速さを決定し、
前記重み付き速さを決定することは、前記決定された角度が示す方向における前記第1の軸の方向及び前記第2の軸の方向の成分に応じて重み係数を算出し、該重み係数に更に基づいて変位速さを決定する、
電子装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020120603A JP6862597B1 (ja) | 2020-07-14 | 2020-07-14 | 方法、プログラム、及び電子装置 |
JP2021019235A JP6911216B1 (ja) | 2020-07-14 | 2021-02-09 | 方法、プログラム、及び電子装置 |
PCT/JP2021/026400 WO2022014630A1 (ja) | 2020-07-14 | 2021-07-14 | 方法、プログラム、及び電子装置 |
CN202180049757.8A CN115867365A (zh) | 2020-07-14 | 2021-07-14 | 方法、程序以及电子装置 |
US18/153,190 US20230143964A1 (en) | 2020-07-14 | 2023-01-11 | Method, program, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020120603A JP6862597B1 (ja) | 2020-07-14 | 2020-07-14 | 方法、プログラム、及び電子装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021019235A Division JP6911216B1 (ja) | 2020-07-14 | 2021-02-09 | 方法、プログラム、及び電子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6862597B1 true JP6862597B1 (ja) | 2021-04-21 |
JP2022017824A JP2022017824A (ja) | 2022-01-26 |
Family
ID=75520926
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020120603A Active JP6862597B1 (ja) | 2020-07-14 | 2020-07-14 | 方法、プログラム、及び電子装置 |
JP2021019235A Active JP6911216B1 (ja) | 2020-07-14 | 2021-02-09 | 方法、プログラム、及び電子装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021019235A Active JP6911216B1 (ja) | 2020-07-14 | 2021-02-09 | 方法、プログラム、及び電子装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230143964A1 (ja) |
JP (2) | JP6862597B1 (ja) |
CN (1) | CN115867365A (ja) |
WO (1) | WO2022014630A1 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3734820B1 (ja) * | 2004-09-03 | 2006-01-11 | 任天堂株式会社 | ゲームプログラム、ゲーム装置、および入力装置 |
JP6389581B1 (ja) * | 2018-05-16 | 2018-09-12 | 株式会社Cygames | プログラム、電子装置、及び方法 |
JP6560801B1 (ja) * | 2018-09-26 | 2019-08-14 | 株式会社Cygames | プログラム、電子装置、及び方法 |
JP6775076B1 (ja) * | 2019-11-26 | 2020-10-28 | 株式会社Cygames | 方法、プログラム、及び電子装置 |
-
2020
- 2020-07-14 JP JP2020120603A patent/JP6862597B1/ja active Active
-
2021
- 2021-02-09 JP JP2021019235A patent/JP6911216B1/ja active Active
- 2021-07-14 CN CN202180049757.8A patent/CN115867365A/zh active Pending
- 2021-07-14 WO PCT/JP2021/026400 patent/WO2022014630A1/ja active Application Filing
-
2023
- 2023-01-11 US US18/153,190 patent/US20230143964A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230143964A1 (en) | 2023-05-11 |
WO2022014630A1 (ja) | 2022-01-20 |
JP6911216B1 (ja) | 2021-07-28 |
JP2022018063A (ja) | 2022-01-26 |
CN115867365A (zh) | 2023-03-28 |
JP2022017824A (ja) | 2022-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10101873B2 (en) | Portable terminal having user interface function, display method, and computer program | |
JP6389581B1 (ja) | プログラム、電子装置、及び方法 | |
CN113168281B (zh) | 计算机可读介质、电子装置和方法 | |
KR101833253B1 (ko) | 증강현실 환경에서의 가상객체 조작방법 및 이를 구현하는 증강현실 장치 | |
US20090153468A1 (en) | Virtual Interface System | |
CN110215685B (zh) | 游戏中的虚拟对象控制方法及装置、设备、存储介质 | |
CN111135556A (zh) | 一种虚拟相机控制的方法及装置、电子设备、存储介质 | |
WO2023103615A1 (zh) | 虚拟对象的切换方法、装置、设备、介质及程序产品 | |
JP6862597B1 (ja) | 方法、プログラム、及び電子装置 | |
WO2021230228A1 (ja) | 方法、プログラム、及び電子装置 | |
JP6775076B1 (ja) | 方法、プログラム、及び電子装置 | |
CN114428548A (zh) | 用户交互的光标的方法和*** | |
US9370713B2 (en) | Game device, game control method, and game control program for controlling game in which character is moved in three dimensional space | |
JP6824369B1 (ja) | 方法、プログラム、及び電子装置 | |
JP7471782B2 (ja) | プログラム、電子装置、及び方法 | |
JP7250451B2 (ja) | プログラム、電子装置、及び方法 | |
JP7517802B2 (ja) | 処理装置、処理方法及びプログラム | |
JP7105573B2 (ja) | プログラム及びゲーム装置 | |
JP7373090B1 (ja) | 情報処理システム、情報処理装置、プログラム及び情報処理方法 | |
JP2021062251A (ja) | プログラム及びゲーム装置 | |
CN111580734A (zh) | 控制方法、装置、眼镜及存储介质 | |
GB2417657A (en) | Controlling interactions between graphical objects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201112 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20201112 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20201210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210209 |
|
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: 20210301 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210331 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6862597 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |