以下、図1〜図36を参照して、本発明に係る図形表示制御装置を関数電卓に適用した場合の実施の形態について詳細に説明する。
図1に、本発明を適用した関数電卓1の概観図の一例を示す。同図に示すように、関数電卓1は、ディスプレイ3、各種キー群5、入力ペン7を備えて構成されている。各種キー群5を構成するキーにはそれぞれ固有の機能が割り当てられており、ユーザは、これらのキーを押下して関数電卓1を操作する。さらに、ディスプレイ3には後述するタブレット(タッチパネル)30が一体的に構成されており、ユーザは、入力ペン7を使用したディスプレイ3上のタッチ操作により入力することも可能である。
〔第1の実施の形態〕
先ず、本発明を適用した関数電卓の第1の実施の形態について説明する。尚、以下においては、本発明を、幾何図形描画機能を実現するための幾何アプリケーションプログラム(以下、適宜「幾何アプリケーション」という。)及び計算機能を実現するための計算アプリケーションプログラム(以下、適宜「計算アプリケーション」という。)を搭載した関数電卓に適用した場合を例にとって説明する。
本第1の実施の形態は、幾何アプリケーションの画面(以下、「幾何ウィンドウ」という。)と計算アプリケーションの画面(以下、「計算ウィンドウ」という。)の内、何れか一方の画面の表示内容が選択されてコピー操作がなされ、他方の画面が指定されてペースト操作がなされた際に、当該選択された一方の画面の表示内容を、他方の画面の表示形態に応じて表示制御するものである。
図2に、本発明を適用した第1の実施の形態における関数電卓1の表示画面例を示す。同図において、表示画面上には、計算ウィンドウCW1と幾何ウィンドウGW1とが表示されている。ユーザは、同図に示す計算ウィンドウCW1において、方程式計算、行列演算、複素数演算等の各種計算処理を行わせることができる。また、ユーザは、幾何ウィンドウGW1において、描画したい図形の幾何種別を指定するとともに、当該幾何図形の特定点座標を指定(幾何種別が関数グラフの場合には関数式を入力)することにより、幾何ウィンドウGW1に、該当する幾何図形オブジェクトを表示させることができる。また、幾何ウィンドウGW1に表示される幾何図形オブジェクトは、入力ペン等により選択して、表示位置を平行移動させることができる。
関数電卓1において、幾何アプリケーション及び計算アプリケーションを起動し、上述したように幾何ウィンドウGW1と計算ウィンドウCW1とを表示画面上に表示させた状態で、例えば、幾何ウィンドウGW1において、図2に示すように、直線の描画指示を入力するとともに点A,Bを入力ペン等で指示すると、点A,Bを通る直線オブジェクト100が描画される。
ここで、例えば、直線オブジェクト100を選択してコピー操作を入力し、計算ウィンドウCW1を指定してペースト操作を入力すると、計算ウィンドウCW1のカーソル位置に、対応する直線式の文字列“y=x”が表示される。
ここで、コピーアンドペースト操作とは、画面上の所望のデータ(図形、画像又は文字列等)をポインティングデバイス(ペンやマウス等)で指定して、さらに、そのデータ又はそのデータの代替物を貼り付ける位置をポインティングデバイス(ペンやマウス等)で指定する操作である。この操作は、例えば、ペンで画面上の所望のデータを指定した後に、コピーコマンドを実行して、さらに、ペンで貼り付け先の位置を指定して、コピーコマンドを実行する操作により行われる。
また、例えば、ペンで画面上の所望のデータにタッチして指定し、そのタッチを維持したまま移動する操作(以下ドラッグ操作という)と、ドラッグ操作に引き続き、所望のデータのタッチを維持した状態から、貼り付け先の位置でペンをアップさせる操作(この操作を以下ドロップ操作という)により実現可能である。
尚、表示装置(例えば、図1に示すディスプレイ3)に入力ペン(例えば、図1に示す入力ペン7)を当接させるとともに、当該表示装置に当接させた入力ペンを表示装置上で摺動させる操作のことをドラッグ、入力ペンを表示装置から離す操作をドロップといい、この一連の操作をドラッグアンドドロップという。また、コピーアンドペースト操作は、コピー元の画面においてボタン等で提供されるコピーメニューを選択し、コピー先の画面でペーストメニューを選択することにより実現することとしてもよい。
さらに、計算ウィンドウCW1において、例えば、数式“y=x*sin(x)”を編集する。そして、数式“y=x*sin(x)”の領域T1を選択してコピー操作を入力し、幾何ウィンドウGW1を指定してペースト操作を入力すると、幾何ウィンドウGW1には、数式“y=x*sin(x)”に基づく関数グラフオブジェクト102が描画される。
図3は、関数電卓1の機能構成例を示す図である。同図に示すように、関数電卓1は、CPU10、入力部20、タブレット30、位置検出回路40、通信部60、表示部50、ROM700、RAM800の各機能部を備えて構成される。
CPU10は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送等を行い、関数電卓1を統括的に制御する。具体的には、CPU10は、入力部20又はタブレット30から入力される操作信号に応じてROM700に格納されたプログラムを読み出し、当該プログラムに従って処理を実行する。そして、処理結果をRAM800に保存するとともに、当該処理結果を表示するための表示信号を適宜表示部50に出力して、対応した表示情報を表示させる。
入力部20は、数値や数式等の入力、機能選択等に必要なキー群を備えた入力装置であり、押下されたキーの押下信号等をCPU10に出力する。この入力部20におけるキー入力により、特に、幾何アプリケーション又は数式アプリケーションの起動指示、図形描画処理の実行、数式の入力、演算処理等の実行、処理の終了やモードの解除、各種ポインタやメニュー画面におけるカーソル等の移動、又は各種選択操作や当該選択操作の確定指示等の入力手段を実現する。尚、この入力部20は、図1に示すキー群5に相当するものである。
また、関数電卓1は、入力装置として、タッチパネルであるタブレット30を備える。このタブレット30は、表示部50における位置を指示する入力ペン(図1に示す、入力ペン7に相当)等の装置と、指示された表示部50の位置を感知する装置とが組み合わされた入力装置であり、タブレット30に接続される位置検出回路40は、タブレット30により指示された位置座標を検出する。このタブレット30を使用すれば、表示部50における位置を細かく指定することができ、タブレット30を使用した表示部50のタッチ操作により、上述した入力部20における入力手段を実現することができる。
特に、このタブレット30を使用したドラッグアンドドロップ操作により、幾何ウィンドウと計算ウィンドウの何れか一方の画面で指定したデータを他方の画面にコピーすることができる。
表示部50は、CPU10から入力される表示信号に基づいて表示部50を制御して各種画面を表示させるものであり、LCD(Liquid Crystal Display)等により構成される。尚、この表示部50は、図1に示すディスプレイ3に相当するものであり、タブレット30と一体的に形成されている。
通信部60は、ネットワークN1を介して接続される他の装置(例えば、サーバ90)と所定の情報を送受するための通信装置で構成される。CPU10は、この通信部60及びネットワークN1を介し、外部機器との通信を行うための制御を行う。
具体的には、例えば、通信部60及びネットワークN1を介してサーバ90から受信したプログラムやデータ等をROM700やRAM800に格納するように構成することにより、ユーザは、サーバ90内に蓄積されるプログラムやデータ等を利用することができる。
ROM700には、各種初期設定、ハードウェアの検査、又は必要なプログラムのロード等を行うための初期プログラムが格納される。CPU10は、関数電卓1の電源投入時においてこの初期プログラムを実行することにより、関数電卓1の動作環境を設定する。
また、ROM700には、幾何アプリケーションプログラムや、計算アプリケーションプログラム等のアプリケーションプログラム、メニュー表示処理、各種設定処理等の関数電卓1の動作に係る各種処理プログラム、関数電卓1の備える種々の機能を実現するためのプログラム等が格納されるとともに、特に、メイン処理プログラム702が格納される。このメイン処理プログラム702は、データ入力処理プログラム702a、コピー/(又は)ドラッグ処理プログラム702b、及びペースト/ドロップ処理プログラム702cを有する。
CPU10は、メイン処理プログラム702に従って処理を実行する。具体的には、CPU10は、ユーザによるデータ入力操作に応じてデータ入力処理プログラム702aの実行を開始し、データ入力処理を行う。また、CPU10は、ユーザによるコピー/ドラッグ操作に応じてコピー/ドラッグ処理プログラム702bの実行を開始し、コピー/ドラッグ処理を行う。そして、CPU10は、ユーザによるペースト/ドロップ操作に応じてペースト/ドロップ処理プログラム702cの実行を開始し、ペースト/ドロップ処理を行う。
RAM800は、CPU10が実行する各種プログラムや、これらプログラムの実行に係るデータ等を一時的に保持するメモリ領域を備える。特に、幾何ウィンドウ上に描画される幾何データを保持する幾何ウィンドウデータ802と、計算ウィンドウ上に表示される計算データを保持する計算ウィンドウデータ804と、幾何ウィンドウに描画される関数グラフの関数式データを保持する関数式テーブル806と、コピー操作により指定されたデータを一時的に保持するためのコピーバッファ808とを備える。
図4に、幾何ウィンドウデータ802の一例を示す。同図に示すように、幾何ウィンドウデータ802は、識別IDと、幾何種別と、特定点座標とが対応付けられたデータテーブルである。CPU10は、幾何ウィンドウにおいて幾何図形の描画指示が入力された際に、指定された特定点座標に基づいて、該当する幾何図形オブジェクトを描画する。この際、CPU10は、当該幾何図形オブジェクトに固有の識別IDを割り当てて、識別IDと、幾何種別と、特定点座標とを対応付けて、幾何ウィンドウデータ802に格納する。
ここで、幾何図形とは、点、線(線分、直線を含む)、ベクトル、円(円弧を含む)、多角形、関数グラフ等の線図として表せるもののことである。また、オブジェクトとは、描画(表示)された幾何図形の単位のことである。例えば、円の幾何図形が描画されている場合には、その描画されている線図(円)のことを円オブジェクトという。円と直線とが描画されている場合には、円に係る線図の部分を円オブジェクトといい、直線に係る線図の部分を直線オブジェクトという。
即ち、この幾何ウィンドウデータ802において、幾何ウィンドウに描画されている関数グラフ以外の幾何図形の特定点座標を保持し、幾何アプリケーションは、幾何ウィンドウデータ802に格納される特定点座標に基づいて幾何図形を描画する。
例えば、幾何種別が“直線”の場合には、幾何ウィンドウデータ802において、指定された2点の座標を、第1特定点座標及び第2特定点座標として保持する。幾何種別が“n角形”の場合には、指定されたn個の頂点座標を、第1〜第n特定点座標として保持する。幾何種別が“円”の場合には、指定された中心の座標を第1特定点座標、円周上の1点の座標を第2特定点座標として保持する。幾何種別が“楕円”の場合には、指定された中心座標を第1特定点座標、短半径を示す座標を第2特定点、長半径を示す座標を第3特定点として保持する。例えば、図4に示す幾何ウィンドウデータ802において、識別ID“ID0028”が割り当てられた円オブジェクトには、中心座標である第1特定点(0,0)と、円周上の1点の座標である第2特定点(2,0)が定義されている。
また、CPU10は、幾何ウィンドウにおいて描画指示された幾何図形の幾何種別が関数グラフの場合は、指定された関数式に基づいて関数グラフオブジェクトを描画する。この際、特に、CPU10は、当該関数グラフオブジェクトに識別IDを割り当てて幾何ウィンドウデータ802を更新するとともに、関数式テーブル806を更新する。
図5に、関数式テーブル806の一例を示す。同図に示すように、関数式テーブル806は、識別IDと関数式とが対応付けられたデータテーブルである。CPU10は、幾何ウィンドウにおいて関数グラフオブジェクトを描画した際に、当該関数グラフオブジェクトに割り当てられた識別IDと、該当する関数式とを対応付けて関数式テーブル806に格納する。例えば、図5に示すように、関数式テーブル806には、図4に示して説明した幾何ウィンドウデータ802において識別ID“ID0030”が割り当てられた関数グラフオブジェクトの関数式“y=3x2+2”が、当該識別ID“ID0030”と対応付けられて格納されている。
次に、本発明を適用した第1の実施の形態における関数電卓1の動作について説明する。
図6は、メイン処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、入力部20又はタブレット30を介してユーザによるデータ入力操作を検知した場合には(ステップA10:YES)、データ入力処理を実行する(ステップA12)。また、CPU10は、ユーザによるコピー操作又はドラッグ操作を検知した場合には(ステップA14:YES)、コピー/ドラッグ処理を実行する(ステップA16)。また、CPU10は、ユーザによるペースト操作又はドラッグ操作を検知した場合には(ステップA18:YES)、ペースト/ドロップ処理を実行する(ステップA20)。
そして、CPU10は、ユーザによる終了操作を検知した場合には(ステップA22:YES)、本処理を終了する。以下、データ入力処理、コピー/ドラッグ処理、ペースト/ドロップ処理の各処理について図7〜図11を参照して説明する。
先ず、データ入力処理について説明する。図7は、データ入力処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、テキストデータが入力された場合には(ステップB10:YES)、当該テキストデータが入力された指定ウィンドウのカーソル位置がテキスト入力可能か否かを判定する(ステップB12)。第1の実施の形態において、テキストデータが入力された場合とは、特に、計算ウィンドウに対して座標値、直線式、円/楕円の方程式、関数式等の各種数式データが入力された場合のことをいう。
そして、CPU10は、カーソル位置へのテキスト入力が不可能な場合にはエラー処理に遷移して、例えば、表示部50にエラーメッセージを表示させて報知する。また、CPU10は、カーソル位置へのテキスト入力が可能な場合には、入力されたテキストデータを指定ウィンドウのカーソル位置に表示させる(ステップB14)。
また、CPU10は、コマンドデータが入力された場合には(ステップB16:YES)、当該コマンドデータが入力された指定ウィンドウについて、指定コマンドに対応する処理を実行する(ステップB18)。第1の実施の形態において、コマンドデータが入力された場合とは、特に、幾何ウィンドウに対して各種幾何図形の描画を指示するコマンドが入力された場合のことをいう。
そして、CPU10は、入力されたコマンドデータが関数グラフの描画・設定コマンドの場合には(ステップB20:YES)、関数式テーブル806に該当する関数式を格納して(ステップB22)、指定ウィンドウに描画・設定した関数グラフオブジェクトと、関数式テーブル806に格納した関数式とを対応付ける(ステップB24)。具体的には、描画・設定した関数グラフオブジェクトに対応する関数式と、当該関数式に割り当てられた識別IDとを対応付けて関数式テーブル806に格納するとともに、指定ウィンドウに描画・設定した関数グラフオブジェクトに該当する識別IDを対応付ける。
また、CPU10は、ウィンドウを開く/閉じる指示が入力された場合には(ステップB26:YES)、指定ウィンドウを開く/閉じる処理を実行する(ステップB28)。また、CPU10は、その他の入力操作がなされた場合には、該当する他処理へ遷移して実行する。
次に、コピー/ドラッグ処理について説明する。図8は、コピー/ドラッグ処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、先ず、コピー/ドラッグ元のウィンドウの種類を検知する(ステップC10)。
そして、CPU10は、コピー/ドラッグ元のウィンドウの種類がテキスト系ウィンドウ(例えば、計算ウィンドウ)の場合には(ステップC12:YES)、文字列の指定範囲を検知する(ステップC14)。そして、CPU10は、検知した指定範囲の文字列をコピーバッファ808に格納して(ステップC16)、本処理を終了する。
また、CPU10は、検知したコピー/ドラッグ元のウィンドウの種類が幾何系ウィンドウ(例えば、幾何ウィンドウ)の場合には(ステップC18:YES)、先ず、指定された図形ブロック(幾何図形)を検知する(ステップC20)。ここで、図形ブロックとは、オブジェクトと同義である。次いで、CPU10は、指定された図形ブロックの個数(k)を検知する(ステップC22)。そして、CPU10は、変換処理を実行して(ステップC24)、本処理を終了する。
図9は、変換処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、先ず、検知した図形ブロック全てに対して処理を行ったか否かを判定するための変数iに“1”を代入する(ステップC240)。
そして、CPU10は、i番目の図形ブロックiが点オブジェクト又はベクトルオブジェクトと判断した場合には(ステップC242:YES)、該当する点の座標又はベクトルの座標を幾何ウィンドウデータ802から読み出す(ステップC244)。具体的には、CPU10は、幾何ウィンドウデータ802を参照し、当該点オブジェクト又はベクトルオブジェクトに対応付けられた識別IDに基づいて該当する座標を読み出す。そして、CPU10は、当該読み出した座標に基づいて、1×2行列の文字列を作成し、コピーバッファ808に格納する(ステップC246)。
また、CPU10は、図形ブロックiがn角形オブジェクトと判断した場合には(ステップC248:YES)、該当するn角形の各頂点の座標を幾何ウィンドウデータ802から読み出す(ステップC250)。そして、CPU10は、当該読み出した各頂点座標に基づいて、n×2行列の文字列を作成し、コピーバッファ808に格納する(ステップC252)。
また、CPU10は、図形ブロックiが直線オブジェクトと判断した場合には(ステップC254:YES)、該当する直線を定義する2点の座標を幾何ウィンドウデータ802から読み出す(ステップC256)。そして、CPU10は、当該読み出した各座標に基づいて該当する直線の式“y=ax+b(a,bは定数)”を求めて文字列を作成し、コピーバッファ808に格納する(ステップC258)。
また、CPU10は、図形ブロックiが円オブジェクト又は楕円オブジェクトと判断した場合には(ステップC260:YES)、該当する円又は楕円を定義する特定点座標を幾何ウィンドウデータ802から読み出す(ステップC262)。そして、CPU10は、当該読み出した特定点座標に基づいて該当する円の式又は楕円の式“x^(2)+y^(2)+ax+by+c(a,b,cは定数)”を求めて文字列を作成し、コピーバッファ808に格納する(ステップC264)。
また、CPU10は、図形ブロックiが関数グラフオブジェクトと判断した場合には(ステップC266:YES)、関数式テーブル806から関数式を読み出す(ステップC268:YES)。具体的には、CPU10は、関数式テーブル806を参照し、当該関数グラフオブジェクトに対応付けられた識別IDに基づいて該当する関数式を読み出す。そして、CPU10は、当該読み出した関数式を示す文字列を作成してコピーバッファ808に格納する(ステップC270:YES)。
次いで、CPU10は、変数iと図形ブロック数kの値を比較判定し、値が異なる場合には(ステップC272:NO)、iをインクリメントして更新し(ステップC274)、ステップC242に戻って次の図形ブロックiを対象に上述した処理を繰り返す。
また、CPU10は、変数iと図形ブロック数kの値が同一の場合には(ステップC272:YES)、コピーバッファ808内に格納される数式が複数有るか否かを判定する。そして、CPU10は、複数の数式が格納されている場合には(ステップC276:YES)、当該複数の式を連立形式にまとめた文字列を作成してコピーバッファ808を更新し(ステップC278)、本処理を終了する。
次に、ペースト/ドロップ処理について説明する。図10は、ペースト/ドロップ処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、先ず、ペースト/ドロップ先のウィンドウの種類を検知する(ステップD10)。そして、CPU10は、コピーバッファ808内に有効なデータが有るか否かを判定し(ステップD12)、有効なデータが無い場合には、本処理を終了する。
また、CPU10は、コピーバッファ808内に有効なデータが有る場合であって、ペースト/ドロップ先のウィンドウの種類がテキスト系ウィンドウ(例えば、計算ウィンドウ)の場合には(ステップD14:YES)、コピーバッファ808に格納される文字列をカーソル位置に表示させて(ステップD16)、本処理を終了する。
また、CPU10は、検知したペースト/ドロップ先のウィンドウの種類が幾何系ウィンドウ(例えば、幾何ウィンドウ)の場合には(ステップD18:YES)、コピーバッファ808に格納されている先頭のデータを読み出して(ステップD20)、図形表示処理を実行し(ステップD22)、本処理を終了する。
図11は、図形表示処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、読み出したコピーバッファ808のデータが点又はベクトルを定義した座標を表す1×2行列の文字列の場合には(ステップD220)、当該座標位置に点オブジェクト又はベクトルオブジェクトを描画し、幾何ウィンドウデータ802を更新する(ステップD222)。具体的には、CPU10は、幾何ウィンドウデータ802に、当該点又はベクトルに割り当てた識別IDと、幾何種別“点”又は“ベクトル”と、当該点又はベクトルの座標とを対応付けて格納する。
そして、CPU10は、読み出したコピーバッファ808のデータがn角形を定義したn×2行列の文字列の場合には(ステップD224)、当該n×2行列を構成する各座標を頂点とするn角形オブジェクトを描画し、幾何ウィンドウデータ802を更新する(ステップD226)。具体的には、CPU10は、幾何ウィンドウデータ802に、当該n角形に割り当てた識別IDと、幾何種別“n角形”と、当該n角形を定義する各頂点座標とを対応付けて格納する。
そして、CPU10は、読み出したコピーバッファ808のデータが直線の式を表す文字列の場合には(ステップD228)、該当する直線オブジェクトを描画し、幾何ウィンドウデータ802を更新する(ステップD230)。具体的には、CPU10は、幾何ウィンドウデータ802に、当該直線に割り当てられた識別IDと、幾何種別“直線”と、当該直線を定義する2点の座標とを対応付けて格納する。
そして、CPU10は、読み出したコピーバッファ808のデータが円の式又は楕円の式を表す文字列の場合には(ステップD232)、該当する円オブジェクト又は楕円オブジェクトを描画し、幾何ウィンドウデータ802に当該円又は楕円を定義する特定点座標を格納する(ステップD234)。具体的には、CPU10は、幾何ウィンドウデータ802に、当該円又は楕円に割り当てられた識別IDと、幾何種別“円”又は“楕円”と、当該円又は楕円を定義する特定点座標とを対応付けて格納する。
そして、CPU10は、読み出したコピーバッファ808のデータが関数式を表す文字列の場合には(ステップD236)、当該関数式に基づいて関数グラフオブジェクトを描画し、幾何ウィンドウデータ802を更新する(ステップD238)。具体的には、CPU10は、幾何ウィンドウデータ802に、当該関数式に割り当てられた識別IDと、幾何種別“関数グラフ”とを対応付けて格納する。
次いで、CPU10は、該当する関数式が関数式テーブル806に登録されているか否かを判定し(ステップD240)、登録されていない場合には、当該関数式を関数式テーブル806に登録する(ステップD242)。具体的には、CPU10は、関数式テーブル806に、当該関数式と、該当する識別IDとを対応付けて格納する。
そして、CPU10は、読み出したコピーバッファ808のデータが連立形式を表す文字列の場合(ステップD244:YES)、当該連立形式を構成する数式が直線式の場合には、該当する直線オブジェクトを描画して幾何ウィンドウデータ802を更新し、当該連立形式を構成する数式が関数式の場合には、関数グラフオブジェクトを描画し、幾何ウィンドウデータ802及び関数式テーブル806を更新して、当該関数グラフオブジェクトと、関数式テーブル806に格納される関数式とを対応付ける(ステップD246)。
そして、CPU10は、コピーバッファ808に次のデータがある場合には(ステップD248)、当該次のデータを読み出して(ステップD250)、ステップD220に戻って当該読み出した次のデータを対象に上述した処理を繰り返す。
次に、図12〜図27を参照して、ドラッグアンドドロップ操作による幾何ウィンドウと計算ウィンドウ間でのコピーアンドペースト操作について説明する。
図12は、幾何ウィンドウGW10に描画された点オブジェクト110を計算ウィンドウCW10にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW10において、先ず、入力ペン7を用いて点描画コマンドを指定し、さらに所望の位置にタッチして点オブジェクト110を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて点オブジェクト110をコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した点オブジェクト110が点座標に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C242(YES)→C244→C246→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始した点オブジェクト110を計算ウィンドウCW10上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図12(b)に示すように、点Aの座標(−3,3)表す1×2行列が計算ウィンドウCW10のカーソル位置に貼り付けられて表示される(図10ステップD16)。
図13は、計算ウィンドウCW12に表示された点座標を幾何ウィンドウGW12にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す計算ウィンドウCW12において、先ず、入力ペン7を用いて点座標(2,2)を入力する(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)。
そして、入力ペン7を用いた範囲指定操作により当該点座標の文字列領域T10を反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した点座標がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T10を幾何ウィンドウGW12上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD220(YES))、図13(b)に示すように、指定した点座標に基づく点オブジェクト112が幾何ウィンドウGW12に描画される(図11ステップD222→C248(NO))。
図14は、幾何ウィンドウGW14に描画されたベクトルオブジェクト120を計算ウィンドウCW14にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW14において、先ず、入力ペン7を用いてベクトルコマンドを指定し、さらに所望の位置にタッチしてベクトルオブジェクト120を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いてベクトルオブジェクト120をコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定したベクトルオブジェクト120がベクトル座標に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C242(YES)→C244→C246→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始したベクトルオブジェクト120を計算ウィンドウCW14上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図14(b)に示すように、ベクトル座標(4,2)を表す1×2行列が計算ウィンドウCW14のカーソル位置に貼り付けられて表示される(図10ステップD16)。
図15は、計算ウィンドウCW16に表示されたベクトル座標を幾何ウィンドウGW16にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW16において、先ず、入力ペン7を用いてベクトル座標(−4,2)を入力する(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)。
そして、入力ペン7を用いた範囲指定操作により当該ベクトル座標の文字列領域T20を反転表示させてコピー対象に指定してドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定したベクトル座標がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T20を幾何ウィンドウGW16上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD220(YES))、図15(b)に示すように、指定したベクトル座標に基づくベクトルオブジェクト122が幾何ウィンドウCW16に描画される(図11ステップD222→C248(NO))。
図16は、幾何ウィンドウGW18に描画された4角形オブジェクト130を計算ウィンドウCW18にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW18において、先ず、入力ペン7を用いて4角形オブジェクト130を指定し、さらに所望の位置にタッチして4角形オブジェクト130を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて4角形オブジェクト130をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した4角形オブジェクト130が、当該4角形オブジェクト130の各頂点A〜Dの座標に基づく4×2行列に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C248(YES)→C250→C252→C272(YES)→C276(NO))。尚、幾何ウィンドウGW18上に表示される4角形オブジェクト130は、例えば、4つの辺を入力ペン7でそれぞれ指示することによりコピー対象に指定することができる。
そして、ドラッグ操作を開始した4角形オブジェクト130を計算ウィンドウCW18上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図16(b)に示すように、4角形オブジェクト130の各頂点A〜Dの座標を表す4×2行列が計算ウィンドウCW18のカーソル位置に貼り付けられて表示される(図10ステップD16)。
図17は、計算ウィンドウCW20に表示された4×2行列を幾何ウィンドウGW20にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す計算ウィンドウCW20において、先ず、入力ペン7を用いて4角形の各頂点座標に基づく4×2行列を入力する(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)。
そして、入力ペン7を用いた範囲指定操作により当該テキスト入力した4×2行列の文字列領域T30を反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した4×2行列がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T30を幾何ウィンドウGW20上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD224(YES))、図17(b)に示すように、指定した4×2行列に基づく4角形オブジェクト132が幾何ウィンドウGW20に描画される(図11ステップD226→C248(NO))。
図18は、幾何ウィンドウGW22と計算ウィンドウCW22間でのドラッグアンドドロップ操作に応じた画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW22において、先ず、入力ペン7を用いて線分描画コマンドを指定し、さらに所望の位置にタッチして線分オブジェクト140を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて線分オブジェクト140をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した線分オブジェクト140が直線式に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C254(YES)→C256→C258→C272(YES)→C276(NO))。尚、幾何ウィンドウGW22に表示される、線分オブジェクト140は、例えば、当該線分オブジェクト140上の適当な2点を入力ペン7で指示することによりコピー対象に指定することができる。
そして、ドラッグ操作を開始した線分オブジェクト140を計算ウィンドウCW22上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図18(b)に示すように、直線式“y=x”が計算ウィンドウCW22のカーソル位置に貼り付けられて表示される(図10ステップD16)。
さらに図18(c)に示すように、計算ウィンドウCW22において、例えば、入力ペン7を用いて直線式を変更し(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)、当該変更した直線式“y=2x”の文字列領域T40を入力ペン7を用いた範囲指定操作により指定して反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した直線式がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T40を幾何ウィンドウGW22上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD228(YES))、図18(d)に示すように、指定した直線式に基づく直線オブジェクト142が幾何ウィンドウGW22に描画される(図11ステップD230→C248(NO))。
図19は、幾何ウィンドウGW26と計算ウィンドウCW26間でのドラッグアンドドロップ操作に応じた画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW26において、先ず、入力ペン7を用いて直線描画コマンドを指定し、さらに所望の位置にタッチして直線オブジェクト150を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて直線オブジェクト150をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した直線オブジェクト150が直線式に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C254(YES)→C256→C258→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始した直線オブジェクト150を計算ウィンドウCW26上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図19(b)に示すように、直線式“y=0.5*x−1.5”が計算ウィンドウCW26のカーソル位置に貼り付けられて表示される(図10ステップD16)。
さらに、図19(c)に示すように、計算ウィンドウCW26において、入力ペン7を用いて直線式を変更し(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)、当該変更した直線式“y=0.5*x−1.5”の文字列領域T50を入力ペン7を用いた範囲指定操作により指定して反転表示させてコピー対象に指定し、ドラッグ操作を開始するとコピー/ドラッグ処理が行われ、指定した直線式がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T50を幾何ウィンドウGW26上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD228(YES))、図19(d)に示すように、指定した直線式に基づく直線オブジェクト152が幾何ウィンドウGW26に描画される(図11ステップD230→C248(NO))。
図20は、幾何ウィンドウGW30に描画された円オブジェクト160を計算ウィンドウCW30にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW30において、先ず、入力ペン7を用いて円描画コマンドを指定し、さらに所望の位置にタッチして円オブジェクト160を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて円オブジェクト160をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した円オブジェクト160が該当する円の方程式を表す文字列に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C260(YES)→C262→C264→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始した円オブジェクト160を計算ウィンドウCW30上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図20(b)に示すように、円の方程式“x2+y2−4=0”が計算ウィンドウCW30のカーソル位置に貼り付けられて表示される(図10ステップD16)。
図21は、計算ウィンドウCW32に表示された円の方程式を幾何ウィンドウGW32にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す計算ウィンドウCW32において、先ず、入力ペン7を用いて円の方程式を入力する(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)。
そして、入力ペン7を用いた範囲指定操作により当該円の方程式“x2+y2−9=0”の文字列領域T60を反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した円の方程式がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T60を幾何ウィンドウGW32上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD232(YES))、図21(b)に示すように、指定した円の方程式に基づく円オブジェクト160が幾何ウィンドウGW32に描画される(図11ステップD234→C248(NO))。
さらに、図21(c)に示すように、計算ウィンドウCW32において、入力ペン7を用いて円の方程式を追加し、当該追加した円の方程式“x2+y2=25”の文字列領域T62を入力ペン7を用いた範囲指定操作により指定して反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した円の方程式がコピーバッファ808に格納される。
図22は、幾何ウィンドウGW34に描画された円弧オブジェクト170を計算ウィンドウCW34にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW34において、入力ペン7を用いて円弧描画コマンドを指定し、さらに所望の位置にタッチして円弧オブジェクト170を描画させる(図6ステップA10→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて円弧オブジェクト170をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した円弧オブジェクト170が該当する円の方程式に変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C260(YES)→C262→C264→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始した円弧オブジェクト170を計算ウィンドウCW34上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図22(b)に示すように、円の方程式“x2+y2−4=0”が計算ウィンドウCW34のカーソル位置に貼り付けられて表示される(図10ステップD16)。
さらに、図22(b)に示すように、計算ウィンドウCW34において、入力ペン7を用いて円の方程式を変更し、当該追加した円の方程式“x2+y2=9”の文字列領域T70を入力ペン7を用いた範囲指定操作により指定して反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した円の方程式がコピーバッファ808に格納される。
そして、ドラッグ操作を開始した文字列領域T70を幾何ウィンドウGW34上にドロップ操作すると、図22(c)に示すように、指定した円の方程式に基づく円オブジェクト172が幾何ウィンドウGW34に描画される。
図23は、幾何ウィンドウGW36に描画された楕円オブジェクト180を計算ウィンドウCW36にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW36において、先ず、入力ペン7を用いて楕円描画コマンドを指定し、さらに所望の位置にタッチして楕円オブジェクト180を描画させる(図6ステップA10→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて楕円オブジェクト180をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した楕円オブジェクト180が該当する楕円の方程式に変換されコピーバッファ808に格納される(図6ステップA14→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C260(YES)→C262→C264→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始した楕円オブジェクト180を計算ウィンドウCW36上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図23(b)に示すように、楕円の方程式“0.25*x^2−1=0”が計算ウィンドウCW36のカーソル位置に貼り付けられて表示される(図10ステップD16)。
図24は、計算ウィンドウCW38に表示された楕円の方程式を幾何ウィンドウGW38にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す計算ウィンドウCW38において、先ず、入力ペン7を用いて楕円の方程式を入力する(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)。
そして、入力ペン7を用いた範囲指定操作により当該楕円の方程式“x2/4+y2/9−4=0”の文字列領域T80を反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した楕円の方程式がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T80を幾何ウィンドウGW38上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD232(YES))、図24(b)に示すように、指定した楕円の方程式に基づく楕円オブジェクト182が幾何ウィンドウGW38に表示される(図11ステップD234→C248(NO))。
また、図24(c)は、楕円オブジェクト182の概形を視認できるように、計算ウィンドウCW38を閉じて幾何ウィンドウGW38を拡大させた場合の画面例を示している。
図25は、幾何ウィンドウGW40に描画された関数グラフオブジェクト190を計算ウィンドウCW40にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW40において、入力ペン7を用いて関数グラフ描画コマンドを指定し、さらに所望の位置にタッチして関数グラフオブジェクト190を描画させる(図6ステップA10→A12→図7ステップB16(YES)→B18→B20(YES)→B22→B24)。
次に、入力ペン7を用いて関数グラフオブジェクト190をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した関数グラフオブジェクト190が該当する関数式に変換されてコピーバッファ808に格納される(図6ステップA14→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C266(YES)→C268→C270→C272(YES)→C276(NO))。
そして、ドラッグ操作を開始した関数グラフオブジェクト190を計算ウィンドウCW40上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図25(b)に示すように、関数式“x^2”が計算ウィンドウCW40のカーソル位置に貼り付けられて表示される(図10ステップD16)。
図26は、計算ウィンドウCW41に表示された関数式を幾何ウィンドウGW41にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す計算ウィンドウCW41において、先ず、入力ペン7を用いて関数式を入力する(図6ステップA10(YES)→A12→図7ステップB10(YES)→B12(YES)→B14)。
そして、入力ペン7を用いた範囲指定操作により当該テキスト入力した関数式“x^2−3”の文字列領域T90を反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した関数式がコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(YES)→C14→C16)。
そして、ドラッグ操作を開始した文字列領域T90を幾何ウィンドウGW41上にドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D18(YES)→D20→D22→図11ステップD236(YES))、図26(b)に示すように、指定した関数式に基づく関数グラフオブジェクト192が幾何ウィンドウGW41に描画される(図11ステップD238→C240(NO)→C242→C248(NO))。
さらに、図26(c)に示すように、計算ウィンドウCW41において、入力ペン7を用いて関数式を追加し、当該追加した関数式“x^2*sin(x)”の文字列領域T92を入力ペン7を用いた範囲指定操作により指定して反転表示させてコピー対象に指定し、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定した関数式がコピーバッファ808に格納される。
そして、ドラッグ操作を開始した文字列領域T92を幾何ウィンドウGW41上にドロップ操作すると、指定した関数式に基づく関数グラフオブジェクト194が幾何ウィンドウGW41に描画される。
図27は、幾何ウィンドウGW42に描画された直線オブジェクト200,202を計算ウィンドウCW42にドラッグアンドドロップする際の画面遷移例を示す図である。同図(a)に示す幾何ウィンドウGW42において、先ず、入力ペン7を用いて直線描画コマンドを指定し、さらに所定の位置にタッチして2つの直線オブジェクト200,202を描画させる(図6ステップA10(YES)→A12→図7ステップB16(YES)→B18→B20(NO))。
次に、入力ペン7を用いて2つの直線オブジェクト200,202をコピー対象に指定しドラッグ操作を開始すると、コピー/ドラッグ処理が行われ,指定した直線オブジェクト200,202が該当する直線式にそれぞれ変換されコピーバッファ808に格納される(図6ステップA14(YES)→A16→図8ステップC10→C12(NO)→C18(YES)→C20→C22→C24→図9ステップC240→C254(YES)→C256→C258→C272(NO)→C276(YES)→C278)。尚、幾何ウィンドウGW42に表示される2つの直線オブジェクト200,202は、例えば、当該直線オブジェクト200,202上の適当な2点をそれぞれ指定することによりコピー対象に指定することができる。
そして、ドラッグ操作を開始した各直線オブジェクト200,202を計算ウィンドウCW42上の位置を指定してドロップ操作すると(図6ステップA18(YES)→A20→図10ステップD10→D12(YES)→D14(YES))、図27(b)に示すように、各直線オブジェクト200,202の直線式“y=x−2”,“y=−2*x+2”が計算ウィンドウCW42のカーソル位置に貼り付けられて連立形式で表示される(図10ステップD16)。
また、この(b)に示す計算ウィンドウCW42において連立方程式の実行指示を入力すると、(c)に示すように、当該連立方程式の解の算出指示処理が実行されて計算ウィンドウCW42が表示更新される。
以上説明したように、第1の実施の形態によれば、互いに表示形態が異なる幾何ウィンドウと計算ウィンドウの内、何れか一方の画面の表示内容が選択されてコピー操作がなされ、他方の画面が指定されてペースト操作がなされた際に、当該選択された一方の画面の表示内容を、他方の画面の表示形態に応じて表示させることができる。
即ち、例えば、幾何ウィンドウに表示された幾何図形オブジェクトを選択し、ドラッグアンドドロップ操作により計算ウィンドウ上に移動させることにより、幾何ウィンドウ上で選択した幾何図形オブジェクトに対応する計算データ(数式)を、計算ウィンドウのカーソル位置に表示させることができる。また、計算ウィンドウに表示された計算データ(数式)を選択し、ドラッグアンドドロップ操作により幾何ウィンドウ上に移動させることにより、計算ウィンドウ上で選択した計算データ(数式)に基づく幾何図形オブジェクトを、幾何ウィンドウに表示させることができる。
また、例えば、幾何ウィンドウに表示される幾何図形オブジェクトを選択し、平行移動操作を入力して表示位置を変更した後、当該幾何図形オブジェクトを計算ウィンドウにコピーすると、計算ウィンドウに、平行移動操作後の計算データを表示させることができる。さらに、計算ウィンドウで編集・計算処理を行った計算データを幾何ウィンドウにコピーすることにより、幾何ウィンドウに、当該計算データに対応する幾何図形オブジェクトを表示させることができる。従って、コピーアンドペースト操作を、幾何図形オブジェクトの平行移動操作後の計算データ(数式、座標等)の変化や、当該計算データの編集・計算処理後の幾何図形オブジェクトの変化の学習に役立てることができる。
尚、上記した第1の実施の形態においては、コピーバッファ808に格納するコピーデータを、テキストデータとした場合について説明したが、幾何図形オブジェクトのデータ形式でコピーバッファ808に格納することとしても構わない。
また、幾何アプリケーションに表示される幾何図形オブジェクトの幾何種別は、上記したものに限らず、例えば、陰関数形式やパラメータ形式の曲線、立体図形等であってもよい。
〔第2の実施の形態〕
次に、本発明を適用した第2の実施の形態について説明する。尚、第2の実施の形態における関数電卓の構成は、第1の実施の形態において図3に示して説明した関数電卓1の構成において、ROM700を図28(a)に示すROM720に、RAM800を図28(b)に示すRAM820に置き換えた構成と同様であり、以下、同一の構成要素には同一の符号を付してその説明を省略する。
本発明を適用した第2の実施の形態における関数電卓1は、第1の実施の形態と同様に、幾何アプリケーションと計算アプリケーションとを搭載し、特に、幾何アプリケーションは、指定した表示範囲に基づいた座標系でグラフを表示させるグラフ描画機能を備える。
具体的には、幾何ウィンドウにおいてグラフモードの選択操作を行うと、動作モードがグラフモードに設定され、例えば、表示させるグラフのグラフ式を指定する数式入力画面や、表示範囲を設定する表示範囲設定画面等でグラフ描画に係る各種設定項目を入力すると、指定したグラフ式のグラフを、設定した表示範囲に基づいた座標系で、ビットマップ化されたイメージとしてドット描画させることができる。以下、グラフモードが設定された幾何ウィンドウを、「グラフウィンドウ」という。
先ず、図28を参照して、本発明を適用した第2の実施の形態におけるROM720とRAM820の構成について説明する。図28(a)にROM720の、(b)にRAM820の構成をそれぞれ示す。図28(a)に示すように、ROM720には、特に、メイン処理プログラム722が格納される。このメイン処理プログラム722は、データ入力処理プログラム722a、コピー/ドラッグ処理プログラム722b、及びペースト/ドロップ処理プログラム722cを有する。
また、図28(b)に示すように、RAM820は、特に、グラフウィンドウに描画するグラフのドットデータを保持するグラフウィンドウデータ822と、計算ウィンドウデータ824と、コピーバッファ826とを備える。また、グラフウィンドウデータ822は、特に、描画するグラフのグラフ式データ822aを保持する。
本発明を適用した第2の実施の形態において、グラフウィンドウと計算ウィンドウ間のコピーアンドペースト機能を実現する。CPU10は、メイン処理プログラム722に従って処理を実行する。
具体的には、CPU10は、第1の実施の形態において図6に示して説明したように、入力部20又はタブレット30を介してユーザによるデータ入力操作を検知した場合にはデータ入力処理プログラム722aに基づいてデータ入力処理を実行する。また、CPU10は、ユーザによるコピー操作又はドラッグ操作を検知した場合にはコピー/ドラッグ処理プログラム722bに基づいてコピー/ドラッグ処理を実行する。そして、CPU10は、ユーザによるペースト操作又はドラッグ操作を検知した場合にはペースト/ドロップ処理プログラム722cに基づいてペースト/ドロップ処理を実行する。そして、CPU10は、ユーザによる終了操作を検知した場合に処理を終了する。以下、図29〜図31を参照して、第2の実施の形態におけるデータ入力処理、コピー/ドラッグ処理、ペースト/ドロップ処理の各処理について説明する。
先ず、データ入力処理について説明する。図29は、データ入力処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、テキストデータが入力された場合には(ステップE10:YES)、当該テキストデータが入力された指定ウィンドウのカーソル位置がテキスト入力可能か否かを判定する(ステップE12)。そして、CPU10は、カーソル位置へのテキスト入力が不可能な場合にはエラー処理を実行し、カーソル位置へのテキスト入力が可能な場合には、入力されたテキストデータを指定ウィンドウのカーソル位置に表示させる(ステップE14)。
また、CPU10は、モードの切り替え操作が入力され、グラフモードの設定操作を検知した場合には(ステップE16:YES)、幾何ウィンドウのモードをグラフモードに設定する(ステップE18)。具体的には、CPU10は、グラフモードの設定に係る所定のプログラムを実行し、描画するグラフの数式や表示範囲の入力等、グラフの描画にかかる設定項目の入力に応じたグラフをグラフウィンドウ上に表示させる。
また、CPU10は、ウィンドウを開く/閉じる指示が入力された場合には(ステップE20:YES)、指定ウィンドウを開く/閉じる処理を実行する(ステップE22)。また、CPU10は、その他の入力操作がなされた場合には、該当する他処理へ遷移して実行する。
次に、コピー/ドラッグ処理について説明する。図30は、コピー/ドラッグ処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、先ず、コピー/ドラッグ元のウィンドウの種類を検知する(ステップF10)。
そして、CPU10は、コピー/ドラッグ元のウィンドウの種類がテキスト系ウィンドウ(例えば、計算ウィンドウ)の場合には(ステップF12:YES)、文字列の指定範囲を検知する(ステップF14)。そして、CPU10は、検知した指定範囲のテーブルデータに基づいてグラフ式を求めて文字列を作成し、コピーバッファ826に格納して(ステップF16)、本処理を終了する。
また、CPU10は、検知したコピー/ドラッグ元のウィンドウの種類が幾何系ウィンドウ(例えば、幾何ウィンドウ)の場合であって(ステップF18:YES)、当該ウィンドウのモードがグラフモードの場合(グラフウィンドウ)には(ステップF20:YES)、先ず、指定されたグラフ式を検知する(ステップF22:YES)。次いで、CPU10は、検知したグラフ式に基づいてテーブルデータを作成する(ステップF24)。そして、CPU10は、当該作成したテーブルデータに基づいて行列形式の文字列を作成してコピーバッファ826に格納し(ステップF26:YES)、本処理を終了する。
次に、ペースト/ドロップ処理について説明する。図31は、ペースト/ドロップ処理の実行に係る関数電卓1の動作を示すフローチャートである。同図に示すように、CPU10は、先ず、ペースト/ドロップ先のウィンドウの種類を検知する(ステップG10)。そして、CPU10は、コピーバッファ826内に有効なデータが有るか否かを判定し(ステップG12)、有効なデータが無い場合には、本処理を終了する。
そして、CPU10は、コピーバッファ826内に有効なデータが有る場合であって、ペースト/ドロップ先のウィンドウの種類がテキスト系ウィンドウ(例えば、計算ウィンドウ)の場合には(ステップG14:YES)、コピーバッファ826に格納される文字列をカーソル位置に表示させて(ステップG16)、本処理を終了する。
また、CPU10は、検知したペースト/ドロップ先のウィンドウの種類が幾何系ウィンドウ(例えば、幾何ウィンドウ)の場合であって(ステップG18)、当該幾何系ウィンドウのモードがグラフモードの場合(グラフウィンドウ)には(ステップG20:YES)、コピーバッファ826に格納されている先頭のデータを読み出す(ステップG22)。
そして、CPU10は、読み出したコピーバッファ826のデータが表すグラフ式に基づいて、グラフウィンドウデータを更新する(ステップG24)。具体的には、例えば、グラフウィンドウに数式入力画面が表示されている場合には、CPU10は、カーソル位置に当該グラフ式を表示させる。また、グラフウィンドウにグラフ画面が表示されている場合には、当該グラフ式に基づいてグラフを描画する。
そして、CPU10は、コピーバッファ826に次のデータがある場合には(ステップG26)、次のデータを読み出して(ステップG28)、ステップG24に戻って当該読み出した次のデータを対象に上述した処理を繰り返す。
次に、図32及び図33を参照して、ドラッグアンドドロップ操作によるグラフウィンドウと計算ウィンドウ間でのコピーアンドペースト操作について説明する。
グラフウィンドウの数式入力画面
図32は、計算ウィンドウCW100に表示されたテーブルデータをグラフウィンドウGW100にドラッグアンドドロップする際の画面遷移例を示す図である。同図において、グラフウィンドウGW100には、グラフ画面に表示させるグラフのグラフ式を指定するための数式入力画面が表示されている。同図(a)において、先ず、入力ペン7を用いてテーブルデータ作成コマンドを指定し、計算ウィンドウCW100にテーブルデータの文字列を入力する(図29ステップE10(YES)→E12(YES)→E14)。次に、入力ペン7を用いた範囲指定操作により計算ウィンドウCW100上に表示されたテーブルデータの文字列を指定して反転表示させる。そして、ドラッグ操作を開始すると、コピー/ドラッグ処理が行われ、指定領域T100のデータに基づいてグラフ式が求められ、コピーバッファに格納される(図30ステップF10→F23(YES)→F14→F16)。そして、ドラッグ開始した指定領域T100をグラフウィンドウGW100上にドロップ操作するとペースト/ドロップ処理が行われ(図31ステップG10→G18(YES)→G20(YES)→G22→G24)、(b)に示すように、数式入力画面に、当該テーブルデータに基づいて求められたグラフ式が追加されて(貼り付けられて)反転表示される。
図33は、グラフウィンドウGW120に表示されたグラフ式データを計算ウィンドウCW120にドラッグアンドドロップする際の画面遷移例を示す図である。グラフウィンドウGW120には、指定されたグラフ式に基づくグラフを表示させたグラフ画面が表示されている。同図(a)において、先ず、グラフモードで入力ペン7を用いてグラフ式表示エリア220をタッチ操作して文字列を入力することによりグラフ式を入力する(図29ステップE16(YES)→E18)。次に、入力ペン7を用いた範囲指定操作によりグラフウィンドウGW120上のグラフ式表示エリア220に表示されるグラフ式を指定して反転表示させる。そして、ドラッグ操作を開始するとコピー/ドラッグ処理が行われ、指定したグラフ式に基づいたテーブルデータが作成されて、コピーバッファに格納される(図30ステップF10→F18(YES)→F20(YES)→F22→F24→F26)。そして、ドラッグ開始した指定領域T120を計算ウィンドウCW120上にドロップ操作するとペースト/ドロップ処理が行われ(図31ステップG10→G14(YES)→G16)、(b)に示すように、当該グラフ式に基づいて作成されたテーブルデータが計算ウィンドウCW120のカーソル位置に貼り付けられて表示される。
また、例えば、図33(b)に示す計算ウィンドウCW120においてテーブルデータを編集した後、当該テーブルデータを、入力ペン7を用いた範囲指定操作により指定して反転表示させ、ドラッグアンドドロップ操作によりグラフウィンドウGW120上に移動させると、当該テーブルデータに基づいて求められたグラフ式でグラフ式表示エリア220が更新されるとともに、グラフウィンドウGW120が再描画され、当該グラフ式に基づいたグラフが描画されることとしてもよい。
以上説明したように、第2の実施の形態よれば、グラフウィンドウと計算ウィンドウの内、何れか一方の画面の表示内容が選択されてコピー操作がなされ、他方の画面が指定されてペースト操作がなされた際に、当該選択された一方の画面の表示内容を、他方の画面の表示形態に応じて表示させることができる。
即ち、例えば、グラフウィンドウに表示されたグラフ式データを選択し、ドラッグアンドドロップ操作により計算ウィンドウ上に移動させることにより、グラフウィンドウ上で選択したグラフ式に基づくテーブルデータを、計算ウィンドウのカーソル位置に表示させることができる。また、計算ウィンドウに表示されたテーブルデータを選択し、ドラッグアンドドロップ操作によりグラフウィンドウ上に移動させることにより、計算ウィンドウ上で選択したテーブルデータに基づくグラフ式、又は当該グラフ式に基づくグラフを、グラフウィンドウに表示させることができる。
〔第3の実施の形態〕
次に、本発明を適用した第3の実施の形態について説明する。図34は、第3の実施の形態における関数電卓300の概念図を示している。同図に示すように、関数電卓300は、CPUにより実行されるプログラム群として、基底クラス310と、幾何アプリケーション320と、計算アプリケーション330と、幾何/数式変換モジュール340と、数式/幾何変換モジュール350とがあり、CPUはこれらのプログラムの実行に際に、RAMの一部であるコピーバッファ360を用いて処理を行う。以下、簡便のため、これらのプログラムを主体として説明するが、実際には、CPUによって実行・実現されるものである。
基底クラス310は、関数電卓300の備える各種アプリケーションや各種モジュールを統括的に管理し、関数電卓300の動作を制御するためのプログラムである。特に、基底クラス310は、表示画面上に表示された幾何ウィンドウと計算ウィンドウ間でのドラッグアンドドロップ操作等によるコピーアンドペースト指示を監視し、幾何ウィンドウから計算ウィンドウへのコピーアンドペースト操作を検知した場合には、幾何/数式変換モジュール340を起動し、計算ウィンドウから幾何ウィンドウへのコピーアンドペースト操作を検知した場合には、数式/幾何変換モジュール350を起動する。
幾何アプリケーション320は、各種幾何図形描画機能を有するアプリケーションプログラムであり、当該幾何アプリケーション320で利用可能なデータ形式で記述された幾何モデルを扱う。
計算アプリケーション330は、各種計算機能を有するアプリケーションプログラムであり、当該計算アプリケーション330で利用可能なデータ形式で記述された数式モデルを扱う。
幾何/数式変換モジュール340は、幾何アプリケーションで作成された幾何モデルを計算アプリケーション330に渡す際のインターフェース用のプログラムである。即ち、幾何/数式変換モジュール340は、幾何アプリケーション320で作成された幾何モデルの計算アプリケーション330へのコピーアンドペースト指示に応じて、コピーバッファ360に格納された幾何モデルを数式モデルに変換する。
数式/幾何変換モジュール350は、計算アプリケーションで作成された数式モデルを幾何アプリケーション320に渡す際のインターフェース用のプログラムである。即ち、数式/幾何変換モジュール350は、計算アプリケーションで作成された数式モデルの幾何アプリケーション320へのコピーアンドペースト指示に応じて、コピーバッファ360に格納された数式モデルを幾何モデルに変換する。
コピーバッファ360は、幾何アプリケーション320でコピーされた幾何モデルや、計算アプリケーション330でコピーされた数式モデルを一時的に保持するための記憶領域であり、幾何/数式変換モジュール340が幾何モデルを数式モデルに変換する際、又は数式/幾何変換モジュール350が数式モデルを幾何モデルに変換する際の作業領域として使用される。
図35は、幾何アプリケーション320でコピーした幾何モデルを計算アプリケーション330にペーストする際の関数電卓300の動作を示すフローチャートである。基底クラス310が、幾何ウィンドウ上の幾何モデルのコピー操作を検知すると、図35に示すように、先ず、幾何アプリケーション320が、当該選択された幾何モデルをコピーし、基底クラス310を介してコピーバッファ360に格納する(ステップH10)。次いで、幾何/数式変換モジュール340が、コピーバッファ360に格納された幾何モデルを数式モデルに変換して、コピーバッファ360を更新する(ステップH12)。次いで、計算アプリケーション330が、コピーバッファ360の数式モデルを読み出して計算ウィンドウのカーソル位置にペーストし、当該数式モデルを計算ウィンドウ上に表示させる(ステップH14)。
図36は、計算アプリケーション330でコピーした数式モデルを幾何アプリケーション320にペーストする際の関数電卓300の動作を示すフローチャートである。基底クラス310が、計算ウィンドウ上の数式モデルのコピー操作を検知すると、図36に示すように、先ず、計算アプリケーション330が、当該選択された数式モデルをコピーし、基底クラス310を介してコピーバッファ360に格納する(ステップI10)。次いで、数式/幾何変換モジュール350が、コピーバッファ360に格納された数式モデルを幾何モデルに変換して、コピーバッファ360を更新する(ステップI12)。次いで、幾何アプリケーション320が、コピーバッファ360の数式モデルを幾何ウィンドウに描画して、当該幾何モデルを幾何ウィンドウ上に表示させる(ステップI14)。
以上説明したように、第3の実施の形態によれば、コピー元のアプリケーションのデータの表示形態を、コピー先のアプリケーションのデータの表示形態に変換する処理を記述した変換モジュールをそれぞれ備えることにより、表示形態の異なるアプリケーション間でのコピーアンドペースト機能を実現している。
尚、上記した第3の実施の形態では、幾何アプリケーションと計算アプリケーション間でのコピーアンドペースト操作について説明したが、コピー元のアプリケーションの表示形態をコピー先のアプリケーションの表示形態に変換する処理を記述した変換モジュールを追加することにより、例えば、ワープロソフト、表計算ソフト、ペイントソフト、統計ソフト等、表示形態の異なる何れのアプリケーション間のコピーアンドペースト操作でも実現することが可能である。
例えば、関数電卓300に、幾何モデルをビットマップイメージに変換する変換モジュール及びビットマップイメージを幾何モデルに変換する変換モジュールを追加すれば、幾何アプリケーションと、ペイントソフト等のビットマップイメージを扱う描画アプリケーションとの間のコピーアンドペースト機能を実現することができる。
尚、上記した第1〜第3の実施の形態例においては、幾何アプリケーションと計算アプリケーションの2つのアプリケーションを起動して、表示画面上に幾何ウィンドウと計算ウィンドウの2つの画面を表示させた場合について説明したが、3つ以上のアプリケーションを起動し、コピー元の画面とコピー先の画面を適宜選択することとしても勿論構わない。
以上、3つの実施の形態について、本発明を関数電卓に適用した場合を例にとって説明したが、本発明である図形表示制御装置を汎用コンピュータやパーソナルコンピュータ等によって実現することも勿論可能である。具体的には、上述した各プログラムをオペレーティングシステム(OS)下で稼動するソフトウェアとして構成させ、ハードディスク、磁気ディスク、光ディスク等の各種記憶媒体に格納する。この場合には、例えば、マウス等のポインティングデバイスを用いたドラッグアンドドロップ操作により、コピーアンドペースト指示を入力する。