(57)【要約】【課題】優れたインターフェースを有するアプリケーションを提供する。【解決手段】プログラムは、情報端末に、関数及び座標エリアの情報を含む送信データをサーバ宛に送信することと、送信データに基づいてサーバが処理した結果であり、関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータをサーバから受信して記録することと、描画点の座標に基づいて、グラフを描画することと、小数表示形式でグラフの上の点の座標を表示するときには、記録された小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、数学的に正しい値を示す数式表示形式でグラフの上の点の座標を表示するときには、当該点の情報をサーバ宛に送信し、当該情報により示される点を表すサーバが作成したデータであって、数式表示形式で当該座標を表示するためのデータを受信して、当該データを用いて座標を表示することとを実行させる。【選択図】図１
2019185691.tif 000002
【特許請求の範囲】
【請求項１】
サーバと通信する情報端末に、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して記録することと、
前記描画点の座標に基づいて、グラフを描画することと、
小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、
数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することと
を実行させるためのプログラム。
【請求項２】
前記小数表示形式で前記グラフの上の点の座標を表示するときには、座標を表示すべき点の指定位置が変更される度に、前記座標を表示することを繰り返し行うことを前記情報端末に実行させるための請求項１に記載のプログラム。
【請求項３】
数式表示形式で前記グラフの上の点の座標を表示するときには、座標を表示すべき点の指定位置が変更された後に座標を表示すべき点の位置が定まったら、前記数式データを受信するために当該点の情報を前記サーバ宛に送信する、請求項１又は２に記載のプログラム。
【請求項４】
前記小数表示形式で前記グラフの上の点の座標を表示しているときに、表示形式が前記数式表示形式に変更されたことを検出したら、当該点の情報を前記サーバ宛に送信し、当該情報に基づいて前記サーバが作成した数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することをさらに前記情報端末に実行させるための請求項１乃至３のうち何れか１項に記載のプログラム。
【請求項５】
前記数式表示形式で前記グラフの上の点の座標を表示しているときに、表示形式が前記小数表示形式に変更されたことを検出したら、記録された前記小数表示形式で表現された当該点の座標の情報を用いて座標を表示することをさらに前記情報端末に実行させるための請求項１乃至４のうち何れか１項に記載のプログラム。
【請求項６】
サーバと通信する情報端末に、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であるグラフの描画点の座標であって、小数表示形式と数学的に正しい値を示す数式表示形式とで表現された前記座標の情報を含むデータを前記サーバから受信して記録することと、
前記小数表示形式の前記描画点の座標に基づいて、前記グラフを描画することと、
前記グラフの上の点の座標を表示するときには、前記小数表示形式で表示するか前記数式表示形式で表示するかに応じて、記録された前記小数表示形式の前記座標の情報又は前記数式表示形式の前記座標の情報を用いて、座標を表示することと
を実行させるためのプログラム。
【請求項７】
サーバと通信する情報端末が、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して記録することと、
前記描画点の座標に基づいて、グラフを描画することと、
小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、
数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することと
を含む情報処理方法。
【請求項８】
サーバと通信する情報端末に、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であるグラフの描画点の座標であって、小数表示形式と数学的に正しい値を示す数式表示形式とで表現された前記座標の情報を含むデータを前記サーバから受信して記録することと、
前記小数表示形式の前記描画点の座標に基づいて、前記グラフを描画することと、
前記グラフの上の点の座標を表示するときには、前記小数表示形式で表示するか前記数式表示形式で表示するかに応じて、記録された前記小数表示形式の前記座標の情報又は前記数式表示形式の前記座標の情報を用いて、座標を表示することと
を含む情報処理方法。
【請求項９】
サーバと通信する情報端末であって、
記憶装置と、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して前記記憶装置に記録することと、
前記描画点の座標に基づいて、グラフを描画することと、
小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、
数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することと
を実行するプロセッサと
を備える情報端末。
【請求項１０】
サーバと通信する情報端末であって、
記憶装置と、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であるグラフの描画点の座標であって、小数表示形式と数学的に正しい値を示す数式表示形式とで表現された前記座標の情報を含むデータを前記サーバから受信して前記記憶装置に記録することと、
前記小数表示形式の前記描画点の座標に基づいて、前記グラフを描画することと、
前記グラフの上の点の座標を表示するときには、前記小数表示形式で表示するか前記数式表示形式で表示するかに応じて、記録された前記小数表示形式の前記座標の情報又は前記数式表示形式の前記座標の情報を用いて、座標を表示することと
を実行するプロセッサと
を備える情報端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理方法及び情報端末に関する。
【背景技術】
【０００２】
ウェブブラウザ上で利用可能なグラフ描画アプリケーションが知られている。例えば、非特許文献１は、ウェブブラウザ上で動作する次のようなアプリケーションについて開示する。このアプリケーションでは、ユーザが式リストに入力した数式に基づいて演算が行われ、演算の結果に基づくグラフがウェブブラウザ上に描画される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｄｅｓｍｏｓ，ｄｅｓｍｏｓ  ユーザーガイド，堀川由人  訳［ｏｎｌｉｎｅ］，［平成３０年４月１６日検索］、インターネット＜ＵＲＬ：https://desmos.s3.amazonaws.com/Desmos_User_Guide_JA.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、優れたインターフェースを有するアプリケーションを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、プログラムは、サーバと通信する情報端末に、関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して記録することと、前記描画点の座標に基づいて、グラフを描画することと、小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することとを実行させる。
【図面の簡単な説明】
【０００６】
【図１】図１は、一実施形態に係るシステムの構成例の概略を示すブロック図である。
【図２】図２は、一実施形態に係る端末の動作の一部についての例の概略を示すフローチャートである。
【図３】図３は、一実施形態に係るグラフ描画処理の一例の概略を示すフローチャートである。
【図４Ａ】図４Ａは、一実施形態に係るトレース処理の一例の概略を示すフローチャートである。
【図４Ｂ】図４Ｂは、一実施形態に係るトレース処理の一例の概略を示すフローチャートである。
【図５Ａ】図５Ａは、端末に表示されるグラフ付箋に関する画面の一例を示す図である。
【図５Ｂ】図５Ｂは、端末に表示されるグラフ付箋に関する画面の一例を示す図である。
【発明を実施するための形態】
【０００７】
本発明の一実施形態について図面を参照して説明する。本実施形態は、学校教育の場等で用いられるウェブを利用したアプリケーションに関する。本実施形態のアプリケーションは、特に数学教育で用いられる。
【０００８】
［システムの構成］
図１は、本実施形態に係るシステム１の構成例の概略を示す図である。システム１は、クライアントとしての端末１０と、Ｗｅｂサーバ２０と、演算サーバ３０とを含む。端末１０は、例えばパーソナルコンピュータ（ＰＣ）、タブレット型の情報端末、スマートフォン等といった各種の情報端末である。各端末では、ウェブブラウザが動作する。各端末は、ウェブブラウザを用いて、インターネットといったネットワーク５０を介して演算サーバ３０に接続されたＷｅｂサーバ２０にアクセスし、ウェブアプリケーションを実行する。
【０００９】
図１には、１台の端末１０が示されているが、システム１に含まれる端末の台数は何台であってもよい。何台の端末がウェブアプリケーションを実行してもよい。
【００１０】
端末１０は、図１に示すように、バスライン１９を介して互いに接続されたCentral Processing Unit（ＣＰＵ）１１と、Read Only Memory（ＲＯＭ）１２と、Random Access Memory（ＲＡＭ）１３と、ストレージ１４と、入力装置１５と、表示装置１６と、通信装置１７とを備える。ＣＰＵ１１は、各種信号処理等を行う。ＣＰＵに代えて又はＣＰＵと共に、Application Specific Integrated Circuit（ＡＳＩＣ）、Field Programmable Gate Array（ＦＰＧＡ）、又はGraphics Processing Unit（ＧＰＵ）等の各種集積回路が用いられてもよい。すなわち、端末１０では、各種プロセッサが用いられ得る。ＲＯＭ１２は、起動プログラム等を記録している。ＲＡＭ１３は、ＣＰＵ１１の主記憶装置として機能する。ＲＡＭ１３には、例えば、Dynamic ＲＡＭ（ＤＲＡＭ）、Static ＲＡＭ（ＳＲＡＭ）等が用いられ得る。ストレージ１４には、例えば、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、Embedded Multi Media Card（ｅＭＭＣ）等が用いられる。ストレージ１４には、ＣＰＵ１１で用いられるプログラム、パラメータ等各種情報が記録されている。ＲＡＭ１３及びストレージ１４は、これに限らず各種記憶装置に置換され得る。入力装置１５は、例えばキーボード、マウス、タッチパネル等である。表示装置１６は、例えば液晶ディスプレイ、有機ＥＬディスプレイ等である。通信装置１７は、端末１０の外部の機器と通信を行う際に用いられる。通信装置１７は、例えばインターネットといったネットワーク５０に接続する。
【００１１】
Ｗｅｂサーバ２０上には、ウェブアプリケーションのバッグエンドサーバが存在する。Ｗｅｂサーバ２０は、ウェブアプリケーションの実現に必要な処理を担っている。Ｗｅｂサーバ２０のさらに背後には、各種関数の演算を実行する演算サーバ３０が存在している。演算サーバ３０の演算エンジンには、Ｗｅｂサーバ２０のバッグエンドサーバからのみアクセスでき、外部からは直接アクセスできないようになっており、演算エンジンは秘匿されている。
【００１２】
演算サーバ３０は、図１に示すように、バスライン３９を介して互いに接続されたプロセッサ３１と、ＲＯＭ３２と、ＲＡＭ３３と、ストレージ３４と、通信装置３５とを備える情報処理装置である。プロセッサ３１は、各種信号処理等を行う。ＲＯＭ３２は、プロセッサ３１の動作に用いられる情報を記録している。ＲＡＭ３３は、プロセッサ３１の主記憶装置として機能する。ストレージ３４には、各種記録媒体が用いられ得る。ストレージ３４には、プロセッサ３１で用いられるプログラム、パラメータ等各種情報が記録されている。
【００１３】
本実施形態では、入力と表示とは、「付箋」と呼ぶ小さな枠を持つ表示領域の組み合わせを用いて行われる。付箋には複数の種類が存在する。端末１０の表示装置１６に表示される画面例を示す図５Ａには、数式付箋１１０及びグラフ付箋１３０等が示されている。数式付箋１１０は、関数を表す数式が入力される付箋である。グラフ付箋１３０は、グラフが描画される付箋である。グラフ付箋１３０には、例えば数式付箋１１０に入力された式に関するグラフが表示される。数式付箋１１０とグラフ付箋１３０との間には互いに関連があるのでこのような付箋は、紐１２０と呼ばれる線で結びつけられている。
【００１４】
［システムの動作］
本実施形態に係るシステム１は、多くの機能を有している。そのうちいくつかの例について説明する。各機能は、端末１０、Ｗｅｂサーバ２０及び演算サーバ３０が協働することで実現される。例えば、ウェブブラウザが動作する端末１０がＷｅｂサーバ２０にアクセスしたとき、端末１０はＷｅｂサーバ２０からプログラムを取得する。端末１０は、ウェブブラウザ上でこのプログラムを実行する。端末１０は、ユーザが端末１０の入力装置１５を操作してウェブブラウザ上に入力した情報に基づいて、各種演算及び表示を行う。端末１０は、演算サーバ３０による演算が必要なとき、当該演算に必要な情報を、Ｗｅｂサーバ２０を介して演算サーバ３０へ送信する。演算サーバ３０は、端末１０から取得した情報に基づいて各種演算を行う。演算サーバ３０は、演算結果を、Ｗｅｂサーバ２０を介して端末１０宛に送信する。端末１０は、演算サーバ３０から取得した情報に基づいて、表示装置１６に各種画像を表示する。
【００１５】
本実施形態に係る端末１０の動作について、図２乃至４Ｂに示すフローチャートを参照して説明する。説明にあたって、図５Ａ及び図５Ｂに示すグラフ付箋１３０に関連する画面例を適宜に参照する。
【００１６】
図２は、端末１０の動作の一部についての例の概略を示すフローチャートである。
【００１７】
ステップＳ１０１において、端末１０は、グラフを描画することに関する指示が入力されたか否かを判定する。グラフ描画に関する指示が入力されていないとき、処理はステップＳ１０３に進む。グラフ描画に関する指示が入力されたとき処理はステップＳ１０２に進む。
【００１８】
ステップＳ１０２において、端末１０は、グラフ描画処理を行う。グラフ描画処理について図３に示すフローチャートを参照して説明する。
【００１９】
ステップＳ２０１において、端末１０は、表示装置１６に空の数式付箋１１０を含む画面１０１を表示する。空の数式付箋１１０（不図示）とは、文字や数字、数式などが何も表示されていない状態の数式付箋１１０のことである。状態によって、カーソルが数式付箋１１０に表示されていてよい。この時点では、グラフ付箋１３０及び紐１２０は、まだ表示されていない。
【００２０】
ステップＳ２０２において、端末１０は、入力装置１５を用いて数式付箋１１０へのユーザの入力を受け付ける。ユーザは、入力装置１５のキーボードを用いて数式付箋１１０に数式を入力してもよいし、表示装置１６に表示されるソフトウェアキーボードを用いて数式付箋１１０に数式を入力してもよい。端末１０は、入力に応じて、数式付箋１１０の表示を更新する。ユーザは、所望の数式を入力し終わると、数式を確定する旨の入力を行う。
【００２１】
ステップＳ２０３において、端末１０は、数式付箋１１０に入力された数式が確定したか否かを判定する。数式が確定されるまで、処理はステップＳ２０２を繰り返し、数式付箋１１０への入力を受け付ける。数式が確定されたと判定されたとき、処理はステップＳ２０４に進む。
【００２２】
ステップＳ２０４において、端末１０は、確定された数式、グラフを描画する座標エリア、及び各種設定等の情報を特定し、それらの情報をＷｅｂサーバ２０を介して演算サーバ３０宛に送信する。図５Ａの例では、ｙ＝√ｘという関数と、−１≦ｘ≦５及び−１≦ｙ≦５という座標エリアと、描画点の間隔などを含むその他の設定とを含むデータが、演算サーバ３０宛にリクエストとして送信される。
【００２３】
ステップＳ２０５において、演算サーバ３０は、Ｗｅｂサーバ２０を介して、端末１０から送信された数式、座標エリア、各種設定等の情報を受信する。ステップＳ２０６において、演算サーバ３０は、受信した情報に基づいて、関数を表すグラフを描画するために必要な描画点の座標を算出する。図５Ａの例では、演算サーバ３０は、−１≦ｘ≦５の範囲で、指定された間隔で、ｙ＝√ｘを表す多数の描画点の各々の座標を算出する。ただし、−１≦ｘ＜０の範囲は描画点が存在しないことを示す情報が結果として出力される。ここで算出される座標は、適当な有効桁数を持つ小数で表現された、後述する小数表示形式で表現されたものである。
【００２４】
また、ステップＳ２０６で、演算サーバ３０は、上記で算出した、小数表示形式で表現された描画点の座標群のデータを、ｘ座標の昇順又は降順で、ストレージ３４に記録する。ここで、上記の指定された間隔は、例えば、表示装置１６の画面で、グラフ付箋のグラフ表示エリア１３１のｘ座標の範囲（−１≦ｘ≦５）に応じたピクセル幅に基づいて決定されてよく、ｘ座標の範囲をピクセル幅で除した数をその最小の間隔としてよい。これにより、算出された座標を、できるだけ忠実に、表示装置１６の画面で表示することができる。
【００２５】
ステップＳ２０７において、演算サーバ３０は、算出した描画点の座標群のデータを、Ｗｅｂサーバ２０を介して端末１０宛にレスポンスとして送信する。
【００２６】
ステップＳ２０８において、端末１０は、Ｗｅｂサーバ２０を介して、レスポンスとしての描画点の座標群のデータを受信する。端末１０は、受信した描画点の座標群の値を、当該数式等と共にストレージ１４に記録する。
【００２７】
ステップＳ２０９において、端末１０は、画面１０１に、数式付箋１１０と紐１２０で関連付けられたグラフ付箋１３０を作成する。ステップＳ２１０において、端末１０は、グラフ付箋のグラフ表示エリア１３１に、演算サーバ３０が算出した各描画点の座標に基づいて、描画点をプロットする。端末１０は、描画点同士を線で結ぶことで、グラフ１３６を描画する。
【００２８】
以上で、グラフ描画処理は終了し、処理は図２を参照して説明しているメインフローに戻る。グラフ描画処理の後、処理はステップＳ１０３に進む。
【００２９】
上述のようなグラフ描画は、例えば新しい数式が追加される度に行われ得る。１つのグラフ付箋１３０には、複数のグラフが描画されてもよいし、複数のグラフ付箋が作成され、その各々にグラフが描画されてもよい。また、グラフ表示エリア１３１のｘ座標の範囲及びｙ座標の範囲は、ユーザの操作等によって適宜に変更され得る。これらの範囲が変更されたときには、上述のグラフ描画処理のステップＳ２０４乃至ステップＳ２１０と同様の処理が行われる。すなわち、端末１０から数式及び変更された座標エリア等が演算サーバ３０宛に送信され、演算サーバ３０が新たな描画点の座標群を算出し、この座標群に基づいて端末１０がグラフを再描画する。
【００３０】
ステップＳ１０３において、端末１０は、トレース操作が行われたか否かを判定する。本実施形態のシステム１は、グラフィックカーソルがグラフエリア中に描画されたグラフ上の位置に合わせられると、当該位置の座標が表示される機能を有する。例えば、図５Ａに示すように、グラフィックカーソル１４１がグラフ１３６上の点に配置されたとき、その点を表す第１のマーカ１５１が表示され、その点の座標を示す第１の座標値１５２が表示される。グラフィックカーソルの位置を矢印２１１で示すように移動させて、グラフィックカーソル１４２がグラフ１３６上の他の点に配置されたとする。このとき、その点を表す第２のマーカ１５５が表示され、その点の座標を示す第２の座標値１５６が表示される。図５Ａでは作図の都合上、グラフィックカーソル１４１、第１のマーカ１５１及び第１の座標値１５２と、グラフィックカーソル１４２、第２のマーカ１５５及び第２の座標値１５６とが両方表示されている。しかし実際には、グラフィックカーソルの移動に伴って、前の表示は消され、各時点でのグラフィックカーソルの位置に応じてマーカと座標値とが表示される。
【００３１】
さらに、本実施形態のシステム１は、座標の表示形式について、小数表示形式と数式表示形式とが選択され得るように構成されている。小数表示形式とは、図５Ａの第２の座標値１５６の「(2,1.414)」のように、小数を用いて表記される形式である。小数表示形式は、Decimal形式とも呼ばれる。数式表示形式とは、図５Ｂに示す画面１０２の第４の座標値１６６の「(2,√2)」のように、数式・数学記号などを用いて表記される形式である。数式表示形式は、数学的に正しい値を表示するものであり、平方根、三角関数、分数、円周率（π）、ネイピア数（ｅ）、log等を用いた表示形式である。数式表示形式は、Standard形式とも呼ばれる。
【００３２】
小数表示形式が設定されている場合には、座標は、グラフを描画する際に用いられた描画点の座標情報を用いて素早く表示される。数式表示形式が設定されている場合には、端末１０は、座標の値をサーバ側に問合せ、サーバで用意された画像を用いて座標を表示する。
【００３３】
グラフィックカーソルをグラフ上に合わせるような操作が検出されたとき、ステップＳ１０３でトレース操作が行われたと判定される。トレース操作が行われていないとき、処理はステップＳ１０５に進む。トレース操作が行われたと判定されたとき、処理はステップＳ１０４に進む。ステップＳ１０４において、端末１０は、トレース処理を実行する。トレース処理について図４Ａ及び図４Ｂに示すフローチャートを参照して説明する。
【００３４】
ステップＳ３０１において、端末１０は、グラフィックカーソルによって指定された位置の情報を取得することを開始する。この後、端末１０は、グラフィックカーソルによって指定された指定位置の取得を所定の周期などで定期的に繰り返し、得られた指定位置に応じた処理を行う。
【００３５】
ステップＳ３０２において、端末１０は、現在の表示設定が小数表示形式であるか数式表示形式であるかを判定する。現在の設定が数式表示形式であると判定されたとき、処理はステップＳ３０８に進む。現在の設定が小数表示形式であると判定されたとき、処理はステップＳ３０３に進む。
【００３６】
ステップＳ３０３において、端末１０は、ステップＳ２０８で記録された描画点の中から、ステップＳ３０１で取得された現在の指定位置に最も近い描画点を選択する。端末１０は、選択した描画点について記録された座標値を読み出す。ステップＳ３０４において、端末１０は、読み出した座標値に基づいて、小数表示形式で指定位置の座標値をグラフ表示エリア１３１に表示する。
【００３７】
ステップＳ３０５において、端末１０は、表示設定が数式表示形式に変更されたか否かを判定する。表示設定は、例えばマウスの右クリックで表示されるメニューから表示設定が選択されることで変更され得る。表示設定が数式表示形式に変更されたとき、処理はステップＳ３０８に進む。数式表示に変更されていないとき、処理はステップＳ３０６に進む。
【００３８】
ステップＳ３０６において、端末１０は、トレース処理を終了するか否かを判定する。例えば指定位置が現在選択されているグラフから所定距離以上離れたとき、本処理を終了すると判定される。終了すると判定されたとき、トレース処理は終了し、処理は図２を参照して説明しているメインフローに戻る。トレース処理を終了しないと判定されたとき、処理はステップＳ３０７に進む。
【００３９】
ステップＳ３０７において、端末１０は、指定位置が変化したか否かを判定する。指定位置が変化していないとき、処理はステップＳ３０５に戻る。すなわち、表示設定が数式表示形式に変更されていないか、トレース処理は終了しないかを繰り返し判定する。ステップＳ３０７で指定位置が変化したと判定されたとき、処理はステップＳ３０３に戻る。すなわち、指定位置に最も近い描画点が選択されて当該選択点の座標値が小数表示形式で表示される。このようにして、表示設定が小数表示形式であり、指定位置がグラフ上である間は、グラフィックカーソルで指定された指定位置の座標が図５Ａに示すように次々と小数表示形式で表示される。
【００４０】
表示設定が数式表示形式であるとき、或いは、数式表示形式に変更されたとき、端末１０は、次のように動作する。ステップＳ３０８において、端末１０は、ステップＳ２０８で記録された描画点の中から、指定位置に最も近い描画点を選択する。端末１０は、グラフの数式と選択した描画点の座標値とを読み出す。ステップＳ３０９において、端末１０は、読み出した数式と座標値とを、Ｗｅｂサーバ２０宛に送信する。
【００４１】
ステップＳ３１０において、Ｗｅｂサーバ２０は、端末１０によって送信された数式と選択された描画点の座標値とを受信する。ステップＳ３１１において、Ｗｅｂサーバは、選択された描画点に関して、数式表示形式で表示した場合の座標値を演算サーバ３０に算出させる。ステップＳ３１１で、演算サーバ３０は、受信した選択点の座標値（例えば、ｘ座標）に基づいて、受信した選択点が、複数の描画点のうちの昇順又は降順で何番目の描画点であるかを決定する。決定した描画点の順位に基づいて、数式表示形式による座標値（ｘ座標及びｙ座標）を決定する。
【００４２】
Ｗｅｂサーバ２０は、演算サーバ３０から算出結果を取得する。Ｗｅｂサーバ２０は、算出結果に基づいて、数式表示形式によって座標値を示す画像を作成する。ステップＳ３１２において、Ｗｅｂサーバ２０は、選択点の座標を数式表示形式で表示する作成した画像又はＷｅｂサーバ２０に保存された当該画像のアドレスを端末１０宛に送信する。
【００４３】
ステップＳ３１３において、端末１０は、選択点の座標を数式表示形式で示す画像を受信する。ステップＳ３１４において、端末１０は、受信した画像を用いて数式表示形式で指定位置の座標値をグラフ表示エリア１３１に表示する。
【００４４】
ステップＳ３１５において、端末１０は、表示設定が小数表示形式に変更されたか否かを判定する。小数表示形式に変更されたとき、処理はステップＳ３０３に戻る。すなわち、指定位置の座標が小数表示形式で表示される。ステップＳ３１５で小数表示形式に変更しないと判定されたとき、処理はステップＳ３１６に進む。
【００４５】
ステップＳ３１６において、端末１０は、トレース処理を終了するか否かを判定する。終了すると判定されたとき、トレース処理は終了し、処理は図２を参照して説明しているメインフローに戻る。終了しないと判定されたとき、処理はステップＳ３１７に進む。
【００４６】
ステップＳ３１７において、端末１０は、指定位置が変化したか否かを判定する。指定位置が変化していないとき、処理はステップＳ３１５に戻る。すなわち、表示設定が小数表示形式に変更されていないか、トレース処理を終了しないかを繰り返し判定する。ステップＳ３１７で指定位置が変化したと判定されたとき、処理はステップＳ３１８に進む。
【００４７】
ステップＳ３１８において、端末１０は、指定位置の変化が停止したか否かを判定する。指定位置の変化が停止していないと判定されたとき、停止するまで待機する。指定位置の変化が停止して、指定位置が定まったと判定されたとき、処理はステップＳ３０８に戻る。すなわち、指定位置の変化が停止した後に、端末１０は、指定位置に最も近い描画点を選択する。端末１０は、選択した描画点に関する情報をリクエストとしてＷｅｂサーバ２０宛に送信し、レスポンスとして当該描画点の座標を数式表示形式で示す画像を受信する。端末１０は、受信した画像に基づいて、座標を表示する。数式表示形式による座標表示では、端末１０とＷｅｂサーバ２０との間の通信が発生するため、指定位置が変化している最中に選択点の座標値を求め続けることは効率的でない。このため、指定位置の変化が停止した後に選択点の数式表示形式による座標値を求め、それを表示する。通信資源に余裕がある場合には、指定位置が変化している最中に選択点の座標値が連続的に求め続けられてもよい。
【００４８】
上述の動作によって、例えば図５Ｂに示すように、グラフィックカーソル１４３がグラフ１３６上の点に配置されたとき、その点を表す第３のマーカ１６１が表示され、その点の座標を示す第３の座標値１６２が数式表示形式で表示される。グラフィックカーソルの位置を矢印２１２で示すように移動されて、グラフィックカーソル１４４がグラフ１３６上の他の点に配置されたとき、その点を表す第４のマーカ１６５が表示され、その点の座標を示す第４の座標値１６６が表示される。図５Ｂでは作図の都合上、グラフィックカーソル１４３、第３のマーカ１６１及び第３の座標値１６２と、グラフィックカーソル１４４、第４のマーカ１６５及び第４の座標値１６６とが両方表示されている。しかし実際には、グラフィックカーソルの移動に伴って、新しい表示がされるとき、前のマーカと座標値との表示は消され、新しいグラフィックカーソルの位置に応じて新しいマーカと座標値とが表示される。
【００４９】
図２に戻って説明を続ける。ステップＳ１０５において、端末１０は、本処理を終了するか否かを判定する。終了しないと判定されたとき、処理はステップＳ１０１に戻る。すなわち、上述の終了は繰り返される。ステップＳ１０５において終了すると判定されたとき、本処理は終了する。
【００５０】
本実施形態によれば、グラフ表示エリア１３１中に描画されたグラフ１３６上の点が指定されたときにその点の座標が表示されるトレース処理が実行され得る。このトレース処理において、小数表示形式と数式表示形式との２種類の表示形式が選択され得る。小数表示形式による表示では、グラフ１３６を描画するときに用いられた描画点の座標が用いられるので、グラフィックカーソルの移動に応じた高い追従性が実現され得る。一方、数式表示形式による表示では、Ｗｅｂサーバ２０との通信が必要となるため、追従性は悪くなるものの、近似値ではなくて数学的に正しい値が表示され得る。
【００５１】
本実施形態に係るシステム１では、比較的複雑な演算は、Ｗｅｂサーバ２０の背後にある演算サーバ３０で行われる。このような構成によって、複雑な演算が高い処理能力を有する演算サーバ３０を用いて実現され得る。端末１０では複雑な処理が行われる必要がないため、端末１０による処理が軽減される。端末１０から送信される情報は、関数等であり、端末１０が受信する情報は描画点の座標値であったり、それを数式表示形式で示した画像データであったりする。このため、演算サーバ３０で行われる処理が秘匿化され得る。
【００５２】
上述の実施形態では、座標を表示すべき点の位置を、ユーザがグラフィックカーソルで指定する例を挙げたが、位置指定の方法はこれに限らない。例えばグラフが表示される表示装置１６にタッチパネルが重ねて設けられている場合、位置の指定はユーザが所望の位置をタッチパネル上でタッチすることによって行われてもよい。また、例えば指定位置のｘ座標をキーボードを使って入力することで位置が指定されてもよい。また、例えばグラフの交点の座標が表示されてもよく、この場合交わるグラフの関数が入力されることで、当該交点が指定されてもよい。
【００５３】
上述の実施形態では、数式表示形式で座標を表示するためにＷｅｂサーバ２０から端末１０に送られるデータが、座標を表す画像である場合を例に挙げて説明したがこれに限らない。端末１０が数式表示形式で座標を表示できれば、データ形式は問わない。数式表示形式で座標を表示するために必要なデータであってＷｅｂサーバ２０から端末１０に送信されるデータを数式データとしたときに、端末１０がこの数式データに基づいて数式表示形式で座標を表示できれば、数式データはどのような形式であってもよい。
【００５４】
また、上述の実施形態では、グラフ描画処理におけるステップＳ２０５乃至ステップＳ２０７において、演算サーバ３０は、グラフの描画のために描画点の座標を小数表示形式でのみ算出し、その値を端末１０宛に送信している。端末１０は、数式表示形式の座標データを有していないので、数式表示形式で座標を表示する際には、トレース処理のステップＳ３０８乃至ステップＳ３１４の処理のように、その都度、Ｗｅｂサーバ２０に数式表示形式の座標の情報をリクエストしている。これに対して、グラフ描画処理で演算サーバ３０が全ての描画点について小数表示形式と数式表示形式とで座標データを作成し、端末１０がこれらデータの全てを取得して保持してもよい。この場合、トレース処理では、表示設定が数式表示であっても、端末１０は、Ｗｅｂサーバ２０に座標情報をリクエストする必要はなく、予め保持したデータに基づいて素早く座標の表示を行える。
【００５５】
ただし、全ての描画点について数式表示形式で座標を求めるには時間を要するので、グラフの描画を早く行うために、次のような順に処理が行われてもよい。すなわち、演算サーバ３０は、まず小数表示形式で座標を算出し、それを端末１０宛に送信する。端末１０は、この情報に基づいてグラフを描画する。演算サーバ３０とＷｅｂサーバ２０とは、小数表示形式の座標データを送信後に、数式表示形式の座標データを順次作成し、それらを端末１０宛に送信してもよい。
【００５６】
あるいは、演算サーバ３０は、まず小数表示形式で座標を算出し、ステップＳ２０７で、それを端末１０宛に送信する。並行して、演算サーバ３０とＷｅｂサーバ２０とは、小数表示形式の座標データを送信後に、数式表示形式の座標データを順次作成し、ストレージ３４に記憶しておく。ステップＳ３１２で、演算サーバ３０は、ストレージ３４に記憶された数式表示形式の座標データを読み出し、読み出された数式表示形式の座標データを、Ｗｅｂサーバ２０が端末１０宛に送信する。これにより、ステップＳ３１０で、数式と選択された描画点の座標値とを受信した後、数式表示形式の座標値を算出する処理を演算サーバ３０が行うことなく、即時に、数式表示形式の座標データを端末１０宛に送信することができ、ユーザによるトレース操作に対する応答時間を短縮できる。
【００５７】
端末１０で動作するプログラムは、例えばJavaScript（登録商標）を用いて記述され得る。端末１０とＷｅｂサーバ２０との間の送受信は、ＨＴＴＰプロトコルを介して行われ、送受信される情報を例えばＲＥＳＴ形式ＪＳＯＮデータとして、HTTP POST/GETを介して行われ得る。
【００５８】
上述の実施形態では、数学教育のためのアプリケーション例を示したが、これに限らない。上述の技術は、各種教育用のアプリケーションに適用され得る。また、教育用に限らず、解析用のアプリケーション等、種々のアプリケーションに適用され得る。特に、数学、物理、化学その他の科学分野、或いは工学分野のアプリケーションに適用され得る。
【００５９】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００６０】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］
サーバと通信する情報端末に、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して記録することと、
前記描画点の座標に基づいて、グラフを描画することと、
小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、
数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することと
を実行させるためのプログラム。
［２］
前記小数表示形式で前記グラフの上の点の座標を表示するときには、座標を表示すべき点の指定位置が変更される度に、前記座標を表示することを繰り返し行うことを前記情報端末に実行させるための［１］に記載のプログラム。
［３］
数式表示形式で前記グラフの上の点の座標を表示するときには、座標を表示すべき点の指定位置が変更された後に座標を表示すべき点の位置が定まったら、前記数式データを受信するために当該点の情報を前記サーバ宛に送信する、［１］又は［２］に記載のプログラム。
［４］
前記小数表示形式で前記グラフの上の点の座標を表示しているときに、表示形式が前記数式表示形式に変更されたことを検出したら、当該点の情報を前記サーバ宛に送信し、当該情報に基づいて前記サーバが作成した数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することをさらに前記情報端末に実行させるための［１］乃至［３］のうち何れか１項に記載のプログラム。
［５］
前記数式表示形式で前記グラフの上の点の座標を表示しているときに、表示形式が前記小数表示形式に変更されたことを検出したら、記録された前記小数表示形式で表現された当該点の座標の情報を用いて座標を表示することをさらに前記情報端末に実行させるための［１］乃至［４］のうち何れか１項に記載のプログラム。
［６］
サーバと通信する情報端末に、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であるグラフの描画点の座標であって、小数表示形式と数学的に正しい値を示す数式表示形式とで表現された前記座標の情報を含むデータを前記サーバから受信して記録することと、
前記小数表示形式の前記描画点の座標に基づいて、前記グラフを描画することと、
前記グラフの上の点の座標を表示するときには、前記小数表示形式で表示するか前記数式表示形式で表示するかに応じて、記録された前記小数表示形式の前記座標の情報又は前記数式表示形式の前記座標の情報を用いて、座標を表示することと
を実行させるためのプログラム。
［７］
サーバと通信する情報端末が、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して記録することと、
前記描画点の座標に基づいて、グラフを描画することと、
小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、
数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することと
を含む情報処理方法。
［８］
サーバと通信する情報端末に、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であるグラフの描画点の座標であって、小数表示形式と数学的に正しい値を示す数式表示形式とで表現された前記座標の情報を含むデータを前記サーバから受信して記録することと、
前記小数表示形式の前記描画点の座標に基づいて、前記グラフを描画することと、
前記グラフの上の点の座標を表示するときには、前記小数表示形式で表示するか前記数式表示形式で表示するかに応じて、記録された前記小数表示形式の前記座標の情報又は前記数式表示形式の前記座標の情報を用いて、座標を表示することと
を含む情報処理方法。
［９］
サーバと通信する情報端末であって、
記憶装置と、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であり、前記関数を表すグラフを描画するための、小数表示形式で表現された描画点の座標を含むデータを前記サーバから受信して前記記憶装置に記録することと、
前記描画点の座標に基づいて、グラフを描画することと、
小数表示形式で前記グラフの上の点の座標を表示するときには、記録された前記小数表示形式で表現された描画点の座標の情報を用いて座標を表示することと、
数学的に正しい値を示す数式表示形式で前記グラフの上の点の座標を表示するときには、当該点の情報を前記サーバ宛に送信し、当該情報により示される前記点を表す、前記サーバが作成したデータであって、数式表示形式で当該座標を表示するための数式データを受信して、当該数式データを用いて座標を表示することと
を実行するプロセッサと
を備える情報端末。
［１０］
サーバと通信する情報端末であって、
記憶装置と、
関数及び座標エリアの情報を含む送信データを前記サーバ宛に送信することと、
前記送信データに基づいて前記サーバが処理した結果であるグラフの描画点の座標であって、小数表示形式と数学的に正しい値を示す数式表示形式とで表現された前記座標の情報を含むデータを前記サーバから受信して前記記憶装置に記録することと、
前記小数表示形式の前記描画点の座標に基づいて、前記グラフを描画することと、
前記グラフの上の点の座標を表示するときには、前記小数表示形式で表示するか前記数式表示形式で表示するかに応じて、記録された前記小数表示形式の前記座標の情報又は前記数式表示形式の前記座標の情報を用いて、座標を表示することと
を実行するプロセッサと
を備える情報端末。
【符号の説明】
【００６１】
１…システム、１０…端末、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ストレージ、１５…入力装置、１６…表示装置、１７…通信装置、１９…バスライン、２０…Ｗｅｂサーバ、３０…演算サーバ、３１…プロセッサ、３２…ＲＯＭ、３３…ＲＡＭ、３４…ストレージ、３５…通信装置、３９…バスライン、５０…ネットワーク。
【図１】
2019185691.tif 000003
【図２】
2019185691.tif 000004
【図３】
2019185691.tif 000005
【図４Ａ】
2019185691.tif 000006
【図４Ｂ】
2019185691.tif 000007
【図５Ａ】
2019185691.tif 000008
【図５Ｂ】
2019185691.tif 000009