以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本発明の実施形態の電子卓上計算機を正面から見た図である。
この実施形態の電子卓上計算機1は、図形描画機能を有する関数電卓である。電子卓上計算機1は、カラー表示部101(表示手段)と、複数個のキーが配列されたキー入力部102などを備えている。
カラー表示部101は、入力された制御信号に基づいて文字、数式、グラフ、および、図形のカラー表示が可能なドットマトリックス式の液晶ディスプレイである。或いは、このカラー表示部101は、EL(Electro Luminescent)ディスプレイなどの他の表示方式によるディスプレイであっても良い。
図2は、カラー表示部101に複数の図を表示させた状態での表示例を示す図である。
図形の表示を行う際には、このカラー表示部101は、例えば、上下に分割されて、図形の表示を行う図形表示エリア41が上部に形成され、また、面積計算式を表示する計算式入力エリア42(式入力エリア)が下部に形成される。図2において、図形表示エリア41には、長方形201、円202、三角形203、および、線分204が描画されている。多角形の頂点、円の中心、および、線分の両端には、描画された順番に自動的に符号A〜Jが振られて、カラー表示部101に表示される。
キー入力部102は、ユーザによる数式構成要素の入力操作や種々の動作処理の実行指令操作を受け付けるための複数のキーを備えている。このキー入力部102には、置数キーや四則演算キーのほか、図形キー51、切替キー52、メニューキー53(“MENU”)、取り消しキー54(“EXIT”)、カーソルキー55、および、実行キー56(“EXE”)が含まれている。このキー入力部102は、押しボタン式のほか、例えば、タッチパネルを用いたものであっても良いし、或いは、ポインティングデバイスを用いたものとしても良い。キー操作が行われると、キー入力部102は、CPU21へ入力操作信号を送信する。
図形キー51は、計算モードやグラフモードから図形モードに移行させるためのモード切り替え用のキーである。また、切替キー52は、図形モードにおいて、入力操作の対象となるフォーカスエリアを図形表示エリア41と計算式入力エリア42との間で交互に切り替えるためのキーである。
取り消しキー54(“EXIT”)は、実行中の機能動作を取り消して前の機能画面に戻すためのキーである。例えば、実行プログラムのサブメニューからメインメニューに復帰する際に用いられる。また、実行キー56(“EXE”)は、入力された数式を確定したり、機能の選択を確定して動作を実行させたりするときに用いられるキーである。
カーソルキー55は、例えば、上下左右向きの4個のキーにより構成されている。このカーソルキー55は、カラー表示部101に表示されたカーソルを移動させたり、例えば、メニューキー53(“MENU”)によって表示される複数の機能の一覧をスクロールさせたりする場合に用いられる。或いは、左右カーソルキーは、図形表示エリア41で選択する画像を変更させる際にも用いられる。
図3は、電子卓上計算機の内部構成を示すブロック図である。
この電子卓上計算機1は、CPU(Central Processing Unit)21と、記憶装置22と、RAM(Random Access Memory)23などを備えている。
記憶装置22は、例えば、ROM(Read Only Memory)である。または、メモリカードなどの着脱可能な記憶媒体でもよい。或いは、EEPROM(Electrically Erasable and Programmable Read Only Memory)を備えて、ユーザにより入力された計算プログラムや設定などを格納可能な構成とすることも可能である。この記憶装置22には、プログラム22aと、図形分割パターンデータ22bなどが記憶されている。
プログラム22aは、CPU21が呼び出して実行する電子卓上計算機1の制御プログラムである。この制御プログラムには、計算プログラム、グラフ表示プログラム、図形モード処理プログラム、および、これらの機能プログラムの全体的な統括を行う統括プログラムなどが含まれる。また、図形分割パターンデータ22bは、後述する図形処理(図9参照)の際に利用される複数の分割パターンを記録したものである。
RAM23は、CPU21に作業用のメモリ空間を提供し、また、一時データを記憶する。このRAM23には、表示データ記憶部23a、図形データ記憶部23b、図形特定記号設定データ記憶部23c、および、面積入力式記憶部23dなどが含まれている。
表示データ記憶部23aは、カラー表示部101に表示させる内容を記憶する。この表示データ記憶部23aには、例えば、図形表示エリア41に描画される図形や符号の描画制御データ、フォーカスエリアの選択状態、選択されている図形、および、カーソルの表示位置といったデータが記憶される。
図形データ記憶部23bは、図形モードの際に入力描画された図形データを記憶する。図形データ記憶部23bには、図4に示すように、描画された順番に振られた図形の番号と、図形表示エリア41に表示された図形の種別と、図形の種別ごとに設定された点および必要な座標値と、各図形を構成する線分とが対応付けられてそれぞれ記憶されている。
ここで、図4は、図2の図形が表示された状態で、RAM23の図形データ記憶部23bに記憶された図形データのテーブルの内容を示した図である。
この図形データ記憶部23bには、番号が1である長方形201に関しては、図形が長方形であることと、4つの頂点A〜Dを有することと、頂点Aの座標(x1、y1)および頂点Aの対角頂点Cの座標(x2、y2)と、4つの線分AB、BC、CD、DAを有することが記憶されている。また、番号が2である円202に関しては、円の中心Eの座標(x3、y3)と、半径rの円周を有することが記憶されている。また、番号「3」の三角形203に関しては、3つの頂点の座標F(x4、y4)、G(x5、y5)、H(x6、y6)、および、3つの線分FG、GH、HFが記憶されている。そして、番号「4」の線分204に関しては、線分の両端の座標I(x7、y7)、J(x8、y8)、および、線分IJが記憶されている。
図形特定記号設定データ記憶部23cは、図5に示すように、図形表示エリア41に表示された図形のうち、選択された図形を計算式入力エリア42内で特定する図形特定記号、および、これらの図形に対して各々生成する面積値表示オブジェクト(201a〜203a、図10および図12参照)に用いられる面積データを記憶するデータテーブルである。
ここで、図5は、RAM23の図形特定記号設定データ記憶部23cに記憶されたデータテーブルの内容の例を示した図である。
この図形特定記号設定データ記憶部23cには、図形データ記憶部23bで番号1として記憶されている長方形201に対し、この図形の図形特定記号が“□ABCD”に設定されていることが記憶されている。また、長方形201の面積は、「192」であることが記憶されている。次いで、図形データ記憶部23bで番号2として記憶されている円202に対し、図形特定記号が“○E”に設定されているとともに、円202の面積は、「113.09733」であることが記憶されている。
なお、図形データ記憶部23bのデータと図形特定記号設定データ記憶部23cのデータとは、番号を用いて対応付けることが可能である。
面積入力式記憶部23dは、計算式入力エリア42に入力表示された面積計算式を記憶する。
CPU21は、記憶装置22から読み出したプログラムを実行して、キー入力部102からの入力指令に基づいて全体の統括制御および各種演算処理を行い、また、必要に応じてカラー表示部101へ表示データを出力する。
次に、本実施形態の電子卓上計算機1において、表示した図形を用いて面積計算を行う際の動作について、フローチャートを用いて説明する。
図6は、図形モードの際にプログラム22aから呼び出されてCPU21によって実行される図形モード処理の制御手順を示したフローチャートである。また、図7および図8は、この制御処理の中で呼び出される面積計算処理の内容を示すフローチャートである。
この図形モード処理は、本実施形態の電子卓上計算機1では、図形キー51が押下されることによって開始される。図形モード処理が開始されると、CPU21は、先ず、カラー表示部101内に図形表示エリア41と計算式入力エリア42とを形成し、キー入力部102からの次の入力操作信号を待ち受ける。キー入力部102からの入力操作信号を検知すると、CPU21は、入力された操作内容が図形の描画に関する指令であるか否かの判別を行う(ステップS11)。図形描画に関する指令であると判別された場合(ステップS11;YES)には、CPU21は、キー入力部102から入力された操作内容に基づいて、描画する図形の種類を決定する(ステップS12)。続いて、CPU21は、カーソルキー55や実行キー56(“EXE”)などの入力操作信号に基づいて、指定された図形の種類に応じた基準となる座標(例えば、円の中心)、および、サイズ(例えば、円の半径)を決定する。そして、CPU21は、この決定された図形を図形表示エリア41に描画させる(ステップS13)。それから、CPU21は、描画された図形のデータを図形データ記憶部23bに記憶させる(ステップS14)。
続いて、CPU21は、次に操作されたキーが取り消しキー54(“EXIT”)であるか否かを判別する(ステップS15)。取り消しキー54が押下されていないと判別された場合(ステップS15;NO)には、CPU21は、ステップS12へ戻り、ステップS12〜S14の処理を繰り返して次の図形の描画処理を行う。取り消しキー54の操作がなされたと判別された場合(ステップS15;YES)には、CPU21は、ステップS11へ戻る。
ステップS11の判別処理で、キー入力部102から入力された操作内容が図形描画に関する指令ではないと判別された場合(ステップS11;NO)には、CPU21は、入力された操作内容が面積計算処理を開始する指令であるか否かを判別する(ステップS16)。具体的には、CPU21は、例えば、メニューキー53(“MENU”)で呼び出された機能リストからカーソルキー55と実行キー56(“EXE”)とにより面積計算処理が呼び出されたか否かを判別する。面積計算処理を開始する指令ではないと判別された場合(ステップS16;NO)には、CPU21は、入力された操作内容に従ってその他の処理を実行する。一方、キー入力部102からの入力が面積計算を開始する指令であると判別された場合(ステップS16;YES)には、CPU21は、面積計算処理を開始する(ステップS17)。
ステップS17の面積計算処理が呼び出されると、図7に示すように、CPU21は、先ず、図形データ記憶部23bに記憶された図形データの中に面積を有する図形が含まれているか否かを判別する(ステップS21)。図形データ記憶部23bに記憶された図形が、例えば、線分のみであって、面積を有する図形がないと判別された場合(ステップS21;NO)には、CPU21は、図形表示エリア41、或いは、計算式入力エリア42にエラー表示を行わせる(ステップS22)。そして、面積計算処理を抜け、そのまま図形モード処理を終了する(図7、図6参照)。
ステップS21の判別処理で、図形データ記憶部23bに記憶された図形データの中に面積を有する図形が含まれていると判別された場合(ステップS21;YES)には、CPU21は、図形データ記憶部23bに記憶された面積を有する図形のうち、先頭のものを選択状態として、図形表示エリア41内のこの図形をハイライト表示させる(ステップS23)。そして、次の入力操作信号を待ち受ける。
CPU21は、キー入力部102からの入力操作信号を検知すると、先ず、操作されたキーがカーソルキー55であるか否かを判別する(ステップS24)。操作されたキーがカーソルキー55の何れかであると判別されると(ステップS24;YES)、CPU21は、選択する図形を、例えば、図形データ記憶部23bに記憶された順番に変更する(ステップS25)。このとき、CPU21は、カーソルキー55のうち、どのキーが押下されたかによって、選択する図形の変更順を逆向きにしたり、先頭や最後尾の図形を選択図形としたりすることができる。そして、CPU21は、選択されている図形をハイライト表示させてから、ステップS24へ戻り、次の入力操作信号を待ち受ける。
ここで、カーソルキー55の操作がなされたときに、計算式入力エリア42がフォーカスされていた場合には、計算式入力エリア42に表示されているカーソルを移動させるとともに、カーソルが表示されている項に含まれる図形へ選択図形を変更する処理を行わせることもできる。
ステップS24の判別処理で、操作されたキーがカーソルキー55の何れでもないと判別された場合(ステップS24;NO)には、CPU21は、続いて、切替キー52の操作であるか否かを判別する(ステップS26)。切替キー52が押下されたと判別された場合(ステップS26;YES)には、CPU21は、カラー表示部101のフォーカスエリアを図形表示エリア41と計算式入力エリア42との間で交互に切り替える(ステップS27)。そして、ステップS24へ戻り、次の入力操作信号を待ち受ける。
ステップS26の判別処理で、操作されたキーが切替キー52ではないと判別された場合(ステップS26;NO)には、CPU21は、操作されたキーが置数キーか、または、演算子キーであるか否かを判別する(ステップS28)。そして、操作されたキーが置数キーか、または、演算子キーであると判別された場合(ステップS28;YES)には、CPU21は、次に、現在のフォーカスエリアが計算式入力エリア42であるか否かを判別する(ステップS29)。フォーカスエリアが図形表示エリア41であり、即ち、計算式入力エリア42ではないと判別された場合(ステップS29;NO)には、このキー操作は無効と判断され、CPU21は、何も処理を行わずにステップS24へ戻って、次の入力操作信号を待ち受ける。
一方、フォーカスエリアが計算式入力エリア42であると判別された場合(ステップS29;YES)には、CPU21は、キー操作により入力された置数を指定数値として指定し、また、キー操作により入力された演算子を指定演算記号として指定する。そして、CPU21は、これらの入力された指定数値或いは指定演算記号を計算式入力エリア42内のカーソル位置に面積計算式の構成要素として表示させる(ステップS30)。また、CPU21は、計算式入力エリア42に表示されている内容を面積入力式記憶部23dに記憶させる。続いて、CPU21は、後述する図形処理(ステップS31)を呼び出して実行した後に、ステップS24へ戻って次の入力操作信号を待ち受ける。
ここで、ステップS30の処理で操作されたキーが削除キー“DEL”である場合には、CPU21は、計算式入力エリア42に入力されている図形の図形特定記号、置数、および、演算子のうち、カーソル位置に表示されているものを削除することが可能である。また、操作されたキーがクリアキー“AC”である場合には、計算式入力エリア42に表示された面積計算式全体を消去するように構成することができる。また、カーソルキー55の操作によって計算式入力エリア42に表示されたカーソルが前後に移動されている場合には、表示されている面積計算式の適宜な位置を編集することが可能である。
ステップS28の判別処理で、操作されたキーが置数キーまたは演算子キーではないと判別された場合(ステップS28;NO)には、CPU21は、次に、図8に示すように、操作されたキーが実行キー56(“EXE”)であるか否かを判別する(ステップS32)。
操作されたキーが実行キー56であると判別された場合(ステップS32;YES)には、CPU21は、続いて、現在のフォーカスエリアが計算式入力エリア42であるか否かをする(ステップS33)。フォーカスエリアが図形表示エリア41であり、即ち、計算式入力エリア42ではないと判別された場合(ステップS33;NO)には、実行キー56の操作は、図形表示エリア41内でハイライト表示されている図形の選択を確定して、指定図形、および、選択図形とする動作であると判断される。CPU21は、選択が確定された図形(選択図形)の面積を取得し、また、この取得した面積を表示するための面積値表示オブジェクトを生成する(ステップS34)。そして、CPU21は、この図形(指定図形)を指し示す図形特定記号を設定して、この図形特定記号と取得した面積とを図形特定記号設定データ記憶部23cに記憶させる。また、CPU21は、生成された面積値表示オブジェクトをこの図形と対応付けて図形表示エリア41内に表示させる。ここで、ステップS34において、図形特定記号設定データ記憶部23cに既にこの図形の面積が記憶されている場合は、CPU21は、図形特定記号設定データ記憶部23cから取得することができる。図形特定記号設定データ記憶部23cにこの図形の面積が記憶されていない場合には、CPU21は、図形データ23bから座標データを読み出して、面積を算出する。
ステップS34の処理における面積値表示オブジェクトの表示方法としては、例えば、この図形上、または、隣接させて表示させることができる。或いは、引き出し線を用いてこの面積値表示オブジェクトと対応する図形とを繋ぐこととしても良い。
また、図形表示エリア41において、同一の図形に対して複数回選択確定操作が行われた場合には、それぞれについて面積値表示オブジェクトが生成されるとともに、図形特定記号が設定され、また、計算式入力エリア42にそれぞれの図形特定記号が同時に表示されるようにすることができる。
続いて、CPU21は、設定された図形特定記号を、面積計算式の構成要素として計算式入力エリア42に表示されているカーソルの位置に表示させて、また、フォーカスエリアを計算式入力エリア42に切り替える(ステップS35)。それから、CPU21は、ステップS24へ戻って、次の入力操作信号を待ち受ける。
一方、ステップS33の判別処理で、フォーカスエリアが計算式入力エリア42であると判別された場合(ステップS33;YES)には、実行キー56の操作は、計算式入力エリア42に表示された面積計算式の計算実行指令であると判断される。CPU21は、先ず、計算式入力エリア42に表示されている図形特定記号に対応する図形の面積を取得する。それから、CPU21は、この面積計算式によって表される領域についての面積の計算を行う(ステップS36)。
ステップS36において、図形特定記号に対応する図形の面積は、例えば、図形特定記号設定データ記憶部23cから取得する。そして、CPU21は、面積計算式内に表示されている図形特定記号を取得した面積データの数値と置き換えた面積計算式によって計算を行う。
次いで、CPU21は、面積計算式の計算結果を図形表示エリア41に表示させる(ステップS37)。この表示位置は、例えば、左上隅などの予め設定された固定位置でも良いし、図形が描画されていない領域を選択して表示させることとしても良い。或いは、この面積計算式の計算結果は、計算式入力エリア42に表示された面積計算式に続けて表示させることとしても良い。
次に、CPU21は、面積計算処理を終了するか否かを判別する(ステップS44)。そして、例えば、取り消しキー54(“EXIT”)が押下されて面積計算処理を終了すると判別されると(ステップS44;YES)、CPU21は、面積計算処理S17を抜けて、そのまま図形モード処理を終了する。また、面積計算処理を終了しないと判別された場合(ステップS44;NO)には、CPU21は、ステップS24へ戻り、次の入力操作信号を待ち受ける。
ステップS32の判別処理で、操作されたキーが実行キー56(“EXE”)ではないと判別された場合(ステップS32;NO)には、次に、CPU21は、キー入力部102から入力された操作内容が図形表示エリア41に表示された図形の変形指令であるか否かを判別する(ステップS38)。具体的には、CPU21は、例えば、メニューキー53(“MENU”)で呼び出された機能リストからカーソルキー55と実行キー56(“EXE”)とにより図形変更操作が選択されたか否かを判別する。
図形の変形指令ではないと判別された場合(ステップS38;NO)には、CPU21は、操作内容に従って面積計算処理以外の他の処理を行う。図形の変形指令であると判別された場合(ステップS38;YES)には、CPU21は、先ず、このときに選択されていた図形を変形対象図形として指定する。そして、CPU21は、キー入力部102から入力した操作内容に基づいてこの変形対象図形の変形操作を行い、変形後の図形を図形表示エリア41内に表示させるとともに、図形データ記憶部23bに記憶されている図形データの座標やサイズのデータを更新して記憶させる(ステップS39)。
ステップS39の図形変形操作においては、例えば、メニューキー53、および、これに続く数値キーの操作により、選択されている図形の頂点の座標の変更、図形の伸縮率の設定、および、回転角度の設定などが可能である。CPU21は、上述の設定がなされたのちに、例えば、実行キー56が押下されたことを検知すると、この設定に基づいて選択された図形の変形、移動、回転などの操作を行い、また、各頂点の座標を変更する。
続いて、CPU21は、変形後の図形の面積値表示オブジェクトが既に生成されており、元の変形対象図形の面積データが図形特定記号設定データ記憶部23cに記憶されているか否かを判別する(ステップS40)。面積データが図形特定記号設定データ記憶部23cに記憶されていないと判別された場合(ステップS40;NO)には、CPU21は、以降の処理は行わずにステップS24へ戻り、次の入力操作信号を待ち受ける。一方、面積データが図形特定記号設定データ記憶部23cに記憶されていると判別された場合(ステップS40;YES)には、元の変形対象図形は、選択図形として面積が計算されているので、CPU21は、変形後の図形の座標やサイズのデータに基づいて面積の再計算を行う(ステップS41)。CPU21は、この再計算した面積によって図形特定記号設定データ記憶部23cの面積データを上書き更新する。また、CPU21は、図形表示エリア41に表示された変形後の図形をこの更新された面積と対応付けて、面積値表示オブジェクトに表示する面積を更新して図形表示エリア41に表示させる。
次に、CPU21は、計算式入力エリア42の面積計算式に基づいて既に面積の計算が行われたか否かを判別する(ステップS42)。計算が行われていないと判別されると(ステップS42;NO)、CPU21は、以降の処理を行わずにステップS24に戻り、次の入力操作信号を待ち受ける。一方、計算が行われていると判別されると(ステップS42;YES)、変形後の図形の図形特定記号が面積計算式に含まれている場合には、CPU21は、計算式入力エリア42に表示されている図形特定記号に対応する図形(この変形後の図形を含む)の面積を取得し、それから、この面積計算式によって表される領域についての面積の計算を行う。また、CPU21は、この計算結果を図形表示エリア41に表示させる(ステップS43)。
続いて、CPU21は、面積計算処理S17の終了操作が行われたか否かを判別する(ステップS44)。終了操作が行われなかったと判別された場合(ステップS44;NO)には、CPU21は、ステップS24へ戻って次の入力操作信号を待ちうけ、終了操作が行われたと判別された場合(ステップS44;YES)には、面積計算処理を抜け、そのまま図形モード処理を終了する。
次に、ステップS31の図形処理について説明する。
図7で示したように、計算式入力エリア42にフォーカスされた状態で置数キーまたは演算子キーが操作されたと判別され(ステップS28;YES、ステップS29;YES)、キー操作により入力された置数或いは演算子が計算式入力エリア42に追加表示されると(ステップS30)、続いて、CPU21は、図形処理を呼び出す(ステップS31)。
図9は、面積計算処理の中で呼び出されてCPUが実行する図形処理の内容を示すフローチャートである。
図形処理が呼び出されて処理が開始されると、先ず、CPU21は、入力されたキー操作の配列によって除算処理が可能であるか否かを判別する(ステップS51)。具体的には、例えば、図形特定記号の入力後に除算キー“÷”が操作され、次いで、数字キーにより0を除く数値が入力された状態では、除算処理が可能であると判断される。ここで、入力する数値が10以上の数字や小数などの複数個の置数により構成される場合は、例えば、括弧キー“(”、および、“)”を用いて、入力された全ての左括弧“(”が右括弧“)”の入力によって閉じられると、除算処理が可能であると判別されるように設定可能である。
また、この場合には、括弧の内側には、数字以外を入力することとしても良い。例えば、図形表示エリア41に表示されている他の2つの図形の面積比であっても良い。また、複数の図形を括弧内に含むように入力し、まとめて除算することも可能である。
除算処理が可能であると判別された場合(ステップS51;YES)には、CPU21は、除算の対象である図形特定記号に対応する図形の面積を図形特定記号設定データ記憶部23cから読み出して、入力された数値で除算する(ステップS52)。そして、この図形特定記号に対応する図形特定記号設定データ記憶部23cの面積データは、この算出された値によって上書き更新される。
次に、CPU21は、除算処理が行われた図形と他の図形との図形表示エリア41内での重なりの有無を判別する(ステップS53)。具体的には、このステップS53において、CPU21は、計算式入力エリア42に表示されている面積計算式に含まれている図形特定記号を順番に選択する。そして、CPU21は、図形表示エリア41内で、選択された図形特定記号の対応図形の範囲と、除算処理が行われた図形の範囲とが重なっているか否かを判別する。選択された図形の何れとも重なっている部分がないと判別された場合(ステップS53;NO)には、CPU21は、予め図形分割パターンデータ22bに格納されている定められた分割パターンで図形の分割を行う(ステップS54)。
このステップS54の処理で行われる分割は、分割、および、選択された範囲の面積がステップS52で再計算された面積と等しくなるように行われる。このような図形の分割パターンとしては、特に限られないが、例えば、円を二分割する場合には、左右対称に分割して左側を選択するように設定できる。
続いて、CPU21は、分割された範囲のうち、選択された部分を所定の色を用いてハイライト表示させる(ステップS55)。この選択部分は、例えば、円の左側、或いは、多角形の一番左側、或いは、上側の頂点を含む部分などに設定可能である。また、CPU21は、この分割された図形と図形特定記号設定データ記憶部23cに記憶された面積データとを対応付ける。それから、ステップS61へ移行する。
一方、ステップS53の判別処理で、選択された図形の範囲の何れかと、除算処理が行われた図形の範囲とが重なっていると判別された場合(ステップS53;YES)には、CPU21は、面積計算式に基づいて除算処理が行われた図形の分割パターンの設定を行い、また、この設定された分割パターンに基づいて図形を分割する(ステップS56)。
このステップS56の図形分割処理では、分割、および、選択された図形の面積がステップS52で再計算された面積と等しくなるように行われる。このステップS56での分割パターンの設定方法としては、先ず、除算処理の行われる図形の範囲が重なり部分のある他の図形の範囲から減算される場合、或いは、除算処理の行われる図形の範囲から重なり部分のある他の図形の範囲が減算される場合には、CPU21は、例えば、これら2つの図形において最も広い範囲が重なるように範囲を設定して分割する。一方、除算処理の行われる図形の一部が重なり部分のある他の図形の範囲に加算される場合には、CPU21は、例えば、この除算処理が行われる図形と、他の図形の範囲とで重なる範囲が最も小さくなるように分割範囲を設定する。
また、上述の設定のみでは図形の分割範囲を設定できない場合には、例えば、頂点の座標や線分の内分点を基準とした複数の分割パターンを予め図形分割パターンデータ22bとして格納しておき、CPU21は、他の図形との重なり状態や面積計算式に表示されている加減算記号基づいて適宜なパターンデータを選択することもできる。
続いて、CPU21は、分割された図形のうち、選択された範囲を所定の色を用いてハイライト表示させる(ステップS57)とともに、この分割された図形を図形特定記号設定データ記憶部23cに記憶された面積データと対応付ける。それから、ステップS61へ移行する。
次に、ステップS51の判別処理において除算処理が可能な状態ではないと判別された場合(ステップS51;NO)には、CPU21は、続いて、入力されたキー操作の配列によって、乗算処理が可能な状態であるか否かを判別する(ステップS58)。ステップS58の判別処理では、具体的には、例えば、図形特定記号の入力後に乗算キー“×”が操作され、次いで、数字キーの操作により数値が入力された状態であるか否かを判別する。また、乗算キー“×”の操作後に入力される数値が複数個の置数によって表現される場合には、括弧記号“(”、および、“)”を用いて入力を行うことで、右括弧“)”によって左括弧“(”が全て閉じられると乗算が可能な状態であると判別できるように構成することが可能である。
ステップS58の判別処理で乗算処理が可能であると判別された場合(ステップS58;YES)には、CPU21は、乗算の対象である図形特定記号に対応する図形の面積を図形特定記号設定データ記憶部23cから読み出して、乗算キー“×”の操作後に入力された数値を乗ずる(ステップS59)。また、CPU21は、図形特定記号設定データ記憶部23cに記憶されている元の図形の面積データを算出された面積データで上書き更新して記憶する。続いて、CPU21は、乗算の対象である図形特定記号の対応図形の面積が、元の図形の面積に対して入力された数値倍となるようにこの図形を拡大したときの座標やサイズを設定し、それから、この拡大された後の図形を図形表示エリア41にハイライト表示させる(ステップS60)。このステップS60の処理での図形の拡大方法は、例えば、図形の重心を基準にした相似図形の形成である。また、CPU21は、図形特定記号設定データ記憶部23cに記憶された面積データをこの拡大された図形に対応付ける。そして、ステップS61へ移行する。
なお、ここで表示される変形された図形の座標に対しては、新たに符号を付すとともに、図形データ記憶部23bに追加して記憶させることとしても良い。また、この変形された図形の図形特定記号を設定し、変形後の面積データとともに図形特定記号設定データ記憶部23cに追加して記憶させることとしても良い。このような処理により、この変形表示された図形は、ステップS25の図形選択処理や、ステップS38の図形変形処理などで選択されて操作されることが可能となる。また、この場合には、図形特定記号設定データ記憶部23cに記憶された変形前の図形の面積データは、更新されずに残すことが可能である。
このように、本実施形態の図形処理では、除算キー“÷”が操作されたときには、元の図形が分割され、乗算キー“×”が操作されたときには、元の図形が拡大される。従って、例えば、キー操作“×(0.5)”が入力された場合には、面積が半分、即ち、縮尺が1/√2の図形が表示されるようになっている。
除算処理(ステップS52〜S57)、或いは、乗算処理(ステップS59〜S60)が実行された後に、ステップS61へ進むと、CPU21は、ハイライト表示された図形範囲についての面積値表示オブジェクトを、このハイライト表示された図形範囲に対応付けて図形表示エリア41内に表示させる。そして、図形処理を終了して面積計算処理に復帰し、ステップS24へ戻って次の入力操作信号の待ち受けをする。
ステップS58の判別処理で、乗算処理が可能ではないと判別された場合(ステップS58;NO)には、これ以降の図形処理を行わずにそのまま終了して、面積計算処理に復帰する。そして、CPU21は、ステップS24へ戻って次の入力操作信号の待ち受けをする。
次に、上記の図形モード処理が実行される際の電子卓上計算機1の具体的な動作例について、フローチャートを参照しながら説明する。
[第1動作例]
図10、および、図11は、図形モード処理において、第1動作例の面積計算式を入力して面積を計算する際の表示部の表示例を示した図である。
図形モード処理において一つの図形、例えば、長方形201が選択されると、図10(a)に示すように、図形表示エリア41に表示されている長方形201がハイライト表示される(ステップS23)。この状態で実行キー56(“EXE”)が押下されると(ステップS32、S33)、長方形201の選択が確定する。そして、長方形201の面積が計算されて、四角形であることを表す記号“■”とともにこの計算された面積「192」を図形表示エリア41に表示する面積値表示オブジェクト201aが生成される(ステップS34)。また、計算式入力エリア42には、この選択された長方形201の図形特定記号“□ABCD”が入力され(ステップS35)、続いて、フォーカスが計算式入力エリア42へ移動して計算式入力エリア42への入力待ち状態となる。
なお、この実施形態では、面積値表示オブジェクト201aに表示される図形記号と計算式入力エリア42に表示される図形特定記号とが異なっているが、同一としても良いし、他の記号を用いることとしてもよい。
次いで、キー入力部102の数字キーや演算子キーが押下されると(ステップS28、S29)、操作されたキー内容が計算式入力エリア42に追加表示される(ステップS30)。図10(a)に示した状態では、長方形201の選択後に減算記号“−”が入力されている。長方形201のハイライト状態、および、面積値表示オブジェクトの表示有無や表示位置といった情報は、表示データ記憶部23aに記憶される。また、計算式入力エリア42の入力内容は、面積入力式記憶部23dに記憶される。
計算式入力エリア42へのフォーカス状態では、切替キー52を押下することによって(ステップS26)、図形表示エリア41へのフォーカス状態に切り替えることができる(ステップS27)。そして、図形表示エリア41がフォーカスされた状態では、カーソルキー55を用いて選択する図形を描画順に変更することができる(ステップS24、S25)。例えば、右カーソルキーが押下されて長方形201の次に描画された円202が選択されると、円202がハイライト表示される。また、図形選択が長方形201から外れると、面積値表示オブジェクト201aは消去される。
この状態で実行キー56(“EXE”)が押下されて(ステップS32)円202の選択が確定すると、円202の面積が計算される。そして、図10(b)に示すように、円であることを示す記号“●”とともに面積「113.09」が表示された面積値表示オブジェクト202aが生成されて、図形表示エリア41に表示される(ステップS34)。計算式入力エリア42には、円202の図形特定記号“○E”が入力表示されるとともに、計算式入力エリア42のフォーカス状態に移行する(ステップS35)。
次に、計算式入力エリア42がフォーカスされた状態でキー入力部102の除算キー“÷”が操作され、続いて、数字キー“2”が操作されると(ステップS28)、計算式入力エリア42には、これらの操作キーに基づく表示“/2”が追加される(ステップS29、S30)。この計算式入力エリア42の表示により、図形特定記号“○E”が示す円202の面積を2で除することが表される。また、図形表示エリア41では、円202が2分割されて、この分割された片方が所定の色によりハイライト表示される(ステップS51〜S53、S56、S57)。
円202の分割パターンは、先に入力されている減算記号“−”、および、円202と長方形201との重なり状態に基づいて決定される。図10(c)に示すように、円202は、長方形201と重複している部分と重複していない部分とに二分割される。そして、長方形201と重複している部分が選択されてハイライト表示されている。先に操作されたキーが加算キー“+”であった場合は、円202のうち長方形201と重複していない半円部分が選択されてハイライト表示がなされる。
また、円202の分割操作に伴って面積の再計算がなされ、面積値表示オブジェクト202aに表示される面積は、円202の面積を2で除した値に更新される(ステップS61)。
図10(c)に示した表示状態で、計算式入力エリア42がフォーカスされたまま実行キー56(“EXE”)が押下されると(ステップS32、S33)、計算式入力エリア42に表示された面積計算式に基づいて面積の計算が行われる(ステップS36)。この計算が行われると、図形特定記号“□ABCD”、および、“○E/2”に対応する面積が図形特定記号設定データ記憶部23cから取得され、図11に示すように、図形表示エリア41には、例えば、左上隅に計算結果「135.45」が表示される(ステップS37)。また、このとき、長方形201内の対応する部分がハイライト表示されるように構成しても良い。
[第2動作例]
図12は、図形モード処理において、第2動作例の面積計算式を入力した際の表示部の表示例を示した図である。
この表示例では、図12(a)に示すように、図形表示エリア41において三角形203が選択されてハイライト表示がなされている(ステップS23〜S25)。そして、三角形203の面積「72」が算出されて、図形表示エリア41内の三角形203上には、面積値表示オブジェクト203aが表示されている(ステップS34)。また、三角形203の図形特定記号“△FGH”が計算式入力エリア42に入力されている(ステップS35)。
ここで、計算式入力エリア42がフォーカスされた状態でキー入力部102の乗算キー“×”が操作され、引き続いて、数字キー“2”が操作されると(ステップS28、S29)、これらのキー操作を示す表示“×2”が計算式入力エリア42に追加される(ステップS30)。
また、図形表示エリア41では、三角形203の面積が2倍になるように拡大された三角形205がハイライト表示される(ステップS60)。そして、この拡大された三角形205の面積「144」が算出されて、図形特定記号設定データ記憶部23cに記憶されるとともに、図12(b)に示すように、図形表示エリア41に表示されている面積値表示オブジェクト203aの表示は、再計算された値に更新される(ステップS59、S61)。
以上のように、本実施の形態の電子卓上計算機1によれば、図2、図6のステップS13、図7のステップS28〜S30、および、図8のステップS32〜S37、図11に示したように、カラー表示部101に図形表示エリア41と計算式入力エリア42とを形成することで図形および図形の面積を計算する面積計算式を同時に表示可能であり、また、図形表示エリア41の図形が指定されると、この図形を指し示す図形特定記号を設定して、また、計算式入力エリア42に表示させ、面積計算に利用することができる。また、面積計算式には、キー操作により加減算記号を直接指定して入力することができる。そして、面積計算を行う際には、計算式入力エリア42に表示された図形特定記号に基づいて対応する図形の面積データを取得し、図形特定記号と加減算記号とを並べて構成される面積計算式によって表される領域についての面積計算を行って、この計算結果をカラー表示部101に表示させることができるので、面積の計算を行うときに、面積の計算方法や具体的な計算式を図形の範囲や計算結果と同時に認識することができる。従って、学習効果を高めることができる。
また、図8のステップS38、S39、S42、S43に示されたように、実行キー56を用いて図形表示エリア41に表示された図形のうち何れかを指定し、また、キー入力部102へのキー操作の組み合わせによってこの指定した図形の変形操作を入力して実行させることが可能であり、また、この指定した図形を示す図形特定記号が計算式入力エリア42に表示されている場合には、図形特定記号設定データ記憶部23cに記憶されたデータに基づいて変更後の面積を取得し、そして、面積計算式によって示される領域の面積が再計算されるので、図形表示エリア41に表示された図形の配置、形状、及び、組み合わせを適宜変更していくことで、図形によって作られる領域とこの領域を示す計算式、および、計算結果の関係を容易に知得することができる。
また、図9(ステップS51〜S60)、図10(c)、および、図12(b)に示したように、計算式入力エリア42へ入力される面積計算式には、乗算キー“×”、除算キー“÷”、および置数キーを用いたキー操作により図形特定記号に対する積算や除算も表示可能とし、除算や積算の対象となる図形特定記号に対応する図形の面積を、入力された数値により乗算、または、除算して変更することができる。そして、この変更された面積となるように変形された図形を図形表示エリア41に表示させることができる。従って、描画された図形のうち、面積の計算において必要な部分、或いは、面積計算に対応するサイズの図形と、面積表示式とをユーザが容易に認識することができる。
また、図9(ステップS51〜S60)、図10(c)、および、図12(b)に示したように、除算キー“÷”、および、置数キーを用いたキー操作によって、計算式入力エリア42内の指定された図形特定記号を入力した数値で除する表示を行わせてこの計算を実行させることによって図形表示エリア41に表示された図形を除数で分割して描画させることができる。また、乗算キー“×”、および、置数キーを用いたキー操作によって、図形特定記号に入力した数値を乗ずる形を表示させてこの計算を実行させることによって図形表示エリア41に表示された図形を拡大した図形を描画させることができるので、図形表示エリア42に表示させた図形の重ね合わせ状態など、図形表示エリア42内の図形の表示内容にあった形で図形の変形パターンを適切に変更することができる。
また、図8のステップS32〜S34、および、図10(a)、(b)に示したように、キー操作により図形表示エリア41に表示された図形のうちから何れかの図形を選択し、この選択された図形の面積を計算、或いは、図形特定記号設定記憶部23cから取得するとともに、取得した面積を表示する面積値表示オブジェクトを生成して、この面積値表示オブジェクトを選択された図形と対応付けて図形表示エリア41内に表示させることができるので、図形表示エリア41に表示された各図形の面積を個別に表示させることができる。従って、各図形の面積を確認しながら図形の描画を行うことができる。
また、図8のステップS38〜S41に示されたように、面積値表示オブジェクトを生成して表示するために選択された図形を変形対象として指定し、この指定した図形の変形操作を入力して実行させることが可能であり、また、この指定した図形を変形させるたびに変形後の面積が取得される。そして、この取得された面積が面積値表示オブジェクトに表示される。従って、描画された図形に関連付けて表示される面積の値を見ながら、図形の形状やサイズを適宜調整して、容易にユーザが意図する図形に変更させることができる。
更に、図9(ステップS51〜S61)、図10(c)、および、図12(b)に示したように、計算式入力エリア42へ入力される面積計算式には、乗算キー“×”、除算キー“÷”、および置数キーを用いたキー操作により図形特定記号に対する積算や除算も表示可能とし、除算や積算の対象となる図形特定記号に対応する図形の面積を、入力された数値により乗算、または、除算して変更することができる。そして、この変更された面積となるように変形された図形を図形表示エリア41に表示させることができる。そして、この変更された面積に対応する変形後の図形を図形表示エリア41に表示させることができる。また、この変形後の図形の表示に対応付けられた面積値表示オブジェクトに、変更された面積を表示させることができる。従って、計算途中の面積計算式の各項の値を容易に知ることができる。
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記実施の形態では、面積値表示オブジェクトによる各図形の面積表示は、選択された一の図形に対して行われたが、一度選択された図形の面積値表示オブジェクトを全て表示させたままとしても良いし、または、面積値表示オブジェクトの生成、および、表示を行わないこととしても良い。或いは、面積計算式の各項の計算結果は、計算式入力エリア42の上部または下部に表示エリアを拡大して表示させることとしてもよい。
また、上記実施の形態では、カラー表示部を用いたが、白黒などの二色表示のみが可能な表示部を用いても良い。ハイライト表示は、塗りつぶし表示や背景パターンの変更などにより行うことが可能である。
また、上記実施の形態では、計算式入力エリア42で編集された各項に対応する図形の分割範囲や拡大表示方法をCPU21が自動で判断して表示を行ったが、図形分割パターンデータ22bとして格納された複数の分割パターンを順番に呼び出し可能として、ユーザに決定させる機能を含めることとすることもできる。
また、上記実施の形態では、長方形、三角形、円、および、線分を表示させたが、表示させる図形の種類はこれらに限られない。各種多角形、楕円形、扇形などの解析的に計算可能な種々の図形を表示させることが可能である。
また、上記実施の形態では、図形特定記号設定データ記憶部23cに記憶された面積データを利用して、計算式入力エリア42に表示された面積計算式により表される領域の面積計算方法を挙げたが、図形データ記憶部23bの図形種別データおよび座標データに基づいて毎回計算させることとしても良い。
また、上記実施の形態では、電子卓上計算機として説明したが、本発明の図形表示装置は、電子卓上計算機に限られない。例えば、携帯ゲーム機、携帯電話、PDA(Personal Digital Assistant)といった図形表示装置全般に適用可能である。また、本発明に係るプログラムを、例えば、ゲーム機用のソフトウェアに搭載してテレビ画面に表示させ、コントローラで操作させることとしてもよいし、PC用のソフトウェアとして、PC上でディスプレイとキーボードを用いて操作することとしても良い。
また、上記実施の形態では、乗算によって表示図形の面積の変更を行う際には、相似図形に縮尺変更がなされたが、図形の面積の変更方法は、これに限られない。例えば、多角形の一または複数の辺の長さを固定して変更することも可能である。また、相似図形を描画する際も、重心を中心として拡大、或いは、縮小を行うだけではなく、指定された点を固定して変更させることも可能である。その他、図形特定記号の形態、ハイライト表示の方法、計算式入力エリア42の行数、電子卓上計算機1で用いるキー操作の具体的な方法など、実施形態で示した細部は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。