JP7014024B2 - グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム - Google Patents

グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム Download PDF

Info

Publication number
JP7014024B2
JP7014024B2 JP2018079445A JP2018079445A JP7014024B2 JP 7014024 B2 JP7014024 B2 JP 7014024B2 JP 2018079445 A JP2018079445 A JP 2018079445A JP 2018079445 A JP2018079445 A JP 2018079445A JP 7014024 B2 JP7014024 B2 JP 7014024B2
Authority
JP
Japan
Prior art keywords
axis
graph
drawing area
value
coordinate
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
Application number
JP2018079445A
Other languages
English (en)
Other versions
JP2019185686A5 (ja
JP2019185686A (ja
Inventor
直樹 赤江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2018079445A priority Critical patent/JP7014024B2/ja
Priority to US16/386,988 priority patent/US10796466B2/en
Publication of JP2019185686A publication Critical patent/JP2019185686A/ja
Publication of JP2019185686A5 publication Critical patent/JP2019185686A5/ja
Priority to JP2022006436A priority patent/JP7315042B2/ja
Application granted granted Critical
Publication of JP7014024B2 publication Critical patent/JP7014024B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Calculators And Similar Devices (AREA)
  • Image Generation (AREA)

Description

本発明は、グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラムに関する。
関数に基づくグラフ描画が可能なグラフ関数電卓が知られている。
カシオ計算機,fx-CG50 取扱説明書[online],[平成30年4月16日検索]、インターネット<URL:http://support.casio.jp/storage/pdf/004/fx-CG50_Soft_v311_JA.pdf>
例えば、関数y=(-1)のような負の整数のx乗は、xが整数のときのみ値を持つ。グラフ関数電卓やグラフ描画アプリケーションにおいて、このような関数のグラフが正しく表示されるためには、グラフが描画される座標範囲内においてxが任意の整数について、yの値が演算される必要がある。本発明は、グラフが描画される座標範囲内において、関数の第1の変数が任意の整数値を取るように座標値を決定することを目的とする。
本発明の一実施形態は、制御装置によって実行されるグラフ描画方法である。本方法は、複数の変数を含む数式に対応するグラフを、表示装置の画面内の描画エリアであって前記複数の変数に対応する複数の軸に対応する複数の座標範囲により規定される前記描画エリアに描画するための、前記グラフの複数のプロット点の複数の座標を決定するプロット点座標決定ステップを含み、前記プロット点座標決定ステップは、前記表示装置の前記画面内の前記描画エリアの、前記複数の軸のうちの第1軸における最小値及び最大値と、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅とを特定することと、特定した前記最小値及び前記最大値に基づいて得られる前記描画エリアの前記第1軸に沿う座標幅と、特定した前記第1軸に沿う前記表示ピクセル幅に基づいて前記第1軸の数値の刻み幅とを、決定することと、決定した前記第1軸の前記数値の前記刻み幅と、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値とに基づいて、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値を変更することと、前記第1軸の前記座標範囲の変更した前記最小値又は前記最大値と、決定した前記第1軸の前記数値の前記刻み幅と、前記数式とに少なくとも基づいて、各座標が前記複数の変数の数値を含む前記複数の座標を決定することと、を含む
図1は、本発明の一実施形態に係るシステムの一例を示す図である。 図2は、本発明の一実施形態に係るシステムにおける端末の画面表示の一例を示す図である。 図3Aは、本発明の一実施形態に係るシステムの動作の一例を示す図である。 図3Bは、本発明の一実施形態に係るシステムの動作の一例を示す図である。 図4は、プロット点のx座標の第1の算出処理の一例を示す図である。 図5は、プロット点のx座標の第2の算出処理の一例を示す図である。 図6は、端末の画面表示の一例を示す図である。 図7は、グラフエリア並行移動後の画面表示の一例を示す図である。 図8は、グラフエリアズーム後の画面表示の一例を示す図である。 図9は、グラフ付箋の大きさ変更後の画面表示の一例を示す図である。 図10は、従来と本実施形態との手法を対比して例示した図である。 図11Aは、本発明の他の実施形態に係るシステムの動作の一例を示す図である。 図11Bは、本発明の他の実施形態に係るシステムの動作の一例を示す図である。 図12は、グラフ関数電卓の画面表示の一例を示す図である。
本発明の一実施形態について図面を参照して説明する。
図1は、本発明の一実施形態に係るシステム1の構成の一例を示す図である。システム1は、サーバ10と、端末20とを含む。サーバ10と端末20とは、ネットワーク30を介して通信可能に接続される。ネットワーク30は、例えばインターネットである。なお、図1には、1台の端末20のみが示されているが、ネットワーク30を介してサーバ10に接続可能な端末20の台数はこれに限定されない。1以上の端末20が接続可能である。
システム1は、ユーザーが入力した数式(関数)に基づく演算結果により関数のグラフを表示する。システム1では、端末20に入力されたデータ、グラフ描画に係わる設定値及び演算指示が、端末20からサーバ10に送信される。例えば、ユーザーが入力した関数と、グラフエリアの両端の座標と、プロット点の刻み幅との情報がサーバ10に送信される。サーバ10は、当該データ及び演算指示に基づいて演算を実行し、演算結果(プロット点(x,y)のデータ)を端末20に送信する。端末20は、当該演算結果を受信して、これに基づいたグラフを表示する。
サーバ10は、プロセッサ11と、ROM12と、RAM13と、ストレージ14と、通信装置15とを有している。これらの各々は、システムバス19を介して互いに接続されている。
プロセッサ11は、CPU(Central Processing Unit)などの集積回路であってよい。ROM12は、プロセッサ11の動作に用いられる情報を記録している。RAM13は、プロセッサ11の主記憶装置として機能する。ストレージ14には、プロセッサ11で用いられるサーバ制御プログラム、各種演算を実行するための演算プログラム等の各種プログラム、パラメータ等が記憶されている。プロセッサ11は、ストレージ14に記憶されたプログラムに従ってサーバ10の動作を制御する。プロセッサ11として、CPU以外のプロセッサ、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等が用いられてもよい。通信装置15は、ネットワーク30等の外部の通信ネットワークと通信可能である。
端末20は、CPU21と、ROM22と、RAM23と、ストレージ24と、入力装置25と、表示装置26と、通信装置27とを有している。これらの各々は、システムバス29を介して互いに接続されている。端末20は、パーソナルコンピュータ(PC)、タブレット端末、スマートフォンなどの電子機器であってよい。
CPU21は、端末20の各種動作を制御するプロセッサである。ROM22は、起動プログラム等を記録している。RAM23は、プロセッサ11の主記憶装置として機能する。ストレージ24には、CPU21で用いられる端末制御プログラム等の各種プログラム、パラメータ等が記憶されている。CPU21は、入力装置25からの入力信号や通信装置27による受信信号に応じて各種プログラムを実行することで端末20の動作を制御する。各種プログラムは、不図示のウェブサーバからネットワーク30、通信装置27を介してストレージ24にダウンロードされてもよい。通信装置27は、ネットワーク30等の外部の通信ネットワークと通信可能である。
入力装置25は、キーボード、マウスなどの外部入力装置、あるいは端末20の表示装置26に表示される入力ボードを含む。入力装置25の操作により、入力インターフェース(I/F)からシステムバス29を介してCPU21に入力信号が入力される。
表示装置26は、液晶ディスプレイなどの外部表示装置、あるいは端末20の液晶ディスプレイなどの表示部を含む。表示装置26には、CPU21からシステムバス29、出力インターフェース(I/F)を介して出力信号が伝送される。
本実施形態では、ユーザーは、端末20で動作するウェブブラウザにおいてサーバ10のアドレスを指定する。端末20のウェブブラウザは、数式の入力受付に応じてサーバ10へのリクエストを発行し、サーバ10が演算プログラムにしたがって実行した演算の結果をサーバ10からのレスポンスとして受信する。言い換えれば、サーバ10は、端末20からの演算のリクエストに応答して、演算プログラムにしたがってプロセッサ11で演算を実行し、実行した演算結果をレスポンスとして端末20に送信する。さらに、端末20は、受信した演算結果を用いて、ウェブブラウザ上で動作するプログラムにしたがってグラフの描画をする。このように、システム1では、端末20のウェブブラウザ上で動作するプログラムとサーバ10の演算プログラムとにより、グラフ描画のためのウェブアプリケーションとしての機能が実現される。
このようなウェブアプリケーションは、例えば、ICT(Information and Communication Technology)化が進む学校教育の現場において、数学の授業等で活用されうる。
図2は、表示装置26の画面表示の一例を示す図である。図2において、ウインドウ100には、数式付箋101とグラフ付箋102とが表示されている。数式付箋101は、ユーザーが入力した数式(関数)を表示する付箋である。数式付箋101は、入力装置25からの入力及び当該入力の表示が可能な付箋である。グラフ付箋102は、そのグラフエリア103に、数式付箋101に入力された数式(関数)のグラフが表示される付箋である。グラフエリア103は、最小値xminから最大値xmaxまでのx座標範囲と、最小値yminから最大値ymaxまでのy座標範囲とによって規定される領域である。グラフエリア103は、ユーザーが適宜設定可能である。また、ユーザーの入力により、グラフエリア103の並行移動、拡大、縮小等が可能である。数式付箋101とグラフ付箋102とは互いに紐付けられているため、紐104で結び付けて表示されている。数式付箋101及びグラフ付箋102は、ウインドウ100中で自由に移動可能なフローティングオブジェクトである。
以下、数式付箋101に関数y=f(x)=(-1)が入力されたときのシステム1におけるグラフ描画動作の一例を説明する。
端末20は、表示装置26に空の数式付箋101を含むウインドウ100を表示する。空の数式付箋101とは、文字や数字、数式などが何も表示されていない状態の数式付箋である。端末20は、入力装置25を用いて数式付箋101へのユーザーの入力を受け付ける。ユーザーは、入力装置25のキーボードを用いて数式付箋101に数式を入力してもよいし、表示装置26に表示されるソフトウェアキーボードを用いて数式付箋101に数式を入力してもよい。端末20は、入力に応じて、数式付箋101の表示を更新する。ユーザーは、所望の数式を、ここでは関数y=(-1)を入力し終えると、数式を確定させる入力を行う。当該入力が、グラフ描画指示となる。
図3A及び図3Bは、本実施形態におけるシステム1のグラフ描画動作の一例を示す図である。
ステップS11において、CPU21は、グラフ描画指示を受け付けたか否かを判定する。受け付けたと判定されるまで待機し、受け付けたと判定された場合には(Yes)、処理はステップS12に進む。
ステップS12において、CPU21は、プロット点のx座標の第1の算出処理を実行する。以下、図4及び図6を参照して、プロット点のx座標の第1の算出処理について説明する。
プロット点のx座標の第1の算出処理では、ステップS121において、CPU21は、グラフエリア103のx座標の最小値xmin及び最大値xmaxを特定する。ここでは、図6に示されるように、x座標の最小値xmin=-7.28であり、x座標の最大値xmax=7.28であるとする。
ステップS122において、CPU21は、x座標のステップ値であるxstepを特定する。x座標のステップ値xstepとは、プロット点を算出するx座標の刻み値である。x座標のステップ値xstepは、グラフエリア103のx座標の最小値xminからx座標の最大値xmaxまでの幅Δx=xmax-xminの表示ピクセル数に応じて、例えばストレージ24に予め記憶されているステップ値{…,0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,…}のいずれかに設定される。x座標のステップ値は、xstep=n×10(mは整数、nは10の約数)で表されてよい。これに限らず、xstepが1未満であるときにはn-1×10、xstepが1以上であるときにはn×10、(nは自然数、mは整数)を満たすものを独自に設定してもよい。表示ピクセル数は、表示装置26のスペックとグラフエリア103の実寸とで決まる値である。ピクセル単位で、1ピクセル以上で最小になるxstepの値が選択される。例えば、表示ピクセル数が300ピクセルであるとき、Δx/表示ピクセル数={7.28-(-7.28)}/300=0.0485333・・・であるから、xstepの値として上に列記したステップ値の中から0.05が選択される。
このように、前記描画エリアの第1軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅に基づいて、前記第1軸の数値の刻み幅を決定してよい。このとき、前記第1軸の刻み幅は、該刻み幅の前記表示装置の画面上での長さが、前記表示装置の前記第1軸に沿う単位ピクセルの前記表示装置の画面上での長さよりも長くなるように、決定してよい。また、n×10(mは整数、nは10の約数)で表される数値のうち、前記描画エリアの第1軸に沿う数値幅を前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル数で除したときの商以上の最小値を、前記第1軸の刻み幅として決定すればよい。
CPU21は、xstepの値をストレージ24に記憶させる。ここでは、CPU21は、xstepの値として0.05を選択したことをストレージ24に記憶させる。
ステップS123において、CPU21は、プロットに関するx座標のスタート値xstartを設定する。ここで、xstart=n・xstep かつ xstart≦xminを満たし、最大となるものをxstartとする。つまり、x座標のスタート値xstartは、以下のように表される。
xstart=floor(xmin/xstep)・xstep
ここで、floorは、数値を最も近い整数に切り下げる関数(床関数)である。上述の例では、以下のように表される。
xstart=floor(-7.28/0.05)×0.05=-7.3
ステップS123では、floor関数の代わりにround関数を用いて、xstartを求めてもよい。
xstart=round(xmin/xstep)・xstep
ここで、roundは、数値を四捨五入し指定した桁数にする関数である。
このように、ステップS123では、ステップS122で決定したステップ値の倍数のうち、xminとの差が最も小さいか又は2番目に小さいものを、xstartの値として求めてよい。
ステップS124において、CPU21は、プロットに関するx座標のエンド値xendを設定する。ここで、xend=n・xstep かつ xend≧xmaxを満たし、最小となるものをxendとする。つまり、x座標のエンド値xendは、以下のように表される。
xend=ceil(xmax/xstep)・xstep
ここで、ceilは、数値を最も近い整数に切り上げる関数(天井関数)である。上述の例では、以下のように表される。
xend=ceil(7.28/0.05)×0.05=7.3
ステップS124では、ceil関数の代わりにround関数を用いて、xendを求めてもよい。
xend=round(xmax/xstep)・xstep
このように、ステップS124では、ステップS122で決定したステップ値の倍数のうち、xmaxとの差が最も小さいか又は2番目に小さいものを、xendの値として求めてよい。
ステップS124の後、処理はリターンする。
ステップS13において、CPU21は、演算指示及びグラフ描画に必要な情報をサーバ10に送信する。グラフ描画に必要な情報は、入力された関数y=(-1)、ステップS12で算出したxstep、xstart及びxendの値を含む。
ステップS14において、プロセッサ11は、必要な情報を受信し、演算プログラムにしたがって、受信した情報に基づいてグラフ描画のプロット点のy座標の演算を実行する。演算されるプロット点の座標(Xp,Yp)は、以下のように表される。
Xp=xstart+k・xstep
(kは0~(xend-xstart)/xstepの整数)
Yp=f(Xp)
ここでは、Xp=-7.3,-7.25,-7.2,-7.15,-7.1,-7.05,-7,-6.95,…,6.95,7,7.05,7.1,7.15,7.2,7.25,7.3に対してYp=f(Xp)が求められる。
このように、前述の通りxstep、xstart、xendの値を決定したことにより、Xpは、グラフエリア内の任意の整数値、すなわち、xmin≦Xp≦xmaxを満たすすべての整数値をもれなく含むことができる。
また、関数y=f(x)=(-1)はxが整数のときのみ値を持つから、Yp=f(-7)=-1、Yp=f(-6)=1、…、Yp=f(6)=1、Yp(7)=-1の15個のプロット点の座標(Xp,Yp)が算出される。つまり、前述の通りxstep、xstart、xendの値を決定したことにより、グラフエリア内、すなわち、x座標範囲xmin≦x≦xmaxにおける関数y=(-1)のすべてのプロット点をもれなく描画することができる。このように、前記描画エリアの第1軸の最小値及び/又は最大値、決定した前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定できる。
プロセッサ11は、演算結果(上述のプロット点の座標(Xp,Yp)の組)を端末20に送信する。
ステップS15において、CPU21は、演算結果を受信する。CPU21は、受信した演算結果を用いてグラフを描画する。これにより、図6に示されるように、関数y=(-1)のグラフが表示される。これは、xが整数の値のときのみ値がプロットされた数学的に正しいグラフである。
ステップS16において、CPU21は、グラフエリア103のズーム(ズームイン(拡大)又はズームアウト(縮小))指示を受け付けたか否かを判定する。グラフエリア103のズームとは、例えば図8に示されるように、グラフエリア103の目盛を大きく、又は小さくすることを意味する。すなわち、グラフエリア103のズームでは、グラフエリア103のx座標の最小値xmin及び最大値xmaxが変更される。ここでは、グラフ付箋102及びグラフエリア103のサイズの変更は伴わない。
ステップS16において、ズーム指示を受け付けていないと判定された場合には(No)、処理はステップS17に進む。受け付けたと判定された場合には(Yes)、処理はステップS18に進む。すなわち、ズーム指示を受け付けた場合には、ステップS18において、再び、ステップS12と同様にプロット点のx座標の第1の算出処理が行われる。
例えば、図8に示されるように、グラフエリア103のズームイン指示によりx座標の最小値xmin=-2.87,x座標の最大値xmax=2.87になったとする。グラフエリア103のサイズ(表示ピクセル数)は変更されていない。この場合、Δx/表示ピクセル数={2.87-(-2.87)}/300=0.0191333・・・であるから、CPU21は、xstepとして上に列記したステップ値の中から0.02を選択する。CPU21は、xstepの値として0.02を選択したことをストレージ24に記憶させる。次いで、CPU21は、xstart=floor(-2.87/0.02)×0.02=-2.88を設定する。さらに、CPU21は、xend=ceil(2.87/0.02)×0.02=2.88を設定する。
ステップS17において、CPU21は、ウインドウサイズの変更を受け付けたか否かを判定する。ウインドウサイズの変更とは、数式付箋101に対する直接操作ではなく、ウェブアプリケーションに対して、当該数式付箋101が表示されている画面、つまり、ウェブアプリケーションのウインドウサイズを変更するユーザー操作を行ったことに応じて、ウインドウ100の大きさを変更したことを意味している。これに伴い、グラフ付箋102及びグラフエリア103が拡大(又は縮小)されて、グラフエリア103の目盛の大きさが変わっている。
ステップS17において、変更を受け付けていないと判定された場合には(No)、処理はステップS22に進む。受け付けたと判定された場合には(Yes)、処理はステップS18に進む。すなわち、ウインドウサイズの変更を受け付けた場合には、ステップS18において、再び、ステップS12と同様にプロット点のx座標の第1の算出が行われる。
ステップS18の後、処理はステップS19に進む。ステップS19において、CPU21は、演算指示及びグラフ描画に必要な情報をサーバ10に送信する。ステップS20において、プロセッサ11は、必要な情報を受信し、演算プログラムにしたがって、受信した情報に基づいてグラフ描画のプロット点のy座標の演算を実行する。ステップS21において、CPU21は、演算結果を受信する。CPU21は、受信した演算結果を用いて、グラフを更新する。これにより、例えば、グラフエリア103がズームされた後であっても、図8に示されるように、xが整数の値のときのみ値がプロットされたy=(-1)の正しいグラフが表示される。つまり、xが整数の値をとるときのyの値がもれなく、一つもスキップされることなく演算されている。
ステップS22において、CPU21は、グラフエリア103の並行移動を受け付けたか否かを判定する。グラフエリア103の並行移動とは、グラフエリア103のサイズを変えることなく、グラフエリア103のx座標の最小値xmin及び最大値xmaxを変えることを意味する。すなわち、グラフエリア103の並行移動では、Δx=xmax-xminは変化しない。受け付けていないと判定された場合には(No)、処理はステップS23に進む。受け付けたと判定された場合には(Yes)、処理はステップS24に進む。
ステップS23において、CPU21は、グラフ付箋102の大きさの変更を受け付けたか否かを判定する。グラフ付箋102の大きさの変更とは、グラフ付箋102を広げる又は狭める変更であって、グラフエリア103の目盛の大きさを変えずにグラフエリア103のx座標の最小値xmin及び最大値xmaxの少なくとも一方を変更することを意味する。受け付けていないと判定された場合には(No)、処理はステップS28に進む。受け付けたと判定された場合には(Yes)、処理はステップS24に進む。
ステップS24において、CPU21は、プロット点のx座標の第2の算出処理を実行する。以下、図5、図7及び図9を参照して、プロット点のx座標の第2の算出処理について説明する。
プロット点のx座標の第2の算出処理では、ステップS241において、CPU21は、グラフエリアを特定する。例えば、図7では、xmin=-4.23、xmax=10.29であるとする。例えば、図9では、xmin=-15.87、xmax=15.87であるとする。
ステップS242において、CPU21は、プロットに関するx座標のスタート値xstartを設定する。ここで、x座標のスタート値xstartは、xstart=floor(xmin/xstep)・xstepで表される。図7に示される例では、以下のように表される。
xstart=floor(-4.23/0.05)×0.05=-4.3
また、図9に示される例では、以下のように表される。
xstart=floor(-15.87/0.05)×0.05=-15.9
ステップS243において、CPU21は、プロットに関するx座標のエンド値xendを設定する。ここで、x座標のエンド値xendは、xend=ceil(xmax/xstep)・xstepで表される。図7に示される例では、以下のように表される。
xend=ceil(10.29/0.05)×0.05=10.3
また、図9に示される例では、以下のように表される。
xend=ceil(15.87/0.05)×0.05=15.9
ステップS243の後、処理はリターンする。このように、プロット点のx座標の第2の算出処理では、xstepの値は0.05のままであり、再設定されない。グラフエリア103の並行移動あるいはグラフ付箋102の大きさの変更がなされてもΔx/表示ピクセル数が変化しないため、xstepの値を再設定しなくてよいからである。したがって、以上説明したプロット点のx座標の第2の算出処理では、xstepの値を算出する処理は行われない。
ステップS24の後、処理はステップS25に進む。ステップS25において、CPU21は、演算指示及びグラフ描画に必要な情報をサーバ10に送信する。グラフ描画に必要な情報は、入力された関数y=(-1)、ステップS24で算出したxstart及びxendの値、及びストレージ24に記憶されている現在のxstepの値を含む。ステップS26において、プロセッサ11は、必要な情報を受信し、演算プログラムにしたがって、受信した情報に基づいてグラフ描画のプロット点のy座標の演算を実行する。ステップS27において、CPU21は、演算結果を受信する。CPU21は、受信した演算結果を用いて、グラフを更新する。これにより、グラフエリア103が並行移動されてもグラフ付箋102の大きさが変更されても、図7及び図9に示されるように、xが整数の値のときのみ値がプロットされたy=(-1)の正しいグラフが表示される。つまり、xが整数の値をとるときのyの値がもれなく、一つもスキップされることなく演算されている。
ステップS27の後、処理はステップS28に進む。ステップS28において、CPU21は、処理を終了するか否かを判定する。終了すると判定されるまで、ステップS16以降の処理が繰り返される。終了すると判定された場合には(Yes)、処理は終了する。
例えば、入力された関数に基づくグラフ描画が可能な従来のグラフ関数電卓では、グラフを描画する際に、グラフエリアの設定値(xmin,xmax,xdot)を使ってプロット点のx座標を算出し、それらのx座標から各プロット点のy座標を計算している。ここで、xdotは、xstepに相当する刻み値である。具体的には、各プロット点のx座標は、x=xmin+k・xdot(kは整数)という計算式で表される。この計算式を使った場合、xminとxdotがキリのよい数値であれば、xが整数になるkが存在する(例えば、xmin=-5、xdot=0.2)。
しかしながら、上記の計算式の通りxの値を決定したときに、xminやxdotがキリの悪い数値であると、xが整数になるkが存在しない場合がある。つまり、上記の計算式の通りxの値を決定すると、グラフエリア内のすべての整数値、すなわち、xmin≦x≦xmaxを満たすすべての整数値をもれなく含まない場合がある。例えば、図6のように、x座標の最小値xmin=-7.28、最大値xmax=7.28である場合、xdot=0.2であれば、プロット点のx座標は、x=-7.28,-7.08,-6.88,…,6.88,7.08,7.28となり、xが整数となるkが存在しないこととなる。
特に、y=(-1)のような負の整数のx乗のグラフは、xが整数のときのみ値を持つグラフである。このため、xが整数になるkが存在しないケースではグラフが正しく表示されない。特に、数学的に正しくないグラフが描画されたり、ズームしたグラフに点がプロットされなかったりしうる。
これに対して、本実施形態では、関数の第1の変数(例えばx)が任意の整数値を取るようにx座標の値が決定される。換言すれば、プロット点のx座標が整数となるように、x座標範囲の刻み値xstepとプロット点のx座標に係わるxstart及びxendとの値を設定している。これにより、xが整数の値をとるときのyの値が確実に演算される。例えば、y=f(x)=(-1)のような負のx乗のグラフをグラフエリアの設定にかかわらず正しく描画することができる。
図10は、上述したような従来のグラフ関数電卓での手法によるxmin/xmaxとxdotの設定、及び、本実施形態におけるxstart/xendとxstepの設定との対比を例示した図である。図10中の項目における「〇」は、その値を更新することを意味する。本実施形態では、xmin/xmaxに対して新たに導入した値であるxstart/xendが、グラフエリア並行移動、グラフエリアズーム、グラフ付箋の大きさ変更及びウインドウサイズ変更の操作時に更新される。また、刻み値であるxstepは、グラフエリアズーム及びウインドウサイズの変更の操作時に更新される。なお、従来のウインドウサイズの変更の項目における「-」は、従来のグラフ関数電卓においてウインドウサイズの変更が実装されていないことを意味する。
負のx乗のグラフ以外にも、xが整数の値をとるときのyの値が確実に演算されることが役立つ場面がある。例えば、このようなグラフ描画アプリケーションを学校教育の現場で、例えば数学の授業で活用する場合、ユーザー(例えば生徒)は、グラフエリアの設定によらず、xが整数の値をとるときのyの値を取得可能である。これは、関数やグラフの性質の理解の助けとなる。
本実施形態では、数式(関数)の種類から場合分けした演算処理によりプロット点を算出するのではなく、全ての種類の数式に対して同じ処理を適用してグラフを描画することができる。したがって、演算処理用プログラムのソースコードの量を大幅に増やさずに済むという利点を有する。
なお、x座標の刻み値xstepとして1/3などを設定してもよいが、この場合、1/3=0.333・・・となる。本システムには、グラフエリア103上の座標を表示する機能が備わっているが、この場合、小数表示設定における座標表示が長くなりうる。xstepとして1/2、1/4、1/5、1/10などを設定すれば、座標表示が短くてよい。また、グラフエリア103のグリッドの太線が1、2、5刻みであれば、xstepが1未満であるときにはn-1×10、xstepが1以上であるときにはn×10、(mは整数、nは10の約数)を設定すると太線グリッド上の座標点が必ず表示される。
以上の説明では、サーバ10からの演算結果であるプロット点のデータ(x,y)がグラフエリア103にプロットされるグラフ描画を例示したが、プロット点のデータ(x,y)が端末20の表示装置26に数表として表示されてもよい。例えば、ウインドウ100に当該数表を表示する数表付箋が表示されてよい。
ここまで、プロット点のx座標の算出処理が端末20で実行される一実施形態を説明してきたが、当該処理はサーバ10で実行されてもよい。図11A及び図11Bは、そのような実施形態におけるシステム1のグラフ描画動作の一例を示す図である。
ステップS31において、CPU21は、グラフ描画指示を受け付けたか否かを判定する。受け付けたと判定されるまで待機し、受け付けたと判定された場合には(Yes)、処理はステップS32に進む。
ステップS32において、CPU21は、演算指示及び演算に必要な情報をサーバ10に送信する。演算に必要な情報は、入力された関数及びグラフエリアの情報を含む。
ステップS33において、プロセッサ11は、必要な情報を受信する。ステップS34において、プロセッサ11は、プロット点のx座標の第1の算出処理を実行する。つまり、図4に示されるのと同様の処理が実行される。ステップS35において、プロセッサ11は、演算プログラム、入力された関数及びステップS34で算出したxstep、xstart及びxendの値に基づいてグラフ描画のプロット点のy座標の演算を実行する。プロセッサ11は、演算結果を端末20に送信する。
ステップS36において、CPU21は、演算結果を受信する。CPU21は、受信した演算結果を用いて、グラフを描画する。
ステップS37において、CPU21は、グラフエリア103のズーム指示を受け付けたか否かを判定する。受け付けていないと判定された場合には(No)、処理はステップS38に進む。受け付けたと判定された場合には(Yes)、処理はステップS39に進む。
ステップS38において、CPU21は、ウインドウサイズの変更を受け付けたか否かを判定する。受け付けていないと判定された場合には(No)、処理はステップS44に進む。受け付けたと判定された場合には(Yes)、処理はステップS39に進む。
ステップS39において、CPU21は、演算指示及び演算に必要な情報をサーバ10に送信する。ステップS40において、プロセッサ11は、必要な情報を受信する。ステップS41において、プロセッサ11は、プロット点のx座標の第1の算出処理を実行する。つまり、図4に示されるのと同様の処理が実行される。ステップS42において、プロセッサ11は、演算プログラム、入力された関数及びステップS41で算出したxstep、xstart及びxendの値に基づいてグラフ描画のプロット点のy座標の演算を実行する。プロセッサ11は、演算結果を端末20に送信する。
ステップS43において、CPU21は、演算結果を受信する。CPU21は、受信した演算結果を用いて、グラフを更新する。
ステップS44において、CPU21は、グラフエリア103の並行移動を受け付けたか否かを判定する。受け付けていないと判定された場合には(No)、処理はステップS45に進む。受け付けたと判定された場合には(Yes)、処理はステップS46に進む。
ステップS45において、CPU21は、グラフ付箋102の大きさの変更を受け付けたか否かを判定する。受け付けていないと判定された場合には(No)、処理はステップS51に進む。受け付けたと判定された場合には(Yes)、処理はステップS46に進む。
ステップS46において、CPU21は、演算指示及び演算に必要な情報をサーバ10に送信する。ステップS47において、プロセッサ11は、必要な情報を受信する。ステップS48において、プロセッサ11は、プロット点のx座標の第2の算出処理を実行する。つまり、図5に示されるのと同様の処理が実行される。ステップS4において、プロセッサ11は、演算プログラム、入力された関数及びステップS48で算出したxstart及びxendの値、及びストレージ24に記憶されている現在のxstepの値に基づいてグラフ描画のプロット点のy座標の演算を実行する。プロセッサ11は、演算結果を端末20に送信する。
ステップS50において、CPU21は、演算結果を受信する。CPU21は、受信した演算結果を用いて、グラフを更新する。
ステップS50の後、処理はステップS51に進む。ステップS51において、CPU21は、処理を終了するか否かを判定する。終了すると判定されるまで、ステップS37以降の処理が繰り返される。終了すると判定された場合には(Yes)、処理は終了する。
以上、端末20のウェブブラウザ上で動作するプログラムとサーバ10の演算プログラムとが協働するウェブアプリケーションについて説明してきたが、上述したようなグラフ描画の概念は、ウェブアプリケーション以外にも適用可能である。例えば、グラフ関数電卓などの電子機器におけるグラフ描画アルゴリズムにも適用可能である。図12は、グラフ関数電卓50の表示画面の一例を示す図である。グラフ関数電卓50には、数式付箋101に相当する数式入力領域51と、グラフ付箋102のグラフエリア103に相当するグラフ描画領域52とが表示される。このようなグラフ関数電卓50では、上述の端末20とサーバ10との通信を必要とすることなく、グラフ関数電卓50の不図示のCPU等による内部処理で図3A及び図3B、あるいは図11A及び図11Bに示されるような動作が実現されてよい。
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]制御装置によって実行されるグラフ描画方法であって、
表示装置の画面内の少なくとも第1軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第1軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅に基づいて、前記第1軸の数値の刻み幅を決定し、
前記第1軸の数値の刻み幅の倍数のうち、前記描画エリアの第1軸の最小値又は最大値との差が最も小さい又は2番目に小さい数値を、前記グラフのプロット点の前記第1軸の座標の最小値又は最大値とし、
前記グラフのプロット点の前記第1軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、ことを含む方法。
[2]前記第1軸の刻み幅は、該刻み幅の前記表示装置の前記画面上での長さが、前記表示装置の前記第1軸に沿う単位ピクセルの前記表示装置の前記画面上での長さよりも長くなるように、決定される、ことを含む、[1]に記載の方法。
[3]n×10(mは整数、nは10の約数)で表される数値のうち、前記描画エリアの第1軸に沿う数値幅を前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅で除したときの商以上の最小値を、前記第1軸の刻み幅として決定する、ことを含む、[1]又は[2]に記載の方法。
[4]前記描画エリアに設定された座標範囲が拡がる或いは狭まるように変更したとき、前記方法が実行されるアプリケーションソフトウエアの前記描画エリアを含むウインドウのサイズが変更したとき、又は、前記描画エリアの第1軸に沿う座標幅と該描画エリアの前記第1軸に沿う表示ピクセル幅の比の変更を伴いながら、該描画エリアの前記第1軸に沿う座標幅が変更されたとき、
変更後の前記描画エリアの第1軸に沿う座標幅、及び、変更後の該描画エリアの前記第1軸に沿う表示ピクセル幅に基づいて、前記刻み幅を再計算して決定する、ことをさらに含む[1]乃至[3]のいずれか1に記載の方法。
[5]前記描画エリアに設定された座標範囲が並行移動するように変更したとき、前記描画エリアのサイズが変更したとき、又は、前記描画エリアの第1軸に沿う座標幅と該描画エリアの前記第1軸に沿う表示ピクセル幅の比の変更を伴わずに、該描画エリアの前記第1軸に沿う座標幅が変更されたとき、
前記前記刻み幅を再計算せずに、変更後の前記描画エリアの第1軸の最小値及び/又は最大値、変更前の前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定する、
ことをさらに含む[1]乃至[4]のいずれか1に記載の方法。
[6]グラフ描画システムの制御装置により読み取り可能なコンピュータプログラムであって、
前記制御装置によって、
表示装置の画面内の少なくとも第1軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第1軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅に基づいて、前記第1軸の数値の刻み幅を決定させ、
前記第1軸の数値の刻み幅の倍数のうち、前記描画エリアの第1軸の最小値又は最大値との差が最も小さい又は2番目に小さい数値を、前記グラフのプロット点の前記第1軸の座標の最小値又は最大値とさせ、
前記グラフのプロット点の前記第1軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定させ、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、コンピュータプログラム。
[7]表示装置の画面内の少なくとも第1軸を含む座標系が設定された描画エリアに、数式に基づくグラフを、該表示装置により描画させる場合に、
前記描画エリアの第1軸に沿う座標幅、及び、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅に基づいて、前記第1軸の数値の刻み幅を決定し、
前記第1軸の数値の刻み幅の倍数のうち、前記描画エリアの第1軸の最小値又は最大値との差が最も小さい又は2番目に小さい数値を、前記グラフのプロット点の前記第1軸の座標の最小値又は最大値とし、
前記グラフのプロット点の前記第1軸の座標の最小値又は最大値、前記刻み幅、並びに、前記数式に少なくとも基づいて、前記グラフの複数のプロット点の各座標値を決定し、
決定した前記グラフの複数のプロット点の各座標値に基づいて、前記グラフを、前記表示装置により前記描画エリアに描画させる、制御装置を備えるグラフ描画システム。
1…システム、10…サーバ、11…プロセッサ、12…ROM、13…RAM、14…ストレージ、15…通信装置、19…システムバス、20…端末、21…CPU、22…ROM、23…RAM、24…ストレージ、25…入力装置、26…表示装置、27…通信装置、29…システムバス、30…ネットワーク、50…グラフ関数電卓、100…ウインドウ、101…数式付箋、102…グラフ付箋、103…グラフエリア、104…紐。

Claims (13)

  1. ネットワークを介して互いに通信可能に接続された複数の装置を含むグラフ描画システムによって実行されるグラフ描画方法であって、
    前記グラフ描画方法は、複数の変数を含む数式に対応するグラフを、表示装置の画面内の描画エリアであって前記複数の変数に対応する複数の軸に対応する複数の座標範囲により規定される前記描画エリアに描画するための、前記グラフの複数のプロット点の複数の座標を決定するプロット点座標決定ステップを含み、
    前記プロット点座標決定ステップは、
    前記表示装置の前記画面内の前記描画エリアの、前記複数の軸のうちの第1軸における最小値及び最大値と、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅とを特定することと、
    特定した前記最小値及び前記最大値に基づいて得られる前記描画エリアの前記第1軸に沿う座標幅と、特定した前記第1軸に沿う前記表示ピクセル幅に基づいて前記第1軸の数値の刻み幅とを、決定することと、
    決定した前記第1軸の前記数値の前記刻み幅と、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値とに基づいて、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値を変更することと、
    前記第1軸の前記座標範囲の変更した前記最小値又は前記最大値と、決定した前記第1軸の前記数値の前記刻み幅と、前記数式とに少なくとも基づいて、各座標が前記複数の変数の数値を含む前記複数の座標を決定することと、
    を含む、グラフ描画方法。
  2. 前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は最大値を変更することは、
    決定した前記第1軸の前記数値の前記刻み幅の倍数のうち、前記描画エリアの前記第1軸の前記座標範囲の前記最小値との差が最も小さいか又は2番目に小さい数値へ、前記描画エリアの前記第1軸の前記座標範囲の前記最小値を変更する、または、前記最大値との差が最も小さいか又は2番目に小さい数値へ、前記描画エリアの前記第1軸の前記座標範囲の前記最大値を変更する、
    ことを含む、請求項1に記載のグラフ描画方法。
  3. 前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は最大値を変更することは、
    決定した前記第1軸の前記数値の前記刻み幅の倍数を前記描画エリアの前記第1軸の前記座標範囲の変更後の最小値に加算することにより、または、変更後の最大値より減算することにより、前記描画エリア内の任意の整数値が得られるように、前記描画エリアの前記第1軸の前記座標範囲の変更後の前記最小値又は最大値を決定する、
    ことを含む、請求項1又は請求項2に記載のグラフ描画方法。
  4. 前記第1軸の数値の刻み幅を決定することは、
    前記第1軸の前記数値の前記刻み幅を、該刻み幅の前記表示装置の前記画面上での長さが、前記表示装置の前記第1軸に沿う単位ピクセルの前記表示装置の前記画面上での長さよりも長くなるように、決定する、
    ことを含む、請求項1乃至請求項3の何れか一項に記載のグラフ描画方法。
  5. 前記第1軸の数値の刻み幅を決定することは、
    n×10m(mは整数、nは10の約数)で表される数値のうち、前記描画エリアの前記第1軸に沿う前記座標幅を、特定した前記第1軸に沿う前記表示ピクセル幅で除したときの商以上の最小値を、前記第1軸の前記数値の前記刻み幅として決定する、
    ことを含む、請求項1乃至請求項4の何れか一項に記載のグラフ描画方法。
  6. (i)前記描画エリアに設定された座標範囲を並行移動するように変更させるための第3の指示、又は、 (ii)前記描画エリアのサイズを変更させるための第4の指示の入力を受け付けたか否かを判別し、
    前記第3の指示、又は、前記第4の指示の入力を受け付けたと判別したら、
    前記第1軸の前記数値の前記刻み幅を決定することを実行せずに、
    前記最小値又は前記最大値を変更する前に決定されている前記第1軸の前記数値の前記刻み幅と、前記最小値又は前記最大値を変更した後の前記描画エリアの前記第1軸の最小値又は最大値と、前記数式とに少なくとも基づいて、前記グラフの前記複数のプロット点の前記複数の座標を決定することを実行する、
    ことを含む、請求項1乃至請求項5の何れか一項に記載のグラフ描画方法。
  7. (i)前記描画エリアの前記座標範囲の拡大又は縮小するための第5の指示、又は、 (ii)前記表示装置の前記画面内に表示される前記描画エリアが表示されるウインドウのサイズを変更させるための第6の指示の入力を受け付けたか否かを判別し、
    前記第5の指示、又は、前記第6の指示の入力を受け付けたと判別したら、
    前記第1軸の前記数値の前記刻み幅を決定することを実行し、
    決定した前記第1軸の前記数値の前記刻み幅と、前記最小値又は前記最大値を変更した後の前記描画エリアの前記第1軸の最小値又は最大値と、前記数式とに少なくとも基づいて、前記グラフの前記複数のプロット点の前記複数の座標を決定することを実行する、
    ことを含む、請求項1乃至請求項6の何れか一項に記載のグラフ描画方法。
  8. 前記描画エリアの前記第1軸に沿う座標幅と該描画エリアの前記第1軸に沿う前記表示ピクセル幅との比の変更を伴わずに、該描画エリアの前記第1軸における前記最小値又は前記最大値を変更させるための第1の指示の入力を受け付けたか否かを判別し、
    前記第1の指示の入力を受け付けたと判別したら、
    前記第1軸の前記数値の前記刻み幅を決定することを実行せずに、
    前記最小値又は前記最大値を変更する前に決定されている前記第1軸の前記数値の前記刻み幅と、前記最小値又は前記最大値を変更した後の前記描画エリアの前記第1軸の最小値又は最大値と、前記数式とに少なくとも基づいて、前記グラフの前記複数のプロット点の前記複数の座標を決定することを実行する、
    ことを含む、請求項1乃至請求項7の何れか一項に記載のグラフ描画方法。
  9. 前記描画エリアの前記第1軸に沿う前記座標幅と該描画エリアの前記第1軸に沿う前記表示ピクセル幅との比の変更を伴いながら、該描画エリアの前記第1軸における前記最小値又は前記最大値を変更させるための第2の指示の入力を受け付けたか否かを判別し、
    前記第2の指示の入力を受け付けたと判別したら、
    前記第1軸の前記数値の前記刻み幅を決定することを実行し、
    決定した前記第1軸の前記数値の前記刻み幅と、前記最小値又は前記最大値を変更した後の前記描画エリアの前記第1軸の最小値又は最大値と、前記数式とに少なくとも基づいて、前記グラフの前記複数のプロット点の前記複数の座標を決定することを実行する、
    ことを含む、請求項1乃至請求項8の何れか一項に記載のグラフ描画方法。
  10. ネットワークを介して互いに通信可能に接続された複数の装置を含むグラフ描画システムであって、
    前記グラフ描画システムは、複数の変数を含む数式に対応するグラフを、表示装置の画面内の描画エリアであって前記複数の変数に対応する複数の軸に対応する複数の座標範囲により規定される前記描画エリアに描画するための、前記グラフの複数のプロット点の複数の座標を決定するプロット点座標決定ステップを実行し、
    前記プロット点座標決定ステップは、
    前記表示装置の前記画面内の前記描画エリアの、前記複数の軸のうちの第1軸における最小値及び最大値と、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅とを特定することと、
    特定した前記最小値及び前記最大値に基づいて得られる前記描画エリアの前記第1軸に沿う座標幅と、特定した前記第1軸に沿う前記表示ピクセル幅に基づいて前記第1軸の数値の刻み幅とを、決定することと、
    決定した前記第1軸の前記数値の前記刻み幅と、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値とに基づいて、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値を変更することと、
    前記第1軸の前記座標範囲の変更した前記最小値又は前記最大値と、決定した前記第1軸の前記数値の前記刻み幅と、前記数式とに少なくとも基づいて、各座標が前記複数の変数の数値を含む前記複数の座標を決定することと、
    を含む、グラフ描画システム。
  11. ネットワークを介して互いに通信可能に接続されたサーバ装置およびグラフ描画装置を含むグラフ描画システムが備える前記サーバ装置であって、
    複数の変数を含む数式に対応するグラフを、表示装置の画面内の描画エリアであって前記複数の変数に対応する複数の軸に対応する複数の座標範囲により規定される前記描画エリアに描画するための、前記グラフの複数のプロット点の複数の座標を決定するために、
    前記表示装置の前記画面内の前記描画エリアの前記複数の軸のうちの第1軸における最小値及び最大値と、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅とを特定することを含む、第一処理と、
    特定した前記最小値及び前記最大値に基づいて得られる前記描画エリアの前記第1軸に沿う座標幅と、特定した前記第1軸に沿う前記表示ピクセル幅とに基づいて、前記第1軸の数値の刻み幅を決定することを含む、第二処理と、
    決定した前記第1軸の前記数値の前記刻み幅と、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値とに基づいて、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値を、変更することを含む、第三処理と、
    前記第1軸の前記座標範囲の変更した前記最小値又は前記最大値と、決定した前記第1軸の前記数値の前記刻み幅と、前記数式とに少なくとも基づいて、各座標が前記複数の変数の数値を含む前記複数のプロット点の前記複数の座標を決定することを含む、第四処理と、とのうち、
    前記第一処理と、前記第一処理、前記第二処理及び前記第三処理との何れかを、前記グラフ描画装置に実行させるための手段としてのプログラムを前記グラフ描画装置へ送信し、
    前記第二処理、前記第三処理及び前記第四処理と、前記第四処理との何れかを実行する、
    サーバ装置。
  12. グラフ描画装置であって、
    前記グラフ描画装置は、複数の変数を含む数式に対応するグラフを、表示装置の画面内の描画エリアであって前記複数の変数に対応する複数の軸に対応する複数の座標範囲により規定される前記描画エリアに描画するための、前記グラフの複数のプロット点の複数の座標を決定するプロット点座標決定ステップを実行し、
    前記プロット点座標決定ステップは、
    前記表示装置の前記画面内の前記描画エリアの、前記複数の軸のうちの第1軸における最小値及び最大値と、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅とを特定することと、
    特定した前記最小値及び前記最大値に基づいて得られる前記描画エリアの前記第1軸に沿う座標幅と、特定した前記第1軸に沿う前記表示ピクセル幅に基づいて前記第1軸の数値の刻み幅とを、決定することと、
    決定した前記第1軸の前記数値の前記刻み幅と、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値とに基づいて、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値を変更することと、
    前記第1軸の前記座標範囲の変更した前記最小値又は前記最大値と、決定した前記第1軸の前記数値の前記刻み幅と、前記数式とに少なくとも基づいて、各座標が前記複数の変数の数値を含む前記複数の座標を決定することと、
    を含む、グラフ描画装置。
  13. グラフ描画装置が備えるプロセッサによって、
    複数の変数を含む数式に対応するグラフを、表示装置の画面内の描画エリアであって前記複数の変数に対応する複数の軸に対応する複数の座標範囲により規定される前記描画エリアに描画するための、前記グラフの複数のプロット点の複数の座標を決定するプロット点座標決定ステップを実行させるコンピュータプログラムであって、
    前記プロット点座標決定ステップは、
    前記表示装置の前記画面内の前記描画エリアの、前記複数の軸のうちの第1軸における最小値及び最大値と、前記表示装置の前記描画エリアの前記第1軸に沿う表示ピクセル幅とを特定することと、
    特定した前記最小値及び前記最大値に基づいて得られる前記描画エリアの前記第1軸に沿う座標幅と、特定した前記第1軸に沿う前記表示ピクセル幅に基づいて前記第1軸の数値の刻み幅とを、決定することと、
    決定した前記第1軸の前記数値の前記刻み幅と、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値とに基づいて、前記描画エリアの前記第1軸の前記座標範囲の前記最小値又は前記最大値を変更することと、
    前記第1軸の前記座標範囲の変更した前記最小値又は前記最大値と、決定した前記第1軸の前記数値の前記刻み幅と、前記数式とに少なくとも基づいて、各座標が前記複数の変数の数値を含む前記複数の座標を決定することと、
    を含む、コンピュータプログラム。
JP2018079445A 2018-04-17 2018-04-17 グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム Active JP7014024B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018079445A JP7014024B2 (ja) 2018-04-17 2018-04-17 グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム
US16/386,988 US10796466B2 (en) 2018-04-17 2019-04-17 Graph drawing method, graph drawing system, server apparatus, graph drawing apparatus, and recording medium
JP2022006436A JP7315042B2 (ja) 2018-04-17 2022-01-19 グラフ描画方法、グラフ描画装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018079445A JP7014024B2 (ja) 2018-04-17 2018-04-17 グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022006436A Division JP7315042B2 (ja) 2018-04-17 2022-01-19 グラフ描画方法、グラフ描画装置及びコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2019185686A JP2019185686A (ja) 2019-10-24
JP2019185686A5 JP2019185686A5 (ja) 2021-05-27
JP7014024B2 true JP7014024B2 (ja) 2022-02-01

Family

ID=68162006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018079445A Active JP7014024B2 (ja) 2018-04-17 2018-04-17 グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US10796466B2 (ja)
JP (1) JP7014024B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6939135B2 (ja) * 2017-06-23 2021-09-22 カシオ計算機株式会社 電子機器、プログラム、サーバ、グラフ画像生成方法およびグラフ画像生成システム
JP7315042B2 (ja) * 2018-04-17 2023-07-26 カシオ計算機株式会社 グラフ描画方法、グラフ描画装置及びコンピュータプログラム
CN110956676A (zh) * 2019-11-15 2020-04-03 度亘激光技术(苏州)有限公司 一种多轴曲线的绘制方法、装置及电子设备
CN112102425B (zh) * 2020-08-18 2024-01-19 国家海洋信息中心 垂向剖面的要素值至地理地图的投影计算方法及系统
CN114357553B (zh) * 2021-12-31 2023-12-15 重庆宝图科技发展有限公司 一种基于移动端的不动产辅助绘图方法
CN115543518B (zh) * 2022-10-21 2023-05-12 北京世冠金洋科技发展有限公司 图像坐标显示方法、装置、设备及可读存储介质
CN115880128A (zh) * 2022-10-25 2023-03-31 天津电气科学研究院有限公司 数据采集监控软件中负载可控的大数据量摘点绘制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250498A (ja) 1999-03-01 2000-09-14 Casio Comput Co Ltd グラフ表示制御装置及び記憶媒体
JP2017194976A (ja) 2017-05-24 2017-10-26 カシオ計算機株式会社 表示制御装置、表示制御方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0749955A (ja) 1993-08-06 1995-02-21 Kao Corp 棒グラフの出力方法および出力装置
JPH11161612A (ja) 1997-11-27 1999-06-18 Sharp Corp 電子機器
JP5297705B2 (ja) 2008-07-02 2013-09-25 株式会社キラリア 折れ線グラフ表示システム及び折れ線グラフ表示プログラム
JP4849179B2 (ja) * 2010-03-19 2012-01-11 カシオ計算機株式会社 グラフ表示装置及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250498A (ja) 1999-03-01 2000-09-14 Casio Comput Co Ltd グラフ表示制御装置及び記憶媒体
JP2017194976A (ja) 2017-05-24 2017-10-26 カシオ計算機株式会社 表示制御装置、表示制御方法及びプログラム

Also Published As

Publication number Publication date
US20190318518A1 (en) 2019-10-17
US10796466B2 (en) 2020-10-06
JP2019185686A (ja) 2019-10-24

Similar Documents

Publication Publication Date Title
JP7014024B2 (ja) グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム
CN108073438B (zh) 页面展示方法、装置及电子终端
US10061498B2 (en) Graph display device, graph display method and computer-readable medium recording control program
AU2014203137B2 (en) Electronic apparatus and graph display method
US8576230B2 (en) Graph display apparatus, recording medium on which program is recorded, and graph display method
JP2019185686A5 (ja) グラフ描画方法、グラフ描画システム、サーバ装置、グラフ描画装置及びコンピュータプログラム
EP2237230A1 (en) Graph display control apparatus and graph display control method
CN111198997A (zh) 一种基于网页的数字显示方法及装置
JP7552832B2 (ja) 情報処理装置、表示方法及びプログラム
JP7315042B2 (ja) グラフ描画方法、グラフ描画装置及びコンピュータプログラム
JP2019061344A (ja) グラフ描画システム、演算サーバ、グラフ描画システムの制御方法、及び演算サーバのためのプログラム
JP7047562B2 (ja) プログラム、情報処理方法、情報端末及び情報処理システム
JP2023052016A (ja) 学習支援装置、学習支援方法及びプログラム
US10319126B2 (en) Ribbon to quick access toolbar icon conversion
JP7380087B2 (ja) 画像表示領域設定プログラム、サーバ、画像表示領域設定装置、画像表示領域設定方法及び画像表示システム
JP5459015B2 (ja) グラフ表示装置及びプログラム
JP7235138B2 (ja) 情報処理装置、データ生成装置、グラフ描画システム、及びプログラム
JP7525007B2 (ja) プログラム、情報処理方法、情報端末及び情報処理システム
JP7294484B2 (ja) プログラム、情報処理方法及び情報端末
JP6131923B2 (ja) 表示制御装置、表示装置、表生成装置、表示制御方法及びプログラム
JP2024127076A (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US11640491B2 (en) Automatic font value distribution for variable fonts
JP5973104B1 (ja) 情報処理装置、支出状況可視化方法および支出状況可視化プログラム
JP2023045848A (ja) 計算機及び計算プログラム
JP5532890B2 (ja) 表示装置およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210413

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220103