(57)【要約】【課題】サーバに関数式を計算させて、計算結果として精度の高いグラフを描画することができるようにする。【解決手段】計算装置１０は、独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知し、独立変数の変域と検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、独立変数の関数式と、独立変数の変域とを、サーバに送信する。計算装置１０は、サーバ３０からグラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信し、座標データをもとにグラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させる。【選択図】図１
2018049495.tif 000002
【特許請求の範囲】
【請求項１】
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
を備える計算装置。
【請求項２】
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
を備える計算装置。
【請求項３】
前記グラフ表示範囲を変更する変更手段をさらに有し、
前記送信手段は、変更後のグラフ表示範囲に応じた独立変数の変域に対応する全ての座標データが、前記座標受信手段により受信済みでない場合、座標データが不足している範囲の独立変数の変域を前記サーバに送信する請求項１または請求項２記載の計算装置。
【請求項４】
前記変更手段は、前記グラフ表示範囲を移動あるいはサイズ変更する請求項３記載の計算装置。
【請求項５】
前記変更手段は、前記グラフ表示範囲の独立変数の変域を変更する請求項３記載の計算装置。
【請求項６】
前記送信手段は、前記関数式に定数値が含まれる場合に、前記定数値の変位可能な値を前記サーバに送信する請求項１または請求項２記載の計算装置。
【請求項７】
前記送信手段は、前記グラフ表示範囲を超える範囲の座標データを要求する設定内容を含む請求項１または請求項２記載の計算装置。
【請求項８】
前記グラフ画像表示制御手段は、前記グラフ表示範囲にグラフ画像を描画するための座標データが不足している場合、簡易計算により算出された不足分の仮座標値をもとに描画されたグラフ画像を表示させる請求項１または請求項２記載の計算装置。
【請求項９】
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知し、
前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信し、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信し、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させる
計算装置のグラフ表示方法。
【請求項１０】
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知し、
前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信し、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信し、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させる
計算装置のグラフ表示方法。
【請求項１１】
コンピュータを、
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
として機能させるためのコンピュータ読み込み可能なプログラム。
【請求項１２】
コンピュータを、
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
として機能させるためのコンピュータ読み込み可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算装置、計算装置のグラフ表示方法、及びプログラムに関する。
【背景技術】
【０００２】
近年では、スマートフォンなどの電子機器から関数式を計算専用のサーバに送信して計算させ、その計算結果を電子機器で表示させることができるシステムが考えられている。関数式を計算専用のサーバにおいて計算させることにより、電子機器では負荷の大きな複雑で高度な計算であっても容易に計算結果を得ることができる。
【０００３】
例えば、特許文献１に記載されたシステムでは、関数式をサーバに送信することで、計算結果として関数式に応じたグラフ画像が作成される。電子機器は、サーバからグラフ画像を受信して表示することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−０９９９７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように従来技術では、サーバに関数式を送信することでグラフ画像を受信して表示させることができる。しかしながら、サーバにおいて作成されるグラフ画像は、電子機器における画面サイズ、画面内のグラフを表示させる領域のサイズ、ディスプレイの解像度などに関係なく作成される。従って、サーバから受信したグラフ画像を電子機器においてそのまま表示させると、精度が高いグラフを表示できない場合があった。
【０００６】
本発明は前述のような課題に考慮してなされたもので、サーバに関数式を計算させて、表示画面に対応して精度の高いグラフを描画することができる計算装置、計算装置のグラフ表示方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の計算装置は、独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信する送信手段と、前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段とを備える。
【０００８】
また、本発明の計算装置は、独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信する送信手段と、前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段とを備える。
【発明の効果】
【０００９】
本発明によれば、サーバに関数式を計算させて、表示画面に対応して精度の高いグラフを描画することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態における計算装置の電子回路の構成の一例を示すブロック図。
【図２】本実施形態における計算装置の表示画面例を示す図。
【図３】本実施形態における計算装置の動作について示すフローチャート。
【図４】本実施形態における計算装置の動作について示すフローチャート。
【図５】本実施形態における計算装置の動作例を説明するための図。
【図６】本実施形態における計算装置の動作例を説明するための図。
【図７】本実施形態における計算装置の動作例を説明するための図。
【図８】本実施形態における計算装置の動作例を説明するための図。
【発明を実施するための形態】
【００１１】
以下、図面により本発明の実施の形態について説明する。  
図１は、本発明の実施形態に係る計算装置１０の電子回路の構成の一例を示す図である。本実施形態では、計算装置１０は、例えばスマートフォンとして実施するものとして説明する。なお、計算装置１０は、スマートフォンに限定されるものではなく、ＰＤＡ（personal digital assistants）、ＰＣ（personal computer）、タブレット端末、ノートＰＣ、ゲーム機等の他の電子機器により構成することができる。ここでは、図１に示すように、計算装置１０と、通信ネットワークＮ上のサーバ３０とを備えたシステムを例に説明する。
【００１２】
図１に示すように、計算装置１０の電子回路は、ＣＰＵ１１、メモリ１２、表示部１３、タッチパネル１４、キー入力部１５、通信部１６、記録媒体読取部１７を備えている。
【００１３】
ＣＰＵ１１は、メモリ１２に記憶されているプログラムに従い、タッチパネル１４からの入力信号、キー入力部１５からのキー入力信号、あるいは通信部１６による受信信号に応じて回路各部の動作を制御する。ＣＰＵ１１は、グラフ描画処理プログラム１２Ａを実行することで、関数式の計算をサーバ３０により実行させて、計算結果として精度の高いグラフを描画することができる。グラフ描画処理プログラム１２Ａは、サーバ３０が開設する関数計算用のＷｅｂサイト（ホームページ）にアクセスすることでダウンロード（Ｗｅｂアプリケーション）されても良いし、メモリ１２に予め記憶されていても良いし、あるいはメモリカード等の記録媒体Ｍから記録媒体読取部１５を介してメモリ１２に読み込まれて記憶されたものであっても良い。本実施形態では、グラフ描画処理プログラム１２Ａは、サーバ３０が開設するＷｅｂサイトにアクセスすることでダウンロードされ、ブラウザアプリケーションにより制御されるものとして説明する。
【００１４】
計算装置１０は、ＣＰＵ１１がグラフ描画処理プログラム１２Ａに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、後述の動作説明で述べるグラフ描画処理（グラフ表示方法）を実現する。
【００１５】
メモリ１２は、ＣＰＵ１１により実行されるプログラムやデータが記憶される。メモリ１２には、基本プログラム（ＯＳ（Operating System））、ブラウザアプリケーションプログラムの他、各種のプログラムが記憶される。メモリ１２に記憶されるプログラムには、グラフ描画処理プログラム１２Ａが含まれる。また、メモリ１２には、グラフ描画処理プログラム１２Ａの実行に伴い、一時的なデータとして関数式データを記憶するための関数式記憶エリア１２Ｂ、関数式に含まれる定数値の変位幅と現在値を記憶するための定数値設定エリア１２Ｃ、予備座標計算設定処理（後述する）により設定された設定内容を記憶するための予備座標計算設定エリア１２Ｄ、サーバ３０から受信された計算結果／グラフ描画情報を記憶するための計算結果／グラフ描画情報エリア１２Ｅなどが確保される。
【００１６】
表示部１３は、ＣＰＵ１１により実行される処理に応じた画像を表示画面に表示させる。表示部１３は、例えばドットマトリクス型の液晶表示ユニットにより構成される。タッチパネル１４は、ユーザの手やペンなどを用いたタッチ操作に応じた位置データを入力する。タッチパネル１４は、表示部１３の表示画面に重ねて一体化される。表示部１３とタッチパネル１４によりタッチパネルディスプレイが構成される。
【００１７】
キー入力部１５は、各種キーに対するキー操作を受け付ける。  
通信部１６は、公衆無線電話通信網を通じて、ネットワークＮに接続する機能を有する。
【００１８】
サーバ３０は、計算装置１０から関数式の計算（グラフ描画を含む）の実行が要求された場合に、計算装置１０から受信される関数式とグラフ描画に関する関数式／グラフ情報をもとに計算処理を実行する。サーバ３０は、計算装置１０により実行されるプログラムより高度な関数式計算プログラム、あるいは高度な計算を実行可能にした特別の計算回路（モジュール）を用いて計算処理を実行する。従って、サーバ３０では、計算装置１０では計算が困難な複雑で高度な関数式であっても精度良く計算結果を算出することができる。
【００１９】
図２は、本実施形態における計算装置１０の表示画面例を示す図である。  
計算装置１０は、例えば、ブラウザアプリケーションによりサーバ３０による関数計算用のＷｅｂサイトにアクセスすることでグラフ描画処理プログラム１２Ａを読み込み、ブラウザアプリケーション上でグラフ描画処理プログラム１２Ａを実行させる。グラフ描画処理プログラム１２Ａは、ブラウザ上で動作するプログラミング言語と協働することにより動作し、ブラウザウィンドウ１２０に関数計算用の画像を表示させる。
【００２０】
グラフ描画処理プログラム１２Ａは、関数計算用の画像として、図２に示すように、例えばコマンドアイコンエリア１２１、関数式エリア１２２、グラフ画像エリア１２３を表示させる。
【００２１】
コマンドアイコンエリア１２１は、複数のコマンドのそれぞれに対応するアイコンが配列される。アイコンが選択されることにより、アイコンに応じた機能を実行させることができる。アイコンの操作により実行可能な機能には、例えば関数式入力、グラフ表示、座標値リスト表示、グラフエリア変更（拡大／縮小）、グラフ範囲指定拡大（ズーム）などがある。
【００２２】
関数式エリア１２２は、ユーザ操作によって独立変数（例えばｘ）の関数式（ｙ＝ｆ（ｘ））が入力される。関数式エリア１２２には、複数の関数式（ｙ１，ｙ２，…）を入力することができ、複数の関数式のそれぞれに対応するグラフ表示中の線種が表示される。また、関数式エリア１２２では、入力された関数式について、個々にグラフ描画の対象とするか否かを設定することができる。
【００２３】
関数式エリア１２２に関数式を入力する場合には、例えば関数式入力用のソフトウェアキーボードが表示される。ソフトウェアキーボードには、例えば、［０］〜［９］（数値）キー、［＋］［−］［×］［÷］（四則記号）キー、［＝］（実行）キーなどが配列される。また、関数機能キー群として、［ｘ−１］（−１乗；逆数）キーをはじめ、［√］（ルート）キー、［□／□］（分数）キー、［ｓｉｎ］（サイン）キー、［ｃｏｓ］（コサイン）キーなどが設けられる。
【００２４】
グラフ画像エリア１２３は、表示部１３の画面上でグラフが描画されるグラフ表示範囲を表す。グラフ画像エリア１２３には、関数式エリア１２２に入力された関数式のうち、グラフ描画の対象として設定されている関数式それぞれに対応するグラフが描画される。複数の関数式に対応するグラフは、それぞれ異なる線種あるいは表示色によって識別可能な形態によって表示される。グラフ画像エリア１２３では、グラフ表示範囲をユーザ操作により変更することができる。グラフ表示範囲の変更には、例えばエリア全体を拡大縮小するグラフエリア変更、グラフの表示対象範囲を左右あるいは上下に移動するグラフ表示対象変更などが可能である。例えば、グラフ画像エリア１２３に対応するタッチパネル１４に対するユーザのタッチ操作（例えばスライド）によりグラフの表示対象範囲の変更を指示することができる。
【００２５】
次に、本実施形態における計算装置１０の動作について説明する。図３及び図４は、本実施形態における計算装置１０の動作について示すフローチャートである。また、図５、図６、図７及び図８は、本実施形態における計算装置１０の動作例を説明するための図である。
【００２６】
計算装置１０は、ユーザ操作に応じて、ブラウザアプリケーションによりサーバ３０の関数計算用のＷｅｂサイト（ホームページ）にアクセスする。これにより、計算装置１０ではグラフ描画処理プログラム１２Ａが起動される。
【００２７】
ＣＰＵ１１は、グラフ描画処理プログラム１２Ａに従い、初期画面設定処理を実行する（ステップＡ１）。
【００２８】
図４は、初期画面設定処理を示すフローチャートである。  
ＣＰＵ１１は、自装置が比較的大きなサイズの表示部１３が設けられた大型表示機器（例えば、ＰＣ、タブレット端末）であるか、あるいは比較的小さいサイズの表示部１３が設けられた小形表示機器（例えば、スマートフォン）であるかを判別する。
【００２９】
ここで、ＣＰＵ１１は、大型表示機器と判別した場合（ステップＢ１、Ｙｅｓ）、表示部１３の表示画面にグラフを表示させるためのグラフ画面サイズを、大型表示機器に対して予め設定されたサイズに設定する（ステップＢ２）。例えば、大型表示機器に対して、グラフ画面サイズは、横９０ｍｍ、縦５０ｍｍに設定されているものとする。一方、ＣＰＵ１１は、小形表示機器と判別した場合（ステップＢ５、Ｙｅｓ）、表示部１３の表示画面にグラフを表示させるためのグラフ画面サイズを、小形表示機器に対して予め設定されたサイズに設定する（ステップＢ６）。例えば、小形表示機器に対して、グラフ画面サイズは、横４５ｍｍ、縦２５ｍｍに設定されているものとする。
【００３０】
なお、ＣＰＵ１１は、サーバ３０による関数式の計算結果に応じたグラフ描画のプロット位置が、単純な座標位置を示すように端数が表れないようにグラフ画面サイズを調整するものとする。
【００３１】
ＣＰＵ１１は、グラフ画面サイズに応じて、自装置に設けられた表示部１３の表示ドットサイズ（解像度）を検知し、予め設定されたグラフ画面サイズに相当するグラフ画面ドット数（初期値）を決定する（ステップＢ４）。
【００３２】
ＣＰＵ１１は、初期画面設定処理による設定に応じた初期画面（関数式エリア１２２、グラフ画像エリア１２３）を表示部１３において表示させる（ステップＡ２）。グラフ画像エリア１２３は、初期画面設定処理により設定された初期値のグラフ画面ドット数により表示される。
【００３３】
次に、ＣＰＵ１１は、サーバ３０による計算結果をグラフ画像エリア１２３（グラフ表示範囲）に表示させた後、グラフ表示範囲と関数式に含まれる定数が変更された場合に備えて、変更後の計算を含めてサーバ３０に計算処理を実行させるための予備座標計算設定処理を実行する（ステップＡ３）。予備座標計算設定処理では、例えば「左右画面」「第１定数」「第２定数」の項目が設けられた設定画面を表示し、ユーザ操作に応じて、それぞれの項目について設定する。予備座標計算設定処理では、現在のグラフ表示範囲を超える範囲のグラフ、あるいは定数値を変更した関数式のグラフについて、サーバ３０に対して座標データを生成する計算を要求する設定内容が含まれる。
【００３４】
「左右画面」は、グラフ表示範囲が左右方向に変更された場合に備えて、変更後の何れの範囲までサーバ３０に予め計算を実行させるかを設定するための項目である。例えば、初期設定では、グラフ表示範囲のみについて計算を実行させる「無し」に設定されている。
【００３５】
また、例えば「左右１画面」「左右１／２画面」「左右１／４画面」の何れかの選択肢に設定することができる。例えば、「左右１画面」を設定することで、現在のグラフ表示範囲よりさらに左右のグラフ表示範囲と同じ範囲（独立変数の変域）ついて計算を実行させることができる。同様にして、「左右１／２画面」を設定することで、現在のグラフ表示範囲よりさらに左右のグラフ表示範囲の１／２の範囲について計算を実行させることができる。
【００３６】
「第１定数」は、関数式に定数（例えば、定数ａ）が含まれる場合に、定数の値が変更された場合に備えて、変更後の何れの範囲までサーバ３０に予め計算を実行させるかを設定するための項目である。例えば、初期設定では、変数が初期値（例えばａ＝１）とした関数式についてのみ計算を実行させる「無し」に設定されている。
【００３７】
また、例えば「各ステップ値」「現在の前後のステップ値」の何れかの選択肢に設定することができる。例えば、「各ステップ値」を設定することで、グラフ表示範囲において変数が取り得る値（例えば、整数値の単位）のそれぞれに変更した、複数の関数式ついて計算を実行させることができる。「現在の前後のステップ値」を設定することで、現在の変数値の値（初期値）の前後の値（例えば、整数値の単位）のそれぞれに変更した、２つの関数式ついてさらに計算を実行させることができる。
【００３８】
「第２定数」は、関数式に２つめの定数（例えば、定数ｂ）が含まれる場合に、定数の値が変更された場合に備えて、変更後の何れの範囲までサーバ３０に予め計算を実行させるかを設定するための項目である。例えば、初期設定では、変数が初期値（例えばｂ＝１）とした関数式についてのみ計算を実行させる「無し」に設定されている。
【００３９】
なお、前述した説明では、初期段階で予備座標計算設定処理を実行するとしているが、グラフ描画処理プログラム１２Ａの実行中に、例えばコマンドアイコンエリア１２１における所定のアイコン（オプション）の選択によって、任意のタイミングで実行することができる。
【００４０】
また、グラフ表示範囲（独立変数ｘの範囲）を左右方向に変更する場合について説明しているが、グラフ表示範囲（独立変数ｙの範囲）を上下方向について変更可能とする場合には、上下方向に変更された場合に備えた選択が可能な設定画面としても良い。例えば「上下画面」の項目を設けて、「上下１画面」「上下１／２画面」「上下１／４画面」の選択肢の何れかを選択可能にする。
【００４１】
次に、ブラウザウィンドウ１２０において関数式エリア１２２が指定された場合（ステップＡ４、Ｙｅｓ）、ＣＰＵ１１は、例えば関数式を入力するためのソフトウェアキーボードを表示させて、ソフトウェアキーボードに対するユーザ操作に応じて関数式を入力し、関数式データを関数式記憶エリア１２Ｂに記憶されると共に、関数式エリア１２２に関数式を表示させる（ステップＡ５）。関数式エリア１２２では、入力された関数式のそれぞれにチェックボックスが設けられており、このチェックボックスへの指定によって個々にグラフ描画の対象とするか否かを設定することができる。初期値は、グラフ描画の対象とする設定がされている。
【００４２】
少なくとも１つの関数式が入力された後、グラフ描画の実行が指示された場合（ステップＡ６、Ｙｅｓ）、ＣＰＵ１１は、現在の関数式エリア１２２に対して表示する全てのグラフの座標データ（グラフ描画情報）があるか、すなわちサーバ３０により表示対象とするグラフについての計算が実行済みであるか判別する。
【００４３】
ここで、グラフ表示範囲にグラフを表示するための全ての座標データ（グラフ描画情報）がない場合には（ステップＡ１０，Ａ１１、Ｎｏ）、ＣＰＵ１１は、サーバ３０にグラフ描画のために関数式の計算を実行させるための座標計算データをサーバ３０に送信する（ステップＡ１３）。
【００４４】
図５は、本実施形態における計算装置１０によりサーバ３０に対してグラフ描画のための計算を要求する場合のデータの送受信を示す図である。  
図５に示すように、計算装置１０は、関数式エリア１２２に入力された関数式に応じた座標計算データ２０をサーバ３０に送信する。ここでは、例えば関数式エリア１２２において、３つの関数式（ｙ１，ｙ２，ｙ３）がユーザ操作によって入力されたものとする。計算装置１０は、座標計算データ２０として、３つの関数式を表す関数式データ、グラフ表示範囲に表示させるグラフの独立変数の変域を示すグラフ表示領域データ、表示部１３の画面上のグラフ表示範囲に対応するグラフ描画の精度を示す精度データ（１表示ドット分の独立変数の増分の値又は画面上のグラフ表示範囲（独立変数の変域）のドット数）が含まれる。
【００４５】
グラフ表示領域データは、例えばｘ座標系の最大値（ｍａｘ）と最小値（ｍｉｎ）と、ｙ座標系の最大値（ｍａｘ）と最小値（ｍｉｎ）とを含む。例えば図５に示す座標計算データ２０では、ｘｍｉｎ＝−９、ｙｍｉｎ＝−５、ｘｍａｘ＝９、ｙｍａｘ＝５の範囲でグラフを描画することを示している。すなわちグラフ表示範囲（グラフウィンドウの横）に対して独立変数の変域（ｘ＝−９〜９）に対応する関数式のグラフを描画することとなる。
【００４６】
精度データは、１表示ドット分の独立変数の増分の値、あるいは画面上のグラフ表示範囲（独立変数の変域）に対応する表示ドット数を示す。グラフ画像エリア１２３では、グラフ表示範囲がユーザ操作によって任意に変更されるため、独立変数の変域に対応する表示ドット数、あるいはグラフ表示範囲に対応する表示ドット数が変化する。また、計算装置１０に設けられる表示部１３（例えば、ドットマトリクス型の液晶表示ユニット）の解像度に応じて、例えばグラフを描画する「１ピクセル×１ピクセル」を「２ドット×２ドット」あるいは「３ドット×３ドット」により描画する場合がある。従って、ＣＰＵ１１は、グラフ描画の実行が要求された時点における、計算装置１０に実装された表示部１３の解像度（１ピクセルに対応する表示ドット数）に応じたグラフ描画の精度を示す精度データ（１表示ドット分の独立変数の増分の値又は画面上のグラフ表示範囲（独立変数の変域）のドット数）を計算してサーバ３０に送信する。
【００４７】
なお、座標計算データ２０には、関数式に三角関数や角度を含む計算が含まれる場合には、角度設定（ディグリー、ラジアン、グラード）を指定する角度モードデータが含まれる。また、座標計算データ２０には、関数式に定数が含まれる場合には、定数データが含まれる。定数データには、例えば定数値の変位可能な値を示す定数値の変位幅と現在値（初期値）が含まれる。さらに、座標計算データ２０には、予備座標計算設定処理においてユーザ操作により設定された設定内容が含まれる。この設定内容には、現在のグラフ表示範囲を超える範囲の計算、あるいは定数値を変更した関数値の計算を要求する内容が含まれる。
【００４８】
サーバ３０（関数式計算プログラム）は、ＡＰＩ（Application Programming Interface）２１を通じて、計算装置１０から座標計算データ２０を受信して、関数式の計算を実行し、計算装置１０においてグラフを描画するための計算結果／グラフ描画情報を生成する。
【００４９】
なお、サーバ３０は、予備座標計算設定処理において「左右画面」の項目において初期設定（「無し」）以外の設定がされている場合には、現在のグラフ表示範囲よりさらに左右の範囲についての計算を実行する。同様にして、サーバ３０は、予備座標計算設定処理において「第１定数」「第２定数」の項目が初期設定（「無し」）以外に設定されている場合には、定数の値を変更した場合を含めた計算を実行する。
【００５０】
サーバ３０は、座標計算データ２０に応じた計算により生成した計算結果／グラフ描画情報２２を計算装置１０に送信する。計算装置１０は、計算結果／グラフ描画情報２２を計算結果／グラフ描画情報エリア１２Ｅに記憶させる。
【００５１】
計算装置１０のＣＰＵ１１は、グラフ描画情報２２に含まれるグラフ描画のための座標データの配列を受信し（ステップＡ１４）、座標データの配列に応じてグラフ画像エリア１２３に対してグラフを描画する（ステップＡ１５）。座標データは、図５に示すように、グラフを表す各プロット位置のＸ座標値とＹ座標値の組み合わせ（ペア）により示す。ＣＰＵ１１は、配列に含まれる各座標データに相当するピクセルに対してプロットすることで、グラフ画像を描画することができる。
【００５２】
なお、座標計算データ２０によって複数の関数式データを送信している場合には、各関数式データに対応する座標データの配列を受信して、例えば関数式ごとに異なる線種を用いてグラフを描画する。
【００５３】
計算結果／グラフ描画情報２２は、サーバ３０による高度な計算により生成されている。すなわち、グラフ描画のための座標データは、座標計算データ２０に含まれる関数式データ、グラフ表示領域データ、精度データに基づいて生成された、表示部１３のグラフ画像エリア１２３（グラフ表示範囲）にプロットすべき位置を示している。すなわち、計算装置１０に実装された表示部１３に応じた、現在のグラフ画像エリア１２３（グラフ表示範囲）における独立変数の変位に対応する表示ドット数の増分値（ピッチ）、あるいは画面上のグラフ表示範囲（独立変数の変域全体）に対応する表示ドット数に応じて、グラフの座標データが生成されているため、計算装置１０の表示部１３の画面上で精度良くグラフを描画することができる。従って、複雑な関数式が入力された場合であっても、計算結果として精度の高いグラフを描画することができる。
【００５４】
次に、グラフ画像エリア１２３に表示されたグラフ表示範囲を変更する場合について説明する。
図６は、本実施形態におけるグラフ表示対象範囲の変更の一例として、ユーザのグラフに対するスライド操作によりグラフの表示対象範囲を左右方向に移動する例を示している。
【００５５】
図６（Ａ）には、前述のようにして、グラフ画像エリア１２３にグラフが描画された状態を示している。ここで、グラフ画像エリア１２３に表示されたグラフに対して、ユーザによりスライド操作（画面の左右移動操作）がされたものとする。ＣＰＵ１１は、タッチパネル１４によりスライド操作が検出された場合、すなわちグラフ表示範囲を変更する操作がされたことを検出した場合（ステップＡ７、Ｙｅｓ）、スライド操作された操作量（スライド長）に応じてグラフ表示範囲を移動する。例えば、図６（Ａ）では、左方向にスライド操作されているため、操作量に応じてグラフ表示範囲を右方向に移動させた範囲に変更する。
【００５６】
ＣＰＵ１１は、変更後のグラフ表示範囲の全てについて計算済みの座標データ（計算結果／グラフ描画情報２２）があるか判別する。すなわち、予備座標計算処理設定において「左右画面」の項目において初期設定（「無し」）以外の設定をすることで、現在のグラフ表示範囲よりさらに左右の範囲についての座標データ（計算結果／グラフ描画情報２２）を受信済みであるかを判別する。
【００５７】
ここで、変更後のグラフ表示範囲の全てについて計算済みの座標データを受信済みである場合には（ステップＡ１０、Ｙｅｓ）、ＣＰＵ１１は、座標データの配列に応じてグラフ画像エリア１２３に対してグラフを描画する（ステップＡ１５）。
【００５８】
一方、グラフ表示範囲の一部について計算済みの座標データがある場合には、ＣＰＵ１１は、座標データがない範囲を新たな計算対象として特定する（ステップＡ１２）。ＣＰＵ１１は、計算済みの座標データがあるグラフ表示範囲の一部について、座標データの配列に応じてグラフ画像エリア１２３に対してグラフの一部を描画すると共に、グラフ画像エリア１２３の座標データがない範囲に簡易グラフエリアを表示する（ステップＡ１６）。さらに、ＣＰＵ１１は、未計算の範囲について関数式を簡易計算してグラフの仮座標データを生成し、仮座標データに応じて簡易グラフエリアにプロットしてグラフ画像を簡易描画する（ステップＡ１７）。
【００５９】
図６（Ｂ）には、図６（Ａ）に示すグラフ画像エリア１２３において表示されたグラフについてグラフ表示範囲が変更された例を示している。図６（Ｂ）に示すように、グラフ表示範囲が右方向に移動されることで、グラフ画像エリア１２３に表示されたグラフの右側に簡易グラフエリア１２３Ａが設けられている。簡易グラフエリア１２３Ａには、簡易計算によって生成された仮座標データをもとに、グラフが簡易描画されている。グラフの簡易描画では、グラフ画像エリア１２３において描画するグラフとは異なる形態により表示するものとする。例えば、破線や点線となるようにプロットしたり、プロットする表示色を異なるようにしたりすることができる。
【００６０】
簡易グラフエリア１２３Ａでは、精度の高くないグラフの描画をするものとする。すなわち、簡易描画するプロット数を通常のグラフ画像エリア１２３におけるグラフよりも少なくすると共に、プロットする座標について所定範囲内での誤差を許容するものとする。これにより、簡易計算により処理負担を軽減して、簡易グラフエリア１２３Ａにおける簡易描画を容易に実行できるようにする。簡易グラフエリア１２３Ａに簡易グラフを表示させることで、ユーザに対して、サーバ３０を利用した精度の高い計算の実行中であることを認識させることができる。
【００６１】
ＣＰＵ１１は、ステップＡ１２において特定した座標データが不足している範囲について、変更後のグラフ表示範囲に応じた座標計算データ２０（グラフ表示領域データを更新）を送信して、サーバ３０に計算を依頼する（ステップＡ１８）。サーバ３０は、計算装置１０からの依頼に応じて計算を実行して、計算結果（計算結果／グラフ描画情報２２）を計算装置１０に送信する。
【００６２】
なお、サーバ３０は、新たにグラフを表示する必要がある範囲の座標データを送信しても良いし、変更後のグラフ表示範囲全体についての座標データを改めて送信しても良い。さらに、変更後のグラフ表示範囲に応じた、予備座標計算設定の設定内容に対応する範囲を含めて計算を実行して、計算結果／グラフ描画情報２２を送信するようにしても良い。
【００６３】
また本実施形態では、独立変数の変域は、画面上でのグラフ表示範囲に過不足無く収まるようになっているが、独立変数の変域が表示範囲を超えるような仕様でも実施可能である。その場合は、画面上での実際のグラフ表示範囲に対して、独立変数の変域が超過する大きさのグラフ表示範囲について、表示ドット数を検知するようにすればよい。例えば、グラフ表示範囲の左右に１／２ずつ超過するサイズに独立変数の変域が設定されている場合には、実際に表示対象とするグラフ表示範囲の表示ドット数の２倍の表示ドット数が検知されることになる。
【００６４】
ＣＰＵ１１は、サーバ３０から受信した計算結果／グラフ描画情報２２（グラフ描画のための座標データの配列）を受信し（ステップＡ１４）、簡易グラフエリア１２３Ａに代えて、座標データの配列に応じてグラフ画像エリア１２３（簡易グラフエリア１２３Ａ）に対してグラフを描画する（ステップＡ１５）。図６（Ｃ）は、サーバ３０による計算結果をもとにグラフを描画した状態を示している。図６（Ｃ）に示すように、サーバ３０による計算結果をもとに、前述と同様にして精度の高いグラフを描画することができる。
【００６５】
なお、前述した説明では、グラフ画像エリア１２３のグラフ表示範囲を左右方向に移動させる例について説明しているが、上下方向に移動させることができるようにしても良い。
【００６６】
図７は、本実施形態におけるグラフ表示対象範囲の変更の一例として、グラフ画像エリア１２３のサイズを変更する例を示している。ここで、グラフ画像エリア１２３のサイズの変更は、グラフの拡大／縮小ではなく、独立変数の変域（表示対象範囲とするｘｙ座標系の最大値と最小値）の変更を示す。
【００６７】
図７（Ａ）は、グラフ画像エリア１２３Ｂのサイズが小さい状態の表示例を示し、図７（Ｂ）は、グラフ画像エリア１２３Ｃのサイズ大きい状態の表示例を示している。グラフ画像エリア１２３Ｂ，１２３Ｃに対しては、例えばユーザ操作によるタッチパネル１４に対するピンチイン（縮小）やピンチアウト（拡大）の操作、コマンド（コマンドアイコン）による指示、マウスポインタなどの操作によりサイズの変更を指示することができる。図７（Ｂ）に示す表示例では、関数式エリアを削除して、グラフ画像エリア１２３Ｃのサイズを拡大している。
【００６８】
ＣＰＵ１１は、ユーザ操作によってグラフ画像エリア１２３のサイズを変更する操作がされたことを検出した場合（ステップＡ８、Ｙｅｓ）、サイズの変更量（拡大／縮小）に応じてグラフ表示範囲を変更する。なお、サイズ変更された場合の処理は、ｘ座標方向のみだけでなく、ｙ座標方向についても、サーバ３０により計算を実行させる範囲が変更されるもので、その他の処理については、前述したグラフ表示範囲を左右方向に変更した場合と同様に実行されるものとして詳細な説明を省略する（ステップＡ１０〜Ａ１８）。
【００６９】
なお、図７に示す例では、独立変数の変域を変更する例について説明しているが、グラフの拡大（ズーム）をする場合にも同様の処理を実行することが可能である。例えば、グラフを表示させる変化範囲（変域）のうち拡大（ズーム）する倍率を座標計算データ２０としてサーバ３０に送信して計算を実行させる。サーバ３０は、拡大（ズーム）する倍率に応じて、ズームしたグラフを表示する際に不足する部分（先に受信済みの座標データ間の途中の値）を示す座標データの配列を生成して計算装置１０に送信する。これにより、計算装置１０では、サーバ３０から受信した座標データの配列をもとに拡大（ズーム）したグラフを描画することができる。
【００７０】
図８は、本実施形態における関数式に含まれる定数を変更する一例を示す図である。  
図８に示す関数式エリア１２２には、２つの関数式が入力されており、１番目の関数式（ｙ１）には定数ａが含まれている。関数式に定数が含まれている場合、ＣＰＵ１１は、定数値設定エリア１２Ｃに記憶された関数式に含まれる定数値の変位幅と現在値をもとに、図８に示すように、定数値を変更する操作をするための定数操作エリア１２４を表示する。
【００７１】
定数操作エリア１２４には、関数式に含まれる定数「ａ」を表示すると共に、現在値と定数値の変化範囲を表す数字を表示する。例えば、図８（Ａ）では、定数ａの現在値「１」と、変化範囲を表す下限値「−１０」と上限値「１０」が表示されている。また、定数操作エリア１２４には、定数値を変更するためのユーザ操作を受け付けるためのスライダ１２４Ａとボタン１２４Ｂ，１２４Ｃが設けられている。スライダ１２４Ａは、左右方向に移動させることが可能であり、左方向に移動させることにより移動量に応じて定数値を減少させ、右方向に移動させることにより移動量に応じて定数値を増加させる指示を受け付けることができる。ボタン１２４Ｂは、定数値を減少させる指示を受け付け、ボタン１２４Ｃは、定数値を減少させる指示を受け付けることができる。
【００７２】
ＣＰＵ１１は、定数操作エリア１２４において関数式に含まれる定数値を変更する操作（例えばスライダ１２４Ａの操作）がされたことを検出した場合（ステップＡ９、Ｙｅｓ）、定数を変更した関数式のグラフの全てについて計算済みの座標データを受信済みであるか判別する。例えば、予備座標計算設定において「第１定数」の項目について、定数値（ステップ値）を変更した後の計算を要求する設定がされている場合には（ステップＡ１０、Ｙｅｓ）、定数値を変更した後の関数式に対応するグラフの座標データを受信済みである。この場合、受信済みの座標データの配列をもとに、変更前のクラフに代えて定数値を変更した後のグラフに対応するグラフを描画する（ステップＡ１６）。
【００７３】
一方、定数を変更した関数式のグラフの全てについて計算済みの座標データを受信済みでない場合には（ステップＡ１０、Ｎｏ）、ＣＰＵ１１は、前述と同様にして、座標計算データ２０に含まれる関数式データの定数値を変更した後の関数式に変更して、サーバ３０に対して関数式の計算を実行させる。ＣＰＵ１１は、サーバ３０による計算結果を受信して（ステップＡ１５）、定数変更後のグラフに対応する座標データの配列をもとにグラフを描画する（ステップＡ１６）。なお、その他の詳細な処理については、前述したグラフ表示範囲を変更する場合と同様にして実行されるものとして説明を省略する。
【００７４】
こうして、予備座標計算設定において「第１定数」の項目において、定数の値が変更された場合に備えて、変更後の関数式の計算を予めサーバ３０に実行させておくことで、定数値を変更する指示に対して、予め受信している変更後の関数式に対応するグラフの座標データをもとに効率的に精度の高いグラフを描画することができる。図８（Ｂ）には、図８（Ａ）に示す関数式の定数ａの値を「１」から「２」に変更した場合に表示されるグラフの一例を示している。
【００７５】
なお、予備座標計算設定において「左右画面」の項目において、さらにグラフ表示範囲が変更された場合に備えて、予め変更後の範囲の座標データを受信する設定をしておくことで、例えば図８（Ｂ）に示すグラフ画像エリア１２３のグラフに対してグラフ表示範囲を変更する操作がされた場合であっても、定数ａの値を変更した関数式のグラフについても、同様にして効率的に精度の高いグラフを描画することができる。
【００７６】
また、「左右画面」「第１定数」の項目において初期設定されている場合、すなわち定数値を変更したグラフあるいはグラフ表示範囲を変更した範囲の座標データを受信していない場合には、前述した図６に示すように、定数値の変更操作、あるいはグラフ表示範囲の変更が指示された場合に、前述と同様にして簡易計算して仮座標データを生成し、グラフを簡易描画することも可能である。ＣＰＵ１１は、不足分の座標データをサーバ３０から受信した後、簡易描画されたグラフに代えて、サーバ３０により計算された座標データをもとに精度の高いグラフを描画する。
なお、前述した説明では、関数式に含まれる定数値を対象にして説明しているが、係数値を対象として、前述した定数値と同様の処理をすることも可能である。
【００７７】
なお、実施形態において記載した手法、すなわち図３、図４のフローチャートに示す処理等の各手法は、コンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して配布することができる。そして、コンピュータは、外部記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、実施形態において説明した機能と同様の処理を実現することができる。
【００７８】
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク（インターネット）上を伝送させることができ、このネットワーク（インターネット）に接続されたコンピュータ（サーバ装置等）からプログラムデータを取り込み、前述した実施形態と同様の機能を実現することもできる。
【００７９】
なお、本願発明は、実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【００８０】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
を備える計算装置。
【００８１】
［２］
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
を備える計算装置。
【００８２】
［３］
前記グラフ表示範囲を変更する変更手段をさらに有し、
前記送信手段は、変更後のグラフ表示範囲に応じた独立変数の変域に対応する全ての座標データが、前記座標受信手段により受信済みでない場合、座標データが不足している範囲の独立変数の変域を前記サーバに送信する［１］または［２］記載の計算装置。
【００８３】
［４］
前記変更手段は、前記グラフ表示範囲を移動あるいはサイズ変更する［３］記載の計算装置。
【００８４】
［５］
前記変更手段は、前記グラフ表示範囲の独立変数の変域を変更する［３］記載の計算装置。
【００８５】
［６］
前記送信手段は、前記関数式に定数値が含まれる場合に、前記定数値の変位可能な値を前記サーバに送信する請求項１または［２］記載の計算装置。
【００８６】
［７］
前記送信手段は、前記グラフ表示範囲を超える範囲の座標データを要求する設定内容を含む［１］または［２］記載の計算装置。
【００８７】
［８］
前記グラフ画像表示制御手段は、前記グラフ表示範囲にグラフ画像を描画するための座標データが不足している場合、簡易計算により算出された不足分の仮座標値をもとに描画されたグラフ画像を表示させる［１］または［２］記載の計算装置。
【００８８】
［９］
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知し、
前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信し、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信し、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させる
計算装置のグラフ表示方法。
【００８９】
［１０］
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知し、
前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信し、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信し、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させる
計算装置のグラフ表示方法。
【００９０】
［１１］
コンピュータを、
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記独立変数の変域と前記検知された表示ドット数とから求められる１表示ドット分の独立変数の増分と、前記独立変数の関数式と、前記独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
として機能させるためのコンピュータ読み込み可能なプログラム。
【００９１】
［１２］
コンピュータを、
独立変数の変域に対応する画面上でのグラフ表示範囲の表示ドット数を検知する表示ドット検知手段と、
前記検知された表示ドット数と、前記独立変数の関数式と、独立変数の変域とを、サーバに送信する送信手段と、
前記サーバから前記グラフ表示範囲においてグラフを描画する表示ドット毎の座標データを受信する座標受信手段と、
前記座標データをもとに前記グラフ表示範囲の表示ドット毎に描画されたグラフ画像を表示させるグラフ画像表示制御手段と
として機能させるためのコンピュータ読み込み可能なプログラム。
【符号の説明】
【００９２】
１０…計算装置、１１…ＣＰＵ、１２…メモリ、１２Ａ…グラフ描画処理プログラム、１２Ｂ…関数式記憶エリア、１２Ｃ…変数値設定値エリア、１２Ｄ…予備座標計算設定エリア、１２Ｅ…演算結果／グラフ描画情報、１３…表示部、１４…タッチパネル、２０…座標計算データ、２２…グラフ描画情報、３０…サーバ、Ｎ…通信ネットワーク。
【図１】
2018049495.tif 000003
【図２】
2018049495.tif 000004
【図３】
2018049495.tif 000005
【図４】
2018049495.tif 000006
【図５】
2018049495.tif 000007
【図６】
2018049495.tif 000008
【図７】
2018049495.tif 000009
【図８】
2018049495.tif 000010