以下図面により本発明の実施形態について説明する。
(第1実施形態)
図1は本発明の幾何学習補助装置の実施形態に係わる電子機器の電気的構成を示すブロック図である。
この電子機器は、CPU10を備え、CPU10には、入力部11、表示部12、ROM13及びRAM14が接続されている。
CPU10は、入力部11から入力される操作信号に応じて、ROM13に予め記憶されているシステム制御プログラム、補助線描画プログラム等の電子機器制御プログラム、あるいはメモリカードなどの外部記憶媒体15から記憶媒体読み取り部16を介してROM(フラッシュ)13に読み込まれた電子機器制御プログラム、あるいは通信ネットワークN上のWebサーバ(プログラムサーバ)18から通信制御部17を介してダウンロードされ前記ROM(フラッシュ)13に読み込まれた電子機器制御プログラムを起動させる。CPU10は、起動したプログラムに従って、RAM14をワークメモリとして電子機器各部の動作を制御する。
入力部11には、数式入力部11a、カーソルキー11b、タッチパッド11c、補助線描画ボタン11d、ヒントボタン11e、機能キー群11f等の各種の操作キーが備えられている。
数式入力部11aは、数値キー、演算子キー、関数キー、アルファベットキー等の文字・記号キー群を含む。カーソルキー11b及びタッチパッド11cは、表示画面上でのデータの選択、カーソルの移動のために用いられる。入力部11は、カーソルキー11b及びタッチパッド11cの両方を備えていてもよいが、どちらか一方のみを備えていてもよい。補助線描画ボタン11dは、後述の補助線描画処理において補助線の描画を指示する際に操作される。ヒントボタン11eは、後述の補助線描画処理において、ヒント情報の表示を指示する際に操作される。機能キー群11fは、決定キー、モード切り替えキーなど各種の操作キーを含む。
表示部12は、例えばLCD等の表示装置からなり、図形表示領域12aと文字・式表示領域12bとを備えている。
ROM13には、プログラム記憶エリア13a、図形データベース13b等の記憶エリアが確保されている。プログラム記憶エリア13aには、電子機器全体の処理を制御するシステム制御プログラム及び図4及び図6に示す補助線描画処理プログラム、図8に示す所要補助線検出処理プログラム等の各種のプログラムデータが予め記憶されている。
図2は図形データベース13bに記憶されるデータ内容の一例を示す図である。図形データベース13bには、種々の図形の幾何的な特徴が階層的に記憶されている。例えば「台形」に相当する記憶層には、台形の幾何的特徴「向かい合う1組の辺が平行である(AD//BC)」が記憶される。「台形」記憶層の下には「平行四辺形」の記憶層が設けられている。「平行四辺形」記憶層には、「向かい合う別の1組の辺も平行である(AB//DC)」、「向かい合う2辺の長さは等しい(AB=DC及びAD=BC)」等の、平行四辺形の幾何学的特徴が記憶されている。
RAM14には、図形情報記憶エリア14a、命題記憶エリア14b、補助線記憶エリア14c、ヒント記憶エリア14dの各記憶エリア、及びCPU10により入出力されるデータが必要に応じて一時的に記憶されるワークエリア14eが備えられる。図形情報記憶エリア14aには、ユーザが入力した図形情報等、後述の補助線描画処理において、補助線描画の対象となる対象図形の情報が記憶される。命題記憶エリア14bには、ユーザが証明を行うべき幾何学命題を入力した場合に、当該命題が記憶される。補助線記憶エリア14cには、「点と点」141、「点と線」142、「線と線」143の3つのサブエリアが確保される(図3参照)。
幾何図形上に描画可能な補助線は、無数に存在する。この無数の補助線のうち適切な補助線が描画されると、幾何図形の解析、考察に有益である。幾何学の学習では、描画可能な無数の補助線から、適切な補助線を選択する必要がある。一般に、幾何図形を構成する要素(点や直線、曲線等)から2以上の要素を抽出し、当該抽出された要素の位置関係に基づいて、補助線を描画する。
本実施形態の補助線描画処理においては、以下のような補助線描画条件に従って描画する補助線を抽出する。
補助線描画条件「点と点」:特定の2点の位置関係に基づいて描画される補助線。
・特定の2点を結ぶ直線または線分
・特定の2点を結ぶ線分の垂直二等分線、等。
補助線描画条件「点と線」:特定の1点と特定の直線(又は線分、半直線等)又は曲線(円錐曲線等)との位置関係に基づいて描画される補助線。
・特定の1点を通り、特定の直線と直交する直線または線分
・特定の1点を通り、特定の直線と平行な直線または線分
・特定の1点を通り、特定の円に接する直線または線分、等。
補助線描画条件「線と線」:特定の2直線(又は線分、半直線等)の位置関係に基づいて描画される補助線。
・特定の2直線が成す角の2等分線、等。
これらの補助線描画条件に従って抽出された補助線のデータは、補助線記憶エリア14cに記憶される。補助線描画条件「点と点」に従って抽出された補助線のデータは、サブエリア「点と点」141に記憶される。補助線描画条件「点と線」に従って抽出された補助線のデータはサブエリア「点と線」142に記憶される。また、補助線描画条件「線と線」に従って抽出された補助線のデータは、サブエリア「線と線」143に記憶される。
図3は補助線記憶エリア14cに記憶される補助線データの一例を示す図である。図3の例は、本実施形態において「直線EFが平行四辺形ABCDの面積を2等分している」図形に対して描画可能な補助線データを示す。
図3に示すように、「直線EFが平行四辺形ABCDの面積を2等分している」図形に対しては、補助線描画条件「点と点」に従って、点A及び点Cを結ぶ「直線AC」、点A及び点Fを結ぶ「直線AF」、点B及び点Dを結ぶ「直線BD」…等の補助線が描画可能である。これらの補助線データはサブエリア「点と点」141に記憶される。また、補助線描画条件「点と線」に従って、「点Eを通り辺ABに垂直な直線」、「点Eを通り辺ABに平行な直線」…等の補助線が描画可能である。これらの補助線データは、サブエリア「点と線」142に記憶される。補助線描画条件「線と線」に従って、「辺AB及び辺BCがなす角(∠ABC)の2等分線」…等の補助線が描画可能である。これらの補助線データは、サブエリア「線と線」143に記憶される。
ヒント記憶エリア14dには、幾何学的な命題の証明に必要な補助線のデータ及び幾何性質が記憶される。命題の証明に必要な補助線及び幾何性質は、後述の所要補助線検出処理(図8参照)によって検出される。
次に、前記構成による電子機器の第1実施形態の動作について説明する。
図4は前記電子機器の第1実施形態による補助線描画処理を示すフローチャートである。以下では、補助線描画処理の対象となる図形を対象図形Ψと称する。
CPU10は、補助線描画処理の対象となる対象図形Ψの情報を取得して、当該対象図形Ψを図形表示領域12aに表示させる(ステップS1)。ユーザが入力部11を介して図形情報を入力した場合、CPU10は入力された図形情報を対象図形情報ψとして図形情報記憶エリア14aに記憶し、当該対象図形情報ψに対応する図形を、対象図形Ψとして表示部12の図形表示領域12aに表示させる。
ユーザが以下のような対象図形情報ψaを、入力部11を介して入力したとする。
対象図形情報ψa:「平行四辺形ABCD;辺AD上に点E;辺BC上に点F;直線EFは平行四辺形ABCDの面積を2等分する」
このとき、図形表示領域12aには、図5(A)に示すように、平行四辺形ABCD及び直線EFを含む対象図形Ψが表示される。
ユーザが補助線描画ボタン11dを操作して補助線描画の開始を指示すると(ステップS2でYES)、CPU10は、図5(B)に示すように、「点と点」、「点と線」、「線と線」及び「すべて」の4項目を、表示部12の文字・式表示領域12bに表示させる(ステップS3)。ユーザが補助線描画の開始を指示しなければ(ステップS2でNO)、処理を終了する。
ユーザは、入力部11を操作して、表示された4項目からいずれかの項目を選択することができる(ステップS4)。ユーザがいずれの項目も選択しなければ(ステップS4でNO)、処理を終了する。
ユーザが入力部11を操作して、表示された4項目からいずれかの項目を選択すると(ステップS4でYES)、CPU10は、ユーザの選択に対応する補助線描画条件に従って、対象図形Ψに対して描画可能な補助線を検出する(ステップS5)。検出された補助線は、対象図形Ψ上に順次切り替えられて描画される(ステップS6)。補助線の描画は、例えばアルファベット順など、所定の順番で行えばよい。
ステップS4においてユーザが「点と点」の項目を選択した場合、CPU10は上述の補助線描画条件「点と点」に従って描画可能な補助線を検出する(ステップS5)。検出された補助線のデータは、補助線記憶エリア14cのサブエリア「点と点」141に記憶される。
CPU10は、サブエリア「点と点」141から補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψに対して補助線の描画がなされる(ステップS6)。
上述の対象図形情報ψaが与えられている場合は、「直線AC」、「直線AF」、「直線BD」等の直線が、補助線描画条件「点と点」に従って検出される。これらの補助線のデータは、サブエリア「点と点」141に記憶される(図3参照)。
CPU10は、サブエリア「点と点」141から「直線AC」のデータを読み出し、対象図形Ψ上に描画する。図5(C)は図形表示領域12aに描画された「直線AC」を示す図である。サブエリア「点と点」141から「直線AF」のデータが読み出されると、「直線AF」が対象図形Ψ上に描画される。図5(D)は図形表示領域12aに描画された「直線AF」を示す図である。その後、「直線BD」、「直線BE」…等、補助線描画条件「点と点」に従って抽出された補助線が順次切り替えられて描画され、図形表示領域12aに表示される。
ステップS4においてユーザが「点と線」の項目を選択した場合、CPU10は上述の補助線描画条件「点と線」に従って描画可能な補助線を検出する(ステップS5)。検出された補助線のデータは、補助線記憶エリア14cのサブエリア「点と線」142に記憶される。
CPU10は、サブエリア「点と線」142から補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψに対して補助線の描画がなされる(ステップS6)。このとき、例えばユーザがカーソルキー11bを操作することにより、CPU10が補助線データを順次読み出すとしても良い。
上述の対象図形情報ψaが与えられている場合は、「点Eを通り辺ABに垂直な直線」、「点Eを通り辺ABに平行な直線」等の直線が、補助線描画条件「点と線」に従って検出される。これらの補助線のデータは、サブエリア「点と線」142に記憶される(図3参照)。
CPU10は、サブエリア「点と線」142から、補助線「点Eを通り辺ABに垂直な直線」、「点Eを通り辺ABに平行な直線」等のデータを順次読み出し、対象図形Ψ上に切り替えて描画する。
ステップS4においてユーザが「線と線」の項目を選択した場合、CPU10は上述の補助線描画条件「線と線」に従って描画可能な補助線を検出する(ステップS5)。検出された補助線のデータは、補助線記憶エリア14cのサブエリア「線と線」143に記憶される。
CPU10は、サブエリア「線と線」143から補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψに対して補助線の描画がなされる(ステップS6)。
上述の対象図形情報ψaが与えられている場合は、「辺AB及び辺BCがなす角(∠ABC)の2等分線」等の直線が、補助線描画条件「点と線」に従って検出される。これらの補助線のデータは、サブエリア「線と線」143に記憶される(図3参照)。
CPU10は、サブエリア「線と線」143から、補助線「辺AB及び辺BCがなす角(∠ABC)の2等分線」等のデータを順次読み出し、対象図形Ψ上に切り替えて描画する。
ステップS4においてユーザが「すべて」の項目を選択した場合、CPU10は上述の補助線描画条件「点と点」、「点と線」、「線と線」に従って描画可能な補助線をそれぞれ検出する(ステップS5)。検出された補助線のデータは、補助線記憶エリア14cの対応するサブエリア141〜143に記憶される。
CPU10は、補助線記憶エリア14cのサブエリア「点と点」141、「点と線」142、「線と線」143に記憶されているすべての補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψに対して補助線の描画がなされる(ステップS6)。
上述の対象図形情報ψaが与えられている場合には、CPU10は、まず補助線描画条件「点と点」に従って「直線AC」、「直線AF」、「直線BD」…を対象図形Ψ上に順次切り替え描画する。次に補助線描画条件「点と線」に従って「点Eを通り辺ABに垂直な直線」、「点Eを通り辺ABに平行な直線」…を順次切り替え描画し、その後補助線描画条件「線と線」に従って「辺AB及び辺BCがなす角(∠ABC)の2等分線」等を順次切り替え描画する。
ユーザは、順次描画される補助線からいずれか1本を選択することができる(ステップS7)。すなわち、ステップS6において順次描画される補助線の中に所望の補助線があった場合、ユーザは、入力部11を操作して当該補助線を選択することが可能である。ユーザがいずれの補助線も選択しなければ(ステップS7でNO)、ステップS4に戻り、再び補助線描画条件の選択を行う。
ユーザが、順次切り替え描画された補助線からいずれか1本を選択したら(ステップS7でYES)、CPU10は、選択された補助線を対象図形Ψ上にそのまま表示する(ステップS8)。対象図形Ψ上には、選択された補助線のみが表示され、残りの補助線は非表示とされる。ユーザによって選択された補助線のデータは、図形情報記憶エリア14aに記憶される。
CPU10は、選択された補助線と、対象図形Ψの各要素との交点を抽出する(ステップS9)。抽出された交点には、ユーザが手動で、またはCPU10が自動で名称を付与する(ステップS10)。
上述の対象図形情報ψaが与えられている場合であって、ステップS7において補助線描画条件「点と線」に対応する補助線「点Eを通り、辺ABに平行な直線」が選択された場合には、図形表示領域12aの表示は図5(E)のようになる。「点Eを通り、辺ABに平行な直線」と対象図形Ψの要素「辺BC」との交点には、ステップS10において名称「点G」が付与されている。
以上のようにして、1本の補助線が選択されて表示される。
ユーザが再び補助線描画ボタンを操作して補助線描画の開始を指示すると(ステップS2でYES)、対象図形Ψに対して上記選択された補助線が付加された図形が、新たな対象図形Ψとされる。この新たな対象図形Ψに対して、ステップS3以降の処理が繰り返されて、新たな補助線が1本追加されて表示される。
この第1実施形態の補助線描画処理によれば、補助線の描画対象である対象図形Ψに対して、補助線描画条件「点と点」、「点と線」、「線と線」に従って描画可能な補助線を順次描画するので、ユーザは、様々な補助線を視覚的に比較し検討することが可能である。また、比較検討したうえで、所望の補助線を選択して表示させることが可能であるため、幾何学習を効果的に行うことができる。
本実施形態においては、ステップS6で補助線を順次切り替えて描画する際に、アルファベット順などの所定の順番で行った。しかしながら、補助線を描画する順番は、アルファベット順に限定されない。例えば図5に示す例では、平行四辺形ABCDの頂点ではない2点E、Fを通る補助線を先に描画するなど、対象図形の各要素に優先順位をつけてもよい。
本実施形態においては、ステップS4において「点と点」、「点と線」、「線と線」、「すべて」の4項目からいずれか1つの項目を選択した。しかしながら、「点と点」、「点と線」、「線と線」の各項目から、2以上の項目を組み合わせて選択できるようにしてもよい。ステップS4の選択を行わずに、上記補助線描画条件「点と点」、「点と線」、「線と線」に従う補助線すべてを検出して、順次切り替え描画するようにしてもよい。あるいは、ユーザが入力部11の操作により任意の2点を指定するなどして、手動で補助線を描画できるようにしてもよい。
本実施形態においては、ステップS6における補助線の順次切り替え描画中に、所望の補助線の選択が可能であるとした。しかしながら、ユーザが選択した補助線描画条件に対応する全補助線をステップS6において順次追加しながら描画し、その後、描画された全補助線を対象図形Ψ上に同時に表示するようにしてもよい。各補助線は、色や表示形式を変えて互いに区別可能となるように表示する。そして、同時表示された全補助線から、ユーザが所望の補助線を選択できるようにしてもよい。
また、本実施形態においては、ユーザが入力部11を介して対象図形情報ψを入力し、当該対象図形情報ψに対応する図形を、補助線描画処理の対象となる対象図形Ψとして図形表示領域12aに表示させた。しかしながら、予めROM13に各種の対象図形Ψの情報を記憶しておき、その中からユーザが任意の図形を選べるようにしてもよい。
以下、本発明の他の実施の形態を説明する。他の実施の形態の説明において第1の実施の形態と同一部分は同一参照数字を付してその詳細な説明は省略する。
(第2実施形態)
第2実施形態のブロック図は第1実施形態のブロック図と同一であるので、図示を省略する。
ユーザは、本実施形態に係る補助線描画処理によって、幾何学の証明問題に解答することが可能になる。
本実施形態の補助線描画処理においても、上述の補助線描画条件「点と点」、「点と線」、「線と線」に従って描画可能な補助線が抽出される。
図6は前記電子機器の第2実施形態による補助線描画処理を示すフローチャートである。
CPU10は、補助線描画処理の対象となる対象図形の情報を取得して、当該対象図形を表示部12に表示させる(ステップA1)。ユーザが入力部11を介して図形情報を入力した場合、CPU10は入力された図形情報を対象図形情報ψとして図形情報記憶エリア14aに記憶し、当該対象図形情報ψに対応する図形を、対象図形Ψ0として表示部12の図形表示領域12aに表示させる。
また、CPU10は、証明すべき命題の情報も取得して表示部12に表示させる(ステップA2)。ユーザが入力部11を介して命題λを入力した場合、CPU10は入力された命題λを命題記憶エリア14bに記憶し、表示部12の文字・式表示領域12bに表示させる。
例えば、「直線EFが平行四辺形ABCDの面積を2等分している。このとき、AE=CFであることを証明しなさい」という幾何の証明問題を、本実施形態に係る電子機器を用いて解くには、まずユーザは、入力部11を介して以下のような対象図形情報ψa及び命題λaを入力する。
対象図形情報ψa:「平行四辺形ABCD;辺AD上に点E;辺BC上に点F;直線EFは平行四辺形ABCDの面積を2等分する」
命題λa:「AE=CFである」
このとき、入力された対象図形情報ψaはRAM14の図形情報記憶エリア14aに記憶され、命題λaは命題記憶エリア14bに記憶される。表示部12の図形表示領域12aには、図7(A)に示すように、平行四辺形ABCD及び直線EFを含む対象図形Ψ0が表示される。また文字・式表示領域12bには、証明したい命題「AE=CF」が表示される。
対象図形Ψ0及び証明したい命題λが表示部12に表示されると、CPU10は当該命題λの証明に必要な補助線を検出するため、図8に示す所要補助線検出処理を行う(ステップA3)。
図8は、この所要補助線検出処理を示すフローチャートである。
CPU10は、与えられた対象図形Ψ0に対応する幾何性質を、図2に示す図形データベース13bから読み出す(ステップB1)。CPU10は、RAM14のヒント記憶エリア14d内にκ(Ψ0)というサブエリアを確保して、読み出された幾何性質を当該κ(Ψ0)に記憶する(ステップB2)。
上述の対象図形情報ψaが与えられた場合、対象図形情報ψaに基づいて描画された(図9(A)参照)対象図形Ψ0には、台形ABFE、台形CDEF及び平行四辺形ABCDが含まれている。台形ABFEに対応する幾何性質としては、図形データベース13bの「台形」記憶層から「AE//BF」が読み出される。同様に台形CDEFに対応する幾何性質としては、「ED//FC」が読み出される。また、平行四辺形ABCDに対応する幾何性質としては、「台形」記憶層から「AD//BC」が、「平行四辺形」記憶層から「AB//DC」、「AB=DC」、「AD=BC」…といった幾何性質が読み出される。読み出された幾何性質は、ヒント記憶エリア14dに確保されたサブエリアκ(Ψ0)に記憶される。また、対象図形情報ψaとして与えられた「台形ABFEの面積=台形CDEFの面積」も、κ(Ψ0)に記憶される。
次に、CPU10は、証明したい命題λと等価な幾何性質が、サブエリアκ(Ψ0)に記憶されているかどうかを判断する(ステップB3)。証明したい命題λと等価な幾何性質がサブエリアκ(Ψ0)に記憶されていると判断されると(ステップB3でYES)、図6の補助線描画処理に復帰する。
上述の対象図形情報ψa及び命題λaが与えられている場合には、命題λaを示す幾何性質「AE=CF」が、サブエリアκ(Ψ0)に記憶されているかどうかが判断される。この段階では、命題λa(AE=CF)はκ(Ψ0)に記憶されていない。
κ(Ψ0)に証明したい命題λと等価な幾何性質が記憶されていないと判断されると(ステップB3でNO)、CPU10は、対象図形Ψ0に対して描画可能な補助線を、上述の補助線描画条件「点と点」、「点と線」、「線と線」に従って検出する(ステップB4)。検出された補助線のデータは、ヒント記憶エリア14dに記憶される。ヒント記憶エリア14dには、図3に示す補助線記憶エリア14cと同様に、サブエリア「点と点」、「点と線」、「線と線」が設けられ、検出された補助線データは、対応するサブエリアに記憶される。
上述の対象図形情報ψaが与えられている場合は、「直線AC」、「直線AF」、「直線BD」等の直線が、補助線描画条件「点と点」に従って検出される。また、「点Eを通り直線ABに垂直な直線」、「点Eを通り直線ABに平行な直線」等の直線が、補助線描画条件「点と線」に従って検出される。さらに、「直線AB及び直線BCがなす角(∠ABC)の2等分線」等の直線が、補助線描画条件「線と線」に従って検出される。これらの補助線のデータは、ヒント記憶エリア14dに記憶される。
CPU10は、ステップB4で検出された補助線のうち例えば検出された順番となる所定の補助線γ1を選択し、当該選択された補助線γ1のデータをヒント記憶エリア14dから読み出す(ステップB5)。選択した補助線γ1を対象図形Ψ0上に描画すると得られる図形を、新たに対象図形Ψ1とする。CPU10は、この対象図形Ψ1に対応する幾何性質を、図形データベース13bから読み出す(ステップB6)。CPU10は、RAM14のヒント記憶エリア14d内にκ(Ψ1)というサブエリアを確保して、読み出された幾何性質を当該κ(Ψ1)に記憶する(ステップB7)。
上述の対象図形情報ψa及び命題λaが与えられている場合には、CPU10は、補助線γ1として「点Eを通り、辺ABに平行な直線」を選択する。補助線γ1が対象図形Ψ0上に描画された図形として、図9(B)に示す対象図形Ψ1が得られる。この対象図形Ψ1には、上述の台形ABFE、台形CDEF、平行四辺形ABCDの他に、平行四辺形ABGE、平行四辺形EGCD、三角形EGF等が含まれている。
平行四辺形ABGEに対応する幾何性質としては、図形データベース13bから「AE//BG」、「AB//EG」、「AB=EG」、「AE=BG」…といった幾何性質が読み出される。
平行四辺形EGCDに対応する幾何性質としては、図形データベース13bから「ED//GC」、「EG//DC」、「EG=DC」、「ED=GC」…といった幾何性質が読み出される。読み出された幾何性質は、サブエリアκ(Ψ1)に記憶される。
また、これらの幾何性質から導き出される幾何性質も、サブエリアκ(Ψ1)に記憶される。
例えば、上述の「AB//EG」及び「EG//DC」から導き出される幾何性質「AB//EG//DC」も、κ(Ψ1)に記憶される。
次に、CPU10は、証明したい命題λと等価な幾何性質が、κ(Ψ1)に記憶されているかどうかを判断する(ステップB8)。
上述の対象図形情報ψa及び命題λaが与えられている場合には、命題λaを示す幾何性質「AE=CF」が、サブエリアκ(Ψ1)に記憶されているかどうかが判断される。この段階では、命題λa(AE=CF)はκ(Ψ1)に記憶されていない。
κ(Ψ1)に証明したい命題λと等価な幾何性質が記憶されていないと判断されると(ステップB8でNO)、CPU10は、ヒント記憶エリア14dに記憶されている補助線から所定の補助線γ2を選択し、当該選択された補助線γ2のデータを読み出す(ステップB5)。選択した補助線γ2を対象図形Ψ1上に描画して得られる図形を、新たに対象図形Ψ2とする。CPU10は、対象図形Ψ2に対応する幾何性質を図形データベース13bから読み出す(ステップB6)。CPU10は、RAM14のヒント記憶エリア14d内にκ(Ψ2)というサブエリアを確保して、読み出された幾何性質を当該κ(Ψ2)に記憶する(ステップB7)。
上述の対象図形情報ψa及び命題λaが与えられている場合には、CPU10は、補助線γ2として「点Fを通り、辺ABに平行な直線」を選択する。補助線γ2が対象図形Ψ1上に描画された図形として、図9(C)に示す対象図形Ψ2が得られる。この対象図形Ψ2には、平行四辺形EGFH、平行四辺形HFCD、三角形EFH等が含まれている。
平行四辺形EGFHに対応する幾何性質としては、「EG//HF」、「EH//GF」といった幾何性質が図形データベース13bから読み出される。読み出された幾何性質は、サブエリアκ(Ψ2)に記憶される。
平行四辺形HFCD、三角形EFHに対応する幾何性質も同様に図形データベース13bから読み出され、κ(Ψ2)に記憶される。
上述の「EG//HF」及び、サブエリアκ(Ψ1)に記憶された幾何性質「AB//EG//DC」から導き出される幾何性質「AB//EG//DC//HF」も、サブエリアκ(Ψ2)に記憶される。
また、「平行四辺形」記憶層に記憶された定理「平行四辺形の対角線は面積を二等分する」から「△EGF=△FHE」が導き出され、κ(Ψ2)に記憶される。
さらに「△EGF=△FHE」及びサブエリアκ(Ψ0)に記憶された幾何性質「台形ABFEの面積=台形CDEFの面積」より、「平行四辺形ABGEの面積=平行四辺形CDHFの面積」が導き出され、κ(Ψ2)に記憶される。
次に、CPU10は、証明したい命題λと等価な幾何性質が、サブエリアκ(Ψ2)に記憶されているかどうかを判断する(ステップB8)。
上述の対象図形情報ψa及び命題λaが与えられている場合には、命題λaを示す幾何性質「AE=CF」が、サブエリアκ(Ψ2)に記憶されているかどうかが判断される。この段階でも、命題λa(AE=CF)はκ(Ψ2)に記憶されていない。
κ(Ψ2)に証明したい命題λと等価な幾何性質が記憶されていないと判断されると(ステップB8でNO)、CPU10は、再びステップB5以降の処理を繰り返す。以降、CPU10は、ヒント記憶エリア14d内にサブエリアκ(Ψ3)、κ(Ψ4)…を確保し、補助線γ3、γ4、…の描画により得られる対象図形Ψ3、Ψ4、…(図9(D)(E)参照)に対応する幾何性質を記憶する。サブエリアκ(Ψn)に、証明したい命題λが記憶されていると判断されるまで(ステップB8でYES)、ステップB5からB8の処理が繰り返される。
サブエリアκ(Ψn)に、命題λと等価な幾何性質が記憶されていると判断されると(ステップB8でYES)、CPU10は、命題λと等価な幾何性質を取得するには不必要な補助線データ及び幾何性質をヒント記憶エリア14dから削除する(ステップB9)。すなわち、命題λと等価な幾何性質を取得するために経由した補助線γiのみを保持して、他の補助線のデータをヒント記憶エリア14dから削除する。また、補助線γiの描画によって得られる対象図形Ψiに対応するサブエリアκ(Ψi)に記憶された幾何性質以外をヒント記憶エリア14dから削除する。
上述の対象図形情報ψa及び命題λaが与えられている場合に、CPU10が、補助線γ1として「点Eを通り、辺ABに平行な直線」、補助線γ2として「点Fを通り、辺ABに平行な直線」、γ3として「点A及び点Cを結ぶ直線」、γ4として「点Aを通り、辺BCに垂直な直線」、γ5として「点Cを通り、辺ADに垂直な直線」を描画して得られる対象図形Ψ5を、図9(F)に示す。
補助線γ4の描画により得られる対象図形Ψ4に対応する幾何性質としては、「平行四辺形ABGEの面積=AE*AI」が得られ、サブエリアκ(Ψ4)に記憶される。
また、対象図形Ψ5に対応する幾何性質としては、「AI=CJ」、「平行四辺形CDHFの面積=CF*CJ」等が得られ、サブエリアκ(Ψ5)に記憶される。
サブエリアκ(Ψ2)に記憶されている幾何性質「平行四辺形ABGEの面積=平行四辺形CDHFの面積」、及び上述の「平行四辺形ABGEの面積=AE*AI」、「平行四辺形CDHFの面積=CF*CJ」の各幾何性質から、「AE*AI=CF*CJ」を導き出すことができる。この「AE*AI=CF*CJ」もκ(Ψ5)に記憶される。
さらに上述の「AE*AI=CF*CJ」及び「AI=CJ」から、「AE=CF」を導き出すことができる。導き出された「AE=CF」もκ(Ψ5)に記憶される。ここでCPU10は、証明したい命題λa(AE=CF)が、サブエリアκ(Ψ5)に記憶されたと判断する(ステップB8でYES)。
上述のサブエリアκ(Ψ1)〜κ(Ψ5)に記憶された幾何性質のうちサブエリアκ(Ψ3)に記憶された幾何性質は、幾何性質「AE=CF」(命題λa)の取得には用いられなかった。このため、κ(Ψ3)に記憶された幾何性質(補助線γ3の描画によって得られる対象図形Ψ3に対応する幾何性質)は、ヒント記憶エリア14dから削除される。また、補助線γ3「点A及び点Cを結ぶ直線」のデータも、ヒント記憶エリア14dから削除される。
以上のようにして、命題λの証明に所要の補助線のデータが検出される。命題λの証明に必要な補助線が検出されると、図6の補助線描画処理に復帰する。なお、この時点での表示部12の表示状態は、図7(A)に示す状態のままである。
ユーザが入力部11に備えられたヒントボタン11eを操作すると(ステップA4でYES)、CPU10は、図形表示領域12aに表示されている対象図形に対応する幾何性質を、ヒント記憶エリア14dから読み出す。図7(A)に示すように、対象図形Ψ0が図形表示領域12aに表示されている場合は、ヒント記憶エリア14dのサブエリアκ(Ψ0)に記憶された幾何性質が読み出される。CPU10は、読み出された幾何性質に、まだ文字・式表示領域12bに表示されていない情報が含まれているかどうかを判断する(ステップA5)。κ(Ψ0)に記憶された幾何性質に、まだ文字・式表示領域12bに表示されていない情報が含まれていると判断されたら(ステップA5でYES)、CPU10は、表示されてない幾何性質のうちいずれかを、文字・式表示領域12bに表示させる(ステップA6)。
上述の対象図形情報ψa及び命題λaが与えられている場合、ユーザがヒントボタン11eを操作すると、CPU10は、記憶領域κ(Ψ0)から、例えば幾何性質「AD=BC」を読み出す。読み出された幾何性質「AD=BC」は、文字・式表示領域12bに表示される。ユーザがヒントボタン11eを操作する都度、幾何性質「AD//BC」、「AB//DC」等が、ヒントとして文字・式表示領域12bに表示される(図7(B)参照)。
ユーザがヒントボタン11eを操作しても、κ(Ψ0)に未表示の情報が残っていない場合には(ステップA5でNO)、CPU10は、表示できるヒントがない旨を文字・式表示領域12bに表示する(ステップA7)。
ユーザが補助線描画ボタン11dを操作して補助線描画の開始を指示すると(ステップA8でYES)、CPU10は、「点と点」、「点と線」、「線と線」及び「すべて」の4項目を、表示部12の文字・数式表示領域12bに表示させる(ステップA9)。ステップA8で補助線の描画開始が指示されなければ(ステップA8でNO)、補助線描画処理を終了する。
ユーザは、入力部11を操作して、表示された4項目からいずれかの項目を選択することができる(ステップA10)。
ユーザが入力部11を操作して、表示された4項目からいずれかの項目を選択すると(ステップA10でYES)、CPU10は、ユーザの選択に対応する補助線描画条件に従って、対象図形Ψ0に対して描画可能な補助線を検出する(ステップA11)。検出された補助線は、対象図形Ψ0上に順次切り替えられて描画される(ステップA12)。補助線の描画は、例えばアルファベット順など、所定の順番で行えばよい。
ステップA10においてユーザが「点と点」の項目を選択した場合、CPU10は上述の補助線描画条件「点と点」に従って描画可能な補助線を検出する。検出された補助線のデータは、補助線記憶エリア14cのサブエリア「点と点」141に記憶される。
CPU10は、サブエリア「点と点」141から補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψ0に対して補助線の描画がなされる。
ステップA10においてユーザが「点と線」の項目を選択した場合、CPU10は上述の補助線描画条件「点と線」に従って描画可能な補助線を検出する。検出された補助線のデータは、補助線記憶エリア14cのサブエリア「点と線」142に記憶される。
CPU10は、サブエリア「点と線」142から補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψ0に対して補助線の描画がなされる。
ステップA10においてユーザが「線と線」の項目を選択した場合、CPU10は上述の補助線描画条件「線と線」に従って描画可能な補助線を検出する。検出された補助線のデータは、補助線記憶エリア14cのサブエリア「線と線」143に記憶される。
CPU10は、サブエリア「線と線」143から補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψ0に対して補助線の描画がなされる。
ステップA10においてユーザが「すべて」の項目を選択した場合、CPU10は上述の補助線描画条件「点と点」、「点と線」、「線と線」に従って描画可能な補助線をそれぞれ検出する。検出された補助線のデータは、補助線記憶エリア14cの対応するサブエリア141〜143に記憶される。
CPU10は、補助線記憶エリア14cのサブエリア「点と点」141、「点と線」142、「線と線」143に記憶されているすべての補助線データを順次読み出す。読み出された補助線データに基づいて、図形表示領域12aに表示された対象図形Ψ0に対して補助線の描画がなされる。
ユーザは、順次切り替えられて描画される補助線からいずれか1本を選択することができる(ステップA13)。すなわち、ステップA12において順次描画される補助線の中に所望の補助線があった場合、ユーザは、入力部11を操作して当該補助線を選択することが可能である。ユーザがいずれの補助線も選択しなければ(ステップA13でNO)、ステップA10に戻り、再び補助線描画条件の選択を行う。
ユーザが、順次表示された補助線からいずれか1本を選択したら(ステップA13でYES)、CPU10は選択された補助線を対象図形Ψ0上にそのまま表示する(ステップA14)。対象図形Ψ0上には、選択された補助線が表示され、残りの補助線は非表示とされる。ユーザによって選択された補助線のデータは、図形情報記憶エリア14aに記憶される。
CPU10は、選択された補助線と、対象図形の各要素との交点を抽出する(ステップA15)。抽出された交点には、ユーザが手動で、またはCPU10が自動で名称を付与する(ステップA16)。
一方、ステップA10においてユーザが補助線描画条件の選択を行わず、ヒントボタン11eを操作した場合(ステップA10でNO、ステップA17でYES)、CPU10は、図8の所要補助線検出処理によって検出されヒント記憶エリア14dに記憶された補助線γiから、例えば記憶された順番で所定の1本を選択する(ステップA18)。対象図形Ψ0上には、選択された補助線が表示される(ステップA14)。CPU10は、選択された補助線と、対象図形Ψ0の各要素との交点を抽出する(ステップA15)。抽出された交点には、ユーザが手動で、またはCPU10が自動で名称を付与する(ステップA16)。
上述の対象図形情報ψa及び命題λaが与えられている場合、ユーザがステップA17においてヒントボタン11eを操作すると、CPU10は、補助線γ1「点Eを通り、辺ABに平行な直線」を選択して、図形表示領域12aに表示する(図7(C)参照)。補助線γ1と辺BCの交点には、名称「点G」が付される。
以上のようにして1本の補助線が表示されると、CPU10は、対象図形Ψ0に対して選択された補助線が付加された図形を、新たな対象図形としてステップA4以降の処理を繰り返す。
上述の対象図形情報ψa及び命題λaが与えられている場合、補助線γ1が描画された後にステップA4においてユーザがヒントボタンを操作すると、CPU10は、ヒント記憶エリア14dのサブエリアκ(Ψ1)から幾何性質「AB//EG//DC」を読み出す。読み出された幾何性質「AB//EG//DC」は、ヒントとして文字・式表示領域12bに表示される(図7(C)参照)。
さらにユーザが補助線描画ボタン11d、ヒントボタン11eを操作すると(ステップA8でYES、ステップA10でNO、ステップA17でYES)、CPU10は、補助線γ2「点Fを通り、辺ABに平行な直線」を選択して(ステップA18)、図7(D)に示すように、図形表示領域12aに表示する(ステップA14)。補助線γ2と辺ADの交点には、名称「点H」が付される(ステップA16)。
補助線γ2が描画された後、ユーザがヒントボタン11eを操作すると(ステップA4でYES)、CPU10は、ヒント記憶エリア14dのサブエリアκ(Ψ2)から未表示の幾何性質「AB//EG//DC//HF」を読み出して、ヒントとして文字・式表示領域12bに表示する(ステップA6)。ユーザがヒントボタン11eを操作する都度、ヒントとして「△EGF=△FHE」、「平行四辺形ABGEの面積=平行四辺形CDHFの面積」等が文字・式表示領域12bに順次表示される(図7(D)参照)。
再びユーザが補助線描画ボタン11d、ヒントボタン11eを操作すると(ステップA8でYES、ステップA10でNO、ステップA17でYES)、CPU10は、補助線γ4「点Aを通り、辺BCに垂直な直線」を選択して(ステップA18)、図形表示領域12aに表示する(ステップA14)。補助線γ4と辺BCの交点には、名称「点I」が付される(ステップA16)。
補助線γ4が描画された後、ユーザがヒントボタンを操作すると(ステップA4でYES)、CPU10は、ヒント記憶エリア14dのサブエリアκ(Ψ4)から幾何性質「平行四辺形ABGEの面積=AE*AI」を読み出す。読み出された幾何性質「平行四辺形ABGEの面積=AE*AI」は、ヒントとして文字・式表示領域12bに表示される(図示せず)。
再びユーザが補助線描画ボタン11d、ヒントボタン11eを操作すると(ステップA8でYES、ステップA10でNO、ステップA17でYES)、CPU10は、補助線γ5「点Cを通り、辺ADに垂直な直線」を選択して(ステップA18)、図形表示領域12aに表示する(ステップA14)。補助線γ5と辺ADの交点には、名称「点J」が付される(ステップA16)。
補助線γ5が描画された後、ユーザがヒントボタンを操作すると(ステップA4でYES)、CPU10は、ヒント記憶エリア14dのサブエリアκ(Ψ5)から幾何性質「平行四辺形CDHFの面積=CF*CJ」を読み出す。読み出された幾何性質「平行四辺形CDHFの面積=CF*CJ」は、ヒントとして文字・式表示領域12bに表示される。ユーザがヒントボタン11eを操作する都度、図7(E)に示すように、ヒントとして「AI=CJ」、「AE*AI=CF*CJ」、「AE=CF」が文字・式表示領域12bに順次表示される。このようにして、ユーザは証明したい命題λa「AE=CFである」を得ることができる。
この第2実施形態の補助線描画処理によれば、図8に示す所要補助線検出処理によって、命題の証明に必要な補助線及び幾何性質を検出し、記憶しておく。ユーザがヒントボタン11eを操作する都度、証明に必要な幾何性質や補助線が表示される。このため、ユーザは効果的な幾何学習を行うことができる。
図8に示す所要補助線検出処理では、ステップB5において、所定の補助線の選択を行った。選択の順序は、対象図形の種類に応じて予め決められていてもよい。また対象図形の要素ごとに優先順位を付与して、優先順位の高い要素に基づく補助線から選択するようにしてもよい。
また、ステップB8で証明したい命題λと等価な幾何性質が得られていないと判断されたら、ステップB5に戻って、再び補助線の選択を行った。しかしながら、この際ステップB4の処理に戻って、改めて描画可能な補助線の検出および選択を行ってもよい。
また、ステップB8で証明したい命題λと等価な幾何性質が得られていないと判断された場合に、ヒント記憶領域14dに記憶された補助線の中に、まだステップB5において選択されていない補助線が残っているかどうかを判断するようにしてもよい。選択されていない補助線があると判断された場合にステップB5の処理に戻り、選択されていない補助線が残っていないと判断された場合にステップB4の処理に戻るようにしてもよい。
図6に示す補助線描画処理においては、ステップA4又はA17でヒントボタン11eが操作される都度、ヒント記憶エリア14dに記憶された幾何性質又は補助線が表示部12に表示された。このヒントの表示の順序は、対象図形の種類に応じて予め決められていてもよい。また対象図形の要素ごとに優先順位を付与して、優先順位の高い要素に基づく補助線から選択するようにしてもよい。
また、ステップA10において「点と点」、「点と線」、「線と線」、「すべて」の4項目からいずれか1つの項目を選択した。しかしながら、「点と点」、「点と線」、「線と線」の各項目から、2以上の項目を組み合わせて選択できるようにしてもよい。ステップA10の選択を行わずに、ステップA11で検出した補助線すべてを順次追加で描画するようにしてもよい。あるいは、ユーザが入力部11の操作により任意の2点を指定するなどして、手動で補助線を描画できるようにしてもよい。
また、ユーザが選択した補助線描画条件に応じて、ステップA11で描画可能な補助線を検出した。しかしながら、描画可能な補助線の検出処理を行わずに、ヒント記憶エリア14dに記憶された命題の証明に必要な補助線から、ユーザが選択した補助線描画条件に対応する補助線を読み出して、ステップA12で順次描画するようにしてもよい。
本実施形態においては、ステップA12における補助線の順次描画中に、所望の補助線の選択が可能であるとした。しかしながら、ユーザが選択した補助線描画条件に対応する全補助線をステップA12において順次追加して描画し、その後、描画された全補助線を対象図形Ψ上に同時に表示するようにしてもよい。各補助線は、色や表示形式を変えて互いに区別可能となるように表示する。そして、同時表示された全補助線から、ユーザが所望の補助線を選択できるようにしてもよい。
また、本実施形態においては、ユーザが入力部11を介して対象図形情報ψ及び命題λを入力し、当該対象図形情報ψに対応する図形を、補助線描画処理の対象となる対象図形Ψ0として図形表示領域12aに表示させた。しかしながら、予めROM13に各種の
対象図形Ψの情報及び命題λの情報を記憶しておき、その中からユーザが任意の対象図形及び命題を選べるようにしてもよい。あるいは、幾何学の証明問題の形式で記憶しておいてもよい。
また、本実施形態においては、ユーザに提供するヒントを図形データベース13bに予め記憶された幾何性質から検出した。ユーザが学習済みの幾何性質のみを図形データベース13bに予め記憶しておくなどすれば、ユーザの学習進度に合わせた幾何学習が可能になる。
また、上述のように与えられた命題λの証明に成功したら、当該命題λ及び対象図形情報ψを図形データベース13bに記憶するようにしてもよい。ユーザは、証明に成功した命題λに基づいて、更に高度な幾何の問題に取り組むことができるようになる。
なお、前記各実施形態において記載した手法、すなわち、図4のフローチャートに示す第1実施形態の補助線描画処理、図6のフローチャートに示す第2実施形態の補助線描画処理、図8のフローチャートに示す前記第2実施形態の補助線描画処理に伴う所要補助線検出処理などの各手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶媒体(15)に格納して配布することができる。そして、図形描画機能を有する電子式計算機のコンピュータは、この外部記憶媒体13に記憶されたプログラムを記憶装置(13)(14)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記各実施形態において説明した幾何図形に対する補助線の選択的描画・表示機能を実現し、前述した手法による同様の処理を実行することができる。
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(公衆回線)N上を伝送させることができ、この通信ネットワークNに接続された通信装置(17)によって前記のプログラムデータを図形描画機能を有する電子式計算機のコンピュータに取り込み、前述した幾何図形に対する補助線の選択的描画・表示機能を実現することもできる。
本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、1つの実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの実施形態に示される構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。