(57)【要約】【課題】グラフが描画される座標範囲内において、関数の第１の変数が任意の整数値を取るように座標値を決定する。【解決手段】表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを描画する場合に、描画エリアの第１軸に沿う座標幅、及び、表示装置の描画エリアの第１軸に沿う表示ピクセル幅に基づいて、第１軸の数値の刻み幅を決定する。第１軸の数値の刻み幅の倍数のうち、描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とする。グラフのプロット点の第１軸の座標の最小値又は最大値、刻み幅、並びに、数式に少なくとも基づいて、グラフの複数のプロット点の各座標値を決定する。決定した各座標値に基づいてグラフを描画エリアに描画する。【選択図】図６
2019185686.tif 000002
【特許請求の範囲】
【請求項１】
制御装置によって実行されるグラフ描画方法であって、
表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定し、
前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とし、
前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、
ことを含む方法。
【請求項２】
前記第１軸の刻み幅は、該刻み幅の前記表示装置の前記画面上での長さが、前記表示装置の前記第１軸に沿う単位ピクセルの前記表示装置の前記画面上での長さよりも長くなるように、決定される、
ことを含む、請求項１に記載の方法。
【請求項３】
ｎ×１０ｍ（ｍは整数、ｎは１０の約数）で表される数値のうち、前記描画エリアの第１軸に沿う数値幅を前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅で除したときの商以上の最小値を、前記第１軸の刻み幅として決定する、
ことを含む、請求項１又は２に記載の方法。
【請求項４】
前記描画エリアに設定された座標範囲が拡がる或いは狭まるように変更したとき、前記方法が実行されるアプリケーションソフトウエアの前記描画エリアを含むウインドウのサイズが変更したとき、又は、前記描画エリアの第１軸に沿う座標幅と該描画エリアの前記第１軸に沿う表示ピクセル幅の比の変更を伴いながら、該描画エリアの前記第１軸に沿う座標幅が変更されたとき、
変更後の前記描画エリアの第１軸に沿う座標幅、及び、変更後の該描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記刻み幅を再計算して決定する、
ことをさらに含む請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記描画エリアに設定された座標範囲が並行移動するように変更したとき、前記描画エリアのサイズが変更したとき、又は、前記描画エリアの第１軸に沿う座標幅と該描画エリアの前記第１軸に沿う表示ピクセル幅の比の変更を伴わずに、該描画エリアの前記第１軸に沿う座標幅が変更されたとき、
前記前記刻み幅を再計算せずに、変更後の前記描画エリアの第１軸の最小値及び／又は最大値、変更前の前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定する、
ことをさらに含む請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
グラフ描画システムの制御装置により読み取り可能なコンピュータプログラムであって、
前記制御装置によって、
表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定させ、
前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とさせ、
前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定させ、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、
コンピュータプログラム。
【請求項７】
表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定し、
前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とし、
前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、制御装置を備える
グラフ描画システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフ描画方法、グラフ描画システム、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
関数に基づくグラフ描画が可能なグラフ関数電卓が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】カシオ計算機，ｆｘ−ＣＧ５０  取扱説明書［ｏｎｌｉｎｅ］，［平成３０年４月１６日検索］、インターネット＜ＵＲＬ：http://support.casio.jp/storage/pdf/004/fx-CG50_Soft_v311_JA.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、関数ｙ＝（−１）ｘのような負の整数のｘ乗は、ｘが整数のときのみ値を持つ。グラフ関数電卓やグラフ描画アプリケーションにおいて、このような関数のグラフが正しく表示されるためには、グラフが描画される座標範囲内においてｘが任意の整数について、ｙの値が演算される必要がある。本発明は、グラフが描画される座標範囲内において、関数の第１の変数が任意の整数値を取るように座標値を決定することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の一実施形態は、制御装置によって実行されるグラフ描画方法である。本方法は、表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定し、前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とし、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、ことを含む。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明の一実施形態に係るシステムの一例を示す図である。
【図２】図２は、本発明の一実施形態に係るシステムにおける端末の画面表示の一例を示す図である。
【図３Ａ】図３Ａは、本発明の一実施形態に係るシステムの動作の一例を示す図である。
【図３Ｂ】図３Ｂは、本発明の一実施形態に係るシステムの動作の一例を示す図である。
【図４】図４は、プロット点のｘ座標の第１の算出処理の一例を示す図である。
【図５】図５は、プロット点のｘ座標の第２の算出処理の一例を示す図である。
【図６】図６は、端末の画面表示の一例を示す図である。
【図７】図７は、グラフエリア並行移動後の画面表示の一例を示す図である。
【図８】図８は、グラフエリアズーム後の画面表示の一例を示す図である。
【図９】図９は、グラフ付箋の大きさ変更後の画面表示の一例を示す図である。
【図１０】図１０は、従来と本実施形態との手法を対比して例示した図である。
【図１１Ａ】図１１Ａは、本発明の他の実施形態に係るシステムの動作の一例を示す図である。
【図１１Ｂ】図１１Ｂは、本発明の他の実施形態に係るシステムの動作の一例を示す図である。
【図１２】図１２は、グラフ関数電卓の画面表示の一例を示す図である。
【発明を実施するための形態】
【０００７】
本発明の一実施形態について図面を参照して説明する。  
図１は、本発明の一実施形態に係るシステム１の構成の一例を示す図である。システム１は、サーバ１０と、端末２０とを含む。サーバ１０と端末２０とは、ネットワーク３０を介して通信可能に接続される。ネットワーク３０は、例えばインターネットである。なお、図１には、１台の端末２０のみが示されているが、ネットワーク３０を介してサーバ１０に接続可能な端末２０の台数はこれに限定されない。１以上の端末２０が接続可能である。
【０００８】
システム１は、ユーザーが入力した数式（関数）に基づく演算結果により関数のグラフを表示する。システム１では、端末２０に入力されたデータ、グラフ描画に係わる設定値及び演算指示が、端末２０からサーバ１０に送信される。例えば、ユーザーが入力した関数と、グラフエリアの両端の座標と、プロット点の刻み幅との情報がサーバ１０に送信される。サーバ１０は、当該データ及び演算指示に基づいて演算を実行し、演算結果（プロット点（ｘ，ｙ）のデータ）を端末２０に送信する。端末２０は、当該演算結果を受信して、これに基づいたグラフを表示する。
【０００９】
サーバ１０は、プロセッサ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ストレージ１４と、通信装置１５とを有している。これらの各々は、システムバス１９を介して互いに接続されている。
【００１０】
プロセッサ１１は、ＣＰＵ（Central Processing Unit）などの集積回路であってよい。ＲＯＭ１２は、プロセッサ１１の動作に用いられる情報を記録している。ＲＡＭ１３は、プロセッサ１１の主記憶装置として機能する。ストレージ１４には、プロセッサ１１で用いられるサーバ制御プログラム、各種演算を実行するための演算プログラム等の各種プログラム、パラメータ等が記憶されている。プロセッサ１１は、ストレージ１４に記憶されたプログラムに従ってサーバ１０の動作を制御する。プロセッサ１１として、ＣＰＵ以外のプロセッサ、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）等が用いられてもよい。通信装置１５は、ネットワーク３０等の外部の通信ネットワークと通信可能である。
【００１１】
端末２０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、ストレージ２４と、入力装置２５と、表示装置２６と、通信装置２７とを有している。これらの各々は、システムバス２９を介して互いに接続されている。端末２０は、パーソナルコンピュータ（ＰＣ）、タブレット端末、スマートフォンなどの電子機器であってよい。
【００１２】
ＣＰＵ２１は、端末２０の各種動作を制御するプロセッサである。ＲＯＭ２２は、起動プログラム等を記録している。ＲＡＭ２３は、プロセッサ１１の主記憶装置として機能する。ストレージ２４には、ＣＰＵ２１で用いられる端末制御プログラム等の各種プログラム、パラメータ等が記憶されている。ＣＰＵ２１は、入力装置２５からの入力信号や通信装置２７による受信信号に応じて各種プログラムを実行することで端末２０の動作を制御する。各種プログラムは、不図示のウェブサーバからネットワーク３０、通信装置２７を介してストレージ２４にダウンロードされてもよい。通信装置２７は、ネットワーク３０等の外部の通信ネットワークと通信可能である。
【００１３】
入力装置２５は、キーボード、マウスなどの外部入力装置、あるいは端末２０の表示装置２６に表示される入力ボードを含む。入力装置２５の操作により、入力インターフェース（Ｉ／Ｆ）からシステムバス２９を介してＣＰＵ２１に入力信号が入力される。
【００１４】
表示装置２６は、液晶ディスプレイなどの外部表示装置、あるいは端末２０の液晶ディスプレイなどの表示部を含む。表示装置２６には、ＣＰＵ２１からシステムバス２９、出力インターフェース（Ｉ／Ｆ）を介して出力信号が伝送される。
【００１５】
本実施形態では、ユーザーは、端末２０で動作するウェブブラウザにおいてサーバ１０のアドレスを指定する。端末２０のウェブブラウザは、数式の入力受付に応じてサーバ１０へのリクエストを発行し、サーバ１０が演算プログラムにしたがって実行した演算の結果をサーバ１０からのレスポンスとして受信する。言い換えれば、サーバ１０は、端末２０からの演算のリクエストに応答して、演算プログラムにしたがってプロセッサ１１で演算を実行し、実行した演算結果をレスポンスとして端末２０に送信する。さらに、端末２０は、受信した演算結果を用いて、ウェブブラウザ上で動作するプログラムにしたがってグラフの描画をする。このように、システム１では、端末２０のウェブブラウザ上で動作するプログラムとサーバ１０の演算プログラムとにより、グラフ描画のためのウェブアプリケーションとしての機能が実現される。
【００１６】
このようなウェブアプリケーションは、例えば、ＩＣＴ（Information and Communication Technology）化が進む学校教育の現場において、数学の授業等で活用されうる。
【００１７】
図２は、表示装置２６の画面表示の一例を示す図である。図２において、ウインドウ１００には、数式付箋１０１とグラフ付箋１０２とが表示されている。数式付箋１０１は、ユーザーが入力した数式（関数）を表示する付箋である。数式付箋１０１は、入力装置２５からの入力及び当該入力の表示が可能な付箋である。グラフ付箋１０２は、そのグラフエリア１０３に、数式付箋１０１に入力された数式（関数）のグラフが表示される付箋である。グラフエリア１０３は、最小値ｘｍｉｎから最大値ｘｍａｘまでのｘ座標範囲と、最小値ｙｍｉｎから最大値ｙｍａｘまでのｙ座標範囲とによって規定される領域である。グラフエリア１０３は、ユーザーが適宜設定可能である。また、ユーザーの入力により、グラフエリア１０３の並行移動、拡大、縮小等が可能である。数式付箋１０１とグラフ付箋１０２とは互いに紐付けられているため、紐１０４で結び付けて表示されている。数式付箋１０１及びグラフ付箋１０２は、ウインドウ１００中で自由に移動可能なフローティングオブジェクトである。
【００１８】
以下、数式付箋１０１に関数ｙ＝ｆ（ｘ）＝（−１）ｘが入力されたときのシステム１におけるグラフ描画動作の一例を説明する。
【００１９】
端末２０は、表示装置２６に空の数式付箋１０１を含むウインドウ１００を表示する。空の数式付箋１０１とは、文字や数字、数式などが何も表示されていない状態の数式付箋である。端末２０は、入力装置２５を用いて数式付箋１０１へのユーザーの入力を受け付ける。ユーザーは、入力装置２５のキーボードを用いて数式付箋１０１に数式を入力してもよいし、表示装置２６に表示されるソフトウェアキーボードを用いて数式付箋１０１に数式を入力してもよい。端末２０は、入力に応じて、数式付箋１０１の表示を更新する。ユーザーは、所望の数式を、ここでは関数ｙ＝（−１）ｘを入力し終えると、数式を確定させる入力を行う。当該入力が、グラフ描画指示となる。
【００２０】
図３Ａ及び図３Ｂは、本実施形態におけるシステム１のグラフ描画動作の一例を示す図である。
【００２１】
ステップＳ１１において、ＣＰＵ２１は、グラフ描画指示を受け付けたか否かを判定する。受け付けたと判定されるまで待機し、受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ１２に進む。
【００２２】
ステップＳ１２において、ＣＰＵ２１は、プロット点のｘ座標の第１の算出処理を実行する。以下、図４及び図６を参照して、プロット点のｘ座標の第１の算出処理について説明する。
【００２３】
プロット点のｘ座標の第１の算出処理では、ステップＳ１２１において、ＣＰＵ２１は、グラフエリア１０３のｘ座標の最小値ｘｍｉｎ及び最大値ｘｍａｘを特定する。ここでは、図６に示されるように、ｘ座標の最小値ｘｍｉｎ＝−７．２８であり、ｘ座標の最大値ｘｍａｘ＝７．２８であるとする。
【００２４】
ステップＳ１２２において、ＣＰＵ２１は、ｘ座標のステップ値であるｘｓｔｅｐを特定する。ｘ座標のステップ値ｘｓｔｅｐとは、プロット点を算出するｘ座標の刻み値である。ｘ座標のステップ値ｘｓｔｅｐは、グラフエリア１０３のｘ座標の最小値ｘｍｉｎからｘ座標の最大値ｘｍａｘまでの幅Δｘ＝ｘｍａｘ−ｘｍｉｎの表示ピクセル数に応じて、例えばストレージ２４に予め記憶されているステップ値｛…，０．０１，０．０２，０．０５，０．１，０．２，０．５，１，２，５，１０，２０，５０，…｝のいずれかに設定される。ｘ座標のステップ値は、ｘｓｔｅｐ＝ｎ×１０ｍ（ｍは整数、ｎは１０の約数）で表されてよい。これに限らず、ｘｓｔｅｐが１未満であるときにはｎ−１×１０ｍ、ｘｓｔｅｐが１以上であるときにはｎ×１０ｍ、（ｎは自然数、ｍは整数）を満たすものを独自に設定してもよい。表示ピクセル数は、表示装置２６のスペックとグラフエリア１０３の実寸とで決まる値である。ピクセル単位で、１ピクセル以上で最小になるｘｓｔｅｐの値が選択される。例えば、表示ピクセル数が３００ピクセルであるとき、Δｘ／表示ピクセル数＝｛７．２８−（−７．２８）｝／３００＝０．０４８５３３３・・・であるから、ｘｓｔｅｐの値として上に列記したステップ値の中から０．０５が選択される。
【００２５】
このように、前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定してよい。このとき、前記第１軸の刻み幅は、該刻み幅の前記表示装置の画面上での長さが、前記表示装置の前記第１軸に沿う単位ピクセルの前記表示装置の画面上での長さよりも長くなるように、決定してよい。また、ｎ×１０ｍ（ｍは整数、ｎは１０の約数）で表される数値のうち、前記描画エリアの第１軸に沿う数値幅を前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル数で除したときの商以上の最小値を、前記第１軸の刻み幅として決定すればよい。
【００２６】
ＣＰＵ２１は、ｘｓｔｅｐの値をストレージ２４に記憶させる。ここでは、ＣＰＵ２１は、ｘｓｔｅｐの値として０．０５を選択したことをストレージ２４に記憶させる。
【００２７】
ステップＳ１２３において、ＣＰＵ２１は、プロットに関するｘ座標のスタート値ｘｓｔａｒｔを設定する。ここで、ｘｓｔａｒｔ＝ｎ・ｘｓｔｅｐ  かつ  ｘｓｔａｒｔ≦ｘｍｉｎを満たし、最大となるものをｘｓｔａｒｔとする。つまり、ｘ座標のスタート値ｘｓｔａｒｔは、以下のように表される。  
ｘｓｔａｒｔ＝ｆｌｏｏｒ（ｘｍｉｎ／ｘｓｔｅｐ）・ｘｓｔｅｐ
ここで、ｆｌｏｏｒは、数値を最も近い整数に切り下げる関数（床関数）である。上述の例では、以下のように表される。  
ｘｓｔａｒｔ＝ｆｌｏｏｒ（−７．２８／０．０５）×０．０５＝−７．３
【００２８】
ステップＳ１２３では、ｆｌｏｏｒ関数の代わりにｒｏｕｎｄ関数を用いて、ｘｓｔａｒｔを求めてもよい。  
ｘｓｔａｒｔ＝ｒｏｕｎｄ（ｘｍｉｎ／ｘｓｔｅｐ）・ｘｓｔｅｐ
ここで、ｒｏｕｎｄは、数値を四捨五入し指定した桁数にする関数である。
【００２９】
このように、ステップＳ１２３では、ステップＳ１２２で決定したステップ値の倍数のうち、ｘｍｉｎとの差が最も小さいか又は２番目に小さいものを、ｘｓｔａｒｔの値として求めてよい。
【００３０】
ステップＳ１２４において、ＣＰＵ２１は、プロットに関するｘ座標のエンド値ｘｅｎｄを設定する。ここで、ｘｅｎｄ＝ｎ・ｘｓｔｅｐ  かつ  ｘｅｎｄ≧ｘｍａｘを満たし、最小となるものをｘｅｎｄとする。つまり、ｘ座標のエンド値ｘｅｎｄは、以下のように表される。
ｘｅｎｄ＝ｃｅｉｌ（ｘｍａｘ／ｘｓｔｅｐ）・ｘｓｔｅｐ
ここで、ｃｅｉｌは、数値を最も近い整数に切り上げる関数（天井関数）である。上述の例では、以下のように表される。  
ｘｅｎｄ＝ｃｅｉｌ（７．２８／０．０５）×０．０５＝７．３
【００３１】
ステップＳ１２４では、ｃｅｉｌ関数の代わりにｒｏｕｎｄ関数を用いて、ｘｅｎｄを求めてもよい。  
ｘｅｎｄ＝ｒｏｕｎｄ（ｘｍａｘ／ｘｓｔｅｐ）・ｘｓｔｅｐ
【００３２】
このように、ステップＳ１２４では、ステップＳ１２２で決定したステップ値の倍数のうち、ｘｍａｘとの差が最も小さいか又は２番目に小さいものを、ｘｅｎｄの値として求めてよい。
【００３３】
ステップＳ１２４の後、処理はリターンする。
【００３４】
ステップＳ１３において、ＣＰＵ２１は、演算指示及びグラフ描画に必要な情報をサーバ１０に送信する。グラフ描画に必要な情報は、入力された関数ｙ＝（−１）ｘ、ステップＳ１２で算出したｘｓｔｅｐ、ｘｓｔａｒｔ及びｘｅｎｄの値を含む。
【００３５】
ステップＳ１４において、プロセッサ１１は、必要な情報を受信し、演算プログラムにしたがって、受信した情報に基づいてグラフ描画のプロット点のｙ座標の演算を実行する。演算されるプロット点の座標（Ｘｐ，Ｙｐ）は、以下のように表される。  
Ｘｐ＝ｘｓｔａｒｔ＋ｋ・ｘｓｔｅｐ
（ｋは０〜（ｘｅｎｄ−ｘｓｔａｒｔ）／ｘｓｔｅｐの整数）
Ｙｐ＝ｆ（Ｘｐ）
ここでは、Ｘｐ＝−７．３，−７．２５，−７．２，−７．１５，−７．１，−７．０５，−７，−６．９５，…，６．９５，７，７．０５，７．１，７．１５，７．２，７．２５，７．３に対してＹｐ＝ｆ（Ｘｐ）が求められる。
【００３６】
このように、前述の通りｘｓｔｅｐ、ｘｓｔａｒｔ、ｘｅｎｄの値を決定したことにより、Ｘｐは、グラフエリア内の任意の整数値、すなわち、ｘｍｉｎ≦Ｘｐ≦ｘｍａｘを満たすすべての整数値をもれなく含むことができる。
【００３７】
また、関数ｙ＝ｆ（ｘ）＝（−１）ｘはｘが整数のときのみ値を持つから、Ｙｐ＝ｆ（−７）＝−１、Ｙｐ＝ｆ（−６）＝１、…、Ｙｐ＝ｆ（６）＝１、Ｙｐ（７）＝−１の１５個のプロット点の座標（Ｘｐ，Ｙｐ）が算出される。つまり、前述の通りｘｓｔｅｐ、ｘｓｔａｒｔ、ｘｅｎｄの値を決定したことにより、グラフエリア内、すなわち、ｘ座標範囲ｘｍｉｎ≦ｘ≦ｘｍａｘにおける関数ｙ＝（−１）ｘのすべてのプロット点をもれなく描画することができる。このように、前記描画エリアの第１軸の最小値及び／又は最大値、決定した前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定できる。
【００３８】
プロセッサ１１は、演算結果（上述のプロット点の座標（Ｘｐ，Ｙｐ）の組）を端末２０に送信する。
【００３９】
ステップＳ１５において、ＣＰＵ２１は、演算結果を受信する。ＣＰＵ２１は、受信した演算結果を用いてグラフを描画する。これにより、図６に示されるように、関数ｙ＝（−１）ｘのグラフが表示される。これは、ｘが整数の値のときのみ値がプロットされた数学的に正しいグラフである。
【００４０】
ステップＳ１６において、ＣＰＵ２１は、グラフエリア１０３のズーム（ズームイン（拡大）又はズームアウト（縮小））指示を受け付けたか否かを判定する。グラフエリア１０３のズームとは、例えば図８に示されるように、グラフエリア１０３の目盛を大きく、又は小さくすることを意味する。すなわち、グラフエリア１０３のズームでは、グラフエリア１０３のｘ座標の最小値ｘｍｉｎ及び最大値ｘｍａｘが変更される。ここでは、グラフ付箋１０２及びグラフエリア１０３のサイズの変更は伴わない。
【００４１】
ステップＳ１６において、ズーム指示を受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ１７に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ１８に進む。すなわち、ズーム指示を受け付けた場合には、ステップＳ１８において、再び、ステップＳ１２と同様にプロット点のｘ座標の第１の算出処理が行われる。
【００４２】
例えば、図８に示されるように、グラフエリア１０３のズームイン指示によりｘ座標の最小値ｘｍｉｎ＝−２．８７，ｘ座標の最大値ｘｍａｘ＝２．８７になったとする。グラフエリア１０３のサイズ（表示ピクセル数）は変更されていない。この場合、Δｘ／表示ピクセル数＝｛２．８７−（−２．８７）｝／３００＝０．０１９１３３３・・・であるから、ＣＰＵ２１は、ｘｓｔｅｐとして上に列記したステップ値の中から０．０２を選択する。ＣＰＵ２１は、ｘｓｔｅｐの値として０．０２を選択したことをストレージ２４に記憶させる。次いで、ＣＰＵ２１は、ｘｓｔａｒｔ＝ｆｌｏｏｒ（−２．８７／０．０２）×０．０２＝−２．８８を設定する。さらに、ＣＰＵ２１は、ｘｅｎｄ＝ｃｅｉｌ（２．８７／０．０２）×０．０２＝２．８８を設定する。
【００４３】
ステップＳ１７において、ＣＰＵ２１は、ウインドウサイズの変更を受け付けたか否かを判定する。ウインドウサイズの変更とは、数式付箋１０１に対する直接操作ではなく、ウェブアプリケーションに対して、当該数式付箋１０１が表示されている画面、つまり、ウェブアプリケーションのウインドウサイズを変更するユーザー操作を行ったことに応じて、ウインドウ１００の大きさを変更したことを意味している。これに伴い、グラフ付箋１０２及びグラフエリア１０３が拡大（又は縮小）されて、グラフエリア１０３の目盛の大きさが変わっている。
【００４４】
ステップＳ１７において、変更を受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ２２に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ１８に進む。すなわち、ウインドウサイズの変更を受け付けた場合には、ステップＳ１８において、再び、ステップＳ１２と同様にプロット点のｘ座標の第１の算出が行われる。
【００４５】
ステップＳ１８の後、処理はステップＳ１９に進む。ステップＳ１９において、ＣＰＵ２１は、演算指示及びグラフ描画に必要な情報をサーバ１０に送信する。ステップＳ２０において、プロセッサ１１は、必要な情報を受信し、演算プログラムにしたがって、受信した情報に基づいてグラフ描画のプロット点のｙ座標の演算を実行する。ステップＳ２１において、ＣＰＵ２１は、演算結果を受信する。ＣＰＵ２１は、受信した演算結果を用いて、グラフを更新する。これにより、例えば、グラフエリア１０３がズームされた後であっても、図８に示されるように、ｘが整数の値のときのみ値がプロットされたｙ＝（−１）ｘの正しいグラフが表示される。つまり、ｘが整数の値をとるときのｙの値がもれなく、一つもスキップされることなく演算されている。
【００４６】
ステップＳ２２において、ＣＰＵ２１は、グラフエリア１０３の並行移動を受け付けたか否かを判定する。グラフエリア１０３の並行移動とは、グラフエリア１０３のサイズを変えることなく、グラフエリア１０３のｘ座標の最小値ｘｍｉｎ及び最大値ｘｍａｘを変えることを意味する。すなわち、グラフエリア１０３の並行移動では、Δｘ＝ｘｍａｘ−ｘｍｉｎは変化しない。受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ２３に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ２４に進む。
【００４７】
ステップＳ２３において、ＣＰＵ２１は、グラフ付箋１０２の大きさの変更を受け付けたか否かを判定する。グラフ付箋１０２の大きさの変更とは、グラフ付箋１０２を広げる又は狭める変更であって、グラフエリア１０３の目盛の大きさを変えずにグラフエリア１０３のｘ座標の最小値ｘｍｉｎ及び最大値ｘｍａｘの少なくとも一方を変更することを意味する。受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ２８に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ２４に進む。
【００４８】
ステップＳ２４において、ＣＰＵ２１は、プロット点のｘ座標の第２の算出処理を実行する。以下、図５、図７及び図９を参照して、プロット点のｘ座標の第２の算出処理について説明する。
【００４９】
プロット点のｘ座標の第２の算出処理では、ステップＳ２４１において、ＣＰＵ２１は、グラフエリアを特定する。例えば、図７では、ｘｍｉｎ＝−４．２３、ｘｍａｘ＝１０．２９であるとする。例えば、図９では、ｘｍｉｎ＝−１５．８７、ｘｍａｘ＝１５．８７であるとする。
【００５０】
ステップＳ２４２において、ＣＰＵ２１は、プロットに関するｘ座標のスタート値ｘｓｔａｒｔを設定する。ここで、ｘ座標のスタート値ｘｓｔａｒｔは、ｘｓｔａｒｔ＝ｆｌｏｏｒ（ｘｍｉｎ／ｘｓｔｅｐ）・ｘｓｔｅｐで表される。図７に示される例では、以下のように表される。
ｘｓｔａｒｔ＝ｆｌｏｏｒ（−４．２３／０．０５）×０．０５＝−４．３  
また、図９に示される例では、以下のように表される。
ｘｓｔａｒｔ＝ｆｌｏｏｒ（−１５．８７／０．０５）×０．０５＝−１５．９
【００５１】
ステップＳ２４３において、ＣＰＵ２１は、プロットに関するｘ座標のエンド値ｘｅｎｄを設定する。ここで、ｘ座標のエンド値ｘｅｎｄは、ｘｅｎｄ＝ｃｅｉｌ（ｘｍａｘ／ｘｓｔｅｐ）・ｘｓｔｅｐで表される。図７に示される例では、以下のように表される。
ｘｅｎｄ＝ｃｅｉｌ（１０．２９／０．０５）×０．０５＝１０．３  
また、図９に示される例では、以下のように表される。  
ｘｅｎｄ＝ｃｅｉｌ（１５．８７／０．０５）×０．０５＝１５．９
【００５２】
ステップＳ２４３の後、処理はリターンする。このように、プロット点のｘ座標の第２の算出処理では、ｘｓｔｅｐの値は０．０５のままであり、再設定されない。グラフエリア１０３の並行移動あるいはグラフ付箋１０２の大きさの変更がなされてもΔｘ／表示ピクセル数が変化しないため、ｘｓｔｅｐの値を再設定しなくてよいからである。したがって、以上説明したプロット点のｘ座標の第２の算出処理では、ｘｓｔｅｐの値を算出する処理は行われない。
【００５３】
ステップＳ２４の後、処理はステップＳ２５に進む。ステップＳ２５において、ＣＰＵ２１は、演算指示及びグラフ描画に必要な情報をサーバ１０に送信する。グラフ描画に必要な情報は、入力された関数ｙ＝（−１）ｘ、ステップＳ２４で算出したｘｓｔａｒｔ及びｘｅｎｄの値、及びストレージ２４に記憶されている現在のｘｓｔｅｐの値を含む。ステップＳ２６において、プロセッサ１１は、必要な情報を受信し、演算プログラムにしたがって、受信した情報に基づいてグラフ描画のプロット点のｙ座標の演算を実行する。ステップＳ２７において、ＣＰＵ２１は、演算結果を受信する。ＣＰＵ２１は、受信した演算結果を用いて、グラフを更新する。これにより、グラフエリア１０３が並行移動されてもグラフ付箋１０２の大きさが変更されても、図７及び図９に示されるように、ｘが整数の値のときのみ値がプロットされたｙ＝（−１）ｘの正しいグラフが表示される。つまり、ｘが整数の値をとるときのｙの値がもれなく、一つもスキップされることなく演算されている。
【００５４】
ステップＳ２７の後、処理はステップＳ２８に進む。ステップＳ２８において、プロセッサ１１は、処理を終了するか否かを判定する。終了すると判定されるまで、ステップＳ１６以降の処理が繰り返される。終了すると判定された場合には（Ｙｅｓ）、処理は終了する。
【００５５】
例えば、入力された関数に基づくグラフ描画が可能な従来のグラフ関数電卓では、グラフを描画する際に、グラフエリアの設定値（ｘｍｉｎ，ｘｍａｘ，ｘｄｏｔ）を使ってプロット点のｘ座標を算出し、それらのｘ座標から各プロット点のｙ座標を計算している。ここで、ｘｄｏｔは、ｘｓｔｅｐに相当する刻み値である。具体的には、各プロット点のｘ座標は、ｘ＝ｘｍｉｎ＋ｋ・ｘｄｏｔ（ｋは整数）という計算式で表される。この計算式を使った場合、ｘｍｉｎとｘｄｏｔがキリのよい数値であれば、ｘが整数になるｋが存在する（例えば、ｘｍｉｎ＝−５、ｘｄｏｔ＝０．２）。
【００５６】
しかしながら、上記の計算式の通りｘの値を決定したときに、ｘｍｉｎやｘｄｏｔがキリの悪い数値であると、ｘが整数になるｋが存在しない場合がある。つまり、上記の計算式の通りｘの値を決定すると、グラフエリア内のすべての整数値、すなわち、ｘｍｉｎ≦ｘ≦ｘｍａｘを満たすすべての整数値をもれなく含まない場合がある。例えば、図６のように、ｘ座標の最小値ｘｍｉｎ＝−７．２８、最大値ｘｍａｘ＝７．２８である場合、ｘｄｏｔ＝０．２であれば、プロット点のｘ座標は、ｘ＝−７．２８，−７．０８，−６．８８，…，６．８８，７．０８，７．２８となり、ｘが整数となるｋが存在しないこととなる。
【００５７】
特に、ｙ＝（−１）ｘのような負の整数のｘ乗のグラフは、ｘが整数のときのみ値を持つグラフである。このため、ｘが整数になるｋが存在しないケースではグラフが正しく表示されない。特に、数学的に正しくないグラフが描画されたり、ズームしたグラフに点がプロットされなかったりしうる。
【００５８】
これに対して、本実施形態では、関数の第１の変数（例えばｘ）が任意の整数値を取るようにｘ座標の値が決定される。換言すれば、プロット点のｘ座標が整数となるように、ｘ座標範囲の刻み値ｘｓｔｅｐとプロット点のｘ座標に係わるｘｓｔａｒｔ及びｘｅｎｄとの値を設定している。これにより、ｘが整数の値をとるときのｙの値が確実に演算される。例えば、ｙ＝ｆ（ｘ）＝（−１）ｘのような負のｘ乗のグラフをグラフエリアの設定にかかわらず正しく描画することができる。
【００５９】
図１０は、上述したような従来のグラフ関数電卓での手法によるｘｍｉｎ／ｘｍａｘとｘｄｏｔの設定、及び、本実施形態におけるｘｓｔａｒｔ／ｘｅｎｄとｘｓｔｅｐの設定との対比を例示した図である。図１０中の項目における「〇」は、その値を更新することを意味する。本実施形態では、ｘｍｉｎ／ｘｍａｘに対して新たに導入した値であるｘｓｔａｒｔ／ｘｅｎｄが、グラフエリア並行移動、グラフエリアズーム、グラフ付箋の大きさ変更及びウインドウサイズ変更の操作時に更新される。また、刻み値であるｘｓｔｅｐは、グラフエリアズーム及びウインドウサイズの変更の操作時に更新される。なお、従来のウインドウサイズの変更の項目における「−」は、従来のグラフ関数電卓においてウインドウサイズの変更が実装されていないことを意味する。
【００６０】
負のｘ乗のグラフ以外にも、ｘが整数の値をとるときのｙの値が確実に演算されることが役立つ場面がある。例えば、このようなグラフ描画アプリケーションを学校教育の現場で、例えば数学の授業で活用する場合、ユーザー（例えば生徒）は、グラフエリアの設定によらず、ｘが整数の値をとるときのｙの値を取得可能である。これは、関数やグラフの性質の理解の助けとなる。
【００６１】
本実施形態では、数式（関数）の種類から場合分けした演算処理によりプロット点を算出するのではなく、全ての種類の数式に対して同じ処理を適用してグラフを描画することができる。したがって、演算処理用プログラムのソースコードの量を大幅に増やさずに済むという利点を有する。
【００６２】
なお、ｘ座標の刻み値ｘｓｔｅｐとして１／３などを設定してもよいが、この場合、１／３＝０．３３３・・・となる。本システムには、グラフエリア１０３上の座標を表示する機能が備わっているが、この場合、小数表示設定における座標表示が長くなりうる。ｘｓｔｅｐとして１／２、１／４、１／５、１／１０などを設定すれば、座標表示が短くてよい。また、グラフエリア１０３のグリッドの太線が１、２、５刻みであれば、ｘｓｔｅｐが１未満であるときにはｎ−１×１０ｍ、ｘｓｔｅｐが１以上であるときにはｎ×１０ｍ、（ｍは整数、ｎは１０の約数）を設定すると太線グリッド上の座標点が必ず表示される。
【００６３】
以上の説明では、サーバ１０からの演算結果であるプロット点のデータ（ｘ，ｙ）がグラフエリア１０３にプロットされるグラフ描画を例示したが、プロット点のデータ（ｘ，ｙ）が端末２０の表示装置２６に数表として表示されてもよい。例えば、ウインドウ１００に当該数表を表示する数表付箋が表示されてよい。
【００６４】
ここまで、プロット点のｘ座標の算出処理が端末２０で実行される一実施形態を説明してきたが、当該処理はサーバ１０で実行されてもよい。図１１Ａ及び図１１Ｂは、そのような実施形態におけるシステム１のグラフ描画動作の一例を示す図である。
【００６５】
ステップＳ３１において、ＣＰＵ２１は、グラフ描画指示を受け付けたか否かを判定する。受け付けたと判定されるまで待機し、受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ３２に進む。
【００６６】
ステップＳ３２において、ＣＰＵ２１は、演算指示及び演算に必要な情報をサーバ１０に送信する。演算に必要な情報は、入力された関数及びグラフエリアの情報を含む。
【００６７】
ステップＳ３３において、プロセッサ１１は、必要な情報を受信する。ステップＳ３４において、プロセッサ１１は、プロット点のｘ座標の第１の算出処理を実行する。つまり、図４に示されるのと同様の処理が実行される。ステップＳ３５において、プロセッサ１１は、演算プログラム、入力された関数及びステップＳ３４で算出したｘｓｔｅｐ、ｘｓｔａｒｔ及びｘｅｎｄの値に基づいてグラフ描画のプロット点のｙ座標の演算を実行する。プロセッサ１１は、演算結果を端末２０に送信する。
【００６８】
ステップＳ３６において、ＣＰＵ２１は、演算結果を受信する。ＣＰＵ２１は、受信した演算結果を用いて、グラフを描画する。
【００６９】
ステップＳ３７において、ＣＰＵ２１は、グラフエリア１０３のズーム指示を受け付けたか否かを判定する。受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ３８に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ３９に進む。
【００７０】
ステップＳ３８において、ＣＰＵ２１は、ウインドウサイズの変更を受け付けたか否かを判定する。受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ４４に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ３９に進む。
【００７１】
ステップＳ３９において、ＣＰＵ２１は、演算指示及び演算に必要な情報をサーバ１０に送信する。ステップＳ４０において、プロセッサ１１は、必要な情報を受信する。ステップＳ４１において、プロセッサ１１は、プロット点のｘ座標の第１の算出処理を実行する。つまり、図４に示されるのと同様の処理が実行される。ステップＳ４２において、プロセッサ１１は、演算プログラム、入力された関数及びステップＳ４１で算出したｘｓｔｅｐ、ｘｓｔａｒｔ及びｘｅｎｄの値に基づいてグラフ描画のプロット点のｙ座標の演算を実行する。プロセッサ１１は、演算結果を端末２０に送信する。
【００７２】
ステップＳ４３において、ＣＰＵ２１は、演算結果を受信する。ＣＰＵ２１は、受信した演算結果を用いて、グラフを更新する。
【００７３】
ステップＳ４４において、ＣＰＵ２１は、グラフエリア１０３の並行移動を受け付けたか否かを判定する。受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ４５に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ４６に進む。
【００７４】
ステップＳ４５において、ＣＰＵ２１は、グラフ付箋１０２の大きさの変更を受け付けたか否かを判定する。受け付けていないと判定された場合には（Ｎｏ）、処理はステップＳ５１に進む。受け付けたと判定された場合には（Ｙｅｓ）、処理はステップＳ４６に進む。
【００７５】
ステップＳ４６において、ＣＰＵ２１は、演算指示及び演算に必要な情報をサーバ１０に送信する。ステップＳ４７において、プロセッサ１１は、必要な情報を受信する。ステップＳ４８において、プロセッサ１１は、プロット点のｘ座標の第２の算出処理を実行する。つまり、図５に示されるのと同様の処理が実行される。ステップＳ４８において、プロセッサ１１は、演算プログラム、入力された関数及びステップＳ４８で算出したｘｓｔａｒｔ及びｘｅｎｄの値、及びストレージ２４に記憶されている現在のｘｓｔｅｐの値に基づいてグラフ描画のプロット点のｙ座標の演算を実行する。プロセッサ１１は、演算結果を端末２０に送信する。
【００７６】
ステップＳ５０において、ＣＰＵ２１は、演算結果を受信する。ＣＰＵ２１は、受信した演算結果を用いて、グラフを更新する。
【００７７】
ステップＳ５０の後、処理はステップＳ５１に進む。ステップＳ５１において、プロセッサ１１は、処理を終了するか否かを判定する。終了すると判定されるまで、ステップＳ３７以降の処理が繰り返される。終了すると判定された場合には（Ｙｅｓ）、処理は終了する。
【００７８】
以上、端末２０のウェブブラウザ上で動作するプログラムとサーバ１０の演算プログラムとが協働するウェブアプリケーションについて説明してきたが、上述したようなグラフ描画の概念は、ウェブアプリケーション以外にも適用可能である。例えば、グラフ関数電卓などの電子機器におけるグラフ描画アルゴリズムにも適用可能である。図１２は、グラフ関数電卓５０の表示画面の一例を示す図である。グラフ関数電卓５０には、数式付箋１０１に相当する数式入力領域５１と、グラフ付箋１０２のグラフエリア１０３に相当するグラフ描画領域５２とが表示される。このようなグラフ関数電卓５０では、上述の端末２０とサーバ１０との通信を必要とすることなく、グラフ関数電卓５０の不図示のＣＰＵ等による内部処理で図３Ａ及び図３Ｂ、あるいは図１１Ａ及び図１１Ｂに示されるような動作が実現されてよい。
【００７９】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００８０】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］制御装置によって実行されるグラフ描画方法であって、
表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定し、
前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とし、
前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、ことを含む方法。
［２］前記第１軸の刻み幅は、該刻み幅の前記表示装置の前記画面上での長さが、前記表示装置の前記第１軸に沿う単位ピクセルの前記表示装置の前記画面上での長さよりも長くなるように、決定される、ことを含む、［１］に記載の方法。
［３］ｎ×１０ｍ（ｍは整数、ｎは１０の約数）で表される数値のうち、前記描画エリアの第１軸に沿う数値幅を前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅で除したときの商以上の最小値を、前記第１軸の刻み幅として決定する、ことを含む、［１］又は［２］に記載の方法。
［４］前記描画エリアに設定された座標範囲が拡がる或いは狭まるように変更したとき、前記方法が実行されるアプリケーションソフトウエアの前記描画エリアを含むウインドウのサイズが変更したとき、又は、前記描画エリアの第１軸に沿う座標幅と該描画エリアの前記第１軸に沿う表示ピクセル幅の比の変更を伴いながら、該描画エリアの前記第１軸に沿う座標幅が変更されたとき、
変更後の前記描画エリアの第１軸に沿う座標幅、及び、変更後の該描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記刻み幅を再計算して決定する、ことをさらに含む［１］乃至［３］のいずれか１に記載の方法。
［５］前記描画エリアに設定された座標範囲が並行移動するように変更したとき、前記描画エリアのサイズが変更したとき、又は、前記描画エリアの第１軸に沿う座標幅と該描画エリアの前記第１軸に沿う表示ピクセル幅の比の変更を伴わずに、該描画エリアの前記第１軸に沿う座標幅が変更されたとき、
前記前記刻み幅を再計算せずに、変更後の前記描画エリアの第１軸の最小値及び／又は最大値、変更前の前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定する、
ことをさらに含む［１］乃至［４］のいずれか１に記載の方法。
［６］グラフ描画システムの制御装置により読み取り可能なコンピュータプログラムであって、
前記制御装置によって、
表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定させ、
前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とさせ、
前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定させ、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、コンピュータプログラム。
［７］表示装置の画面内の少なくとも第１軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第１軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第１軸に沿う表示ピクセル幅に基づいて、前記第１軸の数値の刻み幅を決定し、
前記第１軸の数値の刻み幅の倍数のうち、前記描画エリアの第１軸の最小値又は最大値との差が最も小さい又は２番目に小さい数値を、前記グラフのプロット点の前記第１軸の座標の最小値又は最大値とし、
前記グラフのプロット点の前記第１軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、制御装置を備えるグラフ描画システム。
【符号の説明】
【００８１】
１…システム、１０…サーバ、１１…プロセッサ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ストレージ、１５…通信装置、１９…システムバス、２０…端末、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…ストレージ、２５…入力装置、２６…表示装置、２７…通信装置、２９…システムバス、３０…ネットワーク、５０…グラフ関数電卓、１００…ウインドウ、１０１…数式付箋、１０２…グラフ付箋、１０３…グラフエリア、１０４…紐。
【図１】
2019185686.tif 000003
【図２】
2019185686.tif 000004
【図３Ａ】
2019185686.tif 000005
【図３Ｂ】
2019185686.tif 000006
【図４】
2019185686.tif 000007
【図５】
2019185686.tif 000008
【図６】
2019185686.tif 000009
【図７】
2019185686.tif 000010
【図８】
2019185686.tif 000011
【図９】
2019185686.tif 000012
【図１０】
2019185686.tif 000013
【図１１Ａ】
2019185686.tif 000014
【図１１Ｂ】
2019185686.tif 000015
【図１２】
2019185686.tif 000016