以下、本発明による数値入力装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による数値入力装置について、図面を参照しながら説明する。本実施の形態による数値入力装置は、2変数を入力するものである。
図1は、本実施の形態による数値入力装置1の構成を示すブロック図である。本実施の形態による数値入力装置1は、画像データ記憶部11と、画像生成部12と、画像表示部13と、指示受付部14と、数値取得部15と、出力部16と、数値記憶部17と、計算部18とを備える。
画像データ記憶部11では、座標平面画像データが記憶される。本実施の形態では、座標平面画像データは、例えば、図5で示されるように、第1の軸21と、第2の軸22とを有する座標平面の画像データである。本実施の形態による数値入力装置1は、この第1の軸21に対応する第1の変数と、第2の軸22に対応する第2の変数との入力を行うものである。図5では、座標平面において、第1及び第2の軸21,22は直線であり、また両者が直交している直交座標系である場合について示しているが、そうでなくてもよい。例えば、斜交座標系であってもよい。座標平面画像データは、結果として平面座標系の画像を表示することができるデータであればよく、例えば、ラスタデータのように画像そのものであってもよく、ベクタデータのようにラスタライズされることによって画像となるデータであってもよい。
本実施の形態では、数値入力装置1によって、BMIの値を算出するための身長と体重とを入力する場合について説明する。したがって、第1の軸21は、変数である身長(cm)を示す軸であるとする。また、第2の軸22は、変数である体重(kg)を示す軸であるとする。また、第2の軸22は、第1の軸に直交している。なお、図5では、身長を横軸にとり、体重を縦軸にとっているが、その逆であってもよいことは言うまでもない。また、第1の軸21の近傍に、図5で示されるように、その軸で示している変数が身長であることを示す情報、例えば、「身長」の文字列が表示されていてもよい。また、その第1の軸21に、図5で示されるように、目盛と数値が表示されていてもよい。第2の軸22についても同様であり、第2の軸22の近傍に、その軸で示している変数が体重であることを示す情報、例えば、「体重」の文字列が表示されていてもよい。また、その第2の軸22に、目盛と数値が表示されていてもよい。
第1の領域境界線23は、BMIが第1の値となる場合の身長と体重との関係を示す放物線である。また、第2の領域境界線24は、BMIが第2の値となる場合の身長と体重との関係を示す放物線である。ここで、BMIは、前述の通りであり、次式で表されるものである。
BMI=体重(kg)/{身長(m)}2
この式から明らかなように、BMIが一定の値である曲線は、放物線となる。また、本実施の形態では、第1の値は「25」であり、第2の値は「18.5」であるとする。なお、これらの値は、それらと別の適切な値であってもよいことは言うまでもない。このように、座標平面画像データにおいて、座標平面が、第1の軸21の値と、第2の軸22の値とを引数とする所定の関数(本実施の形態では、上記のBMIの関数)の値に応じて複数の領域に分割されていてもよい。所定の関数の計算結果の値に応じて複数の領域に分割されるとは、例えば、図5で示されるように、所定の関数の計算結果の値の範囲ごとに複数の領域に分割されることであってもよい。
座標平面画像データに対応する図5の座標平面画像20では、第1及び第2の領域境界線23、24によって座標平面が3個の領域に分けられている。すなわち、第2の軸22と、第1の領域境界線23とによって区切られる領域(この領域を「第1の領域」と呼ぶことにする)と、第2の軸22と、第1の領域境界線23と、第2の領域境界線24とによって区切られる領域(この領域を「第2の領域」と呼ぶことにする)と、第1の軸21と、第2の軸22と、第2の領域境界線24とによって区切られる領域(この領域を「第3の領域」と呼ぶことにする)とに分けられている。なお、第1の領域境界線23は、BMIが25の領域境界線であり、第2の領域境界線24は、BMIが18.5の領域境界線であるため、第1の領域は、BMIが25より大きい領域となり、第2の領域は、BMIが18.5より大きく25より小さい領域となり、第3の領域は、BMIが18.5より小さい領域となる。図5において、第1から第3の領域ごとに、異なる色で着色したり、異なる網掛けをしたりすることなどによって、各領域を視覚的に容易に区別することができるようにしてもよい。
第1の領域はBMIが25より大きいため、「肥満」の領域となる。また、第2の領域はBMIが18.5より大きく25より小さいため、「正常」の領域となる。また、第3の領域はBMIが18.5より小さいため、「やせ」の領域となる。なお、図5で示されるように、各領域を特徴付ける文言「肥満」「正常」「やせ」を領域ごとに表示していてもよい。
画像データ記憶部11に座標平面画像データが記憶される過程は問わない。例えば、記録媒体を介して座標平面画像データが画像データ記憶部11で記憶されるようになってもよく、通信回線等を介して送信された座標平面画像データが画像データ記憶部11で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された座標平面画像データが画像データ記憶部11で記憶されるようになってもよい。画像データ記憶部11での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。画像データ記憶部11は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
画像生成部12は、ポイント図形画像データと、拡大図形画像データと、第1の数値画像データと、第2の数値画像データと、関数計算結果画像データと、第1の落下線図形画像データと、第2の落下線図形画像データとを生成する。なお、これらのデータについて、図5,図6を参照しながら説明する。
ポイント図形画像データは、ポイント図形31の画像データである。ポイント図形31は、座標平面画像データの示す座標平面画像20の座標平面上の位置を示す図形である。このポイント図形31の位置を指定することによって、そのポイント図形31に対応する第1の軸21の値(身長)と、第2の軸22の値(体重)との両方を一括して指定することができることになる。また、ポイント図形31が座標平面画像20上に表示され、そのポイント図形31がどの領域に存在するのかを見ることによって、肥満であるのかどうかなどを判断することができる。ポイント図形31は、図5で示されるように、点の図形(丸の図形)であってもよく、あるいは、その他の十字や三角、四角等の図形であってもよい。
なお、画像生成部12は、後述する指示受付部14がポイント図形31の位置を指定する指示を受け付けた場合には、その指示によって指定された位置に対応するポイント図形画像データを生成する。すなわち、画像生成部12は、後述する指示受付部14が受け付けた指示によって指定された位置にポイント図形31を移動させるように、ポイント図形画像データを生成する。したがって、後述する指示受付部14がポイント図形の位置を指定する指示を受け付けた場合には、それまでに表示されていたポイント図形31に対応するポイント図形画像データは消去され、新たに指示された位置に対応するポイント図形画像データが生成されてもよい。
また、ポイント図形画像データは、ポイント図形の画像データであり、最終的にポイント図形を表示することができる画像データであれば、例えば、ラスタデータのように画像そのものであってもよく、ベクタデータのようにラスタライズされることによって画像となるデータであってもよい。また、このポイント図形画像データは、座標平面画像データの示す座標平面画像20上に生成されてもよく、座標平面画像20とは別途、生成されてもよい。後者の場合には、座標平面画像20上の表示位置を示す情報をポイント図形画像データが有していることが好適である。また、このポイント図形画像データは、図示しない記録媒体において一時的に記憶されてもよく、あるいは、画像データ記憶部11において一時的に記憶されてもよい。この段落に記載したことは、画像生成部12が生成する他の図形データについても同様であるとする。
拡大図形画像データは、拡大図形37の画像データである。拡大図形37は、座標平面の一部の領域であって、ポイント図形31の位置を含む領域を拡大した図形である。この拡大図形37が座標平面画像20に表示されることによって、ユーザは、座標平面上で数値入力を直接行うよりも、より細かく数値入力を行うことができるようになる。したがって、図6で示されるように、拡大図形37における第1及び第2の軸21,22に対応する各軸では、第1及び第2の軸21,22よりも、より細かい数値が表示されることになる。また、図6の拡大図形37で示されるように、縦横の破線の格子線が表示されていることが好適であるが、そうでなくてもよい。なお、この拡大図形37は、例えば、ポイント図形31の位置(例えば、ポイント図形31の真上の位置)に表示されてもよく、あるいは、そうでなくてもよい。後者の場合には、あらかじめ決められた位置(座標平面画像20上でなくてもよい)に拡大図形37が表示されてもよい。
なお、座標平面上に拡大図形37が表示されている場合には、ポイント図形31は、その拡大図形37上に表示されるものとする。そのため、例えば、画像生成部12は、ポイント図形31が最も手前側に表示されるようにポイント図形画像データを生成してもよい。
第1の数値画像データは、第1の数値の画像データである。第1の数値は、後述する数値取得部15によって取得された、ポイント図形31の位置に対応する第1の軸21の値である。この第1の数値34が表示されることによって、ユーザは、ポイント図形31によって入力した第1の軸21の値を知ることができる。なお、この第1の数値34は、例えば、第1の数値に対応する第1の軸21の位置の近傍に表示されてもよく、あるいは、そうでなくてもよい。前者の場合には、ポイント図形31の移動に応じて、第1の数値34の表示位置も移動することになりうる。後者の場合には、あらかじめ決められた位置に第1の数値34が常に表示されてもよい。第1の数値画像データは、通常、数値のテキストを示す画像データである。
第2の数値画像データは、第2の数値の画像データである。第2の数値35は、後述する数値取得部15によって取得された、ポイント図形31の位置に対応する第2の軸22の値である。この第2の数値35が表示されることによって、ユーザは、ポイント図形31によって入力した第2の軸22の値を知ることができる。なお、この第2の数値35は、表示する数値が異なる以外は、前述した第1の数値34と同様のものであり、その詳細な説明を省略する。
関数計算結果画像データは、後述する計算部18によって計算された所定の関数の計算結果の値の画像データである。この関数計算結果の値36が表示されることによって、ユーザは、ポイント図形31によって入力した第1及び第2の軸21,22の値に対応する関数の計算結果の値を知ることができる。具体的には、例えば、ポイント図形31によって入力した身長、体重に対応するBMIの値を知ることができるようになる。この関数計算結果の値36が表示される位置は問わないが、例えば、図5で示されるように、ポイント図形31の近傍であってもよく、あるいは、あらかじめ決められた位置であってもよい。関数計算結果画像データは、通常、数値のテキストを示す画像データである。
第1の落下線図形画像データは、第1の落下線図形32の画像データである。第1の落下線図形32は、ポイント図形31から、そのポイント図形31に対応する第1の軸21の位置に引いた落下線(ドロップライン)の図形である。この第1の落下線図形32と第1の軸21との交点によって、ポイント図形31の位置に対応する第1の軸21の値を容易に知ることができるようになる。
第2の落下線図形画像データは、第2の落下線図形33の画像データである。第2の落下線図形33は、ポイント図形31から、そのポイント図形31に対応する第2の軸22の位置に引いた落下線の図形である。この第2の落下線図形33と第2の軸22との交点によって、ポイント図形31の位置に対応する第2の軸22の値を容易に知ることができるようになる。
なお、第1及び第2の落下線図形32,33は、通常、ポイント図形31から第1及び第2の軸21,22に平行に引かれることになるが、結果として、ポイント図形31に対応する第1及び第2の軸21,22の値を示すことができるのであれば、それに限定されるものではない。また、第1及び第2の落下線図形32,33は、通常、線状の図形である。
また、画像生成部12は、ポイント図形画像データや拡大図形画像データ等を生成する際に、図示しない記録媒体であらかじめ記憶されている元画像データを用いて、その生成を行ってもよい。元画像データは、例えば、ポイント図形として用いられる図形(例えば、丸の形の図形など)の画像データであってもよく、拡大図形画像データの生成の際に用いられる枠や格子線等の画像データであってもよく、第1及び第2の数値画像データや関数計算結果画像データの生成の際に用いられる枠の画像データであってもよく、その他の画像データであってもよい。
画像表示部13は、画像データ記憶部11から読み出した座標平面画像データと、画像生成部12が生成したポイント図形画像データ等の各画像データとを表示する。画像表示部13は、座標平面画像データ等に関する画像表示が最終的に行われるための表示出力を行うものであるとする。したがって、画像表示部13は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)に対して画像データ等を送信する送信部であってもよい。また、画像表示部13は、それらの表示を行う表示デバイスを含んでもよく、あるいは含まなくてもよい。また、画像表示部13は、ハードウェアによって実現されてもよく、あるいは表示デバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、画像生成部12は、生成した画像データを、後述する画像表示部13が画像データを読み出す記録媒体に順次、蓄積していってもよい。この場合に、あらかじめ座標平面画像データもその記録媒体に蓄積しておくことによって、画像表示部13は、その記録媒体から画像データを読み出して表示するのみで、画像データの表示をおこなうことができるようになる。その場合には、その記録媒体が画像データ記憶部11であってもよい。
指示受付部14は、画像表示部13が表示したポイント図形の位置を指定する指示を受け付ける。ポイント図形の位置の指定は、例えば、マウスやトラックパッド、タッチパネル、矢印キー等で座標平面上におけるポイント図形31の位置に関する指示を受け付けてもよい。ポイント図形31の位置に関する指示は、例えば、ポイント図形31の位置を決定する指示(例えば、ポイント図形31の位置をクリックすることなど)であってもよく、あるいは、ポイント図形31の位置を移動させる指示(例えば、あらかじめ表示されているポイント図形31をドラッグすることなど)であってもよい。
また、指示受付部14は、拡大図形画像データを表示するかどうかの指示を受け付けてもよい。すなわち、指示受付部14は、例えば、拡大図形画像データを表示する旨の指示を受け付けてもよく、拡大図形画像データを表示しない旨の指示を受け付けてもよい。なお、拡大図形画像データの表示の有無の指示に応じて、例えば、画像生成部12が拡大図形画像データを生成したり、生成しなかったりしてもよく、あるいは、画像表示部13が拡大図形画像データを表示したり、表示しなかったりしてもよい。すなわち、拡大図形画像データの表示の有無の指示に応じた表示が行われるのであれば、その過程を問わない。
指示受付部14は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された情報を受信してもよい。なお、指示受付部14は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、指示受付部14は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
数値取得部15は、座標平面上のポイント図形31の位置に対応する第1の軸21の値である第1の数値と、第2の軸22の値である第2の数値とを取得する。ポイント図形31の位置に対応する軸の値とは、例えば、第1の軸21の場合には、ポイント図形31から第2の軸22に平行に直線を引き、その直線と第1の軸21との交点に対応する値であってもよい。同様に、第2の軸22の場合には、ポイント図形31から第1の軸21に平行に直線を引き、その直線と第2の軸22との交点に対応する値であってもよい。数値取得部15は、例えば、表示画面上のポイント図形31の位置を検出し、その位置を座標平面上の位置に換算することによって第1及び第2の数値を取得してもよい。その場合に、数値取得部15は、ポイント図形31が拡大図形37上に存在するのか、あるいは、座標平面上に存在するのかに応じて、表示画面上のポイント図形31の位置を第1及び第2の数値に換算する方法を変えてもよく、そうでなくてもよい。すなわち、ポイント図形31が拡大図形37上に存在するのであれば、その拡大図形37の座標を用いて第1及び第2の数値を取得し、ポイント図形31が座標平面上に存在するのであれば、その座標平面の座標を用いて第1及び第2の数値を取得してもよく、そうでなくてもよい。
出力部16は、数値取得部15が取得した第1及び第2の数値を出力する。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、スピーカによる音声出力でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、出力部16が第1及び第2の数値を数値記憶部17に蓄積する場合について説明する。なお、出力部16は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、出力部16は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
数値記憶部17では、前述したように、出力部16によって蓄積された第1及び第2の数値が記憶される。数値記憶部17での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。数値記憶部17は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
計算部18は、数値取得部15が取得した第1及び第2の数値を引数とする所定の関数の計算結果の値を計算する。この所定の関数は、座標平面を複数の領域に分割する際に用いられた所定の関数と同じであることが好適であるが、そうでなくてもよい。本実施の形態では、前者の場合、すなわち、所定の関数がBMIの式である場合について説明する。この所定の関数は、図示しない記録媒体において記憶されていており、計算部18は、その所定の関数を読み出すことによって、第1及び第2の数値から関数の計算結果の値を算出してもよい。
なお、画像データ記憶部11と、数値記憶部17とは、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、座標平面画像データを記憶している領域が画像データ記憶部11となり、第1及び第2の数値を記憶している領域が数値記憶部17となる。
次に、本実施の形態による数値入力装置1の動作について、図2のフローチャートを用いて説明する。
(ステップS101)画像表示部13は、座標平面画像データ等を表示するかどうか判断する。そして、表示する場合には、ステップS102に進み、そうでない場合には、表示すると判断するまでステップS101の処理を繰り返す。なお、画像表示部13は、例えば、座標平面画像データ等を表示する旨の指示を受け付けた場合に、座標平面画像データ等を出力すると判断してもよく、その他のタイミングで座標平面画像データ等を表示すると判断してもよい。
(ステップS102)画像表示部13は、画像データ記憶部11から読み出した座標平面画像データや、画像生成部12が生成した画像データを表示する。なお、初めて座標平面画像データ等を表示する場合には、あらかじめ決められている位置のポイント図形31や、それに対応する第1及び第2の落下線図形32,33、第1及び第2の数値34,35、関数計算結果の値36等を表示してもよく、それらを表示しなくてもよい。
(ステップS103)指示受付部14は、ポイント図形31の位置を指定する指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS104に進み、そうでない場合には、ステップS109に進む。
(ステップS104)画像生成部12は、受け付けられた指示に応じてポイント図形等の画像データを生成する。なお、この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS105)数値取得部15は、ポイント図形31の位置に対応する第1及び第2の数値を取得する。数値取得部15は、例えば、ポイント図形31の位置に対応するスクリーン座標の座標値を取得する。この座標値の取得は、例えば、オペレーションシステム(OS)によってなされてもよい。また、スクリーン座標とは、座標平面画像20等が表示される表示画面の左上の端点を原点として、X軸が右方向、Y軸が下方向に取られた座標系である。また、例えば、図5で示される座標系の左上の端点、すなわち、(身長,体重)=(140,100)の点を原点として、X軸が右方向、Y軸が下方向に取られた座標系であるクライアント座標が設定されているものとする。このクライアント座標は、(身長,体重)=(140,100)、(140,30)、(190,30)、(190,100)の各点を頂点とする矩形の領域であるとする。また、そのクライアント座標の領域の左下の端点が(身長,体重)=(140,30)であり、右上の端点が(身長,体重)=(190,100)であることが設定されているものとする。そして、数値取得部15は、取得したスクリーン座標の座標値を、クライアント座標の座標値に変換する。最後に、数値取得部15は、そのクライアント座標を(身長,体重)の座標値に変換することによって、第1の数値(身長の値)と、第2の数値(体重の値)とを取得することができる。なお、スクリーン座標の座標値から、クライアント座標の座標値への変換についてはすでに公知であり、その詳細な説明を省略する。また、クライアント座標の座標値から、第1及び第2の軸21,22の座標値への変換についても、簡単な座標変換で行うことができる。例えば、(身長,体重)の座標系が図5で示されるように設定されており、クライアント座標のX軸の最大値がAであり、Y軸の最大値がBであるとする。そして、クライアント座標の座標値が(X,Y)である場合には、次のようになる。
(身長,体重)=(140+50×X/A,100−70×Y/B)
(ステップS106)出力部16は、数値取得部15が取得した第1及び第2の数値を出力する。すなわち、出力部16は、第1及び第2の数値を数値記憶部17に蓄積する。
(ステップS107)計算部18は、数値取得部15が取得した第1及び第2の数値を用いて、所定の関数の計算結果の値を算出する。
(ステップS108)画像生成部12は、関数計算結果の値36の画像データ等を生成する。この処理の詳細については、図4のフローチャートを用いて後述する。そして、ステップS102に戻る。
(ステップS109)指示受付部14は、拡大図形37の表示、非表示に関する指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS110に進み、そうでない場合には、ステップS113に進む。
(ステップS110)画像生成部12は、指示受付部14が受け付けた拡大図形37に関する指示が、拡大図形37を表示する旨の指示であるかどうか判断する。そして、拡大図形37を表示する旨の指示である場合には、ステップS111に進み、そうでない場合、すなわち、拡大図形37を消去する旨の指示である場合には、ステップS112に進む。
(ステップS111)画像生成部12は、拡大図形37の画像データを新たに生成する。そして、ステップS102に戻る。その結果、拡大図形37が表示されることになる。
(ステップS112)画像生成部12は、それまで表示していた拡大図形37を消去する。そして、ステップS102に戻る。その結果、それまで表示されていた拡大図形37が消去されることになる。
(ステップS113)画像表示部13は、座標平面画像データ等の表示を終了するかどうか判断する。そして、終了する場合には、ステップS101に戻り、そうでない場合には、ステップS103に戻る。なお、画像表示部13は、例えば、座標平面画像データ等の表示を終了する旨の指示を受け付けた場合に、座標平面画像データ等の表示を終了すると判断してもよく、あるいは、画像データの表示を最後に行ってからあらかじめ決められた時間が経過した場合に、座標平面画像データ等の表示を終了すると判断してもよい。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図3は、図2のフローチャートにおけるポイント図形等の生成(ステップS104)の処理の詳細を示すフローチャートである。
(ステップS201)画像生成部12は、指示受付部14が受け付けたポイント図形31の位置を指定する指示に応じて、ポイント図形画像データを生成する。例えば、受け付けられた指示がポイント図形31を移動する旨の指示である場合には、画像生成部12は、その時点でのポイント図形画像データを削除して、移動先の位置にポイント図形画像データを生成する。また、例えば、受け付けられた指示がポイント図形31を新たに表示する旨の指示である場合には、画像生成部12は、指定された位置にポイント図形画像データを生成する。また、ポイント図形画像データの生成は、例えば、図示しない記録媒体であらかじめ記憶されているポイント図形31を用いてなされてもよい。また、ポイント図形画像データの生成は、例えば、ポイント図形31の表示位置を決定する処理であってもよい。
(ステップS202)画像生成部12は、ポイント図形31から第1及び第2の軸21,22にそれぞれ伸びる第1及び第2の落下線図形32,33の画像データである第1及び第2の落下線図形画像データを生成する。例えば、ポイント図形31に対応するスクリーン座標のX軸の値がAであり、Y軸の値がBであり、第1の軸21がスクリーン座標のY軸がCである直線上に存在し、第2の軸22がスクリーン座標のX軸がDである直線上に存在する場合に、画像生成部12は、(A,B)から(A,C)までの線分である第1の落下線図形32を表示するための第1の落下線図形画像データを生成してもよい。同様に、画像生成部12は、(A,B)から(D,B)までの線分である第2の落下線図形33を表示するための第2の落下線図形画像データを生成してもよい。なお、スクリーン座標の代わりにクライアント座標を用いてもよい。そして、図2のフローチャートに戻る。
図4は、図2のフローチャートにおける関数画像等の生成(ステップS108)の処理の詳細を示すフローチャートである。
(ステップS301)画像生成部12は、数値取得部15が取得した第1及び第2の数値を用いて、第1の数値画像データと、第2の数値画像データとを生成する。画像生成部12は、例えば、あらかじめ図示しない記録媒体で記憶されている枠などの図形の画像データである元画像データを読み出して、その画像データに第1の数値や第2の数値のテキストを挿入することによって、第1及び第2の数値画像データを生成してもよい。また、第1及び第2の数値34,35の表示位置は、それぞれ第1の軸21の第1の数値の近傍、第2の軸22の第2の数値の近傍になるように設定してもよい。この場合に、第1及び第2の軸21,22の座標系からクライアント座標への変換等を行うことによって第1及び第2の数値34,35の表示位置を決定するようにしてもよい。
(ステップS302)画像生成部12は、計算部18が計算した関数の計算結果の値を用いて、関数計算結果画像データを生成する。画像生成部12は、例えば、あらかじめ図示しない記録媒体で記憶されている枠などの図形の画像データである元画像データを読み出して、その画像データに関数の計算結果の値のテキストを挿入することによって、関数計算結果画像データを生成してもよい。また、関数計算結果の値36の表示位置は、ポイント図形31の近傍になるように設定してもよい。
(ステップS303)画像生成部12は、拡大図形37が表示中であるかどうか判断する。すなわち、画像表示部13が表示するための画像に拡大図形画像データが含まれているかどうか判断する。そして、拡大図形37が表示中である場合には、ステップS304に進み、そうでない場合には、図2のフローチャートに戻る。
(ステップS304)画像生成部12は、拡大図形37の画像データである拡大図形画像データを生成する。画像生成部12は、例えば、あらかじめ図示しない記録媒体で記憶されている枠の図形などの画像データである元画像データを読み出して、その画像データのあらかじめ決められた位置(例えば、中心点)がポイント図形31の座標値(これは、第1及び第2の軸21,22の座標値である)となるように、破線の格子線や座標の値等の画像データを生成する。具体的には、画像生成部12は、枠などの図形の画像データを読み出すと共に、その枠の内部に、ポイント図形31の座標値に応じて破線の格子線の画像データを配置する。その配置の際に、例えば、ポイント図形31の座標値が両方とも整数であるのであれば、ポイント図形31の位置が格子線の交点となるように破線の格子線の画像データを配置し、ポイント図形31の座標値のいずれかが整数でない場合には、その分だけずらして破線の格子線の画像データを配置する。例えば、第1の軸21方向の座標の小数点以下の数字がAであり、格子線が第1の軸21の値の整数単位で設けられている場合には、格子線の交点が、第1の軸21方向の格子線の一単位のA/10だけ第1の軸21の値の小さい方にずれるように格子線を設定してもよい。また、画像生成部12は、格子線の一単位の長さとポイント図形31の座標値とを用いることによって、拡大図形画像データに含まれる格子線において、整数ごとや、「5」ごと、あるいは、「10」ごとの第1の軸21の値に対応する線を特定することができる。そして、画像生成部12は、その特定した線に対応付けて、座標の値のテキストの画像データを配置してもよい。なお、ポイント図形31の座標値は、例えば、数値取得部15が取得した第1及び第2の数値によって知ることができる。また、拡大図形37上のポイント図形31の箇所が、第1及び第2の軸21,22によって構成される座標平面上のポイント図形31の箇所となるように、画像生成部12は、拡大図形37の表示位置を決定してもよい。そして、図2のフローチャートに戻る。
また、前述のステップS111での拡大図形画像データの生成も、このステップS304の説明と同様にして行われるものとする。
また、図4のフローチャートにおいて、ステップS301と、ステップS302と、ステップS303,S304との処理の順序は問わない。
次に、本実施の形態による数値入力装置1の動作について、具体例を用いて説明する。この具体例では、画像表示部13が各画像データをディスプレイに表示するものとする。
まず、ユーザがマウスやキーボードを操作することによって、座標平面画像20を出力する旨の指示を数値入力装置1に入力したとする。すると、画像表示部13は、画像データを表示するタイミングであると判断し(ステップS101)、画像データ記憶部11から座標平面画像データを読み出して、ディスプレイに出力する(ステップS102)。その結果、図5で示される座標平面画像20であって、ポイント図形31や第1及び第2の落下線図形32,33、第1及び第2の数値34,35、関数計算結果の値36の表示のない画面がディスプレイ上に表示されることになる。
次に、ユーザがマウスを操作することによって、ディスプレイに表示されている座標平面画像20の座標平面上の一点をクリックしたとする。すると、指示受付部14は、ポイント図形31の位置を指定する指示を受け付けたと判断する(ステップS103)。そして、画像生成部12は、ポイント図形等を生成する処理を行う(ステップS104)。具体的には、画像生成部12は、マウスでクリックされた位置にポイント図形画像データを生成する(ステップS201)。ここでは、身長の値が「170(cm)」であり、体重の値が「85.0(kg)」である位置がクリックされたものとする。また、画像生成部12は、ポイント図形31から第1及び第2の軸21,22にそれぞれ垂直に伸びる第1及び第2の落下線図形32,33の画像データである第1及び第2の落下線図形画像データを生成する(ステップS202)。
次に、数値取得部15は、座標平面上のポイント図形31に対応する第1の数値「170」及び第2の数値「85.0」を取得する(ステップS105)。それらの第1及び第2の数値は、出力部16によって、数値記憶部17に蓄積される(ステップS106)。また、計算部18は、所定の関数の計算結果の値、すなわち、BMIの値を算出する(ステップS107)。この算出で用いる式は、
BMI=(第2の数値)/(第1の数値/100)2
である。第1及び第2の数値が前述の値である場合には、BMIの値は「29.4」となる。
その後、画像生成部12は、関数計算結果画像データ等を生成する処理を行う(ステップS108)。具体的には、画像生成部12は、数値取得部15が取得した第1及び第2の数値に対応する第1及び第2の数値画像データを生成する(ステップS301)。また、画像生成部12は、計算部18が計算したBMIの値に対応する関数計算結果画像データを生成する(ステップS302)。なお、ここでは、拡大図形37が表示されていないため、拡大図形画像データを生成する処理は行われない(ステップS303)。
画像表示部13は、画像生成部12が生成したポイント図形31等の画像データをディスプレイに表示する(ステップS102)。その結果、図5で示される表示が行われることになる。図5の表示において、拡大図形37を表示するために、ユーザがマウスを操作することによって、ディスプレイに表示されている「拡大表示」ボタン41をクリックしたとする。すると、指示受付部14は、拡大図形37を表示する旨の指示を受け付ける(ステップS109)。ここで、指示受付部14は、図示しない記録媒体で記憶されている、「拡大表示」ボタン41の位置と、そのボタン41の種類とを対応付ける情報を用いて、「拡大表示」ボタン41の位置がクリックされた際に、「拡大表示」ボタン41がクリックされたことを検知してもよい。なお、他のボタンについても同様である。そして、画像生成部12は、拡大図形37を表示する旨の指示であると判断し(ステップS110)、図5で示されるポイント図形31の位置に対応する拡大図形画像データを生成する(ステップS111)。そして、その拡大図形37が図6で示されるようにディスプレイに表示される(ステップS102)。拡大図形37では、ポイント図形31の位置の周囲が拡大されているため、ユーザは、ポイント図形31の位置決めをより詳細に行うことができる。その結果、より詳細な数値入力を実現できることになる。
ここで、ポイント図形31の位置が、ユーザが意図している位置でなかった場合、例えば、身長の値が「174(cm)」であり、体重の値が「86.6(kg)」の肥満の程度を知りたかった場合の操作について簡単に説明する。その場合には、ユーザは、図6の表示において、ポイント図形31をマウス等でドラッグすることにより、あるいは、目標とする新たな座標平面上の点をクリックすることにより、ポイント図形31を移動させる。すると、画像生成部12は、移動後の位置にポイント図形画像データや、第1及び第2の落下線図形画像データを生成する(ステップS103,S104)。また、数値取得部15は、ポイント図形31の位置に対応する第1及び第2の数値を取得する(ステップS105)。それらの第1及び第2の数値は、出力部16によって数値記憶部17に蓄積される(ステップS106)。また、計算部18は、取得された第1及び第2の数値を用いて、BMIの値を算出する(ステップS107)。そして、画像生成部12は、第1及び第2の数値画像データと、関数計算結果画像データと、移動後のポイント図形31の位置に表示される拡大図形画像データとを生成し(ステップS108,S301〜S304)、それらがディスプレイに表示される(ステップS102)。なお、ここでは、ポイント図形31が一気に移動される場合について説明したが、そうでなくてもよい。例えば、ユーザがポイント図形31をドラッグして移動している途中の軌跡が、画像表示部13によって順次、表示されてもよい。このように、ステップS102〜S108の処理が繰り返されることによって、ポイント図形31の移動が行われてもよい。また、本実施の形態では、ポイント図形31の移動に応じて、拡大図形37も移動する場合について説明しているため、図7で示されるように、ポイント図形31が(身長,体重)=(170,85.0)の位置から、(174,86.6)の位置に移動すると、それに伴って、拡大図形37も移動することになる。すなわち、画像生成部12は、ポイント図形31の位置に応じて表示位置を変更した拡大図形画像データを生成することになる。そして、ポイント図形31が拡大図形37の中心に常に表示されるようになる。なお、このようにポイント図形31の移動に応じて拡大図形37が移動することによって、ポイント図形31によって示される、拡大図形37上での身長、体重の値と、第1及び第2の軸21,22によって構成される座標平面上での身長、体重の値とは一致することになる。したがって、拡大図形37が表示されている場合であっても、ステップS105で説明したように、数値取得部15は、第1及び第2の軸21,22によって構成される座標平面のクライアント座標を用いて第1及び第2の数値を取得すればよいことになる。
なお、本実施の形態では、拡大図形37が表示されている際に、ポイント図形31を移動させると、その移動に応じて拡大図形37も移動する場合について説明したが、そうでなくてもよい。例えば、図8で示されるように、ポイント図形31を移動しても、拡大図形37が移動しないようにしてもよい。すなわち、画像生成部12は、ポイント図形31の位置が拡大図形37の拡大した領域内である場合には、その拡大図形37の位置を変更しないようにしてもよい。この場合には、ポイント図形31によって示される、拡大図形37上での身長、体重の値と、第1及び第2の軸21,22によって構成される座標平面上での身長、体重の値とは一致しないことが起こりえる。例えば、図8において、移動後のポイント図形31に対応する、拡大図形37上の身長、体重の値は、(身長,体重)=(174,85.2)であるが、移動後のポイント図形31に対応する第1及び第2の軸21,22によって構成される座標平面上での身長、体重の値は、(身長,体重)=(175,88.2)であるかもしれない。このように、両者に差があるため、例えば、拡大図形画像データを消去する際には、拡大図形37上のポイント図形31の位置に対応する第1及び第2の数値に応じて、第1及び第2の軸21,22によって構成される座標平面上に新たなポイント図形画像データを生成する必要がある。したがって、図2のフローチャートのステップS112の後に、画像生成部12がポイント図形画像データを生成する処理が必要となる。
また、図2のフローチャートにおける数値の取得(ステップS105)の処理でも、拡大図形が表示されているかどうかに応じて、その取得方法が異なることになる。すなわち、図9のフローチャートのようにして第1及び第2の数値を取得する必要がある。ここで、図9のフローチャートについて説明する。
(ステップS401)数値取得部15は、拡大図形37が表示されているかどうか判断する。そして、表示されている場合には、ステップS402に進み、そうでない場合には、ステップS403に進む。
(ステップS402)数値取得部15は、拡大図形37の座標系を用いて第1及び第2の数値を取得する。したがって、この場合には、拡大図形37の座標系をクライアント座標として、スクリーン座標からクライアント座標への変換や、クライアント座標の座標値を身長、体重の値に変換する処理等を行うことになる。そして、図2のフローチャートに戻る。
(ステップS403)数値取得部15は、前述のステップS105での説明と同様にして、第1及び第2の数値を取得し、図2のフローチャートに戻る。
また、ポイント図形31の移動に応じて拡大図形37が移動しない場合には、図4のフローチャートにおけるステップS303,S304の処理を行わなくてもよい。ただし、ポイント図形31が拡大図形37の範囲を超えて移動された場合には、新たに拡大図形37を生成するようにしてもよく、あるいは、そうでなくてもよい。前者の場合には、例えば、ポイント図形31が最後に存在した拡大図形37の位置に対応する、第1及び第2の軸21,22によって構成される座標平面上の位置を中心として、新たな拡大図形37が表示されるように、画像生成部12が拡大図形画像データを生成してもよい。
また、ユーザが図6の表示において「全体表示」ボタン42をクリックすると、それに応じて、拡大図形画像データが消去され、図5で示されるように、拡大図形37の表示がなくなる(ステップS109,S110,S112,S102)。また、ユーザが図5の表示において「終了」ボタン43をクリックすると、それに応じて、座標平面画像20等の表示が終了され、ディスプレイに表示されなくなる(ステップS113)。
また、出力後の第1及び第2の数値の用い方は問わない。例えば、上記具体例のようにして入力された身長と体重の値を、入力を行ったユーザに対応するデータベースに追記してもよく、あるいは、その他の利用を行ってもよい。
以上のように、本実施の形態による数値入力装置1によれば、テンキーなどを用いることなく、座標平面上においてGUIを用いて第1及び第2の数値を入力することができる。その結果、例えば、ブラウザなどにおいて数値を入力する際に、ポインティングデバイスと、テンキーなどのキーボードとの両方を使用することなく、ポインティングデバイスのみを操作することによって、数値入力を行うことができるメリットがある。また、ポイント図形31の位置を決定することによって、2個の数値を一括して入力できるため、それぞれの数値ごとに入力を行う場合に比べて、入力の処理が少なくてすむことになり、利便性が向上されている。また、拡大図形37が表示されることによって、細かい数値を容易に入力できるようになる。さらに、図5などで示されるように、座標平面が第1及び第2の領域境界線23,24によって複数の領域に分割されていることにより、入力した値に対応する関数の計算結果の値の属性(例えば、「肥満」「正常」「やせ」など)を容易に知ることができるようになる。また、第1及び第2の数値34,35が表示されることにより、入力した正確な値を容易に知ることができることになる。さらに、関数計算結果の値36が表示されることにより、入力した数値に対応する関数の計算結果の値を容易に知ることができることになる。さらにまた、第1及び第2の落下線図形32,33が表示されることにより、ポイント図形31の位置に対応する第1及び第2の軸21,22の位置を容易に特定することができるようになる。また、図6で示されるように、拡大図形37は、座標平面の一部の領域であるため、拡大図形37を表示している際でも、座標平面の全体に対するポイント図形37の位置の概要を容易に把握することができるメリットもある。
また、一般に、数値を見ながら微調整を行うよりも、拡大図形37のような格子上で微調整を行う方が容易であると考えられる。また、厳密な値を読み取る場合には、格子上で値を読むよりも、表示されたテキストの数値を読む方が容易であると考えられる。したがって、図6で示されるように、ポイント図形31を細かく移動させるための拡大図形37が表示されると共に、第1及び第2の数値34,35が表示されることによって、両方の目的を達成することができるようになる。
なお、本実施の形態による数値入力装置1において、拡大図形37の拡大率を変更可能なようにしてもよい。例えば、図10で示されるように、拡大率変更スライダ44によって、拡大率を高くしたり、低くしたりすることができるようにしてもよい。その結果、ユーザの好みの拡大率で拡大図形37を表示することができるようになる。この場合には、拡大率に応じた複数の拡大図形の画像データがあらかじめ図示しない記録媒体において記憶されていてもよく、あるいは、元となる拡大図形の画像データを用いて、拡大率に応じた拡大図形の画像データを生成するようにしてもよい。また、ポイント図形31の移動に応じて拡大図形37が移動しない場合には、拡大図形37の拡大率に応じて、数値取得部15が第1及び第2の数値を取得するものとする。この場合には、例えば、拡大図形37の拡大率に応じてクライアント座標が変更され、数値取得部15は、その変更後のクライアント座標の座標値を用いて第1及び第2の数値を取得してもよく、あるいは、クライアント座標自体は変更されず、クライアント座標と拡大図形37中の座標との対応が変更されてもよい。拡大図形の拡大率を変更可能なことは、これ以降の実施の形態においても同様であるとする。
また、本実施の形態では、ポイント図形31の位置を拡大した拡大図形37を用いる場合について説明したが、図11で示されるように、第1及び第2の軸21,22の一部であって、ポイント図形31に対応する位置を含む領域を拡大した第1及び第2の拡大図形38,39を用いて数値の入力を行ってもよい。この場合には、第1及び第2の拡大図形38,39は、常時、表示されるようにしてもよい。すなわち、図2のフローチャートにおいて、ステップS109〜S112の処理を行わなくてもよい。また、図4のフローチャートにおいて、常にステップS304の処理を行うようにしてもよい。すなわち、ステップS303の処理を削除し、ステップS302からステップS304に進むようにしてもよい。なお、第1及び第2の拡大図形38,39を表示するための第1及び第2の拡大図形画像データを生成する方法は、拡大図形画像データの生成方法と同様であり、その詳細な説明を省略する。また、拡大図形37と同様に、第1及び第2の拡大図形38,39も、ポイント図形31の移動に応じて移動してもよく、移動しなくてもよい。後者の場合には、図12で示されるように、第1の落下線図形32が拡大図形の境界でずれることになりうる。
(実施の形態2)
本発明の実施の形態2による数値入力装置について、図面を参照しながら説明する。本実施の形態による数値入力装置は、3変数を1変数と2変数とに分けて入力するものである。
本実施の形態による数値入力装置の構成も、図1と同様のものである。したがって、本実施の形態による数値入力装置1も、画像データ記憶部11と、画像生成部12と、画像表示部13と、指示受付部14と、数値取得部15と、出力部16と、数値記憶部17と、計算部18とを備える。
ただし、画像データ記憶部11では、座標平面画像データに加えて、座標軸画像データも記憶されているものとする。なお、座標平面画像データは、前述のように、第1の軸、及び第2の軸を有する座標平面の画像データである。また、座標軸画像データは、第3の軸の座標軸の画像データである。なお、この座標平面画像データと、座標軸画像データとによって、3次元空間の座標系が構成されてもよく、あるいは、そうでなくてもよい。本実施の形態では、前者の場合について説明する。したがって、例えば、座標平面画像データと座標軸画像データとによって、図15で示されるように、第1の軸51と、第2の軸52と、第3の軸53とを有する座標空間が構成される。なお、この座標空間を示す画像のことを座標空間画像50と呼ぶことにする。本実施の形態による数値入力装置1は、この第1の軸51に対応する第1の変数と、第2の軸52に対応する第2の変数と、第3の軸53に対応する第3の変数との入力を行うものである。ただし、本実施の形態では、まず、第3の軸53に対応する第3の変数の入力を行い、その後に、第1及び第2の軸51,52に対応する第1及び第2の変数の入力を行うものとする。図15では、座標空間において、第1から第3の軸51〜53は直線であり、またそれらが直交している直交座標系である場合(ただし、3次元の直交座標系を2次元平面に表示するため、図15の2次元平面上では直交していない)について示しているが、そうでなくてもよい。例えば、斜交座標系であってもよい。
また、本実施の形態では、数値入力装置1によって、基礎エネルギー量(基礎代謝量)を算出するための身長と体重と年齢とを入力する場合について説明する。したがって、第1の軸51は、変数である身長(cm)を示す軸であり、第2の軸52は、変数である体重(kg)を示す軸であり、第3の軸53は、変数である年齢を示す軸である。なお、どの軸をどの変数に割り当ててもよいことは、実施の形態1と同様である。また、各軸の近傍に、その軸で示している変数の名称が表示されてもよく、各軸に目盛と数値が表示されてもよいことも、実施の形態1と同様である。
ここで、基礎エネルギー量を示す式は、ハリス・ベネディクトの式として知られており、次のようになる(ただし、男性用の式である)。
基礎エネルギー量(kcal/日)
=66.47+13.75×体重(kg)+5.003×身長(cm)
−6.775×年齢
この式から明らかなように、基礎エネルギー量が一定の値であるものは、身長、体重、年齢を3軸に取った座標系において平面となる。したがって、例えば、図15で示される座標空間上に、基礎エネルギー量がある値(この値のことを「境界値」と呼ぶことにする)となる場合の身長と体重と年齢との関係を示す平面である領域境界面を表示してもよく、あるいは、表示しなくてもよい。本実施の形態では、後者の場合について説明する。
なお、座標平面画像データは、第1の軸51の値と第2の軸52の値と第3の軸53の値とを引数とする所定の関数(本実施の形態では、上記のハリス・ベネディクトの式)であって、後述する数値取得部15が取得した第3の数値を第3の軸53の値に代入した関数の計算結果の値に応じて複数の領域に分割されている座標平面の画像データであってもよい。本実施の形態では、座標平面画像データの座標平面と、上記の領域境界面との交線によって、座標平面が2個の領域に分割されている場合について説明する。また、本実施の形態では、前述の境界値が「1200(kcal/日)」であるとする。なお、この値は、別の適切な値であってもよいことは言うまでもない。座標平面画像データ及び座標軸画像データに対応する図16の座標空間画像50では、領域境界線78によって、座標平面が2個の領域に分けられている。すなわち、基礎エネルギー量が1200(kcal/日)より大きい領域(図16では、領域境界線78の右側)と、1200(kcal/日)より小さい領域(図16では、領域境界線78の左側)とに分けられる。なお、その領域ごとに、異なる色で着色したり、異なる網掛けをしたりすることなどによって、各領域を視覚的に容易に区別することができるようにしてもよい。また、基礎エネルギー量が1200(kcal/日)より大きい領域には、その領域を特徴付ける文言「基礎エネルギー量:大」を表示してもよく、基礎エネルギー量が1200(kcal/日)より小さい領域には、その領域を特徴付ける文言「基礎エネルギー量:小」を表示してもよい。
また、本実施の形態では、画像生成部12は、ポイント図形画像データと、拡大図形画像データと、第1から第3の数値画像データと、関数計算結果画像データと、第1及び第2の落下線図形画像データとを生成する。なお、これらのデータについて、図15から図17を参照しながら説明する。
ポイント図形画像データは、ポイント図形61の画像データである。ポイント図形61は、座標平面画像データの示す座標平面上の位置や、座標軸画像データの示す座標軸上の位置などを示す図形である。このポイント図形61の位置を指定することによって、そのポイント図形61に対応する第3の軸53の値や、第1及び第2の軸51,52の値を指定することができることになる。本実施の形態では、単数のポイント図形61を用いて数値の入力を行う場合について説明するが、第3の軸53上の位置を特定するポイント図形と、第1及び第2の軸51,52で構成される座標平面上の位置を特定するポイント図形との2個のポイント図形を用いて数値を入力してもよい。なお、その他のポイント図形61の説明は、実施の形態1のポイント図形31の説明と同様であり、その説明を省略する。
拡大図形画像データは、拡大図形79の画像データである。拡大図形79は、第1及び第2の軸51,52によって構成される座標平面の一部の領域であって、ポイント図形61の位置を含む領域を拡大した図形である。この拡大図形79は、実施の形態1の拡大図形37と同様のものであり、その説明を省略する。
第1から第3の数値画像データは、それぞれ、第1から第3の数値66,67,68の画像データである。第1から第3の数値は、後述する数値取得部15によって取得された、ポイント図形61の位置に対応する第1から第3の軸51〜53の値である。第1から第3の数値画像データは、実施の形態1の第1及び第2の数値画像データと同様のものであり、その説明を省略する。なお、第1から第3の数値66〜68は、例えば、第1から第3の数値に対応する第1から第3の軸51〜53の位置の近傍に表示されてもよく、そうでなくてもよい。
関数計算結果画像データは、後述する計算部18によって計算された所定の関数計算結果の値36の画像データである。この関数計算結果画像データは、実施の形態1の関数計算結果画像データと同様のものであり、その説明を省略する。
第1及び第2の落下線図形画像データは、それぞれ、第1及び第2の落下線図形76,77の画像データである。第1及び第2の落下線図形76,77は、それぞれ、ポイント図形61から第1及び第2の軸51,52に引いた落下線の図形である。第1及び第2の落下線図形画像データは、実施の形態1の第1及び第2の落下線図形データと同様のものであり、その説明を省略する。
また、画像生成部12が、ポイント図形61の位置に応じて表示位置を変更した拡大図形画像データを生成してもよく、あるいは、ポイント図形61の位置が拡大図形79の拡大した領域内である場合には、その拡大図形79の位置を変更しなくてもよいことは、実施の形態1と同様である。本実施の形態では、実施の形態1と同様に、前者の場合について説明する。
また、画像生成部12は、領域境界線78の画像データを生成してもよい。画像生成部12は、所定の関数(本実施の形態では、ハリス・ベネディクトの式)の値(本実施の形態では、基礎エネルギー量)に境界値(本実施の形態では、1200kcal/日)を代入し、第3の軸53の値に数値取得部15が取得した第3の数値を代入した関数の座標平面上における軌跡の画像データを生成することによって、領域境界線78の画像データを生成することができる。その生成された領域境界線78の画像データは、画像データ記憶部11で記憶されている座標平面画像データに追記されてもよい。なお、画像生成部12が領域境界線78の画像データを生成しなくてもよい。例えば、あらかじめ種々の第3の数値に対応した領域境界線78の画像データが、画像データ記憶部11で記憶されている座標平面画像データに含まれており、画像表示部13が、座標平面画像データを読み出す際に、数値取得部15が取得した第3の数値に対応する領域境界線78の画像データを読み出すことによって、領域境界線78が座標平面上に表示されるようにしてもよい。
画像表示部13は、画像データ記憶部11から読み出した座標軸画像データと、第3の数値画像データとをも表示する以外は、実施の形態1と同様のものであり、その説明を省略する。なお、画像表示部13は、第1から第3の軸51〜53が座標空間を構成するように座標平面画像データと座標軸画像データとを表示してもよく、あるいは、それらを別々に表示してもよい。第1から第3の軸51〜53が座標空間を構成するように座標平面画像データと座標軸画像データとが表示される場合に、画像表示部13は、第3の軸53のあらかじめ定められた位置に座標平面画像データを表示してもよく、あるいは、そうでなくてもよい。後者の場合には、例えば、画像表示部13は、後述する数値取得部15が取得した第3の数値(この第3の数値の取得については後述する)に対応する第3の軸53の位置に、座標平面画像データを表示してもよい。
また、指示受付部14は、実施の形態1の指示受付部14と同様の処理の他に、第3の軸53への入力を終了する旨の指示を受け付けてもよい。本実施の形態では、まず第3の軸53に対する数値の入力を受け付け、その後に、第1及び第2の軸51,52に対する数値の入力を受け付けるからである。
数値取得部15は、ポイント図形61の位置に対応する第3の軸53の値である第3の数値を取得すると共に、第1及び第2の軸51,52によって構成される座標平面上のポイント図形61の位置に対応する第1の軸51の値である第1の数値と、第2の軸52の値である第2の数値とを取得する。この数値取得部15が数値を取得する方法は、実施の形態1と同様であり、その説明を省略する。
なお、数値取得部15が第3の数値を取得する際に、ポイント図形61は、第3の軸53上に存在してもよく、あるいは、座標空間上に存在してもよい。本実施の形態では、前者の場合について説明する。すなわち、第3の変数の入力を行っている際には、ポイント図形61が第3の軸53上のみを移動可能なように、画像生成部12がポイント図形61の移動を制限するものとする。一方、後者の場合、すなわち、座標空間上に存在するポイント図形61の位置に対応する第3の数値を取得する場合は、実施の形態1において座標平面上に存在するポイント図形31の位置に対応する第1及び第2の数値を取得した場合と同様にして行うことができる。その場合には、ポイント図形61から第3の軸53に対する落下線の図形データである落下線図形画像データを画像生成部12が生成してもよい。
出力部16は、数値取得部15が取得した第3の数値も出力する。それ以外は、実施の形態1と同様であり、その説明を省略する。
計算部18は、数値取得部15が取得した第1から第3の数値を引数とする所定の関数の計算結果の値を計算する。本実施の形態では、所定の関数は、身長、体重、年齢から基礎エネルギー量を算出するハリス・ベネディクトの式であるとする。
次に、本実施の形態による数値入力装置1の動作について、図13のフローチャートを用いて説明する。なお、ステップS501〜S504以外の処理は、例えば、座標平面画像データと共に座標軸画像データをも表示するなどの上述した違いがある以外は、実施の形態1の図2のフローチャートと同様であり、その説明を省略する。
(ステップS501)指示受付部14は、ポイント図形61の位置を指定する指示を受け付けたかどうか判断する。そして、受け付けた場合には、ステップS502に進み、そうでない場合には、ステップS503に進む。なお、本実施の形態では、前述のように、ポイント図形61への指示の受け付けの際には、ポイント図形61が第3の軸53上のみを移動可能なように設定されているものとする。
(ステップS502)画像生成部12は、受け付けられた指示に応じてポイント図形等の画像データを生成する。なお、この処理の詳細については、図14のフローチャートを用いて後述する。
(ステップS503)指示受付部14は、第3の軸53への入力を終了する旨の指示を受け付けたかどうか判断する。そして、第3の軸53への入力を終了する場合には、ステップS504に進み、そうでない場合には、ステップS501に戻る。
(ステップS504)画像表示部13は、画像データ記憶部11から読み出した座標平面画像データや座標軸データ、画像生成部12が生成した画像データを表示する。なお、画像表示部13は、ステップS501〜S503の処理で取得された第3の数値に対応する第3の軸53の位置に、座標平面画像データに対応する座標平面75を表示するものとする。また、画像表示部13は、初めて座標平面画像データ等を表示する場合には、あらかじめ決められている位置のポイント図形61や、それに対応する第1及び第2の落下線図形76,77、第1及び第2の数値66,67、関数計算結果の値69等を表示してもよく、そうでなくてもよい。
なお、図13のフローチャートにおいて、ステップS501〜S503では、第3の軸53に対する数値入力が行われ、ステップS504、S103〜S112では、第1及び第2の軸51,52に対する数値入力が行われることになる。
図14は、図13のフローチャートにおけるポイント図形等の生成(ステップS502)の処理の詳細を示すフローチャートである。
(ステップS601)画像生成部12は、指示受付部14が受け付けたポイント図形61の位置を指定する指示に応じて、ポイント図形画像データを生成する。例えば、受け付けられた指示がポイント図形61を移動する旨の指示である場合には、画像生成部12は、その時点でのポイント図形画像データを削除して、移動先の位置にポイント図形画像データを生成する。また、例えば、受け付けられた指示がポイント図形61を新たに表示する旨の指示である場合には、画像生成部12は、指定された位置にポイント図形画像データを生成する。また、ポイント図形画像データの生成は、例えば、図示しない記録媒体であらかじめ記憶されているポイント図形61を用いてなされてもよい。また、ポイント図形画像データの生成は、例えば、ポイント図形61の表示位置を決定する処理であってもよい。
(ステップS602)数値取得部15は、ポイント図形61の位置に対応する第3の数値を取得する。数値取得部15は、例えば、ポイント図形61の位置に対応するスクリーン座標の座標値を取得する。そして、実施の形態1での説明と同様にして、そのスクリーン座標の座標値を、クライアント座標の座標値に変換する。なお、第3の軸53の下限の値(図15では「0」)及び上限の値(図15では「100」)と、それらに対応するクライアント座標の座標値とが対応付けられているものとする。したがって、数値取得部15は、その対応を用いて、クライアント座標の座標値から、対応する第3の軸53の値を取得することができる。
(ステップS603)出力部16は、数値取得部15が取得した第3の数値を出力する。すなわち、出力部16は、第3の数値を数値記憶部17に蓄積する。
(ステップS604)画像生成部12は、数値取得部15が取得した第3の数値を用いて、第3の数値画像データを生成する。画像生成部12は、例えば、あらかじめ図示しない記録媒体で記憶されている枠などの図形の画像データである元画像データを読み出して、その画像データに第3の数値のテキストを挿入することによって、第3の数値画像データを生成してもよい。また、第3の数値68の表示位置は、第3の軸53の第3の数値の近傍になるように設定してもよい。この場合に、第3の軸53の座標系からクライアント座標への変換等を行うことによって第3の数値68の表示位置を決定するようにしてもよい。そして、図13のフローチャートに戻る。
次に、本実施の形態による数値入力装置1の動作について、具体例を用いて説明する。この具体例でも、画像表示部13が各画像データをディスプレイに表示するものとする。
まず、ユーザがマウスやキーボードを操作することによって、座標空間画像50を出力する旨の指示を数値入力装置1に入力したとする。すると、画像表示部13は、画像データを表示するタイミングであると判断し(ステップS101)、画像データ記憶部11から座標平面画像データと座標軸画像データとを読み出して、ディスプレイに出力する(ステップS102)。その結果、図15で示される表示がなされる。この表示において、ポイント図形61や第3の数値68の表示のない画面がディスプレイ上に表示されることになる。
次に、ユーザがマウスを操作することによって、ディスプレイに表示されている第3の軸53の一点をクリックしたとする。すると、指示受付部14は、ポイント図形61の位置を指定する指示を受け付けたと判断する(ステップS501)。そして、画像生成部12等は、ポイント図形等を生成する処理を行う(ステップS502)。具体的には、画像生成部12は、マウスでクリックされた第3の軸53上にポイント図形画像データを生成する(ステップS601)。ここでは、年齢が「50」である位置がクリックされたものとする。次に、数値取得部15は、そのポイント図形61に対応する第3の数値「50」を取得する(ステップS602)。その第3の数値は、出力部16によって、数値記憶部17に蓄積される(ステップS603)。また、画像生成部12は、数値取得部15が取得した第3の数値に対応する第3の数値画像データを生成する(ステップS604)。
その後、画像表示部13は、画像生成部12が生成したポイント図形61等の画像データをディスプレイに表示する(ステップS102)。その結果、図15で示される表示が行われることになる。この表示において、ユーザがマウスを操作することによって、ディスプレイに表示されている「年齢決定」ボタン45をクリックしたとする。すると、指示受付部14は、第3軸への入力が終了する旨の指示を受け付ける(ステップS503)。そして、画像表示部13は、数値取得部15が取得した第3の数値「50」に対応する第3の軸53の位置に座標平面75をディスプレイに表示する(ステップS504)。その結果、図16で示される表示がなされる。この表示において、ポイント図形61や第1及び第2の落下線図形76,77、第1及び第2の数値66,67、関数計算結果の値69の表示のない画面がディスプレイ上に表示されることになる。なお、図16では、図15において第1及び第2の軸51,52が表示されていた位置に第1及び第2の軸51,52に対応する軸を表示したままにしているが、これらの軸は表示されなくてもよい。
次に、ユーザがマウスを操作することによって、ディスプレイに表示されている、第1及び第2の軸51,52によって構成される座標平面75上の一点をクリックしたとする。すると、指示受付部14は、ポイント図形61の位置を指定する指示を受け付けたと判断する(ステップS103)。そして、画像生成部12は、ポイント図形等を生成する処理を行う(ステップS104)。具体的には、画像生成部12は、マウスでクリックされた位置にポイント図形画像データを生成する(ステップS201)。ここでは、身長の値が「170(cm)」であり、体重の値が「60(kg)」である位置がクリックされたものとする。また、画像生成部12は、ポイント図形61から第1及び第2の軸51,52にそれぞれ垂直に伸びる第1及び第2の落下線図形76,77の画像データである第1及び第2の落下線図形画像データを生成する(ステップS202)。
次に、数値取得部15は、座標平面75上のポイント図形61に対応する第1の数値「170」及び第2の数値「60」を取得する(ステップS105)。それらの第1及び第2の数値は、出力部16によって、数値記憶部17に蓄積される(ステップS106)。また、計算部18は、所定の関数の計算結果の値、すなわち、基礎エネルギー量の値を算出する(ステップS107)。なお、計算部18は、図示しない経路によって、第3の数値を数値記憶部17から取得して、計算に用いるものとする。第1から第3の数値が前述の値である場合には、基礎エネルギー量は「1403(kcal/日)」となる。
その後、画像生成部12は、関数計算結果画像データ等を生成する処理を行う(ステップS108)。具体的には、画像生成部12は、数値取得部15が取得した第1及び第2の数値に対応する第1及び第2の数値画像データを生成する(ステップS301)。また、画像生成部12は、計算部18が計算した基礎エネルギー量の値に対応する関数計算結果画像データを生成する(ステップS302)。なお、ここでは、拡大図形79が表示されていないため、拡大図形画像データを生成する処理は行われない(ステップS303)。
画像表示部13は、画像生成部12が生成したポイント図形61等の画像データをディスプレイに表示する(ステップS504)。その結果、図16で示される表示が行われることになる。図16の表示において、拡大図形79を表示するために、ユーザがマウスを操作することによって、ディスプレイに表示されている「拡大表示」ボタン41をクリックしたとする。すると、指示受付部14は、拡大図形79を表示する旨の指示を受け付ける(ステップS109)。そして、画像生成部12は、拡大図形79を表示する旨の指示であると判断し(ステップS110)、図16で示されるポイント図形61の位置に対応する拡大図形画像データを生成する(ステップS111)。そして、その拡大図形79が図17で示されるようにディスプレイに表示される(ステップS102)。拡大図形79では、ポイント図形61の位置の周囲が拡大されているため、ユーザは、ポイント図形61の位置決めをより詳細に行うことができる。その結果、より詳細な数値入力を実現できることになる。
なお、ポイント図形61の位置が、ユーザの意図している位置でなかった場合の処理については、実施の形態1の具体例の説明と同様であるため、その説明を省略する。また、本実施の形態では、拡大図形79が表示されている際に、ポイント図形61を移動させると、その移動に応じて拡大図形79も移動する場合について説明したが、そうでなくてもよいことは、実施の形態1の説明と同様である。また、ユーザが図17の表示において「全体表示」ボタン42をクリックすると、それに応じて、拡大図形画像データが消去され、図16で示されるように、拡大図形79の表示がなくなる処理も、実施の形態1と同様である。
以上のように、本実施の形態による数値入力装置1によれば、テンキーなどを用いることなく、座標空間上においてGUIを用いて第1から第3の数値を入力することができる。この場合にも、第1及び第2の数値を一括して入力できるため、実施の形態1と同様の効果を得ることができる。
なお、本実施の形態では、ポイント図形61の位置を拡大した拡大図形79を用いる場合について説明したが、実施の形態1でも説明したように、図18で示される第1及び第2の拡大図形83,84を用いて数値入力を行ってもよい。また、はじめに第3の数値を入力する際にも、図19で示される第3の拡大図形85を用いて数値入力を行ってもよい。この場合には、図14のフローチャートの最後において、第3の拡大図形85の画像データを生成する処理を行うようにしてもよい。また、第1から第3の拡大図形83〜85は、ポイント図形61の移動に応じて移動してもよく、移動しなくてもよいことは実施の形態1と同様である。
(実施の形態3)
本発明の実施の形態3による数値入力装置について、図面を参照しながら説明する。本実施の形態による数値入力装置は、1変数を入力するものである。
本実施の形態による数値入力装置の構成も、図1と同様のものである。したがって、本実施の形態による数値入力装置1も、画像データ記憶部11と、画像生成部12と、画像表示部13と、指示受付部14と、数値取得部15と、出力部16と、数値記憶部17と、計算部18とを備える。
ただし、画像データ記憶部11では、座標軸画像データが記憶されているものとする。なお、座標軸画像データは、座標軸の画像データである。本実施の形態では、座標軸画像データは、図20で示されるように、第1の軸91である座標軸の画像データである。本実施の形態による数値入力装置1は、この第1の軸91に対応する第1の変数の入力を行うものである。本実施の形態では、第1の軸91が直線である場合について説明するが、第1の軸91は、直線以外の曲線などであってもよい。
本実施の形態では、数値入力装置1によって、標準体重の値を算出するための身長を入力する場合について説明する。したがって、第1の軸91は、変数である身長(cm)を示す軸であるとする。なお、図20では、第1の軸91を横向きに取っているが、そうでなくてもよい。第1の軸91を縦向きにとってもよく、その他の向きにとってもよい。また、第1の軸91の近傍に、その軸で示している変数の名称が表示されてもよく、各軸に目盛と数値が表示されてもよいことも、実施の形態1と同様である。
ここで、標準体重を算出する式は、次のようになる。前述のBMI=22とした場合の式である。
標準体重(kg)=22×{身長(m)}2
この式から明らかなように、標準体重は身長の増加関数となる。したがって、例えば、図20で示される座標軸上に、標準体重がある値となる境界点が示されてもよい。図20では、第1の軸91上の太い線と細い線との境界点92が、標準体重が80(kg)となる境界点である。なお、この値は、別の適切な値であってもよい。図20において、第1の軸91上の太い線の領域が、標準体重が80(kg)以上となる領域となる。このように、座標軸画像データは、座標軸の値(本実施の形態では身長)を引数とする所定の関数(本実施の形態では標準体重の式)の値に応じて複数の領域に分割されていてもよい。なお、図20で示されるように、その領域ごとに線の太さを変えてもよく、線の種類(例えば、実線、破線、波線等)を変えてもよく、あるいは、線の色を変えてもよい。このようにすることで、各領域を視覚的に容易に区別することができるようになる。また、標準体重が80(kg)より大きい領域(図20で境界点92より右側の太線の領域)には、その領域を特徴付ける文言「標準体重80kg以上」を表示してもよい。なお、図20では、標準体重が80(kg)より小さい領域に、何も記載していないが、その領域にも、その領域を特徴付ける文言「標準体重80kg以下」等を表示してもよい。
また、本実施の形態では、画像生成部12は、ポイント図形画像データと、拡大図形画像データと、第1の数値画像データと、関数計算結果画像データとを生成する。なお、これらのデータについて、図20,図21を参照しながら説明する。
ポイント図形画像データは、ポイント図形93の画像データである。ポイント図形93は、座標軸画像データの示す座標軸上の位置を示す図形である。このポイント図形93の位置を指定することによって、そのポイント図形93に対応する第1の軸91の値を指定することができることになる。なお、その他のポイント図形93の説明は、実施の形態1のポイント図形31の説明と同様であり、その説明を省略する。
拡大図形画像データは、拡大図形96の画像データである。拡大図形96は、第1の軸91である座標軸の一部の領域であって、ポイント図形93の位置を含む領域を拡大した図形である。この拡大図形96は、1次元の軸上の拡大図形である以外は、実施の形態1の拡大図形37と同様のものであり、その説明を省略する。
第1の数値画像データは、第1の数値94の画像データである。第1の数値は、後述する数値取得部15によって取得された、ポイント図形93の位置に対応する第1の軸91の値である。第1の数値画像データは、実施の形態1の第1及び第2の数値画像データと同様のものであり、その説明を省略する。なお、第1の数値94は、例えば、第1の数値に対応する第1の軸91の位置の近傍に表示されてもよく、そうでなくてもよい。
関数計算結果画像データは、後述する計算部18によって計算された所定の関数の計算結果の値の画像データである。この関数計算結果画像データは、実施の形態1の関数計算結果画像データと同様のものであり、その説明を省略する。
本実施の形態では、ポイント図形93が第1の軸91上に表示されるため、画像生成部12が落下線図形画像データを生成しない場合について説明するが、ポイント図形93が第1の軸91から離れた位置に表示される場合には、ポイント図形93から、そのポイント図形93の位置に対応する第1の軸91の値の位置にまで延びる落下線図形の画像データである落下線図形画像データを画像生成部12が生成してもよい。
また、画像生成部12が、ポイント図形93の位置に応じて表示位置を変更した拡大図形画像データを生成してもよく、あるいは、ポイント図形93の位置が拡大図形96の拡大した領域内である場合には、その拡大図形96の位置を変更しなくてもよいことは、実施の形態1と同様である。本実施の形態では、実施の形態1と同様に、前者の場合について説明する。
画像表示部13は、画像データ記憶部11から読み出した座標軸画像データを表示する以外は、実施の形態1と同様のものであり、その説明を省略する。
数値取得部15は、座標軸上のポイント図形93の位置に対応する第1の数値を取得する。この数値取得部15が数値を取得する方法は、実施の形態1と同様であり、その説明を省略する。
出力部16は、数値取得部15が取得した第1の数値を出力する。この出力部16が数値を出力する方法は、実施の形態1と同様であり、その説明を省略する。
計算部18は、数値取得部15が取得した第1の数値を引数とする所定の関数の計算結果の値を計算する。本実施の形態では、所定の関数は、身長から標準体重を算出する関数であるとする。
なお、本実施の形態による数値入力装置1の動作は、実施の形態1の図2のフローチャートと同様であり、その説明を省略する。ただし、画像生成部12は、落下線図形画像データを生成しないため、ステップS202の処理を行わなくてもよい。
次に、本実施の形態による数値入力装置1の動作について、具体例を用いて説明する。この具体例では、画像表示部13が各画像データをディスプレイに表示するものとする。
まず、ユーザがマウスやキーボードを操作することによって、座標軸画像90を出力する旨の指示を数値入力装置1に入力したとする。すると、画像表示部13は、画像データを表示するタイミングであると判断し(ステップS101)、画像データ記憶部11から座標軸画像データを読み出して、ディスプレイに出力する(ステップS102)。その結果、図20で示される座標軸画像90であって、ポイント図形93や第1の数値94、関数計算結果の値95の表示のない画面がディスプレイ上に表示されることになる。
次に、ユーザがマウスを操作することによって、ディスプレイに表示されている座標軸画像90の座標軸上の一点をクリックしたとする。すると、指示受付部14は、ポイント図形93の位置を指定する指示を受け付けたと判断する(ステップS103)。そして、画像生成部12は、ポイント図形を生成する処理を行う(ステップS104)。具体的には、画像生成部12は、マウスでクリックされた位置にポイント図形画像データを生成する(ステップS201)。ここでは、身長の値が「170(cm)」である位置がクリックされたものとする。
次に、数値取得部15は、座標平面上のポイント図形93に対応する第1の数値「170」を取得する(ステップS105)。それらの第1の数値は、出力部16によって、数値記憶部17に蓄積される(ステップS106)。また、計算部18は、所定の関数の計算結果の値、すなわち、標準体重の値を算出する(ステップS107)。この算出で用いる式は、
標準体重(kg)=22×{第1の数値/100}2
である。第1の数値が前述の値である場合には、標準体重の値は「63.6(kg)」となる。
その後、画像生成部12は、関数計算結果画像データ等を生成する処理を行う(ステップS108)。具体的には、画像生成部12は、数値取得部15が取得した第1の数値に対応する第1の数値画像データを生成する(ステップS301)。また、画像生成部12は、計算部18が計算した標準体重の値に対応する関数計算結果画像データを生成する(ステップS302)。なお、ここでは、拡大図形96が表示されていないため、拡大図形画像データを生成する処理は行われない(ステップS303)。
画像表示部13は、画像生成部12が生成したポイント図形93等の画像データをディスプレイに表示する(ステップS102)。その結果、図20で示される表示が行われることになる。図20の表示において、拡大図形96を表示するために、ユーザがマウスを操作することによって、ディスプレイに表示されている「拡大表示」ボタン41をクリックしたとする。すると、指示受付部14は、拡大図形96を表示する旨の指示を受け付ける(ステップS109)。そして、画像生成部12は、拡大図形96を表示する旨の指示であると判断し(ステップS110)、図20で示されるポイント図形93の位置に対応する拡大図形画像データを生成する(ステップS111)。そして、その拡大図形96が図21で示されるようにディスプレイに表示される(ステップS102)。拡大図形96では、ポイント図形93の位置の周囲が拡大されているため、ユーザは、ポイント図形93の位置決めをより詳細に行うことができる。その結果、より詳細な数値入力を実現できることになる。
なお、ポイント図形93の位置が、ユーザの意図している位置でなかった場合の処理については、実施の形態1の具体例の説明と同様であるため、その説明を省略する。また、本実施の形態では、拡大図形96が表示されている際に、ポイント図形93を移動させると、その移動に応じて拡大図形96も移動する場合について説明したが、そうでなくてもよいことは、実施の形態1の説明と同様である。また、ユーザが図21の表示において「全体表示」ボタン42をクリックすると、それに応じて、拡大図形画像データが消去され、図20で示されるように、拡大図形96の表示がなくなる処理も、実施の形態1と同様である。
以上のように、本実施の形態による数値入力装置1によれば、テンキーなどを用いることなく、座標空間上においてGUIを用いて第1の数値を入力することができる。この際にも、拡大図形96を用いて入力できるため、実施の形態1と同様に、細かい入力を容易に行うことができる効果が得られる。また、図21で示されるように、拡大図形96は、第1の軸91の一部の領域であるため、拡大図形96を表示している際でも、第1の軸91の全体に対するポイント図形93の位置の概要を容易に把握することができるメリットもある。
なお、本実施の形態において、関数のグラフそのものを表示するようにしてもよい。例えば、図22で示されるように、画像データ記憶部11では、第1の軸91である座標軸の画像データを含むと共に、関数の計算結果の値に対応する第2の軸(図22では、標準体重の軸)と、第1の軸91の値を引数とする関数のグラフ97との画像データをも含む座標平面画像データが記憶されており、画像表示部13は、それを表示してもよい。その場合には、画像生成部12は、ポイント図形93から、そのポイント図形93の位置に対応する関数のグラフ97の位置までの補助線98の画像データと、その関数のグラフ97の位置から、計算部18が計算した関数の計算結果の値に対応する第2の軸の位置までの補助線99の画像データとをも生成するようにし、画像表示部13がそれらの画像データをも表示するようにしてもよい。
また、本実施の形態で示される1変数の入力を複数回行うことによって、複数の変数の入力を行うようにしてもよい。例えば、実施の形態2で説明した身長、体重、年齢の入力を、変数ごとに行うようにしてもよい。その場合には、例えば、図23で示されるように、第1から第3の軸101〜103が、別々に表示されることになり、その軸ごとに身長等の変数を入力することになる。また、この場合においても、図24で示されるように、各軸において、拡大図形111〜113が表示されるようにしてもよい。これらの拡大図形111〜113が表示されることによって、ユーザは、細かい入力を容易に行うことができるようになる。
このように、数値入力装置1の画像データ記憶部11では、第1から第Nの軸(Nは2以上の整数)の各座標軸の画像データである座標軸画像データが記憶されていてもよい。また、画像生成部12は、その各座標軸上の位置を示す図形であるポイント図形の画像データであるポイント図形画像データと、各座標軸の一部の領域であって、ポイント図形に対応する位置を含む領域を拡大した図形である拡大図形の画像データである拡大図形画像データとを生成してもよい。ここで、画像生成部12は、図23、図24で示されるように、座標軸ごとに、ポイント図形画像データと、拡大図形画像データとを生成してもよい。なお、図24では、全ての軸について拡大図形111〜113を表示している場合について示しているが、軸ごとに拡大図形111〜113を表示したり、消去したりすることができるようにしてもよい。その場合には、画像生成部12は、軸ごとに拡大図形画像データの生成を行ってもよい。また、画像表示部13は、画像データ記憶部11から読み出した座標軸画像データと、画像生成部12が生成したポイント図形画像データ及び拡大図形画像データとを表示してもよい。数値取得部15は、ポイント図形の位置に対応する第1から第Nの軸の値である第1から第Nの数値を取得してもよい。また、出力部16は、数値取得部15が取得した第1から第Nの数値を出力してもよい。また、画像生成部12は、ポイント図形の位置を指定する指示を受け付ける指示受付部14が受け付けた指示によって指定された位置に対応するポイント図形画像データを生成してもよい。また、画像生成部12は、数値取得部15が取得した第1から第Nの数値の画像データである第1から第Nの数値画像データをも生成し、画像表示部13は、それらの数値画像データをも表示してもよい。また、数値入力装置1は、数値取得部15が取得した第1から第Nの数値を引数とする所定の関数の計算結果の値を計算する計算部18をさらに備えてもよい。そして、画像生成部12は、その計算部18が計算した関数の計算結果の値の画像データである関数計算結果画像データをも生成し、画像表示部13は、その関数計算結果画像データをも表示してもよい。また、画像生成部12が、ポイント図形の位置に応じて表示位置を変更した拡大図形画像データを生成してもよく、あるいは、ポイント図形に対応する各座標軸の位置が拡大図形の拡大した領域内である場合には、その拡大図形の位置を変更しなくてもよいことは、前述の各実施の形態と同様である。
また、ここでは、座標軸ごとにポイント図形画像データが生成される場合、すなわち、図23で示されるように、座標軸ごとに別々に値を入力する場合について説明したが、そうでなくてもよい。例えば、図11や図18,図19で示されるように、第1から第Nの軸の各座標軸画像データを含む、N次元の座標空間(なお、N=2の場合には座標平面になる)の画像データである座標空間画像データが画像データ記憶部11で記憶されており、画像表示部13は、画像データ記憶部11から読み出した座標空間画像データを表示してもよい。この場合には、ひとつのポイント図形のみを用いて複数の変数が入力されることになる。なお、図11で示されるように、その座標空間画像データは、第1から第Nの値を引数とする所定の関数の計算結果の値に応じて複数の領域に分割されている座標空間の画像データであってもよい。
なお、図23などのように、座標軸ごとに数値を入力する場合であっても、図15で示されるように、その複数の座標軸によって座標空間が構成されるようにしてもよい。
また、上記各実施の形態では、数値画像データ(例えば、第1及び第2の数値画像データや第1から第3の数値画像データ等)と、関数計算結果画像データとが生成され、それらが表示される場合について説明したが、そうでなくてもよい。例えば、関数計算結果画像データのみが生成されて表示されてもよく、数値画像データのみが生成されて表示されてもよく、あるいは、数値画像データも関数計算結果画像データも生成されなくてもよい。
また、上記各実施の形態において、座標軸画像データや座標平面画像データ、座標空間画像データが、所定の関数の計算結果の値に応じて複数の領域に分割される場合に、その分割数は問わない。例えば、実施の形態1の具体例で説明したように3個に分割されてもよく、実施の形態2,3の具体例で説明したように2個に分割されてもよく、あるいは、その他の分割数で分割されてもよい。
また、上記各実施の形態において、座標軸画像データや座標平面画像データ、座標空間画像データが、所定の関数の計算結果の値に応じて複数の領域に分割される場合について説明したが、そうでなくてもよい。すなわち、座標軸画像データや座標平面画像データ、座標空間画像データにおいて、所定の関数の計算結果の値に応じた領域の分割が行われていなくてもよい。
また、上記実施の形態において、3次元の入力(3変数の入力)を2次元の入力と1次元の入力とに分けて行う場合と、3個の1次元の入力に分けて行う場合とについて説明したが、4次元以上の入力(4変数以上の入力)についても、2次元の入力や、1次元の入力を用いて入力するようにしてもよい。すなわち、M(Mは3以上の整数とする)次元の入力を行う場合には、a個の2次元の入力を行ってもよく(ただし、2×a=Mとする)、M個の1次元の入力を行ってもよく、b個の1次元の入力と、c個の2次元の入力とに分けて行ってもよい(ただし、b+2×c=Mとする)。また、2次元の入力を行う場合にも、2個の1次元の入力に分けて行ってもよい。
また、上記各実施の形態では、数値入力装置1がスタンドアロンである場合について説明したが、数値入力装置1は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、情報を出力したりしてもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記各実施の形態において、数値入力装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における数値入力装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第1の軸と、第2の軸とを有する座標平面の画像データである座標平面画像データが記憶される画像データ記憶部で記憶されている前記座標平面画像データの座標平面上の位置を示す図形であるポイント図形の画像データであるポイント図形画像データと、前記座標平面の一部の領域であって、前記ポイント図形の位置を含む領域を拡大した図形である拡大図形の画像データである拡大図形画像データとを生成する画像生成部、前記画像データ記憶部から読み出した座標平面画像データと、前記画像生成部が生成したポイント図形画像データ及び拡大図形画像データとを表示する画像表示部、前記画像表示部が表示したポイント図形の位置を指定する指示を受け付ける指示受付部、前記座標平面上の前記ポイント図形の位置に対応する前記第1の軸の値である第1の数値と、前記第2の軸の値である第2の数値とを取得する数値取得部、前記数値取得部が取得した第1及び第2の数値を出力する出力部、として機能させ、前記画像生成部は、前記指示受付部が受け付けた指示によって指定された位置に対応するポイント図形画像データを生成する、プログラムである。
また、上記実施の形態における数値入力装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第1の軸、及び第2の軸を有する座標平面の画像データである座標平面画像データと、第3の軸の座標軸の画像データである座標軸画像データとが記憶される画像データ記憶部で記憶されている前記座標平面画像データの座標平面上及び前記座標軸画像データの座標軸上の位置を示す図形であるポイント図形の画像データであるポイント図形画像データと、前記座標平面の一部の領域であって、前記ポイント図形の位置を含む領域を拡大した図形である拡大図形の画像データである拡大図形画像データとを生成する画像生成部、前記画像データ記憶部から読み出した座標平面画像データ及び座標軸画像データと、前記画像生成部が生成したポイント図形画像データ及び拡大図形画像データとを表示する画像表示部、前記画像表示部が表示したポイント図形の位置を指定する指示を受け付ける指示受付部、前記ポイント図形の位置に対応する前記第3の軸の値である第3の数値を取得すると共に、前記座標平面上の前記ポイント図形の位置に対応する前記第1の軸の値である第1の数値と、前記第2の軸の値である第2の数値とを取得する数値取得部、前記数値取得部が取得した第1から第3の数値を出力する出力部、として機能させ、前記画像生成部は、前記指示受付部が受け付けた指示によって指定された位置に対応するポイント図形画像データを生成する、プログラムである。
また、上記実施の形態における数値入力装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、座標軸の画像データである座標軸画像データが記憶される画像データ記憶部で記憶されている前記座標軸画像データの座標軸上の位置を示す図形であるポイント図形の画像データであるポイント図形画像データと、前記座標軸の一部の領域であって、前記ポイント図形の位置を含む領域を拡大した図形である拡大図形の画像データである拡大図形画像データとを生成する画像生成部、前記画像データ記憶部から読み出した座標軸画像データと、前記画像生成部が生成したポイント図形画像データ及び拡大図形画像データとを表示する画像表示部、前記画像表示部が表示したポイント図形の位置を指定する指示を受け付ける指示受付部、前記座標軸上の前記ポイント図形の位置に対応する数値を取得する数値取得部、前記数値取得部が取得した数値を出力する出力部、として機能させ、前記画像生成部は、前記指示受付部が受け付けた指示によって指定された位置に対応するポイント図形画像データを生成する、プログラムである。
また、上記実施の形態における数値入力装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、第1から第Nの軸(Nは2以上の整数)の各座標軸の画像データである座標軸画像データが記憶される画像データ記憶部で記憶されている座標軸画像データの各座標軸上の位置を示す図形であるポイント図形の画像データであるポイント図形画像データと、前記各座標軸の一部の領域であって、前記ポイント図形に対応する位置を含む領域を拡大した図形である拡大図形の画像データである拡大図形画像データとを生成する画像生成部、前記画像データ記憶部から読み出した座標軸画像データと、前記画像生成部が生成したポイント図形画像データ及び拡大図形画像データとを表示する画像表示部、前記画像表示部が表示したポイント図形の位置を指定する指示を受け付ける指示受付部、前記ポイント図形の位置に対応する前記第1から第Nの軸の値である第1から第Nの数値を取得する数値取得部、前記数値取得部が取得した前記第1から第Nの数値を出力する出力部、として機能させ、前記画像生成部は、前記指示受付部が受け付けた指示によって指定された位置に対応するポイント図形画像データを生成する、プログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図25は、上記プログラムを実行して、上記実施の形態による数値入力装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図25において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図26は、コンピュータシステム900の内部構成を示す図である。図26において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による数値入力装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による数値入力装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。