以下、添付図面を参照して本発明に係る実施の形態の一例を詳細に説明する。ただし、発明の範囲は、図示例に限定されない。
[1.グラフ表示システムの構成]
図1は、グラフ表示システム900の概略構成を示す概念図である。
この図に示すように、グラフ表示システム900は、パソコン200と、関数電卓1とを備えている。
[1−1.パソコンの構成]
まず、パソコン200について説明する。
図2は、パソコン200の概略構成を示すブロック図である。
この図に示すように、パソコン200は、入力部201、表示部202、通信部203、記録媒体読取部207、フラッシュROM(Read Only Memory)204、RAM(Random Access Memory)205及びCPU(Central Processing Unit)206等の機能部を備えており、各機能部はバスで接続されている。
入力部201は、入力キー群210とマウス211とを備えており、これら入力キー群210やマウス211を介して入力された信号をCPU206に出力するようになっている。なお、本実施の形態におけるマウス211は、表示部202と協働することにより、GUI(Graphical User Interface)を用いて数式の入力操作などを受けるようになっている。
表示部202は、ディスプレイ220を備えており、CPU206からの信号に基づいて各種情報をディスプレイ220に表示するようになっている。なお、このディスプレイ220はドットマトリクス液晶で構成されているものとして説明するが、例えばTFT(Thin Film Transistor)液晶や、PDP(Plasma Display Panel)等、他の表示装置でも良いことは勿論である。
通信部203は、関数電卓1との間でデータ通信を行うものである。なお、通信は無線で行っても良いし有線で行っても良い。
記録媒体読取部207は、着脱自在に装着されるUSBメモリ等の記録媒体207Aから情報を読み取るものである。
フラッシュROM204は、パソコン200におけるメニュー表示処理や各種設定処理、各種演算処理等の動作に係る各種プログラムや、パソコン200の備える種々の機能を実現するためのプログラム等を格納しており、本実施の形態においては、画像座標設定プログラム240と、画像データ群242と、画像ファイル群244とを格納している。
画像座標設定プログラム240は、後述の画像座標範囲設定処理(図5参照)をCPU206に実行させるためのプログラムである。
画像データ群242は、関数電卓1において座標系に重ねて表示される画像についての画像データ243を複数記憶している。ここで、各画像データ243の画像は、グラフで近似し得る所定形状(例えば放物線や直線など)を表しており、本実施の形態においては、後述の図9(a)に示すように、運動する物体を連続撮影した合成画像となっている。ここで、この図9(a)で示される画像では、斜め上方に放られたボールが等間隔で連続撮影されて合成されており、当該ボールの軌跡によって放物線が表されている。但し、このような画像としては、パラボラアンテナにおける放物面を撮影した画像(後述の図3における2段目参照)や、放物線形状の水流を撮影した噴水の画像など、合成されていない画像を用いても良いし、作図された画像など、実際の事象とは異なる画像を用いても良い。また、グラフで近似し得る所定形状は放物線や直線に限られず、他の形状であっても良い。
画像ファイル群244は、画像ファイル245を複数記憶している。
各画像ファイル245は、図3に示すように、画像データ247と付加データ246とを有している。
画像データ247は、後述の画像座標範囲設定処理(図5参照)において画像データ243から切り出される画像部分についてのデータである。但し、この画像データ247の内容は画像データ243の全体を切り出したものでも良い。
付加データ246は、画像データ247の画像に対応させるべき座標軸の表示範囲(XYの最大最小座標の値;すなわちXmin,Xmax,Ymin,Ymax)と、各座標軸の目盛間隔(Xscl,Yscl)とを示している。
なお、以上の画像ファイル245においては、画像データ247の画像がXY座標系に重ねられる場合に当該画像内で合成された各物体(例えばボール)の位置にX軸の目盛位置が一致するよう、後述の画像座標範囲設定処理(図5参照)によって付加データ246の内容と、画像データ243からの画像データ247の切り出し範囲とが設定されるようになっている(図10(a)参照)。
RAM205は、CPU206が実行する各種プログラムや、これらのプログラムの実行に係るデータ等を一時的に保持する随時書き込み可能なメモリである。
CPU206は、入力される指示に基づいて、フラッシュROM204から所定のプログラムを読み出してRAM205に一時格納し、当該プログラムに基づく各種処理を実行してパソコン200の各部を集中制御する。すなわち、CPU206は、読み出した所定プログラムに基づいて各種処理を実行し、その処理結果をRAM205内のワークエリアに格納するとともに、表示部202に表示させる。
[1−2.関数電卓の構成]
[1−2−1.外観構成]
続いて、関数電卓1について説明する。
上述の図1に示すように、関数電卓1は、各種キー群を有する入力キー群2と、ディスプレイ3と、を備えている。
入力キー群2は、ユーザから数値や演算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。本実施の形態においては、入力キー群2は、テンキー20や演算記号キー21、カーソルキー22、EXEキー23、削除キー24、シフトキー25、ファンクションキー26、メニューキー27、EXITキー28等を備えている。
このうち、テンキー20は数値の入力操作を受けるキーであり、演算記号キー21は四則演算の記号や括弧、分数の括線、根号(√)、対数記号、定数(円周率「π」や光速度「c」等)、三角関数記号など、各種演算記号の入力操作を受けるキーである。
カーソルキー22は、ディスプレイ3内で編集対象位置や選択対象位置を示すカーソルを所定の方向に移動させる場合等に押下されるキーであり、本実施の形態においては、上下左右の4方向について入力可能に構成されている。
EXEキー23は、処理の実行指示や決定指示の入力操作を受けるキーであり、例えば数式の入力後に演算処理の実行を指示するキーとして機能するようになっている。削除キー24は、ディスプレイ3に表示されている数値や演算記号などの削除操作を受けるキーである。シフトキー25は、各キーの機能を切り替える場合などに他のキーと組み合わせて押下されるキーである。
ファンクションキー26は、所定の処理の実行指示を受ける複数のキーを有しており、本実施の形態においては、「F1」〜「F6」の6つのキー26a〜26fを有している。このうち、「F1」キー26aは、後述の関数グラフ表示処理(図7,図8参照)においてグラフのトレースを指示する場合に操作されるキーである。また、「F2」キー26bは、ディスプレイ3に表示される座標系の表示範囲を拡大,縮小する場合に操作されるキーである。また、「F3」キー26cはビューウィンドウ情報を設定・確認する場合に操作されるキーであり、「F6」キー26fはディスプレイ3における表示内容を、グラフと、当該グラフのグラフ式またはデータテーブルとの間で切り替える場合に操作されるキーである。ここで、ビューウィンドウ情報とは、XY座標系の表示態様を示す情報であり、本実施の形態においては、XY座標系の表示範囲(XYの最大最小座標の値;すなわちXmin,Xmax,Ymin,Ymax)と、各座標軸の目盛間隔(Xscl,Yscl)と、グラフ表示の際のX軸方向のドット間隔(X dot)となっている。また、X軸方向のドット間隔(X dot)とは、ディスプレイ3でX軸を横方向に全画面表示させた場合に横方向(X軸方向)のドットピッチに相当するX軸上の数値量であり、X軸の数値幅(Xmax−Xmin)をディスプレイ3におけるX軸方向のドット数(Dx)で割った値である。そして、グラフ表示の際は、Xの最小座標値からドット間隔単位でグラフ式のYの値が計算され、表示範囲内の該当座標の位置にプロットされてグラフ表示される。
メニューキー27は、関数電卓1において各機能を実行する為のメニューを呼び出すキーである。EXITキー28は、関数電卓1における各種処理の終了を指示する場合に押下されるキーである。
ディスプレイ3は、LCD(Liquid Crystal Display)やELD(Electronic Luminescent Display)等により構成されており、入力キー群2などの操作に応じた文字や符号、数式、演算結果、座標軸、グラフなどの他、関数電卓1を使用するために必要な各種データを複数のドットにより表示するようになっている。なお、本実施の形態におけるディスプレイ3では、横方向にX軸、縦方向にY軸が表示され、当該XY軸によりXY座標系が表示されるようになっており、X軸方向のドット数(Dx)は「378」となっている。また、本実施の形態におけるディスプレイ3には、タッチパネル30が表示画面全面に亘って一体的に設けられている。
[1−2−2.機能構成]
続いて、関数電卓1の機能構成を説明する。
図4は、関数電卓1の概略的な機能構成を示すブロック図である。
この図に示すように、関数電卓1は、キー入力部14と、表示部15と、通信部16と、記録媒体読取部17と、RAM(Random Access Memory)12と、記憶部13と、CPU(Central Processing Unit)11と、を備えて構成されている。
キー入力部14は、上述の入力キー群2を備えており、押下されたキーに対応する操作信号をCPU11に出力するようになっている。
表示部15は、上述のディスプレイ3を備えており、CPU11からの表示信号に従って各種情報をディスプレイ3に表示するようになっている。また、この表示部15は、ディスプレイ3と一体的に設けられたタッチパネル30を備えており、表示画面に対する入力ペンの接触位置情報をCPU11に出力するようになっている。
通信部16は、パソコン200における通信部203との間でデータ通信を行うものである。なお、本実施の形態における通信部16は、パソコン200から画像ファイル245を受信して、記憶部13に記憶させるようになっている。
記録媒体読取部17は、着脱自在に装着されるUSBメモリ等の記録媒体207Aから情報を読み取るものである。
RAM12は、情報を一時的に格納する揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納する複数のワークエリアを有する。例えば、本実施の形態におけるRAM12は、ワークエリアとして数式記憶領域120やビューウィンドウ情報記憶領域121などを有するようになっている。
数式記憶領域120には、後述の関数グラフ表示処理(図7,図8参照)において入力されるグラフ式が記憶されるようになっている。
ビューウィンドウ情報記憶領域121には、後述の関数グラフ表示処理(図7,図8参照)において設定されるビューウィンドウ情報が記憶されるようになっており、本実施の形態においては、デフォルト値としてX軸の表示範囲「Xmin:−6.3、Xmax:6.3」、目盛間隔「Xscl:1」、Y軸の表示範囲「Ymin:−3.1、Ymax:3.1」、目盛間隔「Yscl:1」、X軸方向のドット間隔「X dot:0.033…」(=(6.3−(−6.3))/378)が記憶されている。
記憶部13は、ROM(Read Only Memory)等により構成される不揮発性のメモリであり、各種プログラム及び各種データを記憶している。具体的には、記憶部13は、本発明に係るプログラムとしての関数グラフ表示プログラム130と、画像ファイル群131とを記憶している。
関数グラフ表示プログラム130は、後述の関数グラフ表示処理(図7,図8参照)をCPU11に実行させるためのプログラムである。
画像ファイル群131は、通信部16を介してパソコン200から送信された画像ファイル245を複数記憶している。
CPU11は、関数電卓1の各部を中央制御する。具体的には、CPU11は、記憶部13に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをRAM12に展開し、RAM12に展開されたプログラムとの協働で、各種処理を実行する。
[2.グラフ表示システムの動作]
[2−1.パソコンの動作]
続いて、パソコン200の動作について説明する。
図5は、パソコン200において実行される画像座標範囲設定処理の動作を説明するためのフローチャートである。なお、この画像座標範囲設定処理は、ユーザにより入力部201を介して画像座標範囲設定処理の実行指示が入力されると、フラッシュROM204から画像座標設定プログラム240が読み出されてRAM205に適宜展開される結果、当該画像座標設定プログラム240とCPU206との協働によって実行される。
この図に示すように、画像座標範囲設定処理においては、まずユーザが画像データ群242から何れかの画像データ243を指定画像データ(以下、指定画像データ243Sとする)として指定すると(ステップS1)、CPU206は指定画像データ243Sの画像をディスプレイ220に表示させる(ステップS2)。
次に、ユーザがXY座標系の表示範囲(XYの最大最小座標の値;すなわちXmin,Xmax,Ymin,Ymax)と、目盛間隔(Xscl,Yscl)とをそれぞれ入力すると(ステップS3)、CPU206は、これらの入力内容をディスプレイ220に表示させた後、X座標範囲補正処理を行う(ステップS4)。
具体的には、図6に示すように、このX座標範囲補正処理においてCPU206は、まず下記の式(1)〜式(3)によってX軸方向のドット間隔(Xdot)と、トレース間隔(Xt)と、トレース間隔補正値(Xt’)とを算出する(ステップV1〜V3)。なお、式中、「n」は後述の関数グラフ表示処理(図7,図8参照)においてグラフのトレースポインタT(図13参照)が1回移動するときの移動量のX軸方向成分を、ドットの個数で表した値であり、本実施の形態においては「n」の値は「3」となっている。また、式中、「INT( )」とは、いわゆるINT関数であり、括弧内の値の小数部分を切り捨てて整数化する関数である。
X軸方向のドット間隔:Xdot=(Xmax−Xmin)/Dx …(1)
トレース間隔:Xt=nXdot …(2)
トレース間隔補正値:Xt’= Xscl / INT( Xscl/Xt) …(3)
ここで、上記のトレース間隔補正値(Xt’)はX軸の目盛間隔(Xscl)を整数「INT( Xscl/Xt)」で割った値であり、換言すれば、トレース間隔補正値(Xt’)を整数「INT( Xscl/Xt)」倍した値はX軸の目盛間隔(Xscl)となる。そのため、このようなトレース間隔補正値(Xt’)によれば、トレースポインタTがグラフ上におけるX軸目盛の対応位置に存在する場合に、トレースポインタTをグラフ上でX軸方向に当該トレース間隔補正値(Xt’)分ずつ整数「INT( Xscl/Xt)」回、移動させることにより、各目盛の対応位置にトレースポインタTを配置させることができることとなる。
次に、CPU206は、下記の式(4)によってX軸方向ドット間隔補正値(Xdot’)を算出する(ステップV4)。
X軸方向ドット間隔補正値:Xdot’=Xt’/ n …(4)
なお、このX軸方向ドット間隔補正値(Xdot’)は後述の関数グラフ表示処理(図7,図8参照)においてグラフが描画される際に用いられるものであり、具体的には、X軸の最小座標値(Xmin)からドット間隔(Xdot’)ごとにグラフ式にX軸座標値が代入されてY軸の値が計算され、表示範囲内の該当座標の位置にプロットが順次行われることによりグラフが描画される。そして、このドット間隔(Xdot’)はX軸の目盛間隔(Xscl)を整数「INT( Xscl/Xt)」及び整数「n」で割った値であり(式(3),式(4)参照)、換言すれば、ドット間隔(Xdot’)を整数「n」及び整数「INT( Xscl/Xt)」倍した値はX軸の目盛間隔(Xscl)となる。そのため、このドット間隔(Xdot’)で描画されるグラフでは、表示すべきX軸の目盛位置に対して実際のディスプレイ3のドット位置が微妙にずれている場合であっても、ドット間隔(Xdot’)に基づく計算上のドット位置が目盛位置に一致することとなるため、X軸目盛の対応位置(実際のディスプレイ3における対応ドット位置)でのY軸の値と、グラフ式に目盛値を代入して算出されるY軸の値とが正確に一致することとなる。
次に、CPU206は、下記の式(5)〜式(9)によって最小目盛値(Xms)と、最小目盛値(Xms)からX軸の最小座標値(Xmin)までの長さと、X軸の最小座標値(Xmin)から最小目盛値(Xms)までのトレース間隔数と、Xmin補正値(Xmin’)と、Xmax補正値(Xmax’)とを算出する(ステップV5〜V9)。なお、最小目盛値(Xms)とは、X軸における目盛値のうち、最も小さい目盛値のことである。また、式中、「Round( , 0)」とは、いわゆるRound関数であり、括弧内の前部分の数値を桁数「0」(小数点以下第1位)で四捨五入した整数値を返す関数である。
最小目盛値:Xms = Xscl * Round( Xmin/Xscl , 0) …(5)
最小目盛値XmsからXminまでの長さ = Xms − Xmin …(6)
Xminから最小目盛値Xmsまでのトレース間隔数=Round(((Xms-Xmin)/Xt’),0)…(7)
Xmin補正値:Xmin’
=最小目盛値Xms-(Xminから最小目盛値Xmsまでのトレース間隔数)* Xt’…(8)
Xmax補正値:Xmax’= Xmin’+ Dx * Xdot’ …(9)
ここで、上記の式(7)において、X軸の最小座標値(Xmin)から最小目盛値(Xms)までのトレース間隔数(=Round(((Xms-Xmin)/Xt’),0))は、X軸の最小座標値(Xmin)から最小目盛に向かってトレース間隔補正値(Xt’)ずつ、トレースポインタTを移動させた場合の移動回数(但し、整数に丸められた値)を示す。そのため、上記の式(8)において当該「トレース間隔数(移動回数)」に対しトレース間隔補正値(Xt’)を掛けた値は、X軸の最小座標値(Xmin)から最小目盛に向かってトレース間隔補正値(Xt’)ずつ、「トレース間隔数(移動回数)」の回数分だけトレースポインタTを移動させた場合の移動量(X軸上での数値)を示す。そして、Xmin補正値(Xmin’)はX軸の最小目盛値(Xms)から当該「移動量」を引いた値であるため、このXmin補正値(Xmin’)によれば、X軸の最小座標値(Xmin)を当該Xmin補正値(Xmin’)で置き換えてX軸を最小座標値(Xmin’)側から描画した場合に、トレースポインタTがグラフ上におけるX軸目盛の対応位置、或いは最小座標値(Xmin’)の対応位置に存在する限り、トレースポインタTをX軸方向にトレース間隔補正値(Xt’)分ずつ整数(INT( Xscl/Xt))回、移動させることにより、トレースポインタTを各目盛の対応位置と、X軸の最小座標値(Xmin’)の対応位置とに配置させることができることとなる。更に、上記のXmax補正値(Xmax’)は、Xmin補正値(Xmin’)及びX軸方向ドット間隔補正値(Xdot’)に基づいて算出された値であるため、X軸の最大座標値(Xmax’)の対応位置にもトレースポインタTを配置させることができることとなる。
そして、CPU206は、下記の式(10)〜式(12)によって微調整値(△)と、Xmin再補正値(Xmin’’)と、Xmax再補正値(Xmax’’)とを算出して(ステップV10〜V12)、X座標範囲補正処理を終了する。
微調整値:△=Round(Round(((Xmax−Xmax’)/Xt’), 0)/2) …(10)
Xmin再補正値:Xmin’’= Xmin’+△*Xt’ …(11)
Xmax再補正値:Xmax’’= Xmax’+△*Xt’ …(12)
ここで、上記のXmin補正値(Xmin’)及びXmax補正値(Xmax’)でX軸を描画した場合には、上述のように各目盛の対応位置や、X軸の最小座標値(Xmin’)の対応位置、X軸の最大座標値(Xmax’)の対応位置にトレースポインタTを配置させることはできるものの、X軸の表示範囲が最小値側及び最大値側の一方に対してシフトしてしまう。この点、Xmin再補正値(Xmin’’)及びXmax再補正値(Xmax’’)でX軸の最小座標値(Xmin’)及び最大座標値(Xmax’)を置き換えてX軸を描画した場合には、X軸の表示範囲を最小値側及び最大値側に対して均等にシフトさせることができるため、一方の側のみにX軸がシフトしてしまうのが防止される。
以上のX座標範囲補正処理が終了したら、図5に示すように、次にCPU206は、X座標範囲補正処理による補正前のX座標の表示範囲(Xmin,Xmax)と、補正後のX座標の表示範囲(Xmin’’,Xmax’’)とをディスプレイ220に表示させるとともに、ステップS3で入力されたY軸の表示範囲(Ymin,Ymax)と、各座標軸の目盛間隔(Xscl,Yscl)とを表示させる(ステップS5)。また、このときCPU206は、補正後のX座標の表示範囲(Xmin’’,Xmax’’)を新たな表示範囲(Xmin,Xmax)として設定し直し、設定された表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)でXY軸を指定画像データ243Sの画像上に表示させ、ステップS3で入力された目盛間隔(Xscl,Yscl)で各座標軸の目盛とグリッド線とを表示させる。
次に、CPU206は、画像に対する上下左右の移動操作が行われるか否かを判定する(ステップS6)。
このステップS6において移動操作が行われたと判定した場合(ステップS6;Yes)には、CPU206は、XY軸を固定して表示させつつ、移動操作による指示方向に指定画像データ243Sの画像を移動させて表示させた後(ステップS7)、上述のステップS6に移行する。なお、この移動操作はマウス211によるドラッグ操作などによって行うことができる。
また、ステップS6において上下左右の移動操作が行われないと判定した場合(ステップS6;No)には、CPU206は、画像に対する拡大操作が行われるか否かを判定し(ステップS8)、行われたと判定した場合(ステップS8;Yes)には、XY軸を固定して表示させつつ、拡大操作に対応して設定される倍率で指定画像データ243Sの画像を拡大して表示させた後(ステップS9)、上述のステップS6に移行する。なお、この画像座標範囲設定処理において拡大とは、1/2倍など、1未満の倍率に拡大すること、つまり縮小することを含む。また、この拡大操作はマウス211によるドラッグ操作などによって行うことができる。
以上のステップS6〜S9により、指定画像データ243Sの画像内で合成された各物体(例えばボール)の位置にX軸の目盛位置が一致するよう、画像データ243からの画像データ247の切り出し範囲が設定される(図10(a)参照)。
そして、ステップS8において拡大操作が行われないと判定した場合(ステップS8;No)には、CPU206は、ユーザにより保存操作が行われるか否かを判定し(ステップS11)、行われないと判定した場合(ステップS11;No)には、他の処理へ移行する。
一方、このステップS11において保存操作が行われたと判定した場合(ステップS11;Yes)には、CPU206は、ユーザにファイル名を入力させた後(ステップS12)、指定画像データ243Sにおける画像から、現時点で設定されているXY座標系の表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)と重なっている部分を切り出して画像データ247を形成した後(ステップS13)、この画像データ247に座標系の表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)と、目盛間隔(Xscl,Yscl)とを付加データ246として付加して画像ファイル245を形成し、入力されたファイル名と対応付けてフラッシュROM204に保存して(ステップS14)、画像座標範囲設定処理を終了する。
[2−2.関数電卓の動作]
続いて、関数電卓1の動作について説明する。
図7,図8は、関数グラフ表示処理の動作を説明するためのフローチャートである。なお、この関数グラフ表示処理は、ユーザによりタッチパネル30やキー入力部14を介して関数グラフ表示処理の実行指示が入力されると、記憶部13から関数グラフ表示プログラム130が読み出されてRAM12に適宜展開される結果、当該関数グラフ表示プログラム130とCPU11との協働によって実行される。
図7に示すように、関数グラフ表示処理においては、まずユーザが画像ファイル群131における何れかの画像ファイル245を座標系の背景画像として指定すると(ステップT1)、CPU11は、指定された画像ファイル245(以下、指定画像ファイル245Sとする)の画像をディスプレイ3に表示させる(ステップT2)。
次に、CPU11は、指定画像ファイル245Sに付加された付加データ246をビューウィンドウ情報として設定する旨の操作が行われるか否かを判定し(ステップT3)、行われないと判定した場合(ステップT3;No)には、ビューウィンドウ情報をビューウィンドウ情報記憶領域121におけるデフォルト値のままで維持し、後述のステップT5に移行する。
また、ステップT3において付加データ246をビューウィンドウ情報として設定する旨の操作が行われたと判定した場合(ステップT3;Yes)には、CPU11は、指定画像ファイル245Sに付加された付加データ246の内容、つまり座標系の表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)及び目盛間隔(Xscl,Yscl)と、この内容から上述の式(1)〜式(4)によって算出されるX軸方向のドット間隔(Xdot’)とをビューウィンドウ情報として設定し、ビューウィンドウ情報記憶領域121内の情報を更新させる(ステップT4)。
次に、CPU11は、ビューウィンドウ情報を確認する旨の操作が行われるか否かを判定し(ステップT5)、行われないと判定した場合(ステップT5;No)には、後述のステップT7に移行する。なお、本実施の形態においては、「F3」キー26cを介してビューウィンドウ情報の表示指示操作が行われるようになっている。
また、ステップT5においてビューウィンドウ情報を確認する旨の操作が行われたと判定した場合(ステップT5;Yes)、には、CPU11は、ビューウィンドウ情報記憶領域121内のビューウィンドウ情報をディスプレイ3に表示させる(ステップT6)。
次に、CPU11は、ユーザに表示モードのセットアップを行わせる(ステップT7)。ここで、このステップT7においてユーザは、「Axes」(XY軸)の設定を「on」(座標軸を表示させる),「off」(座標軸を非表示にする),「scale」(目盛値付きで座標軸を表示させる)の何れにするかや、「Label」(XY軸の座標軸名及び原点位置の「0」)の設定を「on」(表示させる),「off」(非表示にする)の何れにするか、「Grid」(グリッド)の設定を「on」(グリッド点を表示),「off」(グリッドを非表示),「line」(グリッド線を表示)の何れにするか、等を設定できるようになっている。但し、本実施の形態においては、「Axes」(XY軸)の設定は、「on」(座標軸を表示させる)または「scale」(目盛値付きで座標軸を表示させる)に設定されることとして説明する。
次に、CPU11は、画像内の所定形状(放物線や直線など)に対応させて表示させるべきグラフについてのグラフ式をユーザに入力させた後(ステップT8)、指定画像ファイル245Sの画像を背景に表示させつつ、ビューウィンドウ情報記憶領域121におけるビューウィンドウ情報と、表示モードのセットアップの内容とに基づいてXY軸と各軸の目盛とを表示させ、このXY軸により定まるXY座標系内にグラフ式のグラフを表示させる(ステップT9)。より詳細には、このときCPU11は、XY軸を表示させる場合に、ビューウィンドウ情報における表示範囲(Xmin,Xmax,Ymin,Ymax)のXY軸を、画像の左右幅,上下幅に合わせて表示させる。また、このときCPU11は、グラフを描画表示させる場合に、X軸の最小座標値(Xmin)からドット間隔(Xdot’)ごとにX軸座標値をグラフ式に代入してY軸の値を計算し、表示範囲内の該当座標の位置にプロットを順次行うことによりグラフを描画表示させる。また、例えば、表示モードのセットアップにおいて「Axes」の設定が「scale」になっている場合には、このステップT9においてCPU11は、X軸,Y軸を表示させ、これらXY軸にビューウィンドウ情報の目盛間隔(Xscl,Yscl)で目盛と目盛値を表示させる。
ここで、上述のステップT4において指定画像ファイル245Sに付加された付加データ246の内容がビューウィンドウ情報として設定されている場合には、このビューウィンドウ情報では、画像内で合成された各物体(例えばボール)の位置にX軸の目盛位置が一致するよう、座標系の表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)と、座標軸の目盛間隔(Xscl,Yscl)とが設定されているので、画像データ247の画像に重ねられるXY座標系では、合成された各物体(例えばボール)の位置にX軸の目盛位置が一致することとなる。
次に、図8に示すように、CPU11は、グラフ上の点をトレースする旨の操作が行われるか否かを判定する(ステップT10)なお、本実施の形態においては、「F1」キー26aを介してトレースの指示が行われるようになっている。
このステップT10においてトレースする旨の操作が行われないと判定した場合(ステップT10;No)には、CPU11は、座標系の表示範囲を上下左右に移動する旨の操作が行われるか否かを判定する(ステップT21)。
このステップT21において表示範囲を移動する旨の操作が行われたと判定した場合(ステップT21;Yes)には、CPU11は、ディスプレイ3に指定画像ファイル245Sの画像を固定して表示させつつ、移動操作による指示方向にXY座標系の表示範囲を移動させてビューウィンドウ情報記憶領域121における座標系の表示範囲(Xmin,Xmax,Ymin,Ymax)を設定し直して、ディスプレイ3に表示される座標系の表示範囲を更新し(ステップT22)、図7に示すように、上述のステップT9に移行する。また、このステップT22においてCPU11は、新たに設定された座標系の表示範囲(Xmin,Xmax,Ymin,Ymax)と、指定画像ファイル245Sに付加された付加データ246における表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)とが異なる場合には、XY軸を太線で表示したり、色付き線で表示する等して、XY軸の表示態様を変更する。なお、このときディスプレイ3にグリッド線が表示されている場合には、CPU11は、当該グリッド線の表示態様も同様にして変更することとしても良い。
また、図8に示すように、ステップT21において表示範囲を移動する旨の操作が行われないと判定した場合(ステップT21;No)には、CPU11は、座標系の表示範囲を拡大する旨の操作が行われるか否かを判定する(ステップT23)。
このステップT23において座標系の表示範囲を拡大する旨の操作が行われたと判定した場合(ステップT23;Yes)には、CPU11は、ディスプレイ3に指定画像ファイル245Sの画像を固定して表示させつつ、拡大操作に対応して設定される倍率でXY座標系の表示範囲を拡大させてビューウィンドウ情報記憶領域121における座標系の表示範囲(Xmin,Xmax,Ymin,Ymax)を設定し直して、ディスプレイ3に表示される座標系の表示範囲を更新し(ステップT24)、図7に示すように、上述のステップT9に移行する。また、このステップT24においてCPU11は、新たに設定された座標系の表示範囲(Xmin,Xmax,Ymin,Ymax)と、指定画像ファイル245Sに付加された付加データ246における表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)とが異なる場合には、XY軸を太線で表示したり、色付き線で表示する等して、XY軸の表示態様を変更する。なお、このときディスプレイ3にグリッド線が表示されている場合には、CPU11は、当該グリッド線の表示態様も同様にして変更することとしても良い。なお、この関数グラフ表示処理において拡大とは、1/2倍など、1未満の倍率に拡大すること、つまり縮小することを含む。
また、図8に示すように、ステップT23において座標系の表示範囲を拡大する旨の操作が行われないと判定した場合(ステップT23;No)には、CPU11は、グラフを解析する旨の操作が行われるか否かを判定する(ステップT25)。なお、本実施の形態においてグラフを解析するとは、グラフにおけるX軸切片を求めることをいう。
このステップT25においてグラフを解析する旨の操作が行われたと判定した場合(ステップT25;Yes)には、CPU11は、グラフ式(Y=f(X))においてY=0とした場合の「X」の値を算出してディスプレイ3に表示させるとともに、グラフのX軸切片にトレースポインタT(図14(c)参照)を表示させる(ステップT26)。
次に、CPU11は、グラフの解析を終了する旨の操作が行われるか否かを判定し(ステップT27)、行われないと判定した場合(ステップT27;No)には、上述のステップT26に移行する一方、行われたと判定した場合(ステップT27;Yes)には、図7に示すように、上述のステップT8に移行する。
また、図8に示すように、ステップT25においてグラフを解析する旨の操作が行われないと判定した場合(ステップT25;No)には、CPU11は、上述のステップT22,T24で変更されたビューウィンドウ情報を元に戻す旨の操作が行われるか否かを判定し(ステップT16)、行われないと判定した場合(ステップT16;No)には、他の処理へ移行する。
また、ステップT16においてビューウィンドウ情報を元に戻す旨の操作が行われたと判定した場合(ステップT16;Yes)には、CPU11は、ディスプレイ3に指定画像ファイル245Sの画像を固定して表示させつつ、指定画像ファイル245Sに付加された付加データ246の内容、つまり座標系の表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)及び目盛間隔(Xscl,Yscl)と、この内容から上述の式(1)〜式(4)によって算出されるX軸方向のドット間隔(Xdot’)とをビューウィンドウ情報として設定し直してビューウィンドウ情報記憶領域121内の情報を更新させ、ディスプレイ3に表示される座標系の表示範囲を更新した後(ステップT17)、図7に示すように、上述のステップT9に移行する。また、このステップT17においてCPU11は、上記ステップT22,T24により変更されたXY軸やグリッド線の表示態様を元に戻す。
また、図8に示すように、上述のステップT10においてトレースする旨の操作が行われたと判定した場合(ステップT10;Yes)には、CPU11は、表示させるべきトレースポインタT(図13(a)参照)についてのX座標値を所定の初期値に設定する(ステップT11)。なお、本実施の形態においては、X座標値の初期値としては、例えばX軸における何れかの目盛の目盛値や、X軸の表示範囲における最大値(Xmax)または最小値(Xmin)を用いることができ、本実施の形態においては、X軸の表示範囲(Xmin,Xmax)における中間位置の目盛値となっている。
次に、CPU11は、グラフ上の点のうち、現時点で設定されているX座標値の対応点にトレースポインタTを表示させるとともに、当該トレースポインタTのXY座標をディスプレイ3の下部に表示させる(ステップT12)。
次に、CPU11は、トレースポインタTに対する左右移動操作が行われるか否かを判定し(ステップT13)、行われたと判定した場合(ステップT13;Yes)には、上述の式(3)によってトレース間隔補正値(Xt’)を算出してトレース間隔(Xt;但しXt=Xt’)として設定し、操作によって指定された方向にトレースポインタTのX座標値を当該トレース間隔(Xt;但しXt=Xt’)だけ増減させて再設定した後(ステップT14)、上述のステップT12に移行する。
このとき、上述のステップT4,T17によって指定画像ファイル245Sにおける付加データ246の内容がビューウィンドウ情報として設定されている場合には、このようにトレース間隔補正値(Xt’)分ずつトレースポインタTをグラフ上でX軸方向に移動させることにより、上述したように、トレースポインタTを各目盛の対応位置や、最小座標値(Xmin;但しXmin=Xmin’’)の対応位置、最大座標値(Xmax;但しXmax=Xmax’’)の対応位置に移動させることができる。
また、ステップT13においてトレースポインタTに対する左右移動操作が行われないと判定した場合(ステップT13;No)には、CPU11は、トレースを終了する旨の操作が行われるか否かを判定する(ステップT15)。
このステップT15においてトレースを終了する旨の操作が行われたと判定した場合(ステップT15;Yes)には、CPU11は、図7に示すように、上述のステップT9に移行する。
また、図8に示すように、ステップT15においてトレースを終了する旨の操作が行われないと判定した場合(ステップT15;No)には、CPU11は、上述のステップT16に移行する。
[1.4 動作例]
続いて、図面を参照しつつ、パソコン200や関数電卓1における上述の動作を具体的に説明する。
まず、パソコン200においてユーザが画像データ群242から何れかの画像データ243を指定画像データ243Sとして指定すると(ステップS1)、図9(a)示すように、指定画像データ243Sの画像がディスプレイ220に表示される(ステップS2)。なお、本動作例では、指定画像データ243Sの画像は、斜め上方に放られたボールを等間隔で連続撮影して合成した画像となっている。
次に、ユーザがX軸,Y軸の表示範囲(「Xmin:0」、「Xmax:6」、「Ymin:0」、「Ymax:3」)と、目盛間隔(「Xscl:0.5」、「Yscl:0.5」)とを入力すると(ステップS3)、これらの入力内容がディスプレイ220に表示される。また、上述の式(1)〜式(12)によってドット間隔(Xdot)と、トレース間隔(Xt)と、トレース間隔補正値(Xt’)と、X軸方向ドット間隔補正値(Xdot’)と、最小目盛値(Xms)と、最小目盛値(Xms)からX軸の最小座標値(Xmin)までの長さと、X軸の最小座標値(Xmin)から最小目盛値(Xms)までのトレース間隔数と、Xmin補正値(Xmin’)と、Xmax補正値(Xmax’)と、微調整値(△)と、Xmin再補正値(Xmin’’)と、Xmax再補正値(Xmax’’)とが以下のように算出される(ステップV1〜V12)。
X軸方向のドット間隔:Xdot=0.015873016
トレース間隔:Xt=0.047619048
トレース間隔補正値:Xt’=0.05
X軸方向ドット間隔補正値:Xdot’=0.016666667
最小目盛値:Xms=0
最小目盛値XmsからXminまでの長さ:0
Xminから最小目盛値Xmsまでのトレース間隔数:0
Xmin補正値:Xmin’=0
Xmax補正値:Xmax’=6.3
微調整値:△=-3
Xmin再補正値:Xmin’’=-0.15
Xmax再補正値:Xmax’’=6.15
次に、図9(b)に示すように、X座標範囲補正処理による補正前のX座標の表示範囲(「Xmin:0」、「Xmax:6」)と、補正後のX座標の表示範囲(「Xmin’’:−0.15」、「Xmax’’:6.15」)とがディスプレイ220に表示されるとともに、Y軸の表示範囲(「Ymin:0」、「Ymax:3」)と、各座標軸の目盛間隔(「Xscl:0.5」、「Yscl:0.5」)とが表示される(ステップS5)。また、このとき補正後のX座標の表示範囲(「Xmin’’:−0.15」、「Xmax’’:6.15」)が新たな表示範囲(Xmin,Xmax)として設定し直され、設定された表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)でXY軸が指定画像データ243Sの画像上に表示される。また、目盛間隔(「Xscl:0.5」、「Yscl:0.5」)で各座標軸の目盛とグリッド線とが表示される。
次に、画像に対する拡大操作をユーザが行うと(ステップS8;Yes)、図9(c)に示すように、XY軸が固定して表示されつつ、拡大操作に対応して設定される倍率で指定画像データ243Sの画像が拡大して表示される(ステップS9)。なお、本動作例においては、このとき画像は主に横方向に引き伸ばされている。
次に、画像に対する上下左右の移動操作をユーザが行うと(ステップS6;Yes)、図10(a)に示すように、XY軸が固定して表示されつつ、移動操作による指示方向(ここでは左方向)に指定画像データ243Sの画像が移動されて表示される(ステップS7)。
これにより、指定画像データ243Sの画像内で合成された各物体(ボール)の位置にX軸の目盛位置が一致するよう、画像データ243からの画像データ247の切り出し範囲が設定される。
そして、図10(b)に示すように、ユーザが保存操作を行い(ステップS11;Yes)、ファイル名「BALL」を入力すると(ステップS12)、指定画像データ243Sにおける画像から、現時点で設定されているXY座標系の表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)と重なっている部分が切り出されて画像データ247が形成され(ステップS13)、この画像データ247に座標系の表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)と、目盛間隔(「Xscl:0.5」、「Yscl:0.5」)とが付加データ246として付加されて画像ファイル245が形成され、入力されたファイル名「BALL」と対応付けてフラッシュROM204に保存される(ステップS14)。
次に、この画像ファイル245が通信部16を介して記憶部13に記憶された後、図11(a)〜(d)に示すように、関数電卓1においてユーザがファイル名「BALL」の画像ファイル245を背景画像として指定すると(ステップT1)、この画像ファイル245の画像がディスプレイ3に表示される(ステップT2)。なお、なお、図11(a)では、セットアップメニューから座標系の背景画像の設定項目「background」を選択した状態を図示しており、ディスプレイ3の下部には「None」(背景無し)、「PICTn」(画像番号で指定される画像を表示)、「OPEN」(画像ファイルから読み出される画像を表示)の選択キー300がソフトキーとして表示されている。また、図11(b)では、図11(a)の状態から「OPEN」を選択した状態を図示しており、ファイル名から画像ファイル245を選択できるようになっている。
次に、画像ファイル245に付加された付加データ246をビューウィンドウ情報として設定する旨の操作をユーザが行うと(ステップT3;Yes)、図12(a),(b)に示すように、画像ファイル245に付加された付加データ246の内容、つまり座標系の表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)及び目盛間隔「Xscl:0.5」、「Yscl:0.5」と、この内容から上述の式(1)〜式(4)によって算出されるX軸方向のドット間隔「Xdot’:0.016…」とがビューウィンドウ情報として設定され、ビューウィンドウ情報記憶領域121内の情報が更新される(ステップT4)。
次に、ユーザが「Axes」(XY軸)の設定を「on」(座標軸を表示させる)、「Label」(XY軸の座標軸名及び原点位置の「0」)の設定を「off」(非表示にする)、「Grid」(グリッド)の設定を「line」(グリッド線を表示)として表示モードのセットアップを行い(ステップT7)、図12(c)に示すように、画像内の放物線形状に対応させて表示させるべきグラフについてのグラフ式「Y=−0.28(X−3.1)2+2.8」を入力すると(ステップT8)、図12(d)に示すように、画像ファイル245の画像が背景に表示されるとともに、ビューウィンドウ情報記憶領域121におけるビューウィンドウ情報と、表示モードのセットアップの内容とに基づいてXY軸、各軸の目盛、及びグリッド線が表示され、このXY軸により定まる座標系にグラフ式「Y=−0.28(X−3.1)2+2.8」のグラフが表示される(ステップT9)。より詳細には、XY軸が表示されるときには、ビューウィンドウ情報における表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)のXY軸が画像の左右幅,上下幅に合わせて表示される。また、グラフが描画表示されるときには、X軸の最小座標値「Xmin:−0.15」からドット間隔「Xdot’:0.016…」ごとにグラフ式にX軸座標値が代入されてY軸の値が計算され、表示範囲内の該当座標の位置にプロットが順次行われることによりグラフが描画表示される。なお、このときユーザが「F6」キー26fを操作すると、図12(e)に示すように、ディスプレイ3における表示内容がグラフのみに切り替えられる。
ここで、このビューウィンドウ情報では、画像内で合成された各物体(ボール)の位置にX軸の目盛位置が一致するよう、座標系の表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)と、座標軸の目盛間隔「Xscl:0.5」、「Yscl:0.5」とが設定されているので、画像データ247の画像に重ねられるXY座標系では、合成された各物体(ボール)の位置にX軸の目盛位置が一致することとなる。
次に、グラフ上の点をトレースする旨の操作をユーザが行うと(ステップT10;Yes)、表示させるべきトレースポインタTについてのX座標値が「3」(X軸の表示範囲の中間位置の目盛値)に設定され(ステップT11)、図13(a)に示すように、X座標値「3」の対応点にトレースポインタTが表示されるとともに、当該トレースポインタTのXY座標値がディスプレイ3の下部に表示される(ステップT12)。なお、本動作例においては、このときディスプレイ3の左上にはグラフ式が表示されるようになっている。また、このときユーザが「F6」キー26fを操作すると、図13(b)に示すように、ディスプレイ3における表示内容がグラフのみに切り替えられる。
次に、ユーザがトレースポインタTを右方向へ移動させる操作を2回行うと(ステップT13;Yes)、図13(c)に示すように、右方向にトレースポインタTのX座標値「3」がトレース間隔「Xt’:0.05」ずつ2回増加されて「3.1」に再設定され(ステップT14)、X座標値「3.1」の対応点にトレースポインタTが表示されるとともに、当該トレースポインタTのXY座標値がディスプレイ3の下部に表示される(ステップT12)。このようにトレース間隔補正値「Xt’:0.05」分ずつトレースポインタTがグラフ上でX軸方向に移動されることにより、目盛間隔「Xscl:0.5」での各目盛の対応位置や、最小座標値「Xmin:−0.15」の対応位置、最大座標値「Xmax:6.15」の対応位置にトレースポインタTを移動させることができる。なお、このときユーザが「F6」キー26fを操作すると、図13(d)に示すように、ディスプレイ3における表示内容がグラフのみに切り替えられる。
次に、ユーザが座標系の表示範囲を上下左右に移動する旨の操作を行うと(ステップT21;Yes)、指定画像ファイル245Sの画像が固定して表示されつつ、移動操作による指示方向(ここでは右方向及び下方向)にXY座標系の表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)が移動されてビューウィンドウ情報記憶領域121における座標系の表示範囲が設定し直されて、図14(a)に示すように、表示される座標系の表示範囲が更新される(ステップT22)。また、このときXY軸が太線で表示されて表示態様が変更される。なお、このときユーザが「F6」キー26fを操作すると、図14(b)に示すように、ディスプレイ3における表示内容がグラフのみに切り替えられる。
次に、グラフを解析する旨の操作をユーザが行うと(ステップT25;Yes)、図14(c)に示すように、グラフ式「Y=−0.28(X−3.1)2+2.8」においてY=0とした場合の「X」の値「6.26…」が算出されてディスプレイ3に表示されるとともに、グラフのX軸切片にトレースポインタTが表示される(ステップT26)。なお、このときユーザが「F6」キー26fを操作すると、図14(d)に示すように、ディスプレイ3における表示内容がグラフのみに切り替えられる。
次に、座標系の表示範囲を拡大する旨の操作をユーザが行うと(ステップT23;Yes)、図15(a)に示すように、指定画像ファイル245Sの画像が固定して表示されつつ、拡大操作に対応して設定される倍率でXY座標系の表示範囲が拡大されてビューウィンドウ情報記憶領域121における座標系の表示範囲(Xmin,Xmax,Ymin,Ymax)が設定し直されて、表示される座標系の表示範囲が更新される(ステップT24)。また、このときXY軸が太線で表示されて表示態様を変更した状態が維持される。なお、このときユーザが「F6」キー26fを操作すると、図15(b)に示すように、ディスプレイ3における表示内容がグラフのみに切り替えられる。
そして、ビューウィンドウ情報を元に戻す旨の操作をユーザが行うと(ステップT16;Yes)、図15(c)に示すように、ディスプレイ3に指定画像ファイル245Sの画像が固定して表示されつつ、指定画像ファイル245Sに付加された付加データ246の内容、つまり座標系の表示範囲(「Xmin:−0.15」、「Xmax:6.15」、「Ymin:0」、「Ymax:3」)及び目盛間隔「Xscl:0.5」、「Yscl:0.5」と、この内容から上述の式(1)〜式(4)によって算出されるX軸方向のドット間隔「Xdot’:0.016…」とがビューウィンドウ情報として設定し直されてビューウィンドウ情報記憶領域121内の情報が更新され、ディスプレイ3に表示される座標系の表示範囲が更新される(ステップT17)。
以上、本実施の形態によれば、図7のステップT4,T8,T9や、図12等に示したように、画像ファイル245には、グラフで近似し得る所定形状を表した画像についての画像データ247と、画像データの画像に対応させるべきXY座標軸の表示範囲(Xmin,Xmax,Ymin,Ymax)を示す付加データ246とが具備されており、何れかの画像ファイル245が指定画像ファイル245Sとして指定され、画像の所定形状(放物線や直線)に対応させて表示させるべきグラフについてのグラフ式がユーザ操作に基づいて入力されると、指定画像ファイル245Sにおける付加データ246に従ってXY座標軸の表示範囲が設定されて、設定される表示範囲(Xmin,Xmax,Ymin,Ymax)に基づいてXY座標軸が表示されるとともに、これらXY座標軸により定まるXY座標系内にグラフ式のグラフが表示され、指定画像ファイル245Sの画像がXY座標系に重ねて表示されるので、画像データ247の画像とグラフとを重ねて表示させ、画像内の所定形状にグラフを一致させることができる。
また、図8のステップT21〜T24や図14、図15等に示したように、指定画像ファイル245Sの画像が固定して表示されつつ、ユーザ操作に応じてXY座標軸の表示範囲(Xmin,Xmax,Ymin,Ymax)が移動又は拡大されて再設定されるので、XY座標軸及びグラフを移動または拡大して表示させ、グラフの形状を解析することができる。
そして、図8のステップT17や図15(c)等に示したように、ユーザ操作に応じてXY座標軸の表示範囲(Xmin,Xmax,Ymin,Ymax)が指定画像ファイル245Sにおける付加データ246に従って再設定されるので、画像に対してグラフを移動または拡大させた結果、画像の内容にグラフが一致しなくなった場合であっても、改めて画像内の所定形状にグラフを一致させることができる。
よって、画像に対してグラフを重ねて表示させるとともに、画像に対するグラフの位置または大きさを所定の状態に容易に戻すことができる。
また、図6や図8のステップT12〜T14、図13等に示したように、トレースポインタTがグラフ上における各X軸目盛の対応位置に移動可能なよう、X軸の目盛間隔(Xscl)と、トレース時の移動量(Xt’)とが設定されているので、トレースポインタTの座標値を確実に目盛値に合致させることができる。従って、X軸に関してトレースポインタTの座標値を目盛値に合致させることにより、Y軸上の正確な値を得ることができる。
また、図8のステップT22,T24や図14、図15(a),(b)等に示したように、XY軸の表示範囲(Xmin,Xmax,Ymin,Ymax)が移動又は拡大して設定された場合には、XY軸の表示態様が変更されるので、画像に対してグラフが移動または拡大されており、画像の内容にグラフが一致しなくなっていることをユーザに把握させることができる。
なお、上記の実施の形態における関数電卓1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。
例えば、本発明に係るグラフ表示装置を関数電卓1として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコン、PDA(Personal Digital Assistant)、ゲーム機などの電子機器全般に適用可能である。また、本発明に係る関数グラフ表示プログラム130は、関数電卓1に対して着脱可能なメモリカード、CD等に記憶されることとしてもよい。
また、関数グラフ表示処理がパソコン200で行われることとして説明したが、関数グラフ表示プログラム130の実行により関数電卓1で行われることとしても良い。また、パソコン200において座標軸の表示範囲(Xmin,Xmax,Ymin,Ymax)と各座標軸の目盛間隔(Xscl,Yscl)とが入力されて座標系の表示範囲(Xmin,Xmax,Ymin,Ymax;但し、Xmin=Xmin’’,Xmax=Xmax’’)が算出され、付加データ246が作成されることとして説明したが、これらが関数電卓1において行われることとしても良い。
また、関数電卓1は通信部16を介してパソコン200から画像ファイル245を受信することとして説明したが、記録媒体読取部17を介して受信することとしても良い。
また、ステップT1,T8の処理ではユーザが入力キー群2を介して画像ファイル245の指定やグラフ式の入力などを行うこととして説明したが、タッチパネル30を介して入力することとしても良い。
また、ステップT9の処理では画像データ243の画像を背景に表示させ、XY軸により定まる座標系を当該画像の手前側に表示させることとして説明したが、両者の内容が視認できる限りにおいて、重ねる順序を逆にしても良い。
また、座標系の縦軸をY軸、横軸をX軸として説明したが、他の座標軸名としても良い。更に、座標系を直交座標系として説明したが、斜交座標系や極座標系など、他の種類の座標系としても良い。