(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024116232
(43)【公開日】2024-08-27
(54)【発明の名称】行列操作支援方法、電子機器及びプログラム
(51)【国際特許分類】
G06F 3/04842 20220101AFI20240820BHJP
G06F 3/04883 20220101ALI20240820BHJP
G06F 15/02 20060101ALI20240820BHJP
【FI】
G06F3/04842
G06F3/04883
G06F15/02 315Z
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2024091328
(22)【出願日】2024-06-05
(62)【分割の表示】P 2023193363の分割
【原出願日】2021-12-10
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】田中 博和
(57)【要約】 (修正有)
【課題】行列成分の高度な移動を直感的な操作で行えるようにする、行列操作方法、電子機器、プログラムを提供する。
【解決手段】電子機器の制御部は、複数の成分が配列された行列を表示部に表示させ、表示部に表示された行列に対するジェスチャー操作に基づいて、行列内の複数の成分の配置を変化させる制御処理と、表示部に対するタッチ位置を検出し、タッチインしたときのタッチ位置が予め設定された行列に対するジェスチャー操作開始の有効範囲内である場合、ジェスチャー操作が開始されたと判断する検出処理と、を備える。制御部は、ジェスチャー操作が、行列において第1成分、第2成分、第3成分がこの順番で並ぶ行R11を対象にして、第1成分の配置位置P1から第2成分の配置位置P2までスライドする操作の場合、第1成分と第2成分が同じ方向にシフトするように行R11における各成分を循環シフトさせる。
【選択図】
図4
【特許請求の範囲】
【請求項1】
コンピュータが実行する行列操作方法であって、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御処理と、
前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出処理と、
を含み、
前記制御処理は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ行を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記行における各成分を循環シフトさせる、
行列操作方法。
【請求項2】
コンピュータが実行する行列操作方法であって、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御処理と、
前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出処理と、
を含み、
前記制御処理は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ列を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記列における各成分を循環シフトさせる、
行列操作方法。
【請求項3】
前記検出処理は、タッチアウトされることにより前記ジェスチャー操作が終了したと判断する、
請求項1又は2に記載の行列操作方法。
【請求項4】
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部と、
前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部と、
を備え、
前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ行を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記行における各成分を循環シフトさせる、
電子機器。
【請求項5】
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部と、
前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部と、
を備え、
前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ列を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記列における各成分を循環シフトさせる、
電子機器。
【請求項6】
コンピュータを、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部、
前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部、
として機能させ、
前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ行を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記行における各成分を循環シフトさせる、
プログラム。
【請求項7】
コンピュータを、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部、
前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部、
として機能させ、
前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ列を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記列における各成分を循環シフトさせる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行列操作方法、電子機器及びプログラムに関する。
【背景技術】
【0002】
従来、電子計算装置において、通常の四則計算機能のほかに、行列を入力して計算を行なう行列計算機能を備えたものがある。
【0003】
また、行列の基本変形(行操作や列操作)を行うことができる装置も知られている。例えば、特許文献1には、行列とともに当該行列に関する行操作機能の一覧を表示し、一覧からタッチされた行操作機能を実行するために必要な式を選択させたり、数値を入力させたりすることで、行操作を行う装置が提案されている。
【0004】
また、近年、タッチ操作可能なデバイス上で動作する関数電卓Webアプリケーションや関数電卓アプリケーションも存在している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の電子計算装置やアプリケーション、Webアプリケーションでは、行列内の複数の成分の配置を一度に変化させる行列成分の高度な移動(例えば、回転移動、循環シフト、転置等)を直感的な操作により実施することができない。
【0007】
本発明は、上記の問題に鑑みてなされたものであり、行列成分の高度な移動を直感的な操作で行えるようにすることを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る第1の態様の行列操作方法は、コンピュータが実行する行列操作方法であって、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御処理と、前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出処理と、を含み、前記制御処理は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ行を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記行における各成分を循環シフトさせる、ことを特徴とする。
また、本発明に係る第2の態様の行列操作方法は、コンピュータが実行する行列操作方法であって、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御処理と、前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出処理と、を含み、前記制御処理は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ列を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記列における各成分を循環シフトさせる、ことを特徴とする。
また、本発明に係る第1の態様の電子機器は、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部と、前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部と、を備え、前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ行を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記行における各成分を循環シフトさせる、ことを特徴とする。
また、本発明に係る第2の態様の電子機器は、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部と、前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部と、を備え、前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ列を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記列における各成分を循環シフトさせる、ことを特徴とする。
また、本発明に係る第1の態様のプログラムは、コンピュータを、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部、前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部、として機能させ、前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ行を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記行における各成分を循環シフトさせる、ことを特徴とする。
また、本発明に係る第2の態様のプログラムは、コンピュータを、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記行列内の複数の成分の配置を変化させる制御部、前記表示部に対するタッチ位置を検出するとともに、タッチインされたときの前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する検出部、として機能させ、前記制御部は、前記ジェスチャー操作が、前記行列内において第1成分、第2成分及び第3成分がこの順番で並ぶ列を対象にして前記第1成分の配置位置側から前記第3成分の配置位置側に向けて前記第1成分の配置位置から前記第2成分の配置位置までスライドする操作である場合に、少なくとも前記第1成分と前記第2成分とが同じ方向にシフトするように前記列における各成分を循環シフトさせる、ことを特徴とする。
【発明の効果】
【0009】
本発明によれば、行列成分の高度な移動を直感的な操作で行うことが可能となる。
【図面の簡単な説明】
【0010】
【
図1】本発明の電子機器の機能的構成を示すブロック図である。
【
図3】2行3列の行列を時計回りに90°回転させた例を示す図である
【
図4】行の循環シフト操作を模式的に示す図である。
【
図5】列の循環シフト操作を模式的に示す図である。
【
図7】
図1の制御部により実行される行列操作処理の流れを示すフローチャートである。
【
図8】
図1の制御部により実行される行の循環シフト処理の流れを示すフローチャートである。
【
図9】
図1の制御部により実行される列の循環シフト処理の流れを示すフローチャートである。
【
図10】
図1の制御部により実行される転置処理の流れを示すフローチャートである。
【
図11】
図1の制御部により実行される回転処理の流れを示すフローチャートである。
【
図12】電子機器がインターネット等の通信ネットワークを介してWebサーバと接続されている態様を示す図である。
【
図13】
図12のWebサーバの機能的構成を示すブロック図である。
【発明を実施するための形態】
【0011】
以下に、本発明を実施するための形態について、図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい種々の限定が付されている。そのため、本発明の技術的範囲を以下の実施形態及び図示例に限定するものではない。
【0012】
[電子機器100の構成]
まず、本発明に係る電子機器100の構成について説明する。
図1は、本実施形態に係る電子機器100の機能的構成を示すブロック図である。電子機器100は、例えば、関数電卓アプリケーション(関数電卓アプリと呼ぶ)121が搭載されたタブレット端末、スマートフォン、PC(Personal Computer)等により構成されていてもよいし、計算専用の装置により構成されていてもよく、その形態は特に限定されない。
【0013】
図1に示すように、電子機器100は、制御部11、記憶部12、操作部13、表示部14、通信部15等により構成され、各部はバス16により接続されている。
【0014】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えて構成されている。制御部11のCPUは、ROMや記憶部12に格納されたプログラム及びデータを読み出し、RAMをワークエリアとして用いて各種処理を実行することにより、電子機器100の各部を集中制御する。
【0015】
記憶部12は、不揮発性の半導体メモリーやハードディスク等により構成され、各種プログラム及びプログラムで使用されるデータ等を記憶する。
本実施形態において、記憶部12には、関数電卓アプリ121が記憶されている。関数電卓アプリ121は、制御部11が後述する行列操作処理を含む計算に係る各種処理を実行するためのアプリケーションプログラムである。
【0016】
操作部13は、表示部14の画面上に重畳されて形成されたタッチパネル131を備えている。操作部13は、各種操作ボタンをさらに備えていてもよく、操作ボタンの操作や表示部14の画面上の操作を検出し、その操作情報を制御部11に出力する。
【0017】
表示部14は、LCD(Liquid Crystal Display)、EL(Electro Luminescence)ディスプレイ等で構成され、制御部11から指示された表示情報に従い各種表示を行う。
【0018】
通信部15は、LAN(Local Area Network)やインターネット等の通信ネットワークを介して、外部装置と通信を行うための通信制御を行う。
【0019】
[電子機器100の動作]
次に、電子機器100の動作について説明する。
電子機器100において、操作部13により関数電卓アプリ121の起動操作が検出されると、制御部11は、関数電卓アプリ121を起動して、関数電卓アプリ121との協働により以下の処理を実行する。
【0020】
例えば、制御部11は、関数電卓アプリ121が起動されると、入力画面を表示部14に表示させる。タッチパネル131により、行列の入力指示が検出され、行列の各成分が入力されると、制御部11は、表示部14に行列を表示させる。タッチパネル131により、行列を含む演算式の入力が検出され、実行が指示されると、制御部11は、入力に基づいて演算処理を行い、演算結果を表示部14に表示させる。
ここで、行列とは、複数の成分(要素)が配列されたものを指す。
【0021】
本実施形態の電子機器100では、表示部14に表示された行列内の複数の成分の配置を、当該行列に対するジェスチャー操作によって一度に変化させることができるようになっている。例えば、行列に対するジェスチャー操作によって、当該行列の成分の回転、循環シフト、転置等が可能である。行列の各成分の位置を回転移動させるためのジェスチャー操作を回転操作と呼ぶ。行列のいずれかの行又は列の成分を循環シフトさせるためのジェスチャー操作を循環シフト操作と呼ぶ。行列の行の成分と列の成分を入れ替えて転置させるためのジェスチャー操作を転置操作と呼ぶ。
【0022】
(回転操作)
例えば、表示部14に行列を表示させると、制御部11は、
図2に示すように、表示した行列の周囲に、当該行列に対する回転操作開始の有効範囲R1を設定する。本実施形態では、行列の周囲(行列上は含まない)の所定範囲、例えば、行列の外周(例えば、括弧を含む行列の構成物の中で最も右上に位置する点と、最も左上に位置する点と、最も左下に位置する点と、最も右下に位置する点を結ぶ線分から構成される四角形)から要素間距離(
図4、5に示す行間距離dRow又は列間距離dCol)だけ離れたところまでの範囲を回転操作開始の有効範囲R1として設定する。また、表示された行列の中心点を行列中心点P0として設定する。一実施形態では、行列の周囲(行列上は含まない)の所定範囲から後述する転置操作開始の有効範囲を除いた領域を、回転操作開始の有効範囲として設定してもよい。
【0023】
回転操作開始の有効範囲R1内がタッチされたこと(タッチインされたこと)がタッチパネル131により検出されると、制御部11は、タッチされたタッチ位置(座標)をジェスチャー開始点P1として取得する。
【0024】
ユーザがジェスチャー開始点P1から行列中心点P0を中心に指(タッチ位置)を時計回り又は反時計回りに回転スライドさせたことがタッチパネル131により検出されると、制御部11は、現時点までの回転角度(反時計回りを正、時計回りを負とする)を取得し、
図2に示すように、操作対象の行列全体を回転角度に応じて所定角度回転させて表示させる。これにより、ユーザがタッチ位置をどの程度の角度回転させているのかを容易に把握することが可能となる。なお、タッチ位置を所定角度以上回転させる毎に(例えば、45°、135°、225°、315°以上回転させるごとに)、行列の各成分の位置についても所定角度ずつ(例えば、90°ずつ)回転させて、現時点の回転操作で行列の各成分がどの程度回転するのかをユーザが認識可能に表示することとしてもよい。
【0025】
ユーザが画面上から指を離してタッチアウト(タッチを解除)したことがタッチパネル131により検出されると、制御部11は、タッチアウトされた位置(座標)をジェスチャー終了点P2として取得し、ジェスチャー開始点P1、行列中心点P0、ジェスチャー終了点P2がなす角度を回転角度θとして取得する(反時計回りを正、時計回りを負とする)。そして、制御部11は、
図2に示すように、操作対象の行列の各成分の位置を、回転角度θに基づいて所定角度回転移動させて表示部14に表示させる。
【0026】
例えば、制御部11は、回転角度θに応じて、行列の各成分を以下のように回転移動させる。
0°<θ≦45° :回転しない
45°<θ≦135°:反時計回りに90°回転
135°<θ≦225°:反時計回りに180°回転
225°<θ≦315°:反時計回りに270°回転
315°<θ≦360°:反時計回りに360°回転(すなわち、回転しない)
0°<θ≦-45° :回転しない
-45°<θ≦-135°:時計回りに90°回転
-135°<θ≦-225°:時計回りに180°回転
-225°<θ≦-315°:時計回りに270°回転
-315°<θ≦-360°:時計回りに360°回転(すなわち、回転しない)
なお、θが360°より大きい場合は、θを360で割った剰余がθである場合と同じように回転させる。θが-360°より小さい場合は、-θを360で割った剰余×-1がθである場合と同じように回転させる。
【0027】
図3に、2行3列の行列の回転操作開始の有効範囲内にユーザがタッチインし、タッチ位置を時計方向に90°回転させてタッチアウトする回転操作を実施した場合に表示部14に描画される行列の一例を示す。
【0028】
このように、回転操作では、行列の周囲にタッチインして行列中心点P0を中心とした回転方向にスワイプするというジェスチャー操作で、行列内の複数の成分の位置を一度の操作で回転移動させることができるので、行列成分の回転移動を、アイコン、機能ボタン、メニュー等を操作することなく、直感的な操作で素早く行うことができる。
【0029】
(循環シフト操作)
例えば、表示部14に行列を表示させると、制御部11は、
図4、
図5に点線で示すように、表示した行列内に、各行、各列に対する循環シフト操作開始の有効範囲(
図4、5に示す例では、例えば、R11~R16)を設定する。
本実施形態において、行列における行の循環シフトとは、行列内の或る行の成分を横方向(右又は左)にシフトさせ、あふれた成分を空いた部分に移動させることをいう。例えば、或る行の成分が(1、2、3)である場合、その行を右に1循環シフトすると、その行の成分は(3、1、2)となる。その行を右に2循環シフトすると、その行の成分は(2、3、1)となる。
また、行列における列の循環シフトとは、行列内の或る列の成分を縦方向(上又は下)にシフトさせ、あふれた成分を空いた部分に移動させることをいう。例えば、或る列の成分が上から(1、2、3)である場合、その列を下に1循環シフトすると、その列の成分は、上から(3、1、2)となる。その列を下に2循環シフトすると、その列の成分は、上から(2、3、1)となる。
本実施形態では、行列内の、各行の成分を囲む領域内(例えば、
図4のR11~R13)を各行に対する循環シフト操作開始の有効範囲として設定する。例えば、各行に対する循環シフト操作開始の有効範囲の外周は、各行の成分を囲み、かつ行列の括弧で囲まれた領域の内側であり、他の行の有効範囲に重ならないように設定される。例えば、1行目と2行目の間の部分における有効範囲の外周は、1/2dRowよりも内側である。また、行列内の、各列の成分を囲む領域内(例えば、
図5のR14~R16)を各列に対する循環シフト操作開始の有効範囲として設定する。例えば、各列に対する循環シフト操作開始の有効範囲の外周は、各列の成分を囲み、かつ行列の括弧で囲まれた領域の内側であり、他の列の有効範囲に重ならないように設定される。例えば、1列目と2列目の間の部分における有効範囲の外周は、1/2dColよりも内側である。一実施形態では、上記循環シフト操作開始の有効範囲は矩形範囲である。
【0030】
ユーザがいずれかの行又は列の循環シフト操作開始の有効範囲内がタッチされたことがタッチパネル131により検出されると、制御部11は、タッチされたタッチ位置(座標)をジェスチャー開始点P1として取得する。
図4に示すように、ジェスチャー開始点P1から横方向に指(タッチ位置)をスライド(移動)させたことがタッチパネル131により検出されると、制御部11は、横スライドされた距離(横スライド距離sRow)及びスライド方向(右又は左)を取得し、表示部14に表示されている、操作対象の行列内の横スライド操作された行の成分を、横スライド距離sRow及びスライド方向に応じて循環シフトして表示部14に表示させる。これにより、現時点のタッチ位置の横スライドでどのように行の循環シフトが実施されるのかをユーザが容易に把握することが可能となる。
【0031】
ユーザが画面上から指を離してタッチアウトしたことがタッチパネル131により検出されると、制御部11は、タッチアウトした位置(座標)をジェスチャー終了点P2として取得する。そして、ジェスチャー開始点P1とジェスチャー終了点P2間の横スライド距離sRow及びスライド方向とに応じて、
図4に示すように、操作対象の行列の横スライド操作された行の成分を所定の方向に所定のシフト量だけ循環シフトして表示部14に表示させる。
【0032】
例えば、制御部11は、横スライド距離sRow及びスライド方向に応じて、操作対象の行列の操作された行の各成分を以下のように循環シフトさせる。ここで、行列の成分の列間距離をdCol、行列の列数をNとする。右にスライドするか左にスライドするかは、タッチ位置のスライド方向により決定する。
0<sRow<0.5*dCol :スライドしない
0.5*dCol≦sRow<1.5*dCol:右又は左に1列スライド
1.5*dCol≦sRow<2.5*dCol:右又は左に2列スライド
・・・
(n-0.5)*dCol ≦sRow < (n+0.5)*dCol:右又は左にn列スライド
・・・
(N-1.5)*dCol≦sRow<(N-0.5)*dCol:右又は左にN-1列スライド
(N-0.5)*dCol≦sRow:右又は左にN-1列スライド(最大N-1列のスライドまで)
【0033】
また、
図5に示すように、ジェスチャー開始点P1から縦方向に指(タッチ位置)をスライド(移動)させたことがタッチパネル131により検出されると、制御部11は、縦スライドした距離(縦スライド距離sCol)及びスライド方向(上又は下)を取得し、表示部14に表示されている、操作対象の行列内の、縦スライド操作された列の成分を縦スライド距離sCol及びスライド方向に応じて循環シフトさせて表示部14に表示させる。これにより、現時点のタッチ位置の縦スライドでどのように列の循環シフトが実施されるのかをユーザが容易に把握することが可能となる。
【0034】
ユーザが画面上から指を離してタッチアウトしたことがタッチパネル131により検出されると、制御部11は、タッチアウトした位置(座標)をジェスチャー終了点P2として取得する。そして、ジェスチャー開始点P1とジェスチャー終了点P2間の縦スライド距離sCol及びスライド方向に応じて、操作対象の行列の縦スライドされた列の成分を所定の方向に所定のシフト量だけ循環シフトして表示部14に表示させる。
【0035】
例えば、制御部11は、縦スライド距離sColに応じて、操作対象の行列の操作された列の成分を以下のように循環シフトさせる。ここで、行列の成分の行間距離をdRow、行列の行数をMとする。上にスライドか下にスライドかは、スライド方向により決定する。
0<sCol<0.5*dRow :スライドしない
0.5*dRow≦sCol<1.5*dRow:上又は下に1行スライド
1.5*dRow≦sCol<2.5*dRow:上又は下に2行スライド
・・・
(m-0.5)*dRow ≦sCol < (m+0.5)*dRow:上又は下にm行スライド
・・・
(M-1.5)*dRow≦sCol<(M-0.5)*dRow:上又は下にM-1行スライド
(M-0.5)*dRow ≦sCol:上又は下にM-1行スライド(最大M-1行のスライドまで)
【0036】
このように、循環シフト操作では、行列内の循環シフトさせたい行又は列にタッチインして横方向又は縦方向にスワイプするというジェスチャー操作で、行列内の複数の成分の位置を一度の操作で循環シフトさせることができるので、行列成分の循環シフトを、アイコン、機能ボタン、メニュー等を操作することなく、直感的な操作で素早く行うことができる。
【0037】
(転置操作)
例えば、表示部14に行列を表示させると、制御部11は、
図6に示すように、例えば、表示した行列の右上部及び左下部に位置する所定の大きさの領域R21、R22(本実施形態では、行列外の三角形領域とする)を、当該行列に対する転置操作開始の有効範囲として設定する。また、行列の対角線(対角に位置する成分を通る線分。本実施形態では、行列の左上と右下を結ぶ線分。)を転置境界線L1として設定する。
例えば、本実施形態では、領域R21、R22は、行列の括弧の右上及び左下の角に隣接している。一実施形態では、領域R21、R22は、行列の角の成分に隣接していてもよい。本実施形態では、領域R21(または領域R22)は、行列の括弧の右上(または左下)の角を通り、転置境界線L1に略平行な直線を底辺とする三角形である。例えば、三角形の各辺の長さをtとしたとき、tを、
0.5*dCol≦t<1*dCol
と、設定してもよい。本実施形態では、上記領域R21、R22の大きさは、行列の大きさ(表示上の見た目の大きさ)、および有効範囲R1の大きさよりも小さく、上記領域R21、R22は、有効範囲R1の外周の内側に設定される。
一実施形態では、領域R21、R22は、表示した行列の左上部及び右下部に位置してもよい。例えば、行列の括弧の左上及び右下の角に隣接していてもよく、左上及び右下の角の成分に隣接していてもよい。この場合、転置境界線L1を行列の右上と左下を結ぶ線分としてもよい。
【0038】
転置操作開始の有効範囲R21又はR22内でタッチインしたことがタッチパネル131により検出されると、制御部11は、タッチされたタッチ位置(座標)をジェスチャー開始点P1として取得する。
ユーザが右上部のジェスチャー開始点P1から指(タッチ位置)を斜め方向にスライドさせたことがタッチパネル131により検出されると、制御部11は、移動後のタッチ位置が転置境界線L1を越えたか否かを判断し、越えたと判断した場合に、表示部14に表示されている操作対象の行列全体の形状を変化させる。例えば、
図6に示すように、移動後のタッチ位置が転置境界線L1を越えた場合、越えたことをユーザが認識できるように、行列全体を斜めに(平行四辺形状に)変形させる。これにより、タッチ位置が転置境界線L1を越えたか否かをユーザが容易に把握することが可能となる。
【0039】
ユーザが画面上から指を離してタッチアウトしたことがタッチパネル131により検出されると、制御部11は、タッチアウトした位置(座標)をジェスチャー終了点P2として取得し、ジェスチャー開始点P1とジェスチャー終了点P2の座標から、タッチ位置が転置境界線L1を越えて(跨いで)移動したか否かを判断する。タッチ位置が転置境界線L1を越えて移動したと判断した場合、制御部11は、操作対象の行列の行の成分と列の成分を入れ替えて転置行列を作成し、表示部14に表示させる。具体的には、(i,j)成分と(i,j)成分を入れ替える。
【0040】
このように、転置操作では、行列内の右上部又は左下部にタッチインして斜め方向に転置境界線L1を越えるまでスワイプするというジェスチャー操作で、行列内の複数の成分の位置を一度の操作で転置させることができるので、行列成分の転置を、アイコン、機能ボタン、メニュー等を操作することなく、直感的な操作で素早く行うことができる。
【0041】
(行列操作処理)
図7は、行列が表示部14に表示されている間にタッチパネル131によりタッチされたこと(タッチイン)が検出された際に、制御部11により実行される行列操作処理の流れを示すフローチャートである。行列操作処理は、制御部11と記憶部12に記憶されている関数電卓アプリ121との協働により実行される。
【0042】
まず、制御部11は、タッチパネル131によりタッチ(タッチイン)が検出されたタッチ位置が行列に対するジェスチャー操作開始の有効範囲内であるか否かを判断する(ステップS1)。
ジェスチャー操作開始の有効範囲には、回転操作、循環シフト操作、転置操作のそれぞれの有効範囲が含まれる。
【0043】
行列に対するジェスチャー操作開始の有効範囲内であると判断した場合(ステップS1;YES)、制御部11は、タッチ位置の座標をジェスチャー開始点としてRAMに記憶する(ステップS2)。
【0044】
次いで、制御部11は、ジェスチャー開始点P1が表示部14に表示された行列の領域内であるか否かを判断する(ステップS3)。
ジェスチャー開始点P1が表示部14に表示された行列の領域内であると判断した場合(ステップS3;YES)、制御部11は、タッチパネル131によりタッチ位置のスライド(移動)が検出されたか否かを判断する(ステップS4)。
タッチ位置のスライドが検出されていないと判断した場合(ステップS4;NO)、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS7)。
タッチアウトが検出されていないと判断した場合(ステップS7;NO)、制御部11は、ステップS4に戻る。
タッチアウトが検出されたと判断した場合(ステップS7;YES)、制御部11は、行列操作処理を終了する。
【0045】
一方、タッチパネル131によりタッチ位置のスライド(移動)が検出されたと判断した場合(ステップS4;YES)、制御部11は、スライド方向が横方向であるか否かを判断する(ステップS5)。
スライド方向が横方向であると判断した場合(ステップS5;YES)、制御部11は、行の循環シフト処理を実行する(ステップS6)。
【0046】
図8は、
図7のステップS6において実行される行の循環シフト処理の流れを示すフローチャートである。行の循環シフト処理は、制御部11と関数電卓アプリ121との協働により実行される。
【0047】
行の循環シフト処理において、制御部11は、タッチ位置が横方向にスライドされた距離(横スライド距離sRow)及びスライド方向(右又は左)を算出し(ステップS61)、横スライド距離sRow及びスライド方向に基づいて、表示部14に表示されている操作対象の行列の、操作対象となっている行の成分を所定の方向に所定のシフト量だけ循環シフトして表示部14に表示させる(ステップS62)。
スライド距離sRowとスライド方向に基づいて、操作対象となっている行の成分をどの方向にどれだけ循環シフトするのかについては、既に述べたとおりである。
【0048】
次いで、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS63)。
タッチパネル131によりタッチアウトが検出されていないと判断した場合(ステップS63;NO)、制御部11は、タッチパネル131によりタッチ位置のスライドが検出されたか否かを判断する(ステップS64)。
タッチ位置のスライドが検出されたと判断した場合(ステップS64;YES)、制御部11は、ステップS61に戻る。
タッチ位置のスライドが検出されていないと判断した場合(ステップS64;NO)、制御部11は、ステップS63に戻る。
【0049】
一方、タッチパネル131によりタッチアウトが検出されたと判断した場合(ステップS63;YES)、制御部11は、タッチアウトした位置の座標をジェスチャー終了点P2として取得し、ジェスチャー開始点P1とジェスチャー終了点P2間の横スライド距離sRow及びスライド方向を算出する(ステップS65)。そして、制御部11は、横スライド距離sRowとスライド方向に基づいて、表示部14に表示されている操作対象の行列の、操作対象となっている行の成分を所定の方向に所定のシフト量だけ循環シフトして表示部14に表示させ(ステップS66)、行列操作処理を終了する。
スライド距離sRowとスライド方向に基づいて、操作対象となっている行の成分をどの方向にどれだけ循環シフトするのかについては、既に述べたとおりである。
なお、操作対象となった行列が計算式に含まれている行列である場合、制御部11は、さらに、循環シフト後の行列を用いて計算式の再演算を行い、再演算結果を表示部14に表示させる。
【0050】
図7のステップS5において、タッチ位置のスライド方向が横方向ではないと判断した場合(ステップS5;NO)、タッチ位置のスライド方向が縦方向であるか否かを判断する(ステップS8)。タッチ位置のスライド方向が縦方向であると判断した場合(ステップS8;YES)、制御部11は、列の循環シフト処理を実行する(ステップS9)。
タッチ位置のスライド方向が縦方向ではないと判断した場合(ステップS8;NO)、制御部11は、行列操作処理を終了する。
【0051】
図9は、
図7のステップS9において実行される列の循環シフト処理の流れを示すフローチャートである。行の循環シフト処理は、制御部11と関数電卓アプリ121との協働により実行される。
【0052】
列の循環シフト処理において、制御部11は、タッチ位置が縦方向にスライドされた距離(縦スライド距離sCol)及びスライド方向(上又は下))を算出し(ステップS91)、縦スライド距離sCol及びスライド方向に基づいて、表示部14に表示されている操作対象の行列の、操作対象となっている列の成分を所定の方向に所定のシフト量だけ循環シフトして表示部14に表示させる(ステップS92)。
縦スライド距離sColとスライド方向に基づいて、操作対象となっている列の成分をどの方向にどれだけ循環シフトするのかについては、既に述べたとおりである。
【0053】
次いで、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS93)。
タッチパネル131によりタッチアウトが検出されていないと判断した場合(ステップS93;NO)、制御部11は、タッチパネル131によりタッチ位置のスライドが検出されたか否かを判断する(ステップS94)。
タッチ位置のスライドが検出されたと判断した場合(ステップS94;YES)、制御部11は、ステップS91に戻る。
タッチ位置のスライドが検出されていないと判断した場合(ステップS94;NO)、制御部11は、ステップS93に戻る。
【0054】
一方、タッチパネル131によりタッチアウトが検出されたと判断した場合(ステップS93;YES)、制御部11は、タッチアウトした位置の座標をジェスチャー終了点P2として取得し、ジェスチャー開始点P1とジェスチャー終了点P2間の縦スライド距離sCol及びスライド方向を算出する(ステップS95)。そして、制御部11は、縦スライド距離sCol及びスライド方向に基づいて、表示部14に表示されている操作対象の行列の、操作対象となっている列の成分を所定方向に所定のシフト量だけ循環シフトして表示を確定させ(ステップS96)、行列操作処理を終了する。
縦スライド距離sColとスライド方向に基づいて、操作対象となっている列の成分をどの方向にどれだけ循環シフトするのかについては、既に述べたとおりである。
なお、操作対象となった行列が計算式に含まれている行列である場合、制御部11は、さらに、循環シフト後の行列を用いて計算式の再演算を行い、再演算結果を表示部14に表示させる。
【0055】
図7のステップS3において、ジェスチャー開始点P1が表示部14に表示された行列の領域内ではないと判断した場合(ステップS3;NO)、制御部11は、ジェスチャー開始点P1が行列の右上部又は左下部に設定された転置操作の有効範囲内(
図6のR21又はR22)であるか否かを判断する(ステップS10)。
一実施形態では、転置操作の有効範囲を行列の左上部又は右下部に設定してもよい。この場合、制御部11は、ステップS10において、ジェスチャー開始点P1が行列の左上部又は右下部に設定された転置操作の有効範囲内であるか否かを判断する。
ジェスチャー開始点P1が上記転置操作の有効範囲内であると判断した場合(ステップS10;YES)、制御部11は、タッチパネル131によりタッチ位置のスライドが検出されたか否かを判断する(ステップS11)。
タッチパネル131によりタッチ位置のスライドが検出されていないと判断した場合(ステップS11;NO)、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS14)。
タッチアウトが検出されていないと判断した場合(ステップS14;NO)、制御部11は、ステップS11に戻る。
タッチアウトが検出されたと判断した場合(ステップS14;YES)、制御部11は、行列操作処理を終了する。
【0056】
一方、タッチパネル131によりタッチ位置のスライドが検出されたと判断した場合(ステップS11;YES)、制御部11は、タッチ位置のスライド方向が斜め方向であるか否かを判断する(ステップS12)。
タッチ位置のスライド方向が斜め方向であると判断した場合(ステップS12;YES)、制御部11は、転置処理を実行する(ステップS13)。
タッチ位置のスライド方向が斜め方向ではないと判断した場合(ステップS12;NO)、制御部11は、行列操作処理を終了する。
【0057】
図10は、
図7のステップS13において実行される転置処理の流れを示すフローチャートである。転置処理は、制御部11と関数電卓アプリ121との協働により実行される。
【0058】
転置処理において、制御部11は、スライド後のタッチ位置が転置境界線L1を越えたか否かを判断し(ステップS131)、判断結果に応じた形状で操作対象の行列を表示部14に表示させる(ステップS132)。
例えば、
図6に示すように、スライド後のタッチ位置が転置境界線L1を越えた場合、越えたことをユーザが認識できるように、行列全体を斜めに(平行四辺形状に)変形させて表示部14に表示させる。スライド後のタッチ位置が転置境界線L1を越えていない場合、越えていないことをユーザが認識できるように、行列の形状を変化させずに表示部14に表示させる。
【0059】
次いで、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS133)。
タッチパネル131によりタッチアウトが検出されていないと判断した場合(ステップS133;NO)、制御部11は、タッチパネル131によりタッチ位置のスライドが検出されたか否かを判断する(ステップS134)。
タッチ位置のスライドが検出されたと判断した場合(ステップS134;YES)、制御部11は、ステップS131に戻る。
タッチ位置のスライドが検出されていないと判断した場合(ステップS134;NO)、制御部11は、ステップS133に戻る。
【0060】
一方、タッチパネル131によりタッチアウトが検出されたと判断した場合(ステップS133;YES)、制御部11は、タッチアウトした位置の座標をジェスチャー終了点P2として取得し、ジェスチャー開始点P1とジェスチャー終了点P2の座標から、タッチ位置が転置境界線L1を越えたか否かを判断する(ステップS135)。
【0061】
タッチ位置が転置境界線L1を越えていないと判断した場合(ステップS135;NO)、制御部11は、転置操作前の行列を表示部14に表示させ(ステップS137)、転置処理を終了する。
タッチ位置が転置境界線L1を越えたと判断した場合(ステップS135;YES)、制御部11は、操作対象の行列の行の成分と列の成分を入れ替えて転置行列を生成して表示部14に表示させ(ステップS136)、転置処理を終了する。
なお、操作対象となった行列が計算式に含まれている行列である場合、制御部11は、さらに、転置後の行列を用いて計算式の再演算を行い、再演算結果を表示部14に表示させる。
【0062】
一方、
図7のステップS10において、ジェスチャー開始点P1が転置操作の有効範囲内ではないと判断した場合(ステップS10;NO)、制御部11は、タッチパネル131によりタッチ位置のスライドが検出されたか否かを判断する(ステップS15)。
タッチパネル131によりタッチ位置のスライドが検出されていないと判断した場合(ステップS15;NO)、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS18)。
タッチアウトが検出されていないと判断した場合(ステップS18;NO)、制御部11は、ステップS15に戻る。
タッチアウトが検出されたと判断した場合(ステップS18;YES)、制御部11は、行列操作処理を終了する。
【0063】
一方、タッチパネル131によりタッチ位置のスライドが検出されたと判断した場合(ステップS15;YES)、制御部11は、タッチ位置のスライド方向が行列中心点P0を中心とした回転方向であるか否かを判断する(ステップS16)。
タッチ位置のスライド方向が行列中心点P0を中心とした回転方向であると判断した場合(ステップS16;YES)、制御部11は、回転処理を実行する(ステップS17)。
タッチ位置のスライド方向が行列中心点P0を中心とした回転方向ではないと判断した場合(ステップS16;NO)、制御部11は、行列操作処理を終了する。
【0064】
図11は、
図7のステップS17において実行される回転処理の流れを示すフローチャートである。回転処理は、制御部11と関数電卓アプリ121との協働により実行される。
【0065】
回転処理において、制御部11は、タッチ位置の回転角度(ジェスチャー開始点P1、行列中心点P0、タッチ位置のなす角度。反時計回りを正、時計回りを負とする)を算出し(ステップS171)、表示部14に表示されている操作対象の行列全体を回転角度に応じて所定角度で回転させて表示させる(ステップS172)。
【0066】
次いで、制御部11は、タッチパネル131によりタッチアウトが検出されたか否かを判断する(ステップS173)。
タッチパネル131によりタッチアウトが検出されていないと判断した場合(ステップS173;NO)、制御部11は、タッチパネル131によりタッチ位置のスライドが検出されたか否かを判断する(ステップS174)。
タッチ位置のスライドが検出されたと判断した場合(ステップS174;YES)、制御部11は、ステップS171に戻る。
タッチ位置のスライドが検出されていないと判断した場合(ステップS174;NO)、制御部11は、ステップS173に戻る。
【0067】
タッチパネル131によりタッチアウトが検出されたと判断した場合(ステップS173;YES)、制御部11は、タッチアウトした位置の座標をジェスチャー終了点P2として取得し、ジェスチャー開始点P1、行列中心点P0、ジェスチャー終了点P2がなす角度を回転角度θとして取得する(ステップS175)。そして、制御部11は、回転角度θに基づいて、操作対象の行列の各成分の位置を回転移動させて表示部14に表示させ(ステップS176)、回転処理を終了する。
なお、操作対象となった行列が計算式に含まれている行列である場合、制御部11は、さらに、回転処理後の行列を用いて計算式の再演算を行い、再演算結果を表示部14に表示させる。
【0068】
一方、
図7のステップS1において、タッチパネル131により検出されたタッチ位置がジェスチャー操作開始の有効範囲ではないと判断した場合(ステップS1;NO)、制御部11は、通常の操作に応じた処理を実行し(ステップS19)、行列操作処理を終了する。
【0069】
このように、制御部11は、行列操作処理を実行することにより、表示部14に表示された行列に対してジェスチャー操作(スワイプ)が実施された場合、回転操作が実施されたのか、行の循環シフト操作が実施されたのか、列の循環シフト操作が実施されたのか、転置操作が実施されたのかを特定して、特定された操作に応じて行列の成分の配置を変化させることができる。
【0070】
以上説明したように、電子機器100の制御部11は、複数の成分が配列された行列を表示部14に表示させ、表示部14に表示された前記行列に対するジェスチャー操作に基づいて、前記行列内の複数の成分の配置を変化させる。
したがって、行列成分の高度な移動を直感的な操作で素早く行うことが可能となる。
【0071】
また、制御部11は、表示部14においてタッチされたタッチ位置をタッチパネル131により検出し、タッチ位置が、予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、ジェスチャー操作が開始されたと判断する。
したがって、ユーザは、ジェスチャー操作開始の有効範囲内をタッチすることで、行列内の複数の成分の配置を変化させるジェスチャー操作を開始することが可能となる。
【0072】
また、制御部11は、実施されたジェスチャー操作が、行列中心点を中心としてタッチ位置を所定の回転角度以上回転させる操作である場合に、行列の各成分の位置を行列中心点を中心として回転移動させる。
したがって、行列中心点を中心としてタッチ位置を所定の回転角度以上回転させる簡単な操作で、行列の各成分の位置を回転させることができる。
【0073】
また、行列に対する回転操作のジェスチャー操作開始の有効範囲は、行列の周囲の所定範囲であるので、行列の周囲にタッチしてタッチ位置を所定の回転角度以上回転させる簡単な操作で、行列の各成分の位置を回転させることができる。
【0074】
また、制御部11は、タッチ位置が回転された角度に基づいて、行列の各成分の位置を行列中心点を中心として所定の角度だけ回転させる。
したがって、ユーザがタッチ位置を回転させる角度を調整することで、行列の各成分の回転させる角度を調整することができる。
【0075】
また、制御部11は、検出されたタッチ位置(ジェスチャー開始点)が行列内のいずれかの行に設定された有効範囲内であり、実施されたジェスチャー操作が、タッチ位置を横方向にスライドさせる操作である場合に、行列内の操作された行の成分を循環シフトさせる。
したがって、行列内のいずれかの行をタッチして横スライドする簡単な操作で、タッチされた行の成分を循環シフトさせることができる。
【0076】
また、制御部11は、検出されたタッチ位置(ジェスチャー開始点)が行列内のいずれかの列に設定された有効範囲内であり、実施されたジェスチャー操作が、タッチ位置を縦方向にスライドさせる操作である場合に、行列内の操作された列の成分を循環シフトさせる。
したがって、行列内のいずれかの列をタッチして縦スライドする簡単な操作で、タッチされた列の成分を循環シフトさせることができる。
【0077】
また、制御部11は、循環シフト操作において、タッチ位置がスライドされた距離及び方向に基づいて、行列の成分を所定の方向に所定のシフト量だけシフトさせる。
したがって、ユーザがタッチ位置をスライドさせる距離と方向を調整することで、行列成分を循環シフトさせる方向やシフト量を調整することができる。
【0078】
また、制御部11は、検出したタッチ位置(ジェスチャー開始点)が行列の右上部、右下部、左上部、又は左下部に設定された有効範囲内であり、ジェスチャー操作が、タッチ位置を斜め方向に転置境界線L1を越えてスライドさせる操作である場合に、行列の行の成分と列の成分を入れ替えて転置行列を生成する。
したがって、タッチ位置を右上部(または左上部)から斜め下方向に転置境界線L1を越えてスライドさせる操作、又は、左下部(または右下部)から斜め上方向に転置境界線L1を越えてスライドさせる操作で、簡単に行列の行と列の成分を入れ替えることができる。
【0079】
なお、上記実施形態における記述内容は、本発明に係る行列操作方法、電子機器及びプログラムの好適な一例であり、これに限定されるものではない。
例えば、上記実施形態においては、電子機器100が本発明の行列操作方法を実行するための関数電卓アプリ121を搭載し、電子機器100の制御部11と、電子機器100に搭載された関数電卓アプリ121との協働により、本発明の行列操作方法を実現することとして説明したが、これに限定されない。例えば、
図12に示すように、電子機器100がインターネット等の通信ネットワークNを介してWebサーバ200と接続されている構成とし、本発明の行列操作方法を実行するためのプログラムがWebサーバ200で動作するWebアプリケーション221であり、電子機器100に搭載されたWebブラウザを介してWebサーバ200にWebアプリケーション221を実行させることで、本発明の行列操作方法を実現させる構成としてもよい。ここで、Webサーバ200は、
図13に示すように、CPU等により構成される制御部21と、Webアプリケーション221が記憶された記憶部22と、操作部23と、表示部24と、通信部25と、を備えて構成され、各部はバス26を介して接続されて構成されている。
【0080】
本発明の行列操作方法を実行するためのプログラムがWebアプリケーション221である場合、ジェスチャー操作に対応する行列演算(上述の、回転処理、循環シフト処理、転置処理)は、Webサーバ200側の制御部21と、記憶部22に記憶されているWebアプリケーション221との協働により実行される。例えば、電子機器100のブラウザ側では、Webアプリケーション221により提供された画面において、ユーザ操作に応じて行列を表示し、行列に対するジェスチャー操作を検出すると、引数となる行列の値と行列変形関数(回転、循環シフト、又は転置の関数)を通信部15によりセットでWebサーバ200に送信する。Webサーバ200では、制御部21とWebアプリケーション221との協働により、ブラウザ側(電子機器100)から受信した行列の値と行列変形関数に基づいて回転、循環シフト又は転置の演算を行い、結果を電子機器100のブラウザ側に送信し、電子機器100のブラウザにより結果を画面上に表示させる。
【0081】
例えば、行列回転関数をrotate(行列の値、回転角度)とし、
図3の矢印左側の行列の値を行列A、矢印右側の行列の値を行列Bとし、行列Aを-90°回転させるジェスチャー操作が実施された場合は、以下の動作が実行される。
電子機器100のブラウザより行列回転関数"rotate(行列A, -90°)"をWebサーバ200側に送信する。Webサーバ200は、受信した行列回転関数を演算して、結果"行列B"を電子機器100のブラウザ側に送信する。電子機器100の.ブラウザは、Webサーバ200より結果 "行列B" を受信して、その結果を表示する。
【0082】
また、上記実施形態では、タッチが指により表示部の画面上に触れる操作であることとして説明したが、本発明でいうタッチは、マウスをクリックする操作や、タッチペンにより表示部の画面上に触れる操作を含む。また、上記実施形態では、タッチ位置をスライドさせるジェスチャー操作が指によるスワイプである場合を例にとり説明したが、ジェスチャー操作は、マウス等によるドラッグであってもよく、タッチペンによるスライド操作であってもよい。
【0083】
また、上記実施形態では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてROM等の半導体メモリーやハードディスクを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、SSDや、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も適用される。
【0084】
その他、電子機器の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【0085】
以上に本発明の実施形態を説明したが、本発明の技術的範囲は上述の実施の形態に限定するものではなく、特許請求の範囲に記載に基づいて定められる。更に、特許請求の範囲の記載から本発明の本質とは関係のない変更を加えた均等な範囲も本発明の技術的範囲に含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
コンピュータが、
複数の成分が配列された行列を表示部に表示させ、
前記表示部に表示された前記行列に対するジェスチャー操作に基づいて、前記行列内の複数の成分の配置を変化させる、行列操作方法。
<請求項2>
前記コンピュータは、
前記表示部においてタッチされたタッチ位置を検出し、前記タッチ位置が予め設定された前記行列に対するジェスチャー操作開始の有効範囲内であると判定した場合に、前記ジェスチャー操作が開始されたと判断する請求項1に記載の行列操作方法。
<請求項3>
前記コンピュータは、
前記ジェスチャー操作が、前記行列の中心点を中心として前記タッチ位置を所定の回転角度以上回転させる操作である場合に、前記行列の各成分の位置を前記中心点を中心として回転移動させる請求項2に記載の行列操作方法。
<請求項4>
前記行列に対する前記ジェスチャー操作開始の有効範囲は、前記行列の周囲の所定範囲である請求項3に記載の行列操作方法。
<請求項5>
前記コンピュータは、
前記タッチ位置が回転された角度に基づいて、前記行列の各成分の位置を前記中心点を中心として所定の角度だけ回転させる請求項3又は4に記載の行列操作方法。
<請求項6>
前記コンピュータは、
前記検出したタッチ位置が前記行列内のいずれかの行に設定された前記有効範囲内であり、前記ジェスチャー操作が、前記タッチ位置を横方向にスライドさせる操作である場合に、前記行列の前記操作された行の成分を循環シフトさせる請求項2~5のいずれか一項に記載の行列操作方法。
<請求項7>
前記コンピュータは、
前記検出したタッチ位置が前記行列内のいずれかの列に設定された前記有効範囲内であり、前記ジェスチャー操作が、前記タッチ位置を縦方向にスライドさせる操作である場合に、前記行列の前記操作された列の成分を循環シフトさせる請求項2~6のいずれか一項に記載の行列操作方法。
<請求項8>
前記コンピュータは、
前記タッチ位置がスライドされた距離及び方向に基づいて、前記行列の成分を所定の方向に所定のシフト量だけシフトさせる請求項6又は7に記載の行列操作方法。
<請求項9>
前記コンピュータは、
前記検出したタッチ位置が前記行列の右上部又は左下部に設定された前記有効範囲内であり、前記ジェスチャー操作が、前記タッチ位置を斜め方向に前記行列の左上と右下を結ぶ直線を越えてスライドさせる操作である場合に、前記行列の行の成分と列の成分を入れ替えて転置行列を生成する請求項2~8のいずれか一項に記載の行列操作方法。
<請求項10>
前記コンピュータは、
前記検出したタッチ位置が前記行列の左上部又は右下部に設定された前記有効範囲内であり、前記ジェスチャー操作が、前記タッチ位置を斜め方向に前記行列の右上と左下を結ぶ直線を越えてスライドさせる操作である場合に、前記行列の行の成分と列の成分を入れ替えて転置行列を生成する請求項2~8のいずれか一項に記載の行列操作方法。
<請求項11>
前記表示部は、タッチパネルを備えている請求項1~10のいずれか一項に記載の行列操作方法。
<請求項12>
前記ジェスチャー操作は、スワイプである請求項11に記載の行列操作方法。
<請求項13>
前記ジェスチャー操作は、ドラッグである請求項1~10のいずれか一項に記載の行列操作方法。
<請求項14>
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて、前記行列内の複数の成分の配置を変化させる制御部、
を備える電子機器。
<請求項15>
コンピュータを、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて、前記行列内の複数の成分の配置を変化させる制御部、
として機能させるためのプログラム。
【符号の説明】
【0086】
100 電子機器
11 制御部
12 記憶部
121 関数電卓アプリ
13 操作部
131 タッチパネル
14 表示部
15 通信部
16 バス
【手続補正書】
【提出日】2024-06-11
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正の内容】
【0001】
本発明は、行列操作支援方法、電子機器及びプログラムに関する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
上記課題を解決するために、本発明に係る行列操作支援方法は、コンピュータが実行する行列操作支援方法であって、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記複数の成分の配置を変化させる制御処理を含み、前記制御処理は、前記ジェスチャー操作を前記行列から当該行列における行と列との間で成分が入れ替えられた転置行列への変換を指示する転置操作として検出した場合に、前記複数の成分を括る括弧記号の形状を一時的に所定の方向に傾斜させる、ことを特徴とする。
また、本発明に係る電子機器は、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記複数の成分の配置を変化させる制御部を備え、前記制御部は、前記ジェスチャー操作を前記行列から当該行列における行と列との間で成分が入れ替えられた転置行列への変換を指示する転置操作として検出した場合に、前記複数の成分を括る括弧記号の形状を一時的に所定の方向に傾斜させる、ことを特徴とする。
また、本発明に係るプログラムは、コンピュータを、複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記複数の成分の配置を変化させる制御手段として機能させ、前記制御手段は、前記ジェスチャー操作を前記行列から当該行列における行と列との間で成分が入れ替えられた転置行列への変換を指示する転置操作として検出した場合に、前記複数の成分を括る括弧記号の形状を一時的に所定の方向に傾斜させる、ことを特徴とする。
【手続補正4】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータが実行する行列操作支援方法であって、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記複数の成分の配置を変化させる制御処理を含み、
前記制御処理は、前記ジェスチャー操作を前記行列から当該行列における行と列との間で成分が入れ替えられた転置行列への変換を指示する転置操作として検出した場合に、前記複数の成分を括る括弧記号の形状を一時的に所定の方向に傾斜させる、
行列操作支援方法。
【請求項2】
前記転置操作は、前記行列における対角線に沿って前記行列に対応する領域内を第1位置から第2位置までスワイプする操作として設定されている、
ことを特徴とする請求項1に記載の行列操作支援方法。
【請求項3】
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記複数の成分の配置を変化させる制御部を備え、
前記制御部は、前記ジェスチャー操作を前記行列から当該行列における行と列との間で成分が入れ替えられた転置行列への変換を指示する転置操作として検出した場合に、前記複数の成分を括る括弧記号の形状を一時的に所定の方向に傾斜させる、
電子機器。
【請求項4】
コンピュータを、
複数の成分が配列された行列を表示部に表示させ、前記表示部に表示された前記行列に対するジェスチャー操作に基づいて前記複数の成分の配置を変化させる制御手段として機能させ、
前記制御手段は、前記ジェスチャー操作を前記行列から当該行列における行と列との間で成分が入れ替えられた転置行列への変換を指示する転置操作として検出した場合に、前記複数の成分を括る括弧記号の形状を一時的に所定の方向に傾斜させる、
プログラム。