(57)【特許請求の範囲】
【請求項１】
入力された数式について、前記数式内の指定された要素を、前記数式内の指定された位置において数学上の規則に則り移項し、編集し、変更する数式処理システムにおいて、
操作者が数式を入力する入力手段と、
操作者が前記数式内の要素を指定する第２の指示と、前記要素をドラッグする第１の指示と、を入力する指示手段と、
前記数式内をドラッグ中の前記第１の指示に対応して前記指示手段から出力されるドラッグ先の位置座標と、前記要素に関する情報と、記憶手段によりあらかじめ記憶された数式変形のための数学上の規則と、から前記ドラッグ先の位置座標における前記数式の変形結果の複数の候補を逐次生成する操作手段と、
操作手段から出力された前記複数の候補を表示する表示手段と、
前記表示手段が表示した前記複数の候補の中から操作者が１つを選択する選択手段と、
を備えたことを特徴とする数式処理システム。
【請求項２】
前記操作手段は、前記指示手段から出力される前記ドラッグ先の位置座標の変更を検出すると、前記表示手段により表示されている数式の変形候補を非表示にする指示と、変更後の新規のドラッグ先の位置座標に対応した前記数式の新規の複数の変形候補と、を生成して前記表示手段に出力することを特徴とする請求項１に記載の数式処理システム。
【請求項３】
前記記憶手段は、ユーザによって定義された数式変形の規則を記
憶保持することを特徴とする請求項１に記載の数式処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータを用いて数式を変形するための数式処理システム、数式処理方法及び数式処理用プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
近年、コンピュータの処理能力が飛躍的に向上している。コンピュータの処理能力の向上に伴って、操作者とコンピュータとのインターフェースとして、操作者が視覚的に内容を把握しやすいＧＵＩ（Graphical User Interface）が広まっている。ＧＵＩは、基本的に画面上で作成したものがそのまま印刷等によって得られるという利点を有する。従って、近年ではワードプロセッサや図形描画ソフトがＧＵＩを利用して作成されている。
【０００３】
このような背景のもと、数式の作成や編集もコンピュータを用いて行われている。数式を作成する際には、従来は単に数式の入力や、入力した数式の修正を行うのみであったが、近年、数式の変形（例えば、移項、展開等）を自動化するソフトウェアが作り出されている。このような技術は、例えば、United States Patent 5,189,633 (Feb. 23, 1993) “APPARATUS AND METHOD FOR INTERACTIVELY MANIPULATING MATHEMATICAL EQUATIONS”に開示されている。また、Apple社のコンピュータに組み込まれているソフトウェア“グラフ計算機”でもこの様な機能が実現されている。
【０００４】
ここで、従来のコンピュータを用いた数式変形に関する技術について図１１及び１２を参照して説明する。
【０００５】
図１１において、入力手段１００は、例えばキーボードであり、指示手段１０２は、例えば図１２に示したマウス１３０である。入力手段１００は、操作者が数式を入力する時に主として用いられ、入力された数式に応じた数式データを出力する。指示手段１０２は、操作者が変形箇所等を指示する時に主として用いられ、指示された修正対象の数式及び座標を出力する。また、変形処理を指示するための指示信号を出力する。図１２に示すように、マウス１３０は、左ボタン１３２と右ボタン１３４とを有する。左ボタン１３２、右ボタン１３４はそれぞれ押圧したり、離したりすることにより、“左Down”、“左Up”、“右Down”、“右Up”といった指示信号を出力する。
【０００６】
コンピュータ１１０は、例えば一般的なパーソナルコンピュータである。コンピュータ１１０は、処理手段１１２及び操作手段１１４を有する。
【０００７】
処理手段１１２は、入力手段１００から出力された数式データに基づいて表示データを生成する。また、操作手段１１４は、指示手段１０２によって指示された修正対象の数式及び座標に基づいて、数式の変形結果を生成する。
【０００８】
表示手段１２０は、例えばＣＲＴ（cathod ray tube）等のディスプレイ装置であり、処理手段１１２により作成された表示データを表示する。
【０００９】
以下、このような構成を有する従来の技術の動作について説明する。
【００１０】
まず、操作者が入力手段１００によって数式を入力すると、数式データが入力手段１００から処理手段１１２へ出力される。処理手段１１２は、入力された数式データから表示データを作成し、表示手段１２０へ出力する。表示手段１２０は、処理手段１１２から出力された表示データを表示する。
【００１１】
次に、操作者が入力した数式の特定の箇所を修正（変形）する場合の動作について説明する。この場合、まず操作者は操作手段１０２を操作して、表示手段１２０によって表示された数式中の要素を特定する。この特定した要素上にマウス１３０のカーソルを移動させ、左ボタン１３２を押圧することにより指示手段１０２は操作対象の数式と“左Down”指示信号を出力する。
【００１２】
操作手段１１４は、指示手段１０２から操作対象の数式と“左Down”指示信号が入力されると、操作対象の数式を保持する（以下、この数式の保持を「グラブ」と称する）。
【００１３】
次に、操作者が左ボタン１３２を押したまま、マウス１３０のカーソルを移動すると、指示手段１０２は、“左Down”指示信号を出力したまま、カーソルの移動に伴って逐次変化する座標を出力する。
【００１４】
操作手段１１４は、指示手段１０２から逐次変化する座標と“左Down”指示信号とが入力されると、“左Down”指示信号が連続して入力されていることを確認し、グラブした要素を移動する（以下、この処理を「ドラッグ」と称する）。
【００１５】
最後に、操作者が操作のための座標までドラッグした後、その座標上で左ボタン１３２を離すと、指示手段１０２は“左Up”指示信号を出力する。
【００１６】
操作手段１１４は、指示手段１０２から“左Up”指示信号が入力されると、ドラッグした要素をその座標上に落とす（以下、この処理を「ドロップ」と称する）。
【００１７】
更に、この時、操作手段１１４は、ドロップした操作対象の数式と操作のための座標とをもとに、数式の変形結果を生成し、これを処理手段１１２へ出力する。ここで、操作手段１１４は、数学規則に則り変形結果を生成する。
【００１８】
次に、処理手段１１２は、操作手段１１４から出力された数式の変形結果に基づいて表示データを生成し、これを表示手段１２０へ出力する。表示手段１２０は表示データを表示する。
【００１９】
従来はこのようにして数式の入力及び数式の修正（変形）が行われていた。
【００２０】
【発明が解決しようとする課題】
しかしながら、操作者が数式を変形する場合を考えると、思い通りの変形結果を得るためのドロップ位置を操作者が完全に認識しておくことは極めて難しい。従来の技術では、どの様な結果が得られるかは、一度ドラッグ及びドロップを実行しないと操作者に分かり得なかった。
【００２１】
これを改善するため、ドラッグ中に変形結果を表示する様に工夫された例もある。しかし、この例は、ドラッグ中に表示される変形結果を常に１つに限定するものであり、多くの変形の可能性を失わせるものであった。また、この例は、ドラッグ中にもともと表示されていた数式を変形結果によって順次置き換えていくものであるため、ドラッグ中に何がどのように変化するかが予測不可能であり、操作者が望む変形を行えるという保証は全くないものであった。
【００２２】
つまり、従来のコンピュータを用いた数式変形に関する技術では、数式を変形するにあたって思い通りの結果を容易に得ることができないという問題があった。
【００２３】
本発明は、上記問題点を解決するためになされたものであり、操作者の思い通りの結果を得ること、および、数式の変形を任意の回数行いその最終結果だけを表示することを可能にし、これによって、数式の変形結果の導出の容易化を図ることのできる数式処理システム、数式処理方法および数式処理用プログラムを記録した記録媒体を提供することを目的とする。
【００２４】
【課題を解決するための手段】
本発明の第１の数式処理システムは、操作者の第１の指示により特定された前記数式内の位置に関する情報と、操作者の第２の指示により特定された前記数式内の部分に関する情報とを出力する指示手段と、前記指示手段から出力される前記位置に関する情報及び前記部分に関する情報に基づいて、前記数式の変形結果の複数の候補を生成する操作手段と、操作者の指示により、前記複数の候補の中から１つを選択する選択手段とを備えている。
【００２５】
本発明の第２の数式処理システムは、上記第１の数式処理システムにおいて、前記操作手段は、前記指示手段から出力される前記位置に関する情報が異なれば、前記複数の候補として、異なる候補を生成することを特徴とする。
【００２６】
本発明の第３の数式処理システムは、上記第１の数式処理システムにおいて、前記複数の候補の表示を制御する選択ウィンドウ制御手段と、前記選択ウィンドウ制御手段の制御の下、前記複数の候補を表示する選択ウィンドウを生成する選択ウィンドウ生成手段と、前記選択ウィンドウを表示する表示手段とをさらに備えている。
【００２７】
本発明の第４の数式処理システムは、上記第１の数式処理システムにおいて、操作者の操作に応じて、入力される数式に対応する数式データを出力する入力手段と、前記数式データに対応する表示データを作成する処理手段とをさらに備えている。
【００２８】
本発明の第５の数式処理システムは、上記第４の数式処理システムにおいて、前記処理手段は、前記選択ウィンドウに基づいた表示データを作成し、前記表示手段に出力することを特徴とする。
【００２９】
本発明の第６の数式処理システムは、上記第１の数式処理システムにおいて、前記操作手段は、前記複数の候補を生成する数式変形候補発生手段と、前記数式変形候補発生手段が生成した複数の候補を記憶保持する数式変形候補保持手段とを含むことを特徴とする。
【００３０】
本発明の第７の数式処理システムは、上記第１の数式処理システムにおいて、前記操作手段は、操作者によって定義された数式変形のルールを記憶保持するユーザ定義ルール保持手段を含むことを特徴とする。
【００３１】
本発明の第８の数式処理システムは、上記第７の数式処理システムにおいて、前記操作者によって定義された数式変形のルールを記録する記録媒体をさらに含むことを特徴とする。
【００３２】
本発明の第９の数式処理システムは、上記第８の数式処理システムにおいて、前記ユーザ定義ルール保持手段は、前記数式変形のルールを前記記録媒体から読み込み、保持している数式変形のルールを前記記録媒体に書き込むことを特徴とする。
【００３３】
本発明の第１０の数式処理システムは、上記第５の数式処理システムにおいて、前記選択手段は、操作者によってキャンセルが指示があった場合、前記操作手段を介して前記処理手段にキャンセル信号を出力し、前記処理手段は、前記キャンセル信号が入力された場合、前記選択ウィンドウに基づいた表示データを削除することを特徴とする。
【００３４】
本発明の第１１の数式処理システムは、上記第４の数式処理システムにおいて、前記入力手段から出力される数式データを変換してから、前記処理手段に出力する変換手段をさらに備えている。
【００３５】
本発明の第１２の数式処理システムは、上記第４の数式処理システムにおいて、前記入力手段は、操作者により記号又は文字式が入力されると、当該記号に対応する記号データ又は当該文字式に対応する文字式データを出力し、前記処理手段は、前記記号データ又は文字式データを含む指示データを作成し、前記操作手段は、前記指示データに基づき、複数の候補を生成することを特徴とする。
【００３６】
本発明の第１３の数式処理システムは、上記第４の数式処理システムにおいて、前記処理手段は、他アプリケーションと連携するためのインターフェースを備え、前記入力手段、前記指示手段、前記選択手段の少なくとも１つとの間のデータの受け渡しを、前記他アプリケーションを通して行うことを特徴とする。
【００３７】
本発明の第１の数式処理方法は、操作者の第１の指示により特定された前記数式内の位置に関する情報と、操作者の第２の指示により特定された前記数式内の部分に関する情報とを出力する第１のステップと、前記位置に関する情報及び前記部分に関する情報に基づいて、前記数式の変形結果の複数の候補を生成する第２のステップと、操作者の指示により、前記複数の候補の中から１つを選択する第３のステップとを含んでいる。
【００３８】
本発明の第２の数式処理方法は、上記第１の数式処理方法の前記第２のステップにおいて、前記位置に関する情報が異なれば、前記複数の候補として、異なる候補を生成することを特徴とする。
【００３９】
本発明の第１の記録媒体は、操作者の第１の指示により特定された前記数式内の位置に関する情報と、操作者の第２の指示により特定された前記数式内の部分に関する情報とを出力する第１の処理と、前記位置に関する情報及び前記部分に関する情報に基づいて、前記数式の変形結果の複数の候補を生成する第２の処理と、操作者の指示により、前記複数の候補の中から１つを選択する第３の処理と、をコンピュータに実行させるプログラムを記録している。
【００４０】
本発明の第２の記録媒体は、上記第１の記録媒体に記録された前記プログラムが、前記第２の処理において、前記位置に関する情報が異なれば、前記複数の候補として、異なる候補を生成する処理を実行させることを特徴とする。
【００４１】
本発明の記録媒体群は、上記第１乃至第２の記録媒体に記録された前記プログラムを複数の部分に分割して該複数の部分をそれぞれ複数の記録媒体に記録してなる。
【００４２】
以下、本発明の数式処理システムについてより詳細に説明する。
【００４３】
図１において、入力手段１０は、操作者が数式を入力するために用いる手段である。指示手段１２は、操作対象の数式の要素を特定し、操作（例えば、編集、変形）のための座標を指示する。また、指示手段１２は、指示信号（例えば、“左Down”、“左Up”）も出力する。選択手段１４は、操作者の操作に基づいて、表示手段３０によって表示された選択情報（例えば、数式を変形する候補を示す情報）から特定の選択情報を選択して、後述の選択ウィンドウ生成手段２８へ出力する。
【００４４】
コンピュータ２０は、処理手段２２、操作手段２４、選択ウィンドウ制御手段２６、及び選択ウィンドウ生成手段２８を有する。処理手段２２は、入力手段１０から出力された数式データをもとに表示データを生成するとともに、選択ウィンドウ生成手段２８から出力された選択ウィンドウのデータをもとに表示データを生成する。操作手段２４は、指示手段１２から出力された操作対象の数式、操作のための座標及び指示信号に基づいて、数式の変形結果の複数の候補を生成、保持する。ここで、操作手段２４は、数学規則、又は操作者が設定した規則に則り、候補を生成する。
【００４５】
表示手段３０は、処理手段２２から出力される表示データを表示する。
【００４６】
図１において、操作者が入力手段１０を操作して数式を入力すると、処理手段２２は、入力手段１０から出力された数式データをもとに表示データを生成し、これを表示手段３０に出力する。表示手段３０は表示データを表示する。
【００４７】
操作手段２４は、指示手段１２から出力された数式の範囲を指示する信号によりグラブを行う。数式の範囲が特定されると、操作者の操作により特定された数式の範囲を移動（ドラッグ）する処理が行われる。この処理は操作者が指示手段１２を操作して行う。
【００４８】
ここでまず、操作手段２４は、ドラッグ開始信号を選択ウィンドウ制御手段２６に出力する。そして、指示手段１２が出力する数式及び操作のための座標に基づいて数式の変形結果の複数の候補を生成、保持し、これらも選択ウィンドウ制御手段２６に出力する。選択ウィンドウ制御手段２６は、ドラッグ開始信号を入力すると、ウィンドウの制御を行う制御信号及び操作手段２４から出力される数式の変形結果の複数の候補を選択ウィンドウ生成手段２８へ出力する。
【００４９】
選択ウィンドウ生成手段２８は、選択ウィンドウ制御手段２６から出力される制御信号及び数式の変形結果の複数の候補をもとに、選択情報を含む選択ウィンドウのデータを生成する。
【００５０】
操作者が指示手段１２を操作してドラッグ位置（座標）を変更すると、操作手段２４は、指示手段１２から出力された数式及び逐次変化する座標に基づいて、数式の変形結果の複数の候補を逐次生成、保持し、これを選択ウィンドウ制御手段２６に出力する。ここで、操作手段２４は、数学規則、もしくは操作者が設定した規則に則り、複数の候補を生成する。選択ウィンドウ制御手段２６は、操作手段２４から出力される数式の変形結果の候補を受け取り、この信号とともに制御信号を選択ウィンドウ生成手段２８へ出力する。選択ウィンドウ生成手段２８は、数式の変形結果の複数の候補を含む選択ウィンドウのデータを生成する。処理手段２２は、選択ウィンドウ生成手段２８により生成された選択ウィンドウのデータをもとに表示データを生成し、表示手段３０は表示データを表示する。この処理は操作者が指示手段１２を操作して座標を変更する度に繰り返し行われる。
【００５１】
表示された選択情報から操作者がある選択情報を選択すると、選択手段１４は、その選択された選択情報を選択ウィンドウ生成手段２８に出力する。この選択情報は選択ウィンドウ制御手段２６を介して操作手段２４へ出力される。
【００５２】
操作手段２４は、保持していた数式の変形結果の複数の候補の中から、入力された選択情報に従い、選択された変形結果を抜き出し、これを処理手段２２に出力する。処理手段２２は、操作手段２４から出力された変形結果をもとに表示データを生成し、これを表示手段３０に出力する。表示手段３０は、その表示データを表示する。
【００５３】
また、本発明の処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体は、図１中の記録媒体３２に相当する。上記プログラムをコンピュータ２０に読み込ませて、以上の処理を実現するようにしても良い。
【００５４】
このようにして、本発明は操作者のドラッグ操作中にドラッグ位置に対応する数式の変形結果の候補を表示し、ドロップ操作により数式の変形結果を確定することを可能にする。
【００５５】
更に、数式の変形結果の候補を選択する時に、操作者が選択手段１４により操作のキャンセルを指示すると、選択手段１４は、選択ウィンドウ生成手段２８及び選択ウィンドウ制御手段２６を介して操作手段２４にキャンセル信号を出力する。このキャンセル信号が入力されると、操作手段２４は更に処理手段２２に対してキャンセル信号を出力する。処理手段２２は、これに応じて、表示手段３０にキャンセル信号を出力する。キャンセル信号を入力した表示手段３０は、選択情報に基づく表示データの表示を停止する。
【００５６】
このようにして、本発明は一度指示した数式の変形操作を変形の候補を確認した後でキャンセルすることを可能にする。
【００５７】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態による数式処理システムについて説明する。
〔第１の実施の形態〕
図２において、１０は入力手段であり、操作者が数式を入力するものである。入力手段１０は例えばキーボード、マウス、ペン等である。１２は指示手段であり、操作対象の数式の要素を特定し、操作（例えば、編集、変形）のための座標を指示する。指示手段１２は、例えばキーボード、マウス、ペン等である。入力手段１０は、操作者が数式の入力を行う時に主として用いられ、入力された数式に応じた数式データを出力する。指示手段１２は、操作者が修正箇所等を指定する時に主として用いられ、指示された修正対象の数式及び座標及び指示信号を出力する。１４は選択手段であり、操作者の操作に基づいて後述する表示手段３０に表示された選択情報（例えば、数式を変形する候補を示す情報）の中から操作者が選択した選択情報を出力する。選択手段１４は、例えばキーボード、マウス、ペン等によって実現される。尚、入力手段１０、指示手段１２、選択手段１４がマウスである場合には“左Down”、“左Up”といった指示信号も出力する。
【００５８】
コンピュータ（中央処理装置；プロセッサ；データ処理装置）２０は、処理手段２２、操作手段２４、選択ウィンドウ制御手段２６、及び選択ウィンドウ生成手段２８を有する。処理手段２２は、入力手段１０から出力された数式データをもとに表示データを生成するとともに、選択ウィンドウ生成手段２８から出力された選択ウィンドウのデータをもとに表示データを生成するものである。操作手段２４は、指示手段１２から出力された操作対象の数式及び操作のための座標に基づいて、数式の変形結果の複数の候補を生成、保持する。ここで、操作手段２４は数学規則、又は操作者が設定した規則に則り、単数または複数の候補を生成する。また、操作手段２４は、指示手段１２から出力された指示信号の変化を検出し、グラブ、ドラッグおよびドロップの制御を行う。
【００５９】
ここで、コンピュータ２０は、一般的なコンピュータ、例えばパーソナルコンピュータやワークステーションによって実現され、処理手段２２、操作手段２４、選択ウィンドウ制御手段２６、及び選択ウィンドウ生成手段２８はソフトウェアによって実現される形態であっても良い。また、処理手段２２、操作手段２４、選択ウィンドウ制御手段２６、及び選択ウィンドウ生成手段２８はハードウェアで実現されていても良い。
【００６０】
なお、本明細書中で用いられている語句「数学規則に則り」とは、数式を移項する処理（例えば数式「ａｘ＝ｂ」を数式「ａｘ−ｂ＝０」に変形する処理）、数式の両辺を指示された項で除算する処理（例えば数式「ａｘ＝ｂ」を数式「ａｘ／ｂ＝１」に変形する処理）、数式の左辺と右辺とを入れ替える処理（例えば数式「ａｘ＝ｂ」を数式「ｂ＝ａｘ」に変形する処理）等をいう。
【００６１】
また、操作手段２４は、数式変形候補発生手段４０及び数式変形候補保持手段４２を含む。
【００６２】
数式変形候補発生手段４０は、指示手段１２から出力される操作対象の数式及び操作のための座標に基づいて数式の変形結果の候補を発生する。数式変形候補保持手段４２は、数式変形候補発生手段４０が発生した変形結果の候補を記憶保持するものである。
【００６３】
表示手段３０は、例えばＣＲＴ（cathod ray tube）やＬＣＤ（liquid crystal display）等のディスプレイ装置であり、処理手段２２から出力される各種の表示データを表示する。
【００６４】
なお、図２の各構成要素には、図１に示した構成要素のうちの対応する部分と同一の符号が付してある。
【００６５】
これらの手段はそれぞれ概略つぎのように動作する。
【００６６】
コンピュータ（中央処理装置；プロセッサ；データ処理装置）２０は、数式変形を含む数式に対する処理を行う。入力手段１０は、操作者の操作に基づいて数式データを出力する。
【００６７】
処理手段２２は、操作手段２４から出力されたデータをもとに表示データを生成し、表示手段３０に出力する。表示手段３０は、処理手段２２から出力された表示データを表示する。指示手段１２は、数式処理のための操作者の指示を処理し、操作対象の数式、操作のための座標及び指示信号を操作手段２４に出力する。操作手段２４は、グラブ、ドラッグ及びドロップ操作を制御し、数式変形候補発生手段４０及び数式変形候補保持手段４２を用いて、ドラッグ中に入力された操作対象の数式及び操作のための座標に基づき数式変形の候補を発生、保持する。選択ウィンドウ制御手段２６は、操作手段２４が制御する操作に基づいて、選択ウィンドウ生成手段２８を制御する。選択ウィンドウ生成手段２８は、選択ウィンドウ制御手段２６の制御に基づき、ドラッグ中に逐次変化する数式変形の候補を表示するための手段である。さらに操作手段２４は、ドロップ操作に対応して選択手段１４から出力される選択情報に基づき数式の変形結果を発生し、処理手段２２に出力する。選択手段１４は、数式変形の複数の候補の中から１つを選択する手段を操作者に提供する。
【００６８】
３２は、本発明の処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であり、例えば半導体メモリ、フロッピーディスク、光磁気ディスク、コンパクトディスク、又はディジタルビデオディスク等である。よって、記録媒体３２に記録されているプログラムをコンピュータ２０に読み込ませ、以下の動作を実現するようにしても良い。
【００６９】
次に、本発明の第１の実施の形態の詳細な動作について図２〜図４を参照して説明する。
【００７０】
まず、本実施の形態の装置は電源が投入されると動作を開始する。操作者が入力手段を操作して数式を入力すると、入力手段１０からは数式データが出力される（ステップＳ１０）。
【００７１】
本実施の形態においては、理解を容易にするため、操作者が数式「ｙ＋ｃ＝ａｘ＋ｂ」を入力した場合を例に挙げて説明する。
【００７２】
入力手段１０から出力された数式データは、処理手段２２へ入力される。処理手段２２は、入力手段１０から出力された数式データをもとに表示データを生成し（ステップＳ１２）、作成した表示データを表示手段３０に出力する。表示手段３０は、処理手段２２から出力された表示データに基づいて表示処理を行う（ステップＳ１４）。ステップＳ１０では操作者によって数式「ｙ＋ｃ＝ａｘ＋ｂ」が入力されており、従って、ステップＳ１４の処理が行われた結果、数式「ｙ＋ｃ＝ａｘ＋ｂ」が表示されることになる（図４（ａ）参照）。
【００７３】
次に、数式の操作（編集、変更）を行う場合の動作について説明する。
【００７４】
操作者は指示手段１２を操作して操作対象の数式の要素を特定し、操作のための座標を指示する（ステップＳ１６）。
【００７５】
例えば、操作者は指示手段１２を操作して表示手段３０に表示されているマウスカーソルｍ１（図４（ｂ）参照）を移動させて範囲を指定する。つまり、まず記号「＝」と記号「ａ」との間にマウスカーソルｍ１を移動させ、マウスのクリックボタンを押圧しながらマウスカーソルを移動させ（ドラッグする）、記号「ｂ」の右側にマウスカーソルｍ１が位置したところでクリックボタンを開放する。
【００７６】
範囲が指定されると、図４（ｂ）に示したように範囲が指定された箇所が反転表示等される。図４（ｂ）では右辺全てを選択した場合を例に挙げて説明している。
【００７７】
次に、選択した範囲を左辺の記号「ｃ」の右までドラッグする。この場合、ドラッグ中の位置にカーソルｃ１が表示される（図４（ｃ）参照）。（ステップＳ１８、ステップＳ２０）
以上の操作は、図４（ａ），（ｂ）に示した右辺の各項を左辺に移項させるための操作である。
【００７８】
以上の操作が終了すると、操作対象の数式として「ａｘ＋ｂ」が、操作のための座標として記号「ｃ」の右側の座標（図４（ｃ）中のカーソルｃ１が位置している座標）が、それぞれ、指示手段１２から操作手段２４へ出力される。
【００７９】
ドラッグ中に操作対象の数式及び操作のための座標が入力されると、操作手段２４はこれらを数式変形候補発生手段４０へ渡す。数式変形候補発生手段４０はこれらに基づいて数式の変形結果の候補を生成する。ここで、数式変形候補発生手段４０は、数学規則に則り、数式の変形結果として、単数もしくは複数の候補を生成する（ステップＳ２２）。
【００８０】
生成された変形結果の候補は、数式変形候補保持手段４２へ渡され記憶保持されるとともに、選択ウィンドウ制御手段２６へ出力される。さらに操作手段２４は、ドラッグ開始を示す信号を選択ウィンドウ制御手段２６へ出力する。
【００８１】
数式の変形結果の候補とドラッグ開始を示す信号が選択ウィンドウ制御手段２６へ出力されると、選択ウィンドウ制御手段２６は、選択ウィンドウ生成手段２８に選択ウィンドウ生成の信号を送信する。さらに、選択ウィンドウ制御手段２６は、数式の変形結果の候補を選択ウィンドウ生成手段２８に設定し、選択ウィンドウ表示の信号を選択ウィンドウ生成手段２８に送信する。選択ウィンドウ生成手段２８は、選択ウィンドウ生成の信号が入力されると、選択ウィンドウを生成する。さらに、選択ウィンドウ表示の信号が入力されると、設定された数式の変形結果の候補を含む選択ウィンドウのデータを処理手段２２に出力する。処理手段２２は、選択ウィンドウ生成手段２６から選択情報を含む選択ウィンドウのデータを受け取り、これをもとに表示データを作成して表示手段３０へ出力する。表示手段３０は選択情報を含む表示データに基づいて表示処理を行う（ステップＳ２４）。
【００８２】
選択情報は、図４（ｃ）に示されたように、子ウィンドウｗ１内に表示される。図４（ｃ）に示した例では、選択情報として３つの候補が表示されている。つまり、右辺を左辺に移項したもの、両辺を数式「ａｘ＋ｂ」で除算したもの、及び左辺と右辺とを入れ替えたものである。
【００８３】
次に、操作者がさらにドラッグを行って別の座標における変形結果の候補を表示する際の処理について説明する。
【００８４】
まず、指示手段１２は、ドラッグ中のマウスカーソルの移動に伴い逐次変化する操作のための座標を操作手段２４に逐次出力する。操作手段２４は、入力された操作のための座標が記号「ｃ」の右の位置から左辺の記号「＋」の右の位置へ変化したことを検出すると、選択ウィンドウ制御手段２６にドラッグ中の位置変化を示す信号を送出すると共に、数式変形候補発生手段４０に新たな操作のための座標を出力する。選択ウィンドウ制御手段２６は、ドラッグ中の位置変化を示す信号が入力されると、選択ウィンドウ生成手段２８に選択ウィンドウ非表示の信号を送信する。選択ウィンドウ生成手段２８は、選択ウィンドウ非表示の信号が入力されると、処理手段２２へのデータの送信を中止し、選択ウィンドウの表示データは非表示となる。（ステップＳ２６、ステップＳ２０）
数式変形候補発生手段４０は、操作手段２４から入力した新たな操作のための座標に基づいて新たな候補を生成する。生成された新たな候補を入力した数式変形候補保持手段４２は、古い候補を削除して、新たな候補を記憶保持するとともに、選択ウィンドウ制御手段２６へ新たな候補を出力する（ステップＳ２２）。
【００８５】
最後に選択ウィンドウ制御手段２６は、新たな候補を入力すると選択ウィンドウ生成手段２８にこれを設定し、選択ウィンドウ表示の信号を出力する。
【００８６】
図４（ｄ）では、新たな選択情報として、左辺の記号「＋」と「ｃ」の間へ右辺を移項する操作による一つの候補が表示されている（ステップＳ２４）。
【００８７】
上記手順が繰り返し行われることにより、操作者は任意の位置へドラッグを行うことにより、思い通りの変形結果の候補を得ることができるようになる。
【００８８】
ここで、操作者が右辺の全項を左辺の記号「ｙ」の左へ移項することを望んでいたとする。すると、図４（ｅ）は、この操作者が望む候補が表示されているドラッグ中の状況を示していることになる。
【００８９】
次に、表示された変形結果の候補の中から操作者が所望の変形結果を選択することにより変形後の数式を生成する際の処理について説明する。
【００９０】
まず、操作者がクリックボタンを解放すると、指示手段１２は“左Up”の指示信号を操作手段２４に出力する。ドラッグ操作中に“左Up”の指示信号が入力された操作手段２４は、これをドロップ操作と認識して、ドロップ操作が行われたことを示す信号を選択ウィンドウ制御手段２６に出力する。選択ウィンドウ制御手段２６は、選択ウィンドウ生成手段２８に、選択情報を選択できる状態とするための信号を送信する。選択ウィンドウ生成手段２８が選択情報を選択できる状態となることにより、操作者は選択を行うことができるようになる（ステップＳ２８）。
【００９１】
まず、操作者は、選択手段１４を操作して選択ウィンドウ内の所望の数式の箇所へマウスカーソルｍ１を移動させる。
【００９２】
尚、選択を行う場合にはマウスカーソルｃ１を移動させる代わりに、キーボードに設けられている矢印キーを操作して選択を行っても良い。
【００９３】
マウスカーソルｍ１を用いて選択を行う場合には、所望の数式の箇所へマウスカーソルｍ１を移動させた後、マウスボタンをクリックする。マウスボタンがクリックされると、図４（ｅ）に図示したように、選択された数式が反転される（ステップＳ３０）。
【００９４】
また、キーボードを操作して選択する場合には、矢印キーを操作して所望の数式の箇所へカーソルを移動させた後リターンキーを押圧する（ステップＳ３２）。ここで、選択状態になっている時に選択ウィンドウ外をマウスでクリックすることや、キーボードに設けられているＥＳＣキーを押すことなどにより、この選択状態を解除する機能を持たせることも可能である。
【００９５】
図４（ｅ）では、数式「−（ａｘ＋ｂ）＋ｙ＋ｃ＝０」が選択されたとする。
【００９６】
選択ウィンドウ生成手段２８は、選択データから操作者が選択した選択情報を選択ウィンドウ制御手段２６を経由して操作手段２４に出力する。
【００９７】
操作手段２４は、入力された選択情報に従い、数式変形候補保持手段４２が保持していた数式の変形結果の複数の候補から選択された数式変形結果を抜き出し、これを処理手段２２に出力する。処理手段２２は、操作手段２４から出力された数式の変形結果をもとに表示データを生成する。表示手段３０は、処理手段２２から出力された表示データに基づいて表示処理を行う（ステップＳ３４）。
【００９８】
ステップＳ３４の処理では、図４（ｅ）で表示されていた子ウィンドウｗ１を消去する処理を行うとともに、ステップＳ１４の処理で表示した数式「ｙ＝ａｘ＋ｂ」の下の行に選択した数式「−（ａｘ＋ｂ）＋ｙ＋ｃ＝０」を表示する処理を行う。
【００９９】
以上説明したように、本発明の第１の実施の形態によれば、マウスのドラッグ中に、逐次変化するマウスカーソルの位置に対応した変形結果の複数の候補を表示し、所望する候補が表示された位置にて、これを選択、決定することが可能となる。
〔第２の実施の形態〕
次に、本発明の第２の実施の形態について説明する。
【０１００】
図５において、図２に示した第１の実施の形態の各部と共通する部分には同一の符号を付し、その説明を省略する。
【０１０１】
図５に示した第２の実施の形態が、図２に示した第１の実施の形態と異なる点は、未確定ウィンドウ生成手段２９を備えている点である。
【０１０２】
本発明の第２の実施の形態は、数式の変形結果をすぐには確定せずに一旦未確定ウィンドウ内に表示し、そのウィンドウ上で何回かの変形を繰り返し、その後に、表示し続けたい変形結果に確定することを実現するものである。
【０１０３】
以下詳細に説明する。
【０１０４】
上記未確定ウィンドウ生成手段２９は、操作者が選択、決定した数式の変形結果を操作手段２４から入力して保持するものである。未確定ウィンドウ生成手段２９は、この保持した変形結果を含む未確定ウィンドウのデータを処理手段２０に出力する。処理手段２０はこの未確定ウィンドウのデータをもとに表示データを生成し、表示手段３０に送信する。表示手段３０はこの表示データを表示する。
【０１０５】
ここで、未確定ウィンドウ内に表示されている数式は、通常の数式と同様、変形することが可能である。ただし、未確定ウィンドウ内の数式を変形して変形結果の候補を選択・決定した場合には、表示されている数式を消去し、新たに選択・決定した数式を表示する。
【０１０６】
次に、未確定ウィンドウが表示されている時に、未確定ウィンドウ以外の位置でマウスのボタンをクリックし、あるいは、リターン・キーを押下する等により、変形結果を確定することが可能である。
【０１０７】
これは以下の通り実現される。まず、指示手段１２たるマウスがクリックされると、クリックされた位置と指示信号が出力される。操作手段２４は、これらを入力し、未確定ウィンドウの確定を認識する。そして、未確定ウィンドウ生成手段２９に確定信号を送信する。
【０１０８】
確定信号を入力した未確定ウィンドウ生成手段２９はまず、処理手段２２に未確定ウィンドウの表示を消去するための信号を送信する。処理手段２２は、その信号を入力すると、未確定ウィンドウ表示データを消去し、未確定ウィンドウの表示を消去するための信号を表示手段３０に出力する。表示手段３０は、未確定ウィンドウの表示を停止する。次に未確定ウィンドウ生成手段２９は、未確定ウィンドウ内に表示していた数式のデータを処理手段２２に出力する。処理手段２０はこの数式のデータを表示データに変換して、表示手段３０に出力し、表示手段３０がこれを表示する。
【０１０９】
これらの手順に従い、数式の変形結果はすぐに貼り付けられるのではなく、未確定ウィンドウ上で何回かの変形を繰り返した後、表示し続けたい数式のみが貼り付けられることになる。
【０１１０】
尚、図５に示された記憶媒体３２は、本発明の第２の実施の形態の処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であり、上記第１の実施の形態における記録媒体に、さらに、上記未確定ウィンドウ生成手段２９の機能をプログラム化したものを記録している。よって、本実施の形態は、この内容をコンピュータ２０に読み込ませて実行させることによって実現するようにしても良い。
〔第３の実施の形態〕
次に、本発明の第３の実施の形態について説明する。
【０１１１】
図６において、図２に示した第１の実施の形態の各部と共通する部分には同一の符号を付し、その説明を省略する。
【０１１２】
図６に示した第３の実施の形態が、図２に示した第１の実施の形態と異なる点は、操作手段２４がユーザ定義ルール保持手段４４を備えている点である。
【０１１３】
上記ユーザ定義ルール保持手段４４は、操作者が直接入力した数式変形のルールを保持することを可能とするものであり、更に、記録媒体３２からルールを読み込み、保持することや、逆に保持しているルールを記録媒体３２に書き込むことをも可能とするものである。
【０１１４】
また、上記記録媒体３２は、本発明の第３の実施の形態の処理をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体であり、例えば磁気ディスク、半導体メモリその他の記憶媒体であってよい。この記憶媒体３２は、後述のように、ユーザ定義ルールが記録されていても良い。
【０１１５】
数式処理プログラムは記録媒体３２からコンピュータ（中央処理装置；プロセッサ；データ処理装置）２０に読み込まれ、コンピュータ２０の動作を制御する。コンピュータ２０は、数式処理プログラムの制御により以下の処理、すなわち、第１の実施の形態におけるコンピュータ２０による処理と同一の処理を実行する。
【０１１６】
第１の実施の形態では、操作手段２４（数式変形候補発生手段４０）は、一般的な数学規則に則り、数式の変形結果の複数の候補を発生したが、第３の実施の形態では、操作手段２４は、一般的な数学規則、および、ユーザ定義ルール保持手段４４が保持するルールの両方に則り、数式の変形結果の複数の候補を発生する。
【０１１７】
従って、この第３の実施の形態によれば、操作者が望むルールに則って、数式の変形結果の複数の候補を得ることができるため、数式の操作（変数、変形）がより容易になる。
【０１１８】
なお、上記では、操作手段２４が一般的な数学規則、および、ユーザ定義ルール保持手段４４が保持するルールの両方に則り、数式の変形結果の複数の候補を発生するようにしたが、ユーザ定義ルール保持手段４４が保持するルールのみに則り、候補を発生するようにしてもよい。
〔第４の実施の形態〕
次に、本発明の第４の実施の形態について説明する。
【０１１９】
図７において、図２に示した第１の実施の形態の各部と共通する部分には同一の符号を付し、その説明を省略する。
【０１２０】
図７に示した第４の実施の形態が、図２に示した第１の実施の形態と異なる点は、変換手段４００を備え、更に入力手段１０が変換手段４００に接続され、変換手段４００が処理手段２２に接続されている点である。
【０１２１】
上記変換手段４００は、入力データを変換して変換済みデータを作成し、この変換済みデータを処理手段２２に送信する。ここでの入力データはTEX形式、MATHML形式といったスタンダードな形式やその他独自の形式、あるいは混合形式や複数のデータ群で表される形式でも良く、変換手段４００は、このような形式を、内部で処理するための形式に変換するものである。このような変換を行うことにより、本発明の第４の実施の形態においては、データの形式に依存しない入力が可能となる。
【０１２２】
なお、本実施の形態において、上記変換手段４００は、入力データの変換のみでなく、表示データの変換、記憶データの変換、あるいは処理内部での変換を行うようにしてもよい。
〔第５の実施の形態〕
次に、本発明の第５の実施の形態について説明する。
【０１２３】
図８において、図２に示した第１の実施の形態の各部と共通する部分には同一の符号を付し、その説明を省略する。
【０１２４】
図８に示した第５の実施の形態が、図２に示した第１の実施の形態と異なる点は、処理手段Ｂ５００が操作手段Ｂ５１０に接続されている点である。
【０１２５】
上記処理手段Ｂ５００は、入力手段１０が出力した数式データに基づいて、数式データを含む指示データを作成し、これを操作手段Ｂ５１０に出力する。操作手段Ｂ５１０は、数式データを含む指示データに基づき、数式変形候補発生手段Ｂ５１２、数式変形候補保持手段Ｂ５１４を用いて、数学規則、もしくは操作者が設定した規則に則り、数式の変形結果の複数の候補を生成する。
【０１２６】
このようにして、本発明の第５の実施の形態では、座標を指示することによる変形だけでなく、数式を入力することによる変形も可能とする。
【０１２７】
次に、本発明の第５の実施の形態の具体的な動作について、図８、図９を参照して説明する。
【０１２８】
まず、本実施の形態の装置は電源が投入されると動作を開始する。操作者が入力手段を操作して数式を入力すると、入力手段１０からは数式データが出力される。
【０１２９】
本実施の形態においては、理解を容易にするため、操作者が数式「ｙ＋ｃ＝ａｘ＋ｂ」を入力した場合を例に挙げて説明する。
【０１３０】
入力手段１０から出力された数式データは処理手段Ｂ５００へ入力される。処理手段Ｂ５００は、入力手段１０から出力された数式データをもとに表示データを生成し、作成した表示データを表示手段３０に出力する。表示手段３０は、処理手段Ｂ５００から出力された表示データに基づいて表示処理を行う。（図９（ａ）参照）。
【０１３１】
次に、数式の入力による操作（編集、変更）を行う場合の動作について説明する。
【０１３２】
操作者は指示手段１２を操作して操作対象の数式の要素間位置を特定し、操作のための座標を指示する。
【０１３３】
例えば、操作者は、表示手段３０により表示されている数式上でマウスのクリックボタンをクリックすることにより、「ｃ」と「＝」の間の位置を指定する。（図９（ａ）参照）
操作者が入力手段２０を操作して“／”を入力すると、処理手段Ｂ５００は、“／”が入力されたという情報を含む指示データを作成し、操作手段Ｂ５１０に出力する。操作手段Ｂ５１０において、数式変形候補発生手段Ｂ５１２は、「ｙ＋ｃ＝ａｘ＋ｂ」の両辺を割って得られる数式、および、「ｃ」のみを割って得られる数式を、変形結果の２つの候補として生成する。ここで、数式変形候補発生手段Ｂ５１２は、数学規則に則り、数式の変形結果として、単数もしくは複数の候補を生成する。
【０１３４】
生成された変形結果の候補は、数式変形候補保持手段Ｂ５１４へ渡され記憶保持されるとともに、選択ウィンドウ制御手段２６へ出力される。さらに操作手段Ｂ５００は、ドラッグ開始を示す信号を選択ウィンドウ制御手段２６へ出力する。（図９（ｂ）参照）
さらに操作者が“ｄ”を入力すると、操作手段Ｂ５１０は、数式変形候補保持手段Ｂ５１４が保持する変形結果の複数の候補と、入力された“ｄ”とから、次の変形結果の候補、すなわち「ｙ＋ｃ＝ａｘ＋ｂ」の両辺を“ｄ”で割って得られる数式と、「ｃ」のみを“ｄ”で割って得られる数式とを生成する。
【０１３５】
また、生成された変形結果の候補は、数式変形候補保持手段Ｂ５１４へ渡され記憶保持されるとともに、選択ウィンドウ制御手段２６へ出力される。（図９（ｃ）参照）
このようにして、さらに操作者が“-2k”を入力すると、「ｙ＋ｃ＝ａｘ＋ｂ」の両辺を"d-2k“で割って得られる候補と、「ｃ」のみを”d-2k“で割って得られる候補とが生成され、選択ウィンドウ制御手段２６へ出力される。（図９（ｄ）参照）
最後に、本発明の第１の実施の形態の動作（図４（ｅ）、（ｆ）参照）と同様にして、操作者が複数の候補から任意の１つを選択することにより、思い通りの変形結果を、初期に表示していた「ｙ＋ｃ＝ａｘ＋ｂ」の下の行に表示する。（図９（ｅ）、（ｆ）参照）
以上説明したように、本発明の第５の実施の形態によれば、操作者が１回もしくは連続した複数回入力した情報をもとに、数式の変形結果の複数の候補を表示し、所望する候補を選択、決定することが可能になる。
【０１３６】
なお、上記では、一般的な数学規則に則り複数の候補を発生したが、あらかじめ定義されたルールに則り候補を発生させるようにしてもよい。例えば、“s”と“ｉ”を入力した時に「sin()」と「Sigma」を付して変形結果の候補を発生させ、さらに“ｇ”を入力した時点で「Sigma」を付した候補のみを表示し、この候補を選択することにより「σ」という記号を付した変形結果を表示するようにしてもよい。
〔第６の実施の形態〕
次に、本発明の第６の実施の形態について説明する。
【０１３７】
図１０において、図２に示した第１の実施の形態の各部と共通する部分には同一の符号を付し、その説明を省略する。
【０１３８】
図１０に示した第６の実施の形態が、図２に示した第１の実施の形態と異なる点は、処理手段Ｃ６００が他アプリケーション６１０とのインターフェイスを具備し、入力手段１０が上記他アプリケーション６１０に接続され、指示手段１２、選択手段１４がそれぞれパソコン２０に接続されている点である。
【０１３９】
他アプリケーション６１０は、入力手段１０が出力した数式データから、この情報を含む数式データＢを生成し、これを上記処理手段Ｃ６００に出力する。上記処理手段Ｃ６００は、入力された数式データＢから第１の実施の形態と同様にして数式変形の処理を行う。さらに、他アプリケーション６１０と処理手段Ｃ６００は、連携して動作するための情報を入出力することが可能である。
【０１４０】
また、指示手段１２、選択手段１４、および、記録媒体３２と、この実施の形態の処理を行うプログラムもしくは他アプリケーション６１０との間で、直接データの入出力を行うよう、ＯＳを切り替えることも可能である。
【０１４１】
このような構成により、本発明の第６の実施の形態では、任意の他のアプリケーションと連携して数式処理を行うことができる。他アプリケーションとしては、例えば、インターネット・ブラウザやワードプロセッサ等が考えられる。また、システムとしては、ＯＬＥアプリケーションやＯＣＸコンポーネント、ＪＡＶＡコンポーネント等が連携して動作するシステムが考えられる。
【０１４２】
以上、本発明の実施の形態について説明してきたが、本発明は、上記実施の形態に制限されることはなく、本発明の範囲内で自由に変更が可能である。
【０１４３】
【発明の効果】
以上、説明したように、本発明には、操作者の操作に応じて位置及び数式を出力する指示手段と、前記指示手段から出力される位置及び数式に基き、数式の変形結果の複数の候補を生成する操作手段と、操作者の操作に応じて、前記複数の候補から１つを選択する選択手段とが備えられるので、数式を変形するにあたって思い通りの結果を容易に得ることができ、その結果、数式の作成がより簡単になるという効果がある。
【０１４４】
また、操作者がキャンセルを指示すると、操作手段からキャンセル信号が出力されて表示データは削除されるが、前記数式の変形結果の複数の候補は記憶保持されているので、誤操作により意図しない指示をした場合でも、その指示をキャンセルすることが可能となり、その結果、数式の作成がより簡単になるという効果がある。
【図面の簡単な説明】
【図１】  本発明の数式処理システムの構成を示すブロック図である。
【図２】  本発明の第１の実施の形態による数式処理システムの構成を示すブロック図である。
【図３】  本発明の第１の実施の形態による数式処理システムの動作を示すフローチャートである。
【図４】  本発明の第１の実施の形態による数式処理システムの表示手段３０の表示内容の一部を示す図である。
【図５】  本発明の第２の実施の形態による数式処理システムの構成を示す図である。
【図６】  本発明の第３の実施の形態による数式処理システムの構成を示す図である。
【図７】  本発明の第４の実施の形態による数式処理システムの構成を示す図である。
【図８】  本発明の第５の実施の形態による数式処理システムの構成を示す図である。
【図９】  本発明の第５の実施の形態による数式処理システムの表示手段３０の表示内容の一部を示す図である。
【図１０】本発明の第６の実施の形態による数式処理システムの構成を示す図である。
【図１１】従来の数式処理システムの構成を示すブロック図である。
【図１２】マウスの上面図である。
【符号の説明】
１０    入力手段
１２    指示手段
１４    選択手段
２２    処理手段
２４    操作手段
２６    選択ウィンドウ制御手段
２８    選択ウィンドウ生成手段
２９    未確定ウィンドウ生成手段
３０    表示手段
３２    記録媒体
４０    数式変形候補発生手段
４２    数式変形候補保持手段
４４    ユーザ定義ルール保持手段
５００  処理手段Ｂ
５１０  操作手段Ｂ
５１２  数式変形候補発生手段Ｂ
５１４  数式変形候補保持手段Ｂ
６００  処理手段Ｃ
６１０  他アプリケーション
【図１】
0003705065.tif 000002
【図２】
0003705065.tif 000003
【図３】
0003705065.tif 000004
【図４】
0003705065.tif 000005
【図５】
0003705065.tif 000006
【図６】
0003705065.tif 000007
【図７】
0003705065.tif 000008
【図８】
0003705065.tif 000009
【図９】
0003705065.tif 000010
【図１０】
0003705065.tif 000011
【図１１】
0003705065.tif 000012
【図１２】
0003705065.tif 000013