コンピューターで描く図形の数学〜3D-XplorMath を使ったコンピュータ実習〜
酒井 高司
首都大学東京理工学研究科

1

はじめに2010 年 8 月 12 日から 14 日にかけて国立女性教育会館において「女子中高生夏の学校2010〜科学・技術者のたまごたちへ〜」（以下「夏学」と略記）が開催されました．夏学
は科学技術振興機構の「女子中高生の理系進路選択支援事業」の一つで，女子中高生に科学技術の世界の楽しさを体験してもらい，研究者・技術者，大学生・大学院生との少人数を単位とした親密な交流を通じて，理系進路選択の魅力を伝えることが主な目的です．各
種学会をはじめ大学や企業など 30 以上の団体が共催・協賛・協力・後援団体として協力し，日本数学会もこれに参加しました．筆者は 2 日目午前の「サイエンスアドベンチャーI」において「コンピューターで描く図形の数学」と題して実験実習を行い，午後に行われた「サイエンスアドベンチャー II」のポスターセッションにも参加しました．本稿ではこの夏学で行った実習について報告を行いたいと思います．
会場となった国立女性教育会館は埼玉県比企郡嵐山町にある，緑に囲まれ広々とした敷地に充実した施設をもつ研修所です．宿泊施設もあり，夏学はここを利用して 2 泊 3 日の合宿形式で行われました．全国各地から集まった女子中高生約 120 名に保護者・教員等が約 50 名，加えてスタッフ，TA，学会等からの参加者らが多数集まる大がかりなイベントでした．

2

3D-XplorMath
ここでは実習で使用した 3D-XplorMath (以下 3DXM と略記) というソフトウェアの紹介をしたいと思います．3DXM
は Richard Palais 氏と Hermann Karcher 氏の二人の数学者が中心となり開発を行っているフリーの数学的可視化ソフトウェアです．

1

3DXM は簡単な操作で様々な数学的オブジェクトをグラフィックス化して視覚的にとらえることができるようデザインされています．現在のバージョンには 200 種類以上のオブジェクトのデータが既に組み込まれていて，平面曲線，空間曲線，曲面，共形写像，多面体，微分方程式，波動，サウンド，フラクタルとカオスのカテゴリーに分類して収録されています．ユーザーはプルダウンメニューからこれらを選択するだけで基本的なグラフィックスを表示させ，様々な角度から観察することができます．

3DXM の大きな特徴として，各オブジェクトに対してそれぞれ利用の仕方と数学的な解説が書かれたドキュメントが用意されています1 ．ユーザーはドキュメントを読みながらグラフィックスを見ることによって，より理解を深めることができます．また，3DXMは単なるグラフィックスの観賞用ソフトではなく，パラメータを変更することによってグラフィックスを変形させたり，様々な実験を試みることができます．これらの変形をアニメーション化することもできます．さらに，User Defined という項目において自分で新しいオブジェクトを定義することもできます．各カテゴリーで User Defined を選択すると，ダイアログボックスが表示されます．ここに定義データを入力することにより，自身でオリジナルのオブジェクトを定義することができます．夏学の実習ではこの User Defined を使って曲線や曲面を描きました．

Macintosh コンピュータ用の Pascal 版と Java 版があり，プログラムは次のウェブサイ
トからダウンロードすることができます．

http://3d-xplormath.org/
3DXM の Java 版は福岡大学の濱田龍義氏が制作している KNOPPIX/Math の最新版にも収録されていますので，こちらを利用していただくこともできます．

実習の内容

3

国立女性教育会館のマルチメディアルームにあるコンピュータを利用し，コンピュータグラフィックスで曲線や曲面を描
く 2 時間ほどの実習を行いました．実習は 10 クラスに分かれて行われ，筆者のクラスには 9 名の生徒が参加しました．以
下は実習で配布したプリントからの抜粋です．
サイエンスの分野で現象を解明したり，工学において図形を応用するためには，科学の言語である数学の言葉で図形を書き表すことが必要となります．実習ではまず平面曲線と空間内の曲面を表す方法として，グラフ表示，パラメータ表示，
1

Java 版にはまだドキュメントがつけられていません．3DXM のウェブサイトに併設されているウェブ
ギャラリー (Virtual Math Museum) で各オブジェクトごとにドキュメントを PDF ファイルで公開しているので，そちらをご覧ください．

2

陰関数表示という３つの方法を学びます．数式を使って図形を表わすことにより，個々の図形のもつさまざまな性質を数学的により詳しく調べることが可能になります．
フリーハンドで描くことは困難であるような複雑な図形も，現在ではコンピュータグラフィックスによって簡単に描くことができます．実習では 3D-XplorMath というコンピュータソフトウェアを使っていろいろな曲線や曲面を描きます．数式とグラフィックスを照らし合わせて観察することにより，図形のもつさまざまな性質を発見しましょう．

3.1

身近な曲線と曲面の例

実習を始めるにあたって，数学は紙の上だけの学問ではなく，実在するものであることを実感してもらうことを目的として，まず私たちの身近にある曲線と曲面の例とそれらの性質，および工学への応用例を見せました．例えば，学校でも習うように，物を放ったときの軌跡は放物線を描きます．ネックレスを垂れ下げたときにできる曲線は懸垂線と呼ばれる曲線になります．また，放物面がパラボラアンテナに使われていたり，クロソイド曲線が高速道路の設計に使われています．

図 1: 懸垂線

3.2

図 2: クロソイド曲線

数式を使って図形を表わす方法

曲線と曲面のグラフ表示，パラメータ表示，陰関数表示と 3 つの表わし方について例を示しながら説明しました．曲線と曲面を扱うためにはどうしても 2 変数関数やベクトル値関数といった新しい概念が必要となりますので，これらについてもなるべく中学までの知識で理解できるよう簡単に説明しました．初めて聞く言葉や概念がたくさん出てきて生徒たちは戸惑ったかもしれませんが，幾何学的に説明すると理解したようで，熱心に説明を聞いていました．

3このような中高生向けの授業ではなるべく数式を出さないで説明を試みることが定石だと思いますが，数式とそれが表わす図形の対応を観察することにより，数学に実在感を感じてもらうことを狙い，今回はあえて数式を前面に出すことにしました．

3.3

2 次曲線の作図実習の目的はコンピュータグラフィックスで図形を描くことですが，コンピュータを使うとあまりに簡単に描けてしまうので，まずは自分で紙の上に 2 次曲線を作図する実習をしてもらいました．2 次曲線の定義と基本的な性質について説明した後で実際に作図をすることで，それらの性質を理解してもらいました．まず，よく知られた方法として，糸の両端に画鋲を付けた楕円コンパスを使って楕円を描きました．紙の上に糸がたるんだ状
態で 2 つの画鋲を刺し，鉛筆をあてがって糸がぴんと張った状態のところをなぞると楕円を描くことができます．糸の長さは変わらないので，2 つの画鋲の間隔を変えると，楕円の長径と短径の比が変わることが観察できます．また，次の方法で楕円上の点をプロットし，楕円の概形を描いてもらいました．
楕円と双曲線の作図

1) 円周の内部に点 F をとります．この F が楕円の一つの焦点になります．

2) 円周上に任意に点 S をとり，円周の中心 O と線分でむすびます．

3) 線分 F S の垂直二等分線を描き，線分 OS との交点を A とします．

4) 円周上の点 S をとりなおし，2), 3) を繰り返します．
5) S が円周上を一周回ったときの点 A の軌道として楕円が得られます．
焦点 F を円周の外部にとると，点 A の軌道は双曲線になります．
作図を通して 2 次曲線の性質は概ね理解できたようです．もちろんここでは実験的に確かめただけであって，次にこれを数学的に証明することが課題となります．やや難しくなりますが，夏休みの研究課題として次のような問題を出しました．
研究課題

1. 平面上において 2 点からの距離が和が一定な点の集まりは楕円になることを示そう．
2 点 (a, 0) と (−a, 0) からの距離の和が L (> 2a) であるような点の集まりとして得られる楕円の長軸と短軸の長さはいくつになるでしょう？また，2 点からの距離が差が一定な点の集まりは双曲線になることを示そう．

4

2. 平面上において 2 点からの距離の積が一定な点の集まり，2 点からの距離の商が一定な点の集まりはそれぞれどんな図形になるでしょう？

3. 空間内において 2 点からの距離の和が一定な点の集まり，差が一定な集まり，積が一定な集まり，商が一定な集まりはそれぞれどんな図形になるでしょう？

3.4

3D-XplorMath を使って曲線と曲面を描いてみよう

より複雑な図形もコンピュータを用いることにより，簡単に描くことができます．ここでは 3D-XplorMath を使って曲線と曲面を描いてみましょう．コンピュータに図形を描かせるためには，図形を定めるデータ（数式と数値）を入力しなければなりません．
曲線のパラメータ表示
パラメータ表示された曲線を描くには，3D-XplorMath の「平面曲線」のギャラリーにある「新しい曲線の定義（パラメータ表示）」を用います．この項目を選ぶと曲線のデータを入力するウインドウが表示されます．定義関数を入力するボックスに描きたい曲線の x 座標と y 座標を定める関数 x(t) と y(t) を入力します．t が曲線のパラメータになります．t の最小値と最大値を入力すると，この範囲を t が動いたときの点 (x(t), y(t)) の軌跡が曲線として描かれます．例として放物線を描いてみましょう．放物線は 2 次関数のグラフですから x(t) = t, y(t) = at2 とパラメータ表示されます．定義関数に x(t) = t,y(t) = a*t^2 を入力します．ここで，a の値は「関数で使われるパラメータ」で指定することができます．
実習課題

1. 楕円と双曲線のパラメータ表示を用いて楕円と双曲線を描いてみよう．
曲面の陰関数表示

3D-XplorMath を使って，方程式 f (x, y, z) = a をみたす点の集まりとして陰関数表示
された曲面を表示するには「陰関数曲面」のギャラリーの「新しい陰関数曲面の定義」を用います．
「定義関数」に関数 f (x, y, z) を，「レベル」に a の値を入力します．例として，

x2 + y 2 + z 2 = 1 によって与えられる曲面を描いてみましょう．定義関数に x^2+y^2+z^2を入力し，「レベル」に 1 を入力します．このとき球面が得られます．
実習課題

1. いろいろな 2 次曲面を描いてみよう．
2 次曲面の分類を紹介した後で，それらを 3DXM で描いてもらいました．描き方を覚えてしまうと，いろいろ試みるのは簡単で，生徒たちは自発的に 3 次曲面や 4 次曲面を描5

図 3: クレブシュの 3 次曲面

図 4: クンマーの 4 次曲面

いていました．方程式によっては適当に描画範囲等を設定しないとうまく描画することができません．そのような場合はなぜうまく描けないのかを考えてもらいました．
曲面のパラメータ表示

3D-XplorMath を使って，パラメータ表示された曲面を描くには「曲面（パラメータ表示）」のギャラリーの「新しい曲面の定義（パラメータ表示）」を用います．例として楕円放物面を描いてみましょう．楕円放物面は f (x, y) = ax2 + by 2 のグラフとして表される
ので，(x(u, v), y(u, v), z(u, v)) = (u, v, au2 + bv 2 ) とパラメータ表示されます．
「定義関数」に x(u,v)=u, y(u,v)=v, z(u,v)=a*u^2+b*v^2 と入力します．a, b の値と u, v の最大値と最小値も適当に入力します．
実習課題
次の曲面のパラメータ表示を与え，グラフィックスを描いて観察しよう．図形のどんな性質が見つかるでしょう？

1. 球面を描いてみよう．xz 平面内の原点を中心とする円周を z 軸を回転軸として回転させると球面が得られます．また，楕円と放物線を回転させたときはそれぞれどんな図形が得られるだろうか？

2. ドーナツ形の曲面をトーラスと呼びます．トーラスを描くにはどうすればよいでしょうか？

3. xz 平面内の双曲線を z 軸を回転軸として回転させてみよう．また，x 軸を回転軸として回転させた場合はどうなるだろうか？

4. 方程式 x2 − y 2 − z = 0 をみたす点の集まりとして定まる双曲放物面は関数 z =f (x, y) = x2 − y 2 のグラフとして表すこともできます．この双曲放物面のパラメータ表示を与え，グラフィックスを描いてみよう．

6

一葉双曲面や双曲放物面を描いて観察することによって，これらが線織面になっていることを発見することなどを期待していたのですが，時間的な制約もあり，今回の実習ではそこまでは達成できませんでした．

4

まとめと感想筆者はこれまでに「スーパーサイエンスハイスクール」や「ひらめき☆ときめきサイエンス」の企画等でコンピュータを使った実習を行ったことがあり，それらの経験から今回の依頼をいただいたのではないかと想像しています．これまでに行った実習では高校 2,3年生が主な対象でしたが，今回の実習の参加者はほとんどが中学 3 年生と高校 1 年生でした．三角関数などについて補足説明をしたので，実習作業をする時間が短くなってしまったのは残念でした．対象者の予備知識に幅がある場合，どのように目標を設定したらよいか悩ましいですが，多少分からないことがあっても生徒たちは実習を通して理解していくので，説明よりも作業に時間を割いたほうがよいと感じました．今後またこのような機会があったときのための反省としたいと思います．

3D-XplorMath はフリーソフトウェアであるため，このような実習で利用するのに向いています．今回の実習では USB メモリにプログラムと実習の資料を入れて参加者全員に配布しました．生徒たちは帰ってから自宅や学校のコンピュータで実習の復習をすることができます．また，3DXM では赤と青のフィルムを貼ったメガネを通してアナグリフ式の立体視をすることができます．3D グラフィックスは大変好評で，ポスターセッションで行ったデモでもたくさんの生徒たちが楽しんでくれました．このポスターセッションには「Girls in Mathematical World!」というタイトルで日本数学会も出展し，大学で学ぶ数学の紹介や数学科を出て現在各所で活躍されている先輩方からのメッセージを紹介しました．生徒たちとはもちろん他の学会の方々との交流もあり，私自身にとっても非常にいい経験になりました．鋭い質問も多数いただきました．生徒たちからは，研究者を目指すに至った切っ掛けや理系職を目指すにあたっての心構えなど，たくさんの質問を受けました．後で知ったのですが，研究者・技術者たちにインタビューを行い，それを「夏学タ7イムズ」という新聞の形で報告するといった課題があったそうです．このイベントに参加した生徒たちは研修後，科学の楽しさを伝えるサイエンスアンバサダーとして任命され，各地に帰って伝道師として活躍することになります．
夏学に参加して，なにより生徒・スタッフ共に皆さんとても楽しそうであったのが印象的でした．私は 2 日目だけの参加だったのですが，合宿形式ということもあってか，皆さん既に親しい仲間になっていました．これは夏学の狙い通りであったと思います．近年理系離れが進んでいると言われますが、受験勉強で苦しめられて嫌いになってしまう人が多いのではないかと想像します．科学はもっと自由でエキサイティングなものであるということを伝える今回のイベントは有意義であると思います．今後もこのような企画が続いていくことを望みます．
今回の実習では九州大学の江藤侑実子さんと首都大学東京の中山雅友美さんの 2 人の大学院生に実習 TA として手伝っていただき大変助けになりました．今回は少人数の実習で順調に行きましたが，コンピュータの扱いに不慣れな生徒がいたり，コンピュータのトラブルがある場合もあるので，この種の実習では TA が不可欠だと思います．TA の 2 人が生徒たちに丁寧にアドバイスしてくれたおかげで実習が終始とても和やかな雰囲気であったことも付け加えておきます．最後に，夏学の企画委員である柏原賢二氏と松井泰子氏には企画段階から大変お世話になりました．紙面をお借りしてお礼申し上げます．

8