GeoGebraについて
概要
GeoGebraは、リンツ大学のMarkus Hohenwarter教授を中心とするグループによりJavaで開発され、GPLで無料であり、Chrome App、Windows、Mac、Linux、Windowsアプリ、iPad、Androidと多くの環境で動作します。今回はMacで確認しました。
GeoGebraは、GUIで簡単に操作でき、数式のグラフを描画でき、スライダーによりパラメータを変更して動きを見る事ができます。散布図等の簡単な統計処理の機能があり、バージョン5からは3Dグラフや高度な統計にも対応するようになりました。因数分解や微分積分などの数式処理機能もあります。
インストール
GeoGebraのDownloadsのページから簡単にインストールできます。Macの場合は、(バージョン5は)App Storeからインストールします。
学習方法
次の順番でGeoGebraの文書を読むと使い方が分かると思います。
- 大学初年級におけるGeoGebraの教育利用 濱田龍義 著(pdf):概要
- GeoGebra Quickstart for Desktop (pdf):10ページ。ステップバイステップで5つの例
- GeoGebra日本:基礎とプログラミングと実例
- Introduction to GeoGebra (pdf):141ページ。詳細な解説
- GeoGebra 5.0 Manual:コマンドや関数など様々な情報
ウォークスルーの節では、GeoGebra Quickstart for Desktop (pdf)のExample 3を単純化した例で一通りの流れを説明します。
ファイル出力
GeoGebraは、メニューから[ファイル]>[保存]または[名前を付けて保存...]で GeoGebraが扱うggbファイルで保存できます。
メニューから[ファイル]>[エクスポート]を選択することで、次の形式で保存できます。
- 動的なワークシートをウェブページとして(html)
- グラフィックスビューを画像として(png/pdf/eps/svg/emf)
- グラフィックスビューをGIFアニメーションとして
- グラフィックスビューをクリップボードへ
- グラフィックスビューをPSTriksとして
- グラフィックスビューをPGF/TikZとして
- グラフィックスビューをAsymptoteとして
「動的なワークシートをウェブページとして(html)」は、Java Appletを含むHTML形式のファイルでChrome App版同様の操作をおこなえるものを、GeoGebraTube(要登録)に公開して利用してもらう事ができます。
理系ジンが確認したところ、保存やエクスポートではたまに問題が起きたりします。
ウォークスルー
GeoGebra Quickstart for Desktop (pdf)のExample 3を単純にした例で、ウォークスルーの解説をおこないます。
画面
GeoGebraを起動すると次のような画面になっています。
上端が、[メニュー]で、保存やエクスポートやGeoGebraTubeへのサインイン等できます。
ウィンドウの上部に、[ツールバー]があります。[ツールバー]をクリックすると5つ程の詳細な機能も呼び出せ、それらでグラフ関連の殆どの機能を呼び出せます。
ウィンドウの右上に、[元に戻す]、[やり直し]、[ヘルプ]、[プレファレンス]ボタンがあります。
ウィンドウの右端に、小さい三角形のボタンがあり[パースペクティブサイドバー]を開閉します。[パースペクティブサイドバー]では、デフォルトの[数式&グラフィックス]、[幾何]、[Spreadsheet]、[CAS]、[3D Graphics]、[Probability]を選択でき、メイン画面の内容を切り替えられます。
[パースペクティブサイドバー]の選択により、メイン画面に、[数式ビュー]、[グラフィックスビュー]、[入力]、[表計算]、[CAS]、[グラフィックスビュー3D]、[統計のグラフ]が表示されます。
[入力]に数式や点などを入力すると、それが[数式ビュー]に表示され、[グラフィックスビュー]や[グラフィックスビュー3D]にグラフなどが描画されます。[表計算]や[CAS]は、[入力]がデータや複数の数式に対応したようなものです。
例の作成
以下のような手順で操作すると、次のようなGIFアニメーションの動くグラフを作成できます。
複数の数式を入力するので、[パースペクティブサイドバー]で[CAS]を選びます。
[CAS]の1番目にf(x):=x^2-2x+2
と入力します。
[スライダー]ボタンを選択して、[グラフィックスビュー]の適当な場所をクリックして、[スライダー]を配置します。
[スライダー]の[プリファレンス]ウィンドウの、[スライダー]タブで[最小]を-1
、[最大]を1
、[アニメーション]の[反復]を[振動]に設定し、[基本]タブで、[アニメーション オン]に[チェック]します。
[CAS]の2番目に、g(x):=a*x+1
と入力し、[CAS]の3番目に、h(x):=f(x)-g(x)
と入力します。
[2つのオブジェクトの交点]ボタンを選択し、グラフィックスビューのf(x)とg(x)のグラフをクリックし交点を表示します。
もう一度、[2つのオブジェクトの交点]ボタンを選択し、グラフィックスビューのh(x)とx軸のグラフをクリックし交点を表示します。
これで完成です。動作を眺めていると、f(x)とg(x)の交点と、h(x)とx軸の交点が同時にできていると気が付きます。
メニューの[ファイル]>[エクスポート]>[グラフィックスビューをGIFアニメーションとして]することにより、GIFアニメーションとして保存できます。
グラフィックスビュー3Dの例
GeoGebra Quickstart for Desktop (pdf)のExample 5の3DのグラフィックスをGeoGebraTubeにエクスポートすると次のようになります。色々操作できます。
理系ジンの意見
GeoGebraは多くの環境で利用でき、グラフの見た目も奇麗で多機能です。
特に、ファイルの保存などで、正常動作する場合もあればしない場合もあります。プログラミング機能は再帰ができないなど限られています。
これまで調べた、TeXのTikZ、GeoGebra、gnuplot、Maxima、Rは用途に応じて試行錯誤しながら利用しようと思います。例えば、物理の記事にはMaximaを主に使うかもしれません。
他にも、PythonやJavaScriptのライブラリ等ありますが、個性的だったり複雑だったり、外部サーバーやCDNが必要になる場合が多いようなので利用しない予定です。
次回の予定
話題が変わり、HTML5アプリなどを置くサーバーを検討します。