数理解析研究所講究録
第 1780 巻 2012 年 52-54

52

DyGeom: 数式処理ソフトで動く動的幾何ソフト (1)

明治大学理工学部数学科 阿原 一志 (Kazushi Ahara)
Fuculty of Science and Technology,Meiji University

1

はじめに
動的幾何ソフトウエア (IGS,Interactive geometry software) とは主に平面幾何の分野

において，対話的なユーザーインターフェースをもつような数学ソフトウエアのことを指す．Cinderella や Geogebra は欧米を中心に良く知られた IGS の例である．IGS は主に教育目的に開発され，著者も 2008 年に KidsCindy[2] を発表している．この論文においては，Mathematica に代表される CAS (数式処理システム) の上で動く IGS の可能性を検証し，Mathematica の上で動く DyGeom というパッケージにおける実装実験の評価について紹介する．

2

動的幾何ソフトウエアとは何か

一般的な動的幾何ソフトウエアの定義はないが，共通して挙げられる特徴としては，平面幾何・立体幾何などの初等幾何学の作図をマウスなどの簡単なインターフェースを通じて行えること，作図手順が管理されており作図作業後に頂点などを移動させても作図が崩れないで変形すること (このことを動的機能という), インシデンシー (直線と点との包含関係) を数式処理的に解決できること (このことを自動定理証明機能という)があげられる．作図できる要素は点，直線，円，関数のグラフ，軌跡などである．
動的幾何ソフトウエァに内在するアルゴリズムには大きく 3 つの数学的問題が含まれている．1 つは作図手順に対して作図が崩れない保障 (このことを静的機能という) であり，1 つは動的機能であり，1 つは自動定理証明機能である．
自動定理証明機能について簡単に触れておこう．インシデンシー (数学的に特定の点が特定の直線上にあるかどうか) を数式処理的に確かめる方法は，古くは Wu の方法が知られている．これは，作図手順から図に現れる各頂点の座標に関する連立方程式系を立てて，インシデンシーを演繹的に導く方法である．また，Cinderella においては自由に動かせる頂点を十分多様に微動させることにより機械証明を行う方法が提案されている．

3

IGS を CAS 上で製作する意昧について
IGS におけるこれらの諸機能は，製作者の努力によって実装され非常に便利で有益である．しかしその一方でユーザーから見れば，ユーザーが自由に機能を拡張しにくいと

53
いった問題点も含んでいる．そのためには Open source (プログラムソースを公開して，改変頒布を自由に認めること) の形態で開発することがひとつの解決方法であるとおもわれる．しかし Open source の IGS はごく限られているのが現状である．
著者の作である KidsCindy は windows, Mac OSX,Linux 用に同時開発し，Open sourceとしてプログラムソースを公開した．この意味ではある程度汎用性拡張性を持たせることができたと思われるが，一方で新たしいメディア たとえば $iPad)$ など新たな OS にはその都度対応しなければいけないという問題点が見えてきた．
$($IGS を一般に頒布されている CAS(数式処理システム) 上で構築する試みはこれまであまり行われていない．その理由として，作図入力や動的処理のためのユーザーインターフェースが限定されていることがあげられる．CAS の入力はあくまで数式や関数であることが前提となっているからである．一方で CAS 自身が含んでいるような，グレブナー基底や quantum relation などの強い数式処理機能を利用することは十分に考えられることである．また Mathematica のように出力としての動的機能を持たせている CASが現れるにいたり，CAS 上で IGS を開発することの意味が大きくなってきたといえる．

4

DyGeom の実装実験の評価

Mathematica の豊富な機能を利用して，平面幾何，立体幾何にかかわる動的作図ツールを制作することが目標である．DyGeom はこの目標のもとに実装実験をした Mathematicaのパッケージである．

昨年度に報告した DyGeom ver.0.30 で，入力としての平面幾何の作図モジュールの実装を行った．ラインコマンドで作図手順を入力し，作図手順のデータを plotdata に変換して，T 免 Tpic[2] を経由して TeX のピクチャー環境に記述されたファイルを出力する機能を実装した．標準的な作図手順のコマンドを実装し，作図表現の静的問題を解決した．
実行例は [3] に蓄積した．三角形の 5 心，オイラーの定理，三角形の 9 点円，パスカルの定理などの多くの平面幾何の定理の TeX 用の挿絵を，Mathematica の 20 行程度のソースで実現することができた．
DyGeom ver.0.41 では，ラインコマンドで与えた作図手順に対して，Mathematica のManipulate 関数，Locator を用いて動的な出力を出せるようなパッケとした．これも$-\backslash ^{\backslash }\nearrow^{\backslash }\backslash$

多くの平面幾何の定理についての動的出力を比較的短行数で実現することが出来た．

5結論，展望最終版の DyGeom では，作図手順の入力はラインコマンドより簡素化できなかったが，出力に関しては動的機能を実現することができた．平面幾何の多くの定理の図・平面幾何の多くの作図問題を Mathematica の画面上で動的に見ることができ，そして TeXの挿絵として出力することが可能になった．IGS の大きな要素である「静的問題」「動的機能」「自動定理証明機能」のうちの前 2 者を実装することができた意義は大きい．

54
引き続き，自動定理証明機能を搭載すること，図中の頂点の名前，角度パーレン，線分長パーレンを適切な位置に表示するインテリジェントシステム，作図手順の入力のためのインターフェースを作成すること，が喫緊の課題である．
長期的な課題としては，まず，3 作図をサポートすることがまずあげられる．Math$D$

ematica には立体図形のビュワーがあり，KJpic にも立体図形のパッケージがある．それらを橋渡しするパッケージを作る意味は大きい．もうひとつの課題は，双曲幾何，楕円幾何の作図をサポートすることである．IGS でこれら非ユークリッド幾何をサポートしているのは Cinderella のみである．幾何の枠組みをモジュール化して実装しているので，双曲幾何，楕円幾何への移植も可能であると考えられる．

参考文献[1] 山下哲，関口昌由，高遠節夫 : 「 Maple による図形描画用 Tffl ファイルの作成について」，日本数学教育学会高専大学部会論文誌，Vol.13, Nol, pp.31-40, 2006.
[2] 阿原一志 :「KidsCindy」，http:$//\backslash mwl1$.atwiki.jp/kidscindy/[3] 阿原一志 : 「 DyGeom on Mathematica」 , http: $//wwwl6$ .atwiki.jp/casgeom/