Comments
Description
Transcript
Java3Dによる、中学数学における 空間図形把握能力の養成に関する
平成 16 年度 卒業論文 Java3D による、中学数学における 空間図形把握能力の養成に関する研究 平成17年2月2日 指導教授 : 大石 進一 教授 早稲田大学 理工学部 情報学科 g01p114-1 吉田 昂央 目次 1 序論 5 1.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 本論文の目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 本論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 準備 8 2.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 教育の現状 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 . . . . . . . . . . . . . . . . 9 2.3 2.4 2.2.1 文部科学省の学習指導要領とその考察 2.2.2 立体図形に関する問題のパターンとその考察 . . . . . . . . . . . . . 10 2.2.3 立方体の切断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4 指導における問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2.5 授業でのパソコン利用の現状 . . . . . . . . . . . . . . . . . . . . . 17 2.2.6 教育の現状まとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 自分の経験から得た知見 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.1 生徒の考え方の観察結果 . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.2 観察結果の考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.3 授業例の提案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.4 授業を通じてわかったこと . . . . . . . . . . . . . . . . . . . . . . . 21 先行研究、先行事例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.1 学会の論文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.2 WEB 上のフリーソフト . . . . . . . . . . . . . . . . . . . . . . . . 22 1 2.5 2.6 2.4.3 本格的な数学ソフト . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4.4 コンピュータ利用の指導案 . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.5 通信教育 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.6 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 提案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.1 考察のまとめ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.2 ソフトの設計思想に関する提案 . . . . . . . . . . . . . . . . . . . . 24 2.5.3 Java3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 むすび . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 ソフトについて 27 3.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2 各機能の説明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 3.4 3.2.1 インタフェース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.2 360度回転、拡大縮小(前後移動)、平行移動 . . . . . . . . . . . 29 3.2.3 2点選択→切断アニメーションモード 3.2.4 3点選択→断面表示モード . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.5 3点選択→切断アニメーションモード 3.2.6 練習問題モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.7 機能に関する改善の余地 . . . . . . . . . . . . . . . . . . . . . . . . 33 . . . . . . . . . . . . . . . . 29 . . . . . . . . . . . . . . . . 31 アルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.1 マウスが指す、立方体面上の座標の取得 . . . . . . . . . . . . . . . 34 3.3.2 3点から断面の生成 . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.3 2点からナイフの位置決定、アニメーション . . . . . . . . . . . . . 37 3.3.4 3点からナイフの位置決定 . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.5 切断立体の分離 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 むすび . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4 実験とその結果 42 2 4.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.2 目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3 実験方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 4.5 4.6 4.3.1 教室での実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.2 WEB 上での実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.1 教室での実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.2 WEB 上での実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5.1 見やすさ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5.2 わかりやすさ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.5.3 使いやすさ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5.4 イメージのしやすさ . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5.5 問題が解けるようになるか . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.6 WEB 上での使用について . . . . . . . . . . . . . . . . . . . . . . . 47 むすび . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5 今後の課題 49 5.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.2 実験方法の改善 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.3 ソフトの改善 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.4 他のソフトの開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.5 携帯電話への展開 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.6 むすび . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6 結論 6.1 55 本論文の結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 57 謝辞 3 59 参考文献 4 第1章 序論 5 1.1 背景 近年では、コンピュータが目覚しく発展し、それに伴って非常に便利なソフトウェアも 多く登場した。教育のためのソフトも、現在では数え切れないほど存在する。 私が興味を持っていた立体図形の指導に関しても、これを支援するソフトや、これを用 いた指導案は存在していたが、実際に塾講師として生徒と向き合ってみたとき、空間把握 能力がある生徒とない生徒の差の大きさに驚いた。しかも、圧倒的に後者のほうが多いと いう現状も初めて知った。コンピュータの進歩に伴い同分野でも数多くの提案がなされて きたが、その成果はまだあまりないようである。 また、日本の算数数学教育はほとんどが公式中心となっており、公式を暗記してそれを 使いこなせることが評価される。これだけでは頭を使って答えを導き出そうと努力する ことがなくなり、頭を柔軟に使いこなせるようにならないと思われる。そのような中で図 形、特に空間図形は公式を暗記するだけでは問題はなかなか解けず、切断面の様子をイ メージすること、点の動きによる図形の変化を頭の中で描けること、回転体を頭の中で実 際に作ることなど、頭を使うことが要求される分野である。この分野を学習するまでに公 式中心の数学に慣れている学生は、このような頭の使い方ができず、頭の中に図形を描く ことができないことが多い。これは私が塾講師の仕事をして実際に生徒を指導して得た印 象である。空間図形をイメージする能力を鍛えることは右脳のトレーニングであり、発想 や創造力を豊かにする右脳を小中学校の時期から鍛えることは、将来必ず役に立つはずで ある。 今回はこうした背景、考えに基づき、自身の塾講師としての経験を生かして新たな提案 をすることを卒業論文のテーマとする。 1.2 本論文の目的 最終目的は表題にあるように、 「空間図形把握能力の向上」であるが、その指標として、 「空間図形のイメージができるようになる」 「空間図形の問題が解ける」を目指すことにす る。具体的には、前者は立方体の断面の様子を頭の中で理解できることとし、後者は頭の 中でのイメージを活用し、中学レベルの空間図形の問題が解けることとする。 6 これらの目的を、アニメーションを見せることで達成できるのではないかと考えた。こ れを検証する実験結果の報告を行うとともに、今後の課題や展開についての提案をする。 1.3 本論文の構成 本論文の構成は以下の通りである。 第2章では、準備として教育の現状、自分の経験に基づいた提案について述べる。 第3章では、前章の設計思想に基づいて制作したソフトの機能、アルゴリズムについて 述べる。 第4章では、制作したソフトを用いた実験の方法、結果、考察を述べる。 第5章では、前章の実験結果や考察に基づき、今後の課題や展開を提案する。 第6章では、本論文の結論を述べる。 7 第2章 準備 8 2.1 はじめに 本章では、研究を進める上で必要となる情報を整理し、それらについて考察する。また 本章の最後では、ソフトの設計思想に関する提案を述べる。 2.2 教育の現状 空間図形に関する教育の内容と問題点、さらに今回制作したソフトの内容である、立方 体切断に関する内容と問題点について述べ、それらを考察する。 2.2.1 文部科学省の学習指導要領とその考察 小学校、中学校の算数および数学で立体図形について学ぶのは、小 1、小6、中1のみ (中学受験、高校受験時に立体図形の問題は出題されるが)であり、空間図形把握能力の ための徹底した指導は行われていない。それぞれの内容を以下に示す。 • 小1:簡単な図形の認識 • 小6:基本的な立体(直方体、柱など) • 中1:頂点、辺、面の位置関係(平行、垂直など)の回転体、錐および柱の体積 例えば回転体では、長方形を回転させると円柱になる、三角形を回転させると円錐にな る、立方体の切断では、対辺が平行になる性質から推測するなど、公式的な作図法で解 くようになってしまうので、空間のイメージができるようになるはずがないと思われる。 学校の授業で空間能力を鍛えられることがあまりないので、日常生活の経験に頼るしかな いが、立体の中身や裏側がどうなっているのか、切断したらどうなるのかなどを考える機 会はほとんどなく、立体図形のイメージがわかないというのが多くの生徒の現状となって いる。 9 2.2.2 立体図形に関する問題のパターンとその考察 小学校、中学校の教科書や問題集などを参考にしてまとめた、立体図形の出題パターン を以下に示す。 • 小学校 1. 立体の分類、名称 2. 見取り図(正面、真上) このあたりまでは日常生活で見かける図形が多く、イメージとして理解してい るものの名前を学習する程度なので、あまり難しくないと思われる。 3. 辺、頂点、面の数、位置関係 ここでは辺や面の平行・垂直・ねじれの位置について考えるが、これは空間能 力を必要とする部分である。比較的難しくはなるが、図形が単純なうちは多く の生徒が対応できる。 4. 直方体、柱の体積とその大小関係 ここで、体積の公式が導入される。直方体を柱と考えたり、例えば L 字型の柱 の体積を幾通りもの方法(直方体に分ける、大きい直方体から小さい直方体を 引く、L 字型の小立体が重なったもの=柱と考えるなど)で計算するには空間 能力が必要であるが、複雑な図形になると、きちんと見えていない生徒は体積 を計算できなくなってしまう。 • 中学校 1. 切断 今回扱う対象となる問題である。後で詳しく述べる。 2. 回転体 軸と隣り合う直方体、三角形はそれぞれ円柱、円錐になるなど、イメージしや すい図などで説明することもあるが、結局は公式にまとめてしまっている場合 が多い。これだと、例えば軸から離れた場所にある図形を回転してできる回転 10 体や、傾いたり軸をまたがったりして配置された直方体の回転体(入試問題に も出たことがある)などでは、公式が通用しないので解けない場合がある。も し頭の中で回転のイメージができていれば、どのような状況の問題でもイメー ジで答えが見えるようになるが、それができる生徒は少ないように思われる。 3. 動点 色々なパターンがあるが、動点の位置によって状況が変わる場合、動点の動き が途中で変わる場合、動点が複数ある場合などが難しいようである。これも、 頭の中で実際に点が動いている様子をイメージできれば、どのような問題でも 答えが見えているようなものになるのだが、そのようなイメージができる人は あまりいない。 4. 展開図 展開図を書く、立体図と対応した点を書く、立体図につけた印が展開図上では どの位置にあるか答えるなど、公式がまったくなく、空間能力のみで考える問 題である。イメージができる人は、頭の中で組み立てたり、図を回転したり、 好きな位置に置いてみたりできるのだが、それができない多くの人にとっては 難しいだろう。生徒に実際に解かせてみた印象としては、空間的なイメージが あまりできない人は、相対的に(確定している部分を中心に、そこからの相対 的な位置を数えたりして)答える傾向があり、空間的なイメージができる人は 前述のように、あたかも実際に組み立てながら考えているような答え方をする 傾向があった。 5. 上記複合(切断図形の展開図や体積など) 問題ごとに状況が異なるため、もはや公式は使えない。使えたとしても参考程 度であり、イメージを駆使して考えることがメインとなる。このレベルまで来 ると、対応できる生徒は全生徒に対して少数であり、公式を丸暗記して対応で きる限界を超えている。 6. 円や三平方の定理との複合 例えば球の中に正四面体が内接していたり、外接していたりする場合である。 11 これらは典型的な問題ではあるのだが、適当な角度から見たときの図形や、適 当な平面で切ったときの断面図が正確に書けるようでないと問題が解けない。 この点は空間能力を要求する部分であり、解法を丸暗記することすら難しくて できない生徒も出てくるほどである。これらの問題でも、頭の中で実際に切っ てみたり、適当な位置に視点を移動させて見たりできるような空間能力の持ち 主は非常に有利である。 7. 立体の面上における最短距離など 表題に挙げたのは一例だが、展開図で一直線になる場合が最短距離になる、と いうもの。これをパターンとして覚えてしまえば、この問題は恐らく解けるよ うになるであろうが、問題のパターンは限りなく存在・生み出され、その全て をパターンの知識として持ち合わせることは不可能である。よって、知らない パターンを解く場合は問題の図形を頭の中でいろいろいじってみて試行錯誤す る空間能力が必要となる。「試行錯誤」は空間能力だけでできることではない が、立体図形の問題においては、空間能力が高ければ、試せることが圧倒的に 増えるので有利であることに間違いはないだろう。 以上のように、徐々に難しくなっていく。それぞれに一応の公式的解法が用意されてはい るが、公式だけでは問題解決には頼りなく、難しい入試問題を解こうとしたら空間図形の イメージができることが必須条件となる。考察や問題の難易度などに関する記述は主観 も多く含まれるが、空間能力の高い人(上記の後半の問題を解ける人)はあまりない人に 比べてはるかに少ないことは断言できる。しかも、上の後半に述べた問題例は現在のカリ キュラムでは削除されており、学習しない人も多い。イメージして想像力を鍛える訓練が できる分野であるのにそれが削除されたので、ますます暗記中心の数学になっている。 2.2.3 立方体の切断 この分野では立方体の切断面に関する、様々な問題が出題される。その例を考察して いく。 1. 断面を見て、平行な辺の組み合わせを答える。(次図) 12 図 2.1: 立方体の切断 この問題は、 「平行な二平面に交わる平面との、二つの交線は平行である」という性 質を用いて説明することができる。ここで、平行な二平面とは立方体の向かい合う 面の組み合わせであり、それと交わる平面とは断面であると考えれば、断面の図形 においてどの辺の組み合わせが平行であるかが答えられるが、これを先に述べた性 質を考慮してきちんと理解している生徒は多くないように思われる。というのは、 断面図を書くときにほとんどの生徒が平行な辺を意識せずに、適当な図を書いてし まうことが多い。また、六角形では感覚的に対辺を平行に書けたとしても、五角形 になるとどこが平行なのかが分からなくなっている場合は、上の性質をきちんと理 解していない証拠である。この点は実験でも注意して観察する。 2. 立方体の断面の形 例えば、立方体の断面が三角形となるような切断を見取り図で表せ、といった問題 である。単に三角形、四角形はさほど難しくはないが、正三角形、直角三角形、二 等辺三角形、正方形、長方形、平行四辺形、等脚台形、五角形、六角形、正六角形 といった特殊な図形が現れるような切断を考えるのは困難である。私が今回制作し たソフトにはその機能が含まれているが、切断途中のナイフをリアルタイムで動か すようなイメージをして、頭の中で連続的に断面を変化させることができれば、ど のようなときに等脚台形ができるのかといったことを考えられる。パターンとして 覚えてしまっているもの以外については、イメージしないと考えづらい問題である。 3. 3点を通る平面で切ったときの立方体の断面(次図) この問題は3点から作図していく方法がある。これを平行法、延長法という場合が 13 図 2.2: 問題例 あるが、それら二つの作図法について次に述べる。 平行法 問題例で述べたように、立方体において向かい合う面上にある、断面の二辺は平行 であるという性質を逆に利用する。上の図では面 ABCD 上の2点 P,Q から断面の 辺が一つわかるが、面 EFGH 上にある点 R は、辺 PQ と平行な辺の頂点であるはず である。そこで、点 R を通り辺 PQ に平行な直線と、面 EFGH との交点を S とすれ ば、点 S も断面の頂点の一つとなる。このようにして、既知の3点以外の頂点を見 つけ出す作図法である。(次図) 図 2.3: 平行法 延長法 これは、ある直線がある平面上に存在するとき、直線の延長線上の任意の点も、や はりその平面上にあるという単純な性質を用いるものである。例として、平行法を 用いた後の上の図では、P と S、Q と R がどのように接続されるのかが現時点では 14 わからない。しかしこれらは今から作る断面の辺なので、同一平面上にある。そこ で PQ を延長し、面 BCFG、面 CDHG の延長上と交わる点を X、Y と置く。 (次図) 図 2.4: 延長法1 この図から、X と S、Y と R は断面を含む平面上にあるので線分を引けば、XS と DH、YR と BF の交点(T、U とする)も当然その平面上にある。よって T、U は 断面の頂点となり、断面の図形を書ける。(次図) 図 2.5: 延長法 2 図 2.6: 延長法 3 これらの作図法を使えば、ほとんどの場合において作図をすることができるが、困 難なもの、不可能なものが2パターンだけあるので下に示す。 図 2.7: 作図が困難なもの 上のパターンは二つの辺を書いた後、延長法→平行法→平行法の順に作図しなけれ 15 ばならず、難しい。この他のパターンは平行法→延長法ですべて作図可能である。 図 2.8: 作図不可能なもの このパターンに至っては、最初に辺を確定することができないので、作図が不可能 である。しかし問題として出題されることがあり、その対策は「暗記するのみ」と 多くの教科書、問題集に書かれていた。3点が各辺の中点にある場合しか出題され ていないようだが、 (結果は正六角形になるのだが)これを暗記したとしても、この 問題を解く以外の応用は期待できないのではないか。例えばいずれかの点が少しず れた場合(作図できないので問題に出ることはないが)考える手段がない。 以上が3点を通る平面での、立方体の切断問題の内容であるが、作図法の意味をしっかり 理解していないと、不可能な図形を書いてしまうなどというミスを犯す可能性がある。作 図法のみ暗記するのではなく、意味を理解することと、イメージできることとを合わせて 初めて、正確な断面図が書けるようになる。 2.2.4 指導における問題 先生側の問題 まず、板書が困難であること。三次元の内容を黒板という二次元に投影して説明しなけ ればならないため、どうしても理解やイメージがしづらいものになる。また、黒板に書か れた図は動かすことや異なる角度から見ることができないという点も、現実味を失わせ、 イメージをしづらくする原因であると思われる。立方体切断に関しては、作図法によって のみしか説明できないので、イメージのまま伝えなければ、イメージできるようになるこ とはあまり期待できない。また「なぜそのような形になるのか」といった疑問に答える手 16 段がない。これを解決するには実際に見せたり切らせたりするのが一番であるが、そのよ うな環境を準備するのは大変である。 生徒側の問題 まず、空間能力が高い人と低い人がおり、後者が大多数といった印象がある。空間能力 が低い人は、公式にあてはめるしか問題を解く術がない。そのような場合、公式を暗記す るのに精を出すのではなく、空間イメージができるような練習を積むべきである。また、 立方体を切断したときの断面を見たり、自分で作り出したりした経験がない生徒が多いの ではないか。見たことのないものをイメージするのは難しいのではないかと思われる。 2.2.5 授業でのパソコン利用の現状 パソコンを自由自在に使いこなし、教育に有効なソフトを WEB 上から探し出し、それ を改良して授業に活用できる先生は別だが、そうでない先生は授業にパソコンを取り入 れる準備が難しく、実現しづらいのが現状のようである。また、学校にそういった設備が なかったり、あったとしても先生がそれを使いこなせないため敬遠している場合や、便利 なソフトだとしても使いこなしたり使用法を説明したりできずに敬遠している場合もあ る。さらに、忙しくて、そういった知識を身につける時間もないことが多いようである。 これらの原因から、パソコンを使った授業が展開されることは少ないというのが現状とい える。 2.2.6 教育の現状まとめ 立体図形の指導に関しては先生・生徒の両面で難しい部分があり、理解できる人とでき ない人が分かれてしまう。公式的な理解しかできない人が多く、イメージできる人は少な い。イメージができるようになるための手段として期待されるパソコンの CG による授業 も現実的には難しく、あまり実施されていない。 17 2.3 自分の経験から得た知見 私は在学中に個人指導塾講師の仕事を経験し、そこで一人一人の生徒と向き合い、考え 方や問題点などを見つけていく中で、数学の能力に関して気づいたことや、私が提案して 実行した授業を通じて気づいたことと、その考察を以下に述べる。 2.3.1 生徒の考え方の観察結果 数学の苦手な生徒は、以下のような特徴が見られた。 • 公式中心の考え 公式がすべてであり、公式を暗記してそれを利用して解を求めることが数学である と思っている。与えられた道具を使いこなすことのみを目指している。しかも、そ の公式は意味を考えずに暗記してしまい、公式がどのような意味を持つのか、また はどのようにして得られた公式なのかを説明できない。 • パターン暗記 習った問題、習った解法を完璧に暗記することはできるが、その流れを理解してい ないので機械的に手を動かすのみであり、応用が利かない。同じ内容の問題でも言 い方を少し変えたり、少しだけ違うパターンに変えただけでたちまち対応できなく なる。公式中心の考えと同様、問題を解く際に頭を使っていない。 • 意味を考えようとしない 解法の流れや一つ一つの計算過程などをそのまま暗記してしまい、意味を考えよう としないことが多い。そのため、例えば分母がたまたま2となっただけにもかかわ らず、すべての問題で答えの分母を2にしてしまうなどといった間違いをする。な ぜそこに2があるのかを考えず、それは計算した結果たまたま現れただけのもので あることがわからない。 • 方針を立てられない 18 やることが最初からわかっている問題しか解けない。難しい入試問題や、高校レベ ルの長いプロセスを要する問題などでは、最終的な解が求まるまでに複数の計算を する必要があるが、そこまでの流れを考えることができない。一見してわかること しかできない。こうしてこうしてこうしたら解ける、といったように先を読むこと ができない。 • ブレーンストーミング、試行錯誤をしない 難しい問題に出会ったときに、自分が知っている道具(公式や問題のパターン)を 使えるかどうか試しながら、色々な方法で問題にアプローチすることができない。 自分が使おうとしている公式にあてはまるか、あてはまらないかのいずれかであり、 今までになかった考えを模索することができない。 • 無理やり公式にあてはめる 公式にあてはめればいいと思っており、意味が通らない形で無理やり公式にあては めようとする。形の妥当性のみを考えて意味を考えていないので、例えば時間と距 離を足したり掛けたりするなど、意味不明な式を立てる間違いを起こす。 • 動くもの、立体的なものがわからない 動点の動きを考慮する問題、さらに動点の位置によって状況を場合分けしなければ ならない問題、軌跡と領域、回転体、影の形、立体を特定の方向から見た図やある 平面で切断したときの断面などが特に苦手である場合が多い。これらの問題では公 式があったとしても簡単に適用できず、図の変化をイメージすることで状況を把握 しなければならない。この部分があまりできていないので、上に述べたように、意 味不明な公式の適用をしてしまう。 2.3.2 観察結果の考察 数学の苦手な生徒は、とにかく公式を暗記し、それを使うことができることのみを目指 しているようである。ほとんど暗記科目扱いであり、その結果頭を使って考えることが少 ない。このようなことをするだけでは、道具を使いこなすための準備にはなるものの、面 19 白みは少ないと思われる。しかも、公式を適用することは誰でも同じ結果になるし、コン ピュータでもできることであり、人間がこの能力だけを高めてもあまり有用ではないので はないか。公式を使って問題が解けることも確かに嬉しい瞬間かもしれないが、私が思う に数学が楽しいと感じる瞬間は、解法を知らない未知の問題を、自分の持っている道具を 色々使って試行錯誤し、やっとの思いでそれを解決したときではないかと思う。そして、 そのような過程で現実の問題を解決できるようになることが、数学を通じて将来役立つ能 力のひとつではないかと思う。数学の苦手な生徒も、このように「試行錯誤」ができるよ うになって欲しいので、意味をわかっていない公式にあてはめるだけの勉強から脱却させ なければと考えていた。 2.3.3 授業例の提案 私は上記のような考えを持っていたので、数学が苦手な人でも試行錯誤ができるよう に、以下のような授業を提案し、実際に行ってみた。 • 公式の意味を考えさせ、説明させる 例えば微分法の公式は複雑な形をしているが、それはどのような意味なのか考えさ せ、理解させる。(答えは「二つの点の傾きを計算し、その距離を限りなく0に近 づけたもの」)また今回のふたつの作図法では、ある程度作図に慣れさせた後、改 めてその意味を考えさせ、説明させる。(答えは上に述べてある)このようにして、 いつどのような形で公式を適用できるかを理解させていった。 • 計算の意味を考えさせる 例えば速さの問題で、速さ+時間といった式を立ててしまった場合、それはどのよう な意味か、それを計算したら何が出てくるのかを考えさせることで、間違いに気づ かせる。早さの場合は問題によって式が異なるために、パターンのみを暗記してい る生徒にとっては難しい分野だが、この方法で一つ一つの式の意味を考えさせていっ た結果、算数が苦手な小学生でも速さの文章題を一人で考えられるようになった。 • 長いプロセスの問題で、式と式の間での思考過程を説明する 20 「これを計算して、次にこれを計算して・ ・ ・」という形ではなく、 「まずこの部分が 知りたいからこれを計算して、次にこのような形にすれば問題が解けそうだから、 先の結果を変形して・ ・ ・」といったように、一つ一つの式の意味だけでなく、なぜそ の計算をするのかまで説明することで、自分で方針を立てる力を養っていった。た だ解説するだけでなく、各場面で生徒本人に考えさせ、 「これはどうだ、これならど うだ・ ・ ・」と試行錯誤するように誘導した。この方法で高校2年生の生徒において、 大きな効果が見られた。 2.3.4 授業を通じてわかったこと 生徒が算数や数学を理解するためには、自分で考えたり色々な方法を試すといった主体 的な行動を通じて、公式やその考え方を(暗記ではなく)理解することが重要だという ことがわかった。これができれば、人に説明したり、新しい方法で公式などを応用すると いったことができるようになり、パズルを解くような感覚で数学を楽しむことができる。 また、そうなれば数学への興味も増し、さらに理解が深まることが期待できる。数学の嫌 いであったり苦手な生徒に対しては、まずひとつ「本質を理解する」という感覚や喜びを 持たせ、数学が好きになる上記の好循環に持ち込めばその生徒は伸びていく、ということ が実際の指導を通じてわかった。 2.4 先行研究、先行事例 教育目的での CG の活用は古くから研究されており、私が今回扱う立方体の切断という テーマに関しても様々な先行研究、類似のソフトが存在する。それらがどのようなもので あるかを述べ、それについて考察する。 2.4.1 学会の論文 本研究において関連があると思われる以下の学会から、先行研究を検索した。 • 情報処理学会 21 • 教育システム情報学会 • 画像電子学会 その結果、以下の論文が見つかった。 • 脇田早紀子、脇田能宏、鈴木賢次郎、”教育用立体図形シミュレーターの開発”(情 報処理学会、1991年) この論文では、立方体の断面図を瞬時に表示させるソフトを用いて、中学生に対する学習 効果を調査している。断面を瞬時に表示させることで、問題を解くのに効果があることを 実証している。 2.4.2 WEB 上のフリーソフト 個人が趣味で作ったような、立方体の切断面を表示する Java アプレットはいくつか見 つけた(参考文献の章参照)。しかしそれらは、三点を任意に選べない、数値入力によっ て間接的に選ぶものである、自由に立方体を動かせない、断面が瞬時に現れるのみのもの である、ワイヤーフレームのみで立体感が得られないなどの理由で、あまりイメージしや すいものではなかった。 2.4.3 本格的な数学ソフト 有名なものとして、Mathematica、GRAPES(フリーウェア)、Virtual Solid(フリー ウェア)がある。Mathematica は各種計算やグラフ・図を表示するソフト、GRAPES は 関数のグラフなどを表示するソフト、Virtual Solid は平面や立体図形を表示したり、切断 することもできるソフトである。いずれも非常に便利で多機能なソフトであるが、逆に多 機能すぎて生徒(小学生・中学生程度の子供)にとっては使いこなすのは困難である。ま た私が今回扱うテーマ(立方体の切断)は Virtual Solid しか扱っておらず、やはり断面を 瞬時に表示するのみであり、なぜそうなるのかを理解することを目的としていないと思わ れる。しかし Virtual Solid には、切断した立体を切り離し、回転や平行移動などの操作 によって観察することができるという機能があった。これはイメージを膨らませるのに有 効であると思った。 22 2.4.4 コンピュータ利用の指導案 立方体の切断に関する多くの指導案があった(参考文献参照)。これらは主に、Virtual Solid を用いて断面図を見せるというものであった。コンピュータを用いた授業に生徒は 興味を持ったり、説明画しやすくなるなどの効果があったが、問題を解く力がどの程度上 がっているかはあまり触れられていなかった。立方体切断について考えるべきことという 点では大変参考になったが、私が今回目標とするアニメーションの効果について意識して いる指導案はなかった。 2.4.5 通信教育 これに関しては大手の通信教育(進研ゼミ、Z 会)について、小中学生の教材を調べて みた。進研ゼミの教材の中に、立方体の切断面を表示するビデオがあったが、あくまでも ビデオであり、生徒が主体的に実験・観察できるものではなかった。さらに断面の表示方 法も、断面の辺を徐々に表示するというものであり、見た目の美しさや楽しさを重視して いるようであった。 2.4.6 考察 コンピュータを利用した教育について、特に立方体の断面についての理解を目指す先行 研究は色々なされているが、まだそれらの恩恵を生徒が十分に受けているとは言えないと 思われる。立方体切断に関しては、多くのソフトが存在するが、 • 生徒の主体的な実験・観察 • イメージしやすく、なぜそのような形になるのか直感的に理解できる • ソフトが先生・生徒にとって使いやすい を意識して作られたものはなかったように思われる。 23 2.5 提案 2.5.1 考察のまとめ これまで、立体図形(数学全体に関するものもあるが)に関する教育の現状、自分の経 験から学んだこと、先行研究の成果及び改善の余地がある部分について述べた。これらを まとめると、以下のようになった。 1. 立体図形をイメージできることが重要視されていない 2. しかし、複雑な問題(立体図形に関わらず)を考えるときにイメージは重要 3. 授業での PC 利用は準備が大変であり実現が難しい 4. 立方体の切断をするソフトウェアは答えがわかるのみで、答えを考える能力を養成 するのに向いていない部分がある これらを考慮して、私は次のような提案をした。 2.5.2 ソフトの設計思想に関する提案 次の三点を、ソフト作成の設計思想とした。 1. イメージしやすいもの、アニメーションが見えるもの 既存のように断面が瞬時に現れるのではなく、実際に立方体を切断するアニメーショ ンを見せることで、なぜ断面がそのような形を納得の行く形で理解させる。立方体 の切断によってできる断面図を考えるので、その現象そのものを動画として見せれ ば、図形の連続的な変化がわかるので、最終的にできる断面の形の意味が直感的に 理解できるはずである。また、「実際に頭の中で思い描くようなイメージ」という ものを考え、それに近いものを見せることができれば、見た人がイメージしやすく なるのではないかと考えた。立方体の切断に関しては、立方体を切断する場面その ものを見せるのが、最もイメージしやすい映像である。実際に立方体を断面図のイ メージをつかませるためには、結果よりも今述べたような過程を見せることが重要 であると考えたので、これを実現することを第一目標とする。 24 2. 自分で自由な操作ができること 制約を気にせず自由な操作ができることで、実際に立方体をいじっているという感 覚に近づくのではないかと考え、できる限り自由度を上げていく。まず、360度 回転、拡大・縮小、平行移動などを自由にでき、任意の方向から観察できるように することで、画面上の立方体にリアリティを与える。これにより、実際に立方体を 扱っている感覚を持ちやすくなると思われるので、イメージのしやすさに貢献する と考えた。また、切断位置を決める際に、任意の点を選べること、切断方向を任意 の角度に設定できること、何度でも実験できることにより、どんなイメージでも簡 単に見ることができるので、やはりイメージのしやすさにつながる。さらに、現実 では不可能な「切断中の切断面を回転させる」という機能を実現することにより、 現実世界で立方体を切って観察するよりも多くの視覚的情報を得ることができる。 これは CG の利点が生かされており、現実には不可能な事象をシミュレーションす ることで、この分野に関する理解が深まり、柔軟にイメージできるようになること が期待できる。また、これらすべてを生徒の手によって好きなように操作できるの で、生徒のやる気にもつながる。 3. 先生や生徒にとって使いやすいもの まず、既存のソフトの問題点として、導入の難しさや予備知識習得の手間が挙げら れる。これらを排除すべく、できるだけ簡単な準備で、しかも単純な操作ですぐに 使えることを目指す。具体的には、プログラミング言語に Java(と Java3D も用い ている)を採用し、WEB 上から簡単に利用できるようにする。ユーザーは対応す るブラウザと実行環境さえダウンロードすれば、他に準備は一切必要なくこのソフ トを利用できる。また操作面、インタフェース面では、ほとんど全ての機能をマウ ス操作のみで行うものとし、しかも直感的でわかりやすいものにする。図形の操作 はマウスのドラッグで行い、点を固定する際にはマウスを移動させてクリックさせ る。さらに必要なボタンを最小限にし、操作の各段階でガイドを表示し、余計な機 能をなくすことにする。操作が難しいとそちらに集中してしまい、イメージするこ とを妨げる恐れがあることを考慮した。 25 この設計思想を元に作られた立方体切断のソフトを使えば、生徒が立方体の切断をイメー ジでき、断面の形を推測することができるようになるのではないか。これを検証するため に、実際に制作した。 2.5.3 Java3D Java のパッケージのひとつである Java3D は、3次元の画像描画に関するクラスをパッ ケージ化したものである。開発環境、実行環境ともに無料で手に入れることができる。 Java3D は WEB 上でそのまま動くという大きなメリットがある。また OS に依存しない ため、すべてのユーザーが使える。Java は最近のブラウザの標準機能として実行環境が 備わっているが、Java3D の実行環境は標準では備わっていないため、WEB 上からダウ ンロードする必要があるが、その手続き自体は簡単である。Java3D は低レベル言語であ る OpenGL や DirectX を用いて3次元画像を描画するが、これらを直接扱うよりは画質 が劣る。しかし開発のしやすさ、利用のしやすさという点から、今回のソフト制作につい て、Java3D を採用した。 2.6 むすび 本章では準備として教育の現状や自分の考え、提案について述べた。次章ではこれらを もとに制作したソフトについて説明する。 26 第3章 ソフトについて 27 3.1 はじめに 本章では、制作したソフトの機能について述べる。 3.2 各機能の説明 全焼の設計思想を元に作成したソフトの機能、使用方法を以下に示す。 3.2.1 インタフェース 図 3.1: 画面例 1 図 3.2: 画面例 2 • 画面上部にモード名が表示される。 • 画面左下にマウスが指す立方体上の座標がリアルタイムで表示され、その下に次の 操作のガイドが表示されている。立方体の大きさは中心を原点とし、一辺 0.4 となっ ている。よって各頂点の座標は x、y、z すべて絶対値が 0.2 となる。 • 画面右下の二つの■はボタンであり、左側がモード切替ボタン、右側がリセットボ タンとなっている。前者はモードを 1. 2点選択→切断アニメーションモード 28 2. 3点選択→断面表示モード 3. 3点選択→切断アニメーションモード 4. 練習問題モード の順で切り替える。後者は完成した断面、配置した点などをリセットして初期状態 に戻す。 • 立方体は半透明になっており、裏側・内側の様子が見える。また初期状態で画面上 側を向いている面は、アニメーションモードでは色が連続的に変化するが、これは 切断時のナイフ切り始め部分となるのでこの面から2点を選ばなければならない。 その他のモードでは色は変化しない。 • 点を選ぶとき、マウスが移動するとそれに追随して点も移動する。点を選ぶとき以 外はマウスに反応する点は消える。点を選ぶとき、辺上にある場合は赤色、頂点上 にあるときは黄色で表示される。これは固定後も同じ色となる。 3.2.2 360度回転、拡大縮小(前後移動)、平行移動 これらの機能は Java3D の MouseRotate クラス、MouseTranslate クラス、MouseZoom クラスで実現される。このクラスは関連付けられた座標系をマウスによって移動させる クラスであり、右ドラッグで座標系の原点を軸とした回転移動、左ドラッグで平行移動、 中央ボタンを押しながらドラッグで拡大縮小ができる。本ソフトではこれらのクラスに、 立方体を配置した座標系を対応させているので、マウス操作により立方体を操作すること ができる。 3.2.3 2点選択→切断アニメーションモード 立方体の色が異なる面上から2点を選択すると(図 3.3)、その位置にナイフ(正方形 の平面オブジェクト)が現れる(図 3.4)。これをキーボードの a または s ボタンで、先の 2点を端点とする線分を軸として回転させる(図 3.5)。任意の角度まで回転してからク リックすると、ナイフが動き出し、その方向へ切ったときの断面が現れていく(図 3.6)。 29 ナイフの位置を決め、角度を決めて切っていくというのは、現実に立方体を切断するとき の考え方に近い感覚であり、数学のテストで実際にこのような問題は出ないが、イメージ をしやすくするのに一役買うのではないかと考え、この機能を採用した。ちなみに、切断 アニメーションはクリック操作により停止・再開ができる。また、切断中でもナイフの角 度を変更できるので、現実世界では実現不可能な事象(断面を連続的に変化させる)も表 示できる。 図 3.3: 図 3.4: 図 3.5: 図 3.6: 30 3.2.4 3点選択→断面表示モード 立方体の任意の辺上から3点を選んで(図 3.7)クリックすると、その3点を通る平面 で切ったときの断面が表示される(図 3.8)。このタイプの問題は実際に数学のテストで出 題される。3点を選ぶと瞬時に断面が表示される機能は既存のソフトにもあったが、今回 は比較のために実装した。既存のものよりリアリティを高め、自由な角度から観察でき、 何度でも簡単に試せるようにしたが、この機能は問題と答えしか表示されないので、ある 意味公式的な理解しかできないように思われる。 図 3.7: 3.2.5 図 3.8: 3点選択→切断アニメーションモード 立方体の色が異なる面上から2点を選び、それ以外の面からもう1点を選ぶと(図 3.9)、 その3点を通るようなナイフが生成され(図 3.10)、さらにクリックすると切断のアニメー ションが表示される(図 3.11-12)。これは先の二つの機能の利点を組み合わせたものであ る。後者のモードで実際の問題に即した操作が行え、前者のモードで断面図の直感的理解 度を高めることが期待できるが、このモードにより実際の問題の答えが分かるだけでな く、生徒はなぜそうなるのかを直感的に理解でき、ここで表示されるアニメーションと同 様のイメージで考えられるようになるかもしれない。 31 図 3.9: 図 3.10: 図 3.11: 図 3.12: 32 3.2.6 練習問題モード 画面上をクリックすると3点が現れ(図 3.13)、再び画面上をクリックすると正解とな る断面図が現れる(図 3.14)。これはこのソフトを使って理解度を試すときのためのモー ドである。実際の数学のテストでは紙の上で出題されるが、それよりはいくらか考えや すいのではないかと思われる。また、問題のバリエーションは全部で13通りあり、これ は作図可能なほとんど全てのパターンを網羅している。さらに紙の上での出題よりもバ リエーションを増やすために、出題ごとに立方体の角度が変わるようになっている。他の モードと同じようにクリック操作で立方体を動かすことができるが、様々な角度で考えて みることはイメージを鍛えることにつながるのではないかと考えた。 図 3.13: 3.2.7 図 3.14: 機能に関する改善の余地 • 断面生成アルゴリズムの修正 断面図生成において、作図できないパターンが残っているので、アルゴリズムを改 良して全てのパターンにおいてきちんと断面が表示されるようにしたい。 • アニメーションモードでの制約解消 二つのアニメーションモードにおいて、ナイフの位置を決める2点は色の異なる面 33 から選ばなければならないが、この制約はアルゴリズムを簡単にするために取り入 れた応急処置であるため、実際に使用する生徒にとっては余計な条件である以外の 何物でもない。自由度を下げてしまうこの制約は、できれば取り除きたいと思う。 • 作図法の説明アニメーション 上で述べた平行法、延長法なるふたつの作図法は、空間的な性質を用いて説明され る。前者は「平行な2面と交わる面がつくる二つの交線は平行」という性質であり、 後者は「ある平面内にある線分の延長線上の点もやはりその平面上にある」という 性質であるが、これらは言葉で説明するよりも実際に見せたほうが分かりやすいの ではないかと思う。実際のテストにおいて紙の上で作図する際、イメージできたと しても正確な図が書けるわけではないので、これらの作図方を理解している必要が あるが、それを助けるものが今回同様に CG で作れるのではないかと考えた。 • 切断立体の分離 立方体を二つの立体に分離後、それらを独立して操作することが可能になれば、切 断の様子をさらに詳しく観察し、理解することができるのではないかと考えた。内 部的には、断面の各頂点の座標は計算されているので、切断後新たに二つの立体を 定義しなおすことは理論的には可能である。今回は実現できなかったが、アルゴリ ズムの構想は次節で示す。 3.3 アルゴリズム 今回制作したソフトについて、主要なアルゴリズムを説明する。 3.3.1 マウスが指す、立方体面上の座標の取得 まず、この部分を実現するために用いた Java または Java3D のクラスおよびメソッドに ついて述べる。 • MouseEvent クラス 34 関連付けられたアプレット(今回はこのソフトそのもの)の画面上における2次元 座標を取得することができる。 • View クラス Java3D のクラスであり、仮想空間を映すカメラの機能を持つ。仮想空間の任意の位 置に配置することができ、移動することもできる。 • Canvas3D クラス Java3D のクラスであり、仮想空間内にあるスクリーンである。View オブジェクト から見た、Canvas3D オブジェクトに映し出されるものを、私たちは見ることにな る。Canvas3D オブジェクト上の2次元座標から、仮想空間内の3次元座標に変換 する getImagePlateToVworld メソッド(厳密に言えばこのメソッドが直接座標を計 算するわけではないが)を用いて、ソフトを使用する生徒が動かしたマウスの位置 (そしてこれに対応する Canvas3D 上のマウスの位置)を仮想空間内の座標に変換す ることができる。 • Shape3D クラス Java3D のクラスであり、立方体、平面、球など、形のある物体を表す。 • Ray クラス Java3D のクラスであり、始点と方向を持った光線である。光線は無制限に延びてお り、Ray オブジェクトが何らかの Shape3D オブジェクトと交わっているかどうかを 判定し、交わっている場合は始点から交点までの距離を計算する intersect メソッド がある。 マウスが指す立方体の面上の座標であるが、これはカメラ(View オブジェクトの座標) の座標とスクリーン(Canvas3D オブジェクト)上のポイントされた座標の延長線上とな るので、まずはこの二つの座標を求め、カメラ側を始点とする光線(Ray オブジェクト) を生成する。そしてこの Ray オブジェクトについて、intersect メソッドを用いれば、立 方体のいずれかの面と交わっているときに、その交点までの距離が取得できる。カメラ∼ 35 スクリーンまでのベクトルと、今求めたカメラ∼交点までの距離を用いれば、立方体上の 交点の座標が求まり、マウスが指す立方体上の点の座標を取得できる。 3.3.2 3点から断面の生成 各モードで3点を選ぶ際に、選んだ点の各座標は変数に格納されているので、これを用 いて断面の他の頂点があるかどうかを判定し、もしあればその座標を計算する方法を考 えた。このアルゴリズムの基本方針は、実際に手書きで作図することと同じ方法で断面の 辺を書いていくということである。実際立方体の断面図は公式的に書くことができるの で、その通り計算すれば最終的に断面図が得られると考えた。具体的には、以下のように なる。 1. 下準備として、線分の本数の合計を変数 limit に保持し、現在引いた線分の本数を変 数 connect count に保持することにし、初期値は0とする。limit の最小値は3であ るので、初期値として3を代入する。頂点の数と同じだけの辺を引くことになるの で、もし以降の作図において、新たな頂点が判明した場合は、limit をインクリメン トする。また、線分を引いた場合は connect count をインクリメントし、各段階に おいて connect count=limit となったかどうか判定し、これが成立する場合に作図終 了となる。 2. まずは3点のうち、同一面上にある2点があれば、それは必ず断面の辺となるので、 線分を引く。同一面上にあるかどうかを判定するには、二つの点の座標について、 x、y、z いずれかの成分が等しく、さらにその値が 0.2 または 0.4 であるかどうかを 判定すればよい。組み合わせは3通りあるが、いずれの2点も同一面上にない場合 は作図できず、エラーとなる。ちなみにこのエラーとなる場合を作図させる問題は (正六角形となるパターンを暗記する問題以外は)出ない。 3. 次に、一つの線分と残りの1点について、平行法が適用できれば(それぞれが対に なる面上にあるならば)断面の新しい頂点がわかる。この部分の計算は一次関数の 考え方を利用し、線分の2次元ベクトルと残りの1点の2次元座標から、その点を 通りベクトルと平行な直線の方程式を求め、それと正方形のいずれかの辺との交点 36 を計算するという方法で実現できる。1の段階で線分が2本引ける場合があるが、 平行法が適用できない場合はもう一方の辺についても適用可能かどうか判定する。 図 3.15: 平行法 4. 新しい頂点が得られた場合は、既存の頂点と同一面上にあるかどうかを判定し、そ うであれば線分を引く。そして線分を引いたときに作図が終了する可能性があるの で、上に述べた終了判定を実行する。これは以降の計算においても同様である。 5. 平行法を適用できない場合、または適用しても作図が終了しない場合は延長法を行 う。まずはわかっている線分について、その延長線上の座標(立方体の他の面上に あるような座標)を、先の一次関数の考え方で計算する(図 3.16)。そしてこの点 について、断面の頂点でわかっているものと同一面上にあるかどうか判定し、そう である場合は、その二つの点からなる線分と立方体の辺との交点が(図 3.17)、新 たに断面の頂点だとわかる。 図 3.16: 延長法 1 3.3.3 図 3.17: 延長法 2 2点からナイフの位置決定、アニメーション アニメーションを実現するために用いるクラスについて述べる。 37 • RotateInterpolator クラス Java3D のクラスであり、平行移動のアニメーションを実現する。このオブジェクト に関連付けられた座標系は、設定された方向、設定された Alpha オブジェクト(下 記)に基づいて動く。 • Alpha クラス Java3D のクラスであり、Interpolator クラスの挙動を定義する。具体的には、起動 時間、起動遅延時間、増加時間、増加傾斜時間などを細かく設定し alpha 値(0.0∼ 1.0)がどのように変化していくのかを定義する。このオブジェクト内のパラメータ を細かく設定すれば、アニメーションにおいて自由に動きを決めることができる。 まずは、色の異なる面から選ばれた2点の中点を原点とし、図のような向きに座標系1を 設定する(図 3.18)。座標系は3重に設定されており、座標系1の中に座標系2、さらに その上に座標系3があり、ナイフを表す正方形オブジェクトは座標系3上に配置されてい る。次に、座標系1の線分と平行な軸について、座標系2を回転させる(図 3.19)。この とき、座標系3も同時に回転することになる。 図 3.18: 座標軸設定1 図 3.19: 座標軸設定2 次に、座標系2のナイフと平行な軸について、その負の方向に座標系3を平行移動させ る(図 3.20)。以上で、ナイフを適切な場所に配置し、切断アニメーションを表示するこ とができる。 38 図 3.20: 座標軸設定3 3.3.4 3点からナイフの位置決定 途中までは2点の場合と同じである。角度を設定する部分のみが異なるが、これは前述 のキーボードで角度を設定する代わりに、3点目の座標を用いて角度を計算する。ここで は、立方体の色の異なる面上の点をαとβ、その他の点をγとする。角度は、ベクトルα γとベクトルβγの外積を取り、ナイフと垂直な軸とこのベクトルが平行になるような角 度にすればよい(図 3.21)。外積のベクトルと軸のベクトルのなす角を計算し、この角度 だけ回転すれば、目的の位置にナイフを移動させることができる。 3.3.5 切断立体の分離 この機能は実装されていないが、アルゴリズムの構想を考えたのでここに述べ、今後の 課題としたい。 1. まずは断面を構成する3∼6個の頂点を準備する。これのみを用いて二つの立体を 新たに定義する。 2. 断面を1つの面とする。Java3D では基本的には三角形ポリゴンのみなので、これを 必要な数だけ組み合わせて多角形を構成する。そして以降の計算のために、断面中 39 図 3.21: 座標軸設定 の連続する2辺(共通する頂点を a とおく)を適当に選び、外積を計算することに よって法線ベクトルを求めておく。 3. 立方体中に頂点は8個あるが、a から8つの頂点へのベクトルそれぞれと、先で求 めた法線ベクトルとの内積を計算し、その符号によって二つのグループに分ける。 なおこのとき、内積が 0 となる場合は、両方のグループに所属させる。これは内積 が正の値ならば二つのベクトルのなす角は90度以内であり、法線ベクトルと同じ 側にその頂点があることを意味する。また内積が負の値であれば、二つのベクトル のなす角は90度より大きく180度より小さいということになり、法線ベクトル と逆側にあることを意味する。内積が 0 であれば二つのベクトルのなす角は90度、 つまり断面上に頂点があることになり、両方の立体に含まれることになるので、両 方のグループに入れておく。 4. 新たな立体において、断面以外の面はもともと立方体の面であったので、各頂点の x、 y、z いずれかの座標は 0.2 または-0.2 である。各成分について、値が 0.2 または-0.2 となる頂点が3つ以上あるかを判定し、もしあればその頂点から構成される平面を 新たな立体の面とする。同様にして、二つの立体について全ての面に関する情報が 揃えば、立体のオブジェクトを生成し、仮想空間内に表示することができる。 40 3.4 むすび 本章では制作したソフトの機能、アルゴリズムについて述べた。次章では本ソフトを用 いた実験について述べる。 41 第4章 実験とその結果 42 4.1 はじめに 本章では制作したソフトを用いた実験の方法、結果、考察を述べる。 4.2 目的 本ソフトはわかりやすさ、イメージしやすさ、使いやすさを重視している。そして限り なく理屈の部分をなくして直感的な理解を目指したので、その効果があるかどうかを調べ る。また、WEB 上でそのまま使用できるという Java の利点を生かそうとホームページ に本ソフトを公開してみたが、これを生徒が自分の家で使用するための設定ができるかど うかも調べる。 4.3 4.3.1 実験方法 教室での実験 生徒に本ソフトの使用法を説明したのち、自由に使用させ、わかりやすさや使いやすさ についてのコメントを聞く。また、一部の生徒には上記(16 ページ参照)のテストをソ フト使用前と使用後に解かせ、その変化を見る。このソフトがイメージのしやすさに貢献 しているかどうかを探る。中学生の生徒10人に協力していただいた。 4.3.2 WEB 上での実験 まずホームページを作成し、その中にこのソフトを貼り付ける。Java のアプレットとし て制作したので、そのまま埋め込むことができる利点を生かした。ホームページには Java と Java3D の実行環境をダウンロードインストールする方法とソフトの使用法を記載し、 生徒が一人で本ソフトを利用する環境を整え、ホームページの説明を見て利用することが できるかどうかを調べる。中学生5人と、多くの大学生以上の方に協力していただいた。 43 4.4 結果 4.4.1 教室での実験 生徒の反応、観察結果は以下のようなものがあった。 • 点を指定するのが難しそうだった。 • 切断面の色が同系色でわかりづらそうだった。 • 3次元的なものをぐるぐる回すのが楽しそうだった。 • リアルな画面に驚いていた。 • 実際に切り離した立体も見たがっていた。 • 何も書いていないのでボタンの意味がわからない生徒がいた。 • 立方体がゆがんで見えてしまう (透けて見える線が手前だと勘違いすることが原因であることがわかったが、実際 そのように見えることがある) • 断面生成ができないパターンが多くて不満を感じる生徒がいた。 • 立方体以外の図形でも見てみたいという希望があった。 • 効果音やテクスチャ(豆腐と包丁など)が欲しいという意見があった。 • マウスだけで操作できるようにして欲しいという声があった。 また、ペーパーテストの結果では、目覚しく正解率が上がるというほどではないが、形が 正解に近づいたり、明らかに不自然な形の解答が減るなどという点が観察された。 4.4.2 WEB 上での実験 中学生について、一人で最後まで設定ができたのは5人中3人で、あとはサポートを 必要とした。また、大学生以上についても、設定は楽なものではないようだった。ブラウ 44 ザの種類によっては使えない場合もあるかもしれないが(未確認)、Java Plug-in の設定 でうまくいかない場合がいくつかあった。ダウンロードインストールガイドについては クリックする場所まで明記しているので、迷わず最後までできる人がほとんどだったが、 ソフトの機能説明については、種類が多く見づらいため、すべてを把握していない人が多 く、一人で使いこなせている人は少なかった。 4.5 4.5.1 考察 見やすさ 立方体がゆがんで見えるのは、透明度が高すぎるために手前側と裏側を見間違えるため であることがわかった。これは誤ったイメージが伝わってしまっていることになり、この 問題をイメージによって解けるようになるために、この問題点は必ず解消しなければなら ない。対策としては、透明度を下げて手前側と裏側をはっきり区別できるようにすること が考えられる。 またボタンの機能がわかりづらい点については、ボタンに機能がすぐわかるようなマー クを付けたり、マウスがボタンの上に乗ったときにメッセージを表示するなどして、直感 的にやるべきことがわかるようなインタフェースとなるように改良する必要がある。 4.5.2 わかりやすさ 操作方法についてはできる限り単純にし、全ての場面で次に行う操作を画面に表示して あるので、使い方がわからなくて苦労する生徒はいなかった。また、各モードが何をする ものなのかが名前だけではわかりにくく、慣れるまで何をやっているのかわからない生徒 はかなりいた。モード切替時に、名前だけでなくモードの説明を表示するなど、説明書が 必要ないほどわかりやすい操作を目指したい。 45 4.5.3 使いやすさ マウス移動に伴う点の移動がスムーズではないという指摘について、内部的にはリアル タイムに移動するよう設計されているので、複雑で処理しきれないことが原因であるよう に思われる。実験段階でのソースでは、例えばカメラ位置の座標を毎回計算していたり、 改良を重ねる過程で無駄な部分が増えてしまっているので、そのあたりを整理すれば処理 が効率化され、少しは改善されるのではないかと思われる。 マウス操作に統一してほしいという指摘について、キーボードを必要とする部分はナイ フを回転する操作のみであるが、やはりマウスのみで全ての操作を行えないのは快適さが 失われるようである。しかし、マウス操作は全て立方体の操作に対応してしまっている。 このためマウスのみで立方体もナイフも扱うためには、マウスをナイフの上に持ってきて ドラッグするといった解決策が考えられるが、この操作では切断しているときにナイフを 回転させる操作が難しくなる。または、立方体とナイフのどちらを操作するかを切り替え るボタンを作ったり、ナイフが現れている間はナイフのみを操作可能にしたりすると、操 作が煩雑になったり自由度が失われて、使いやすさの目的が達成されなくなってしまう。 この点は解決すべき課題である。 4.5.4 イメージのしやすさ 立方体の切断面の表示については、文句はないと思う。今回の「アニメーションを見せ て理解させる」というアイディアは、概ね好評であった。また、断面図を書かせるテスト においても、改善の傾向が多少見られたので、イメージをする能力向上の効果はあると思 われる。 さらに、今回教室でソフトを使用してもらった10人に「このソフトで勉強したらイ メージできるようになりそうか?」といった質問をしたところ、10人全員の解答が「Yes」 であった。 46 4.5.5 問題が解けるようになるか 本ソフトのみで問題が解けるようになるわけではないことがわかった。本ソフトではイ メージがしやすくなることは確認されたが、それだけでは問題が解けるようになるわけで はない。作図の問題であれば、当然作図法や空間図形の性質を頭でも理解している必要が ある。しかし空間イメージとそれらの知識を併用すれば、問題解決能力は高まると思われ る。というのはイメージができるようになれば、正確な図形までは描けないにしても、あ る程度の概形を想像することができるので、作図をしていく際の参考にしたり、間違って いるかどうかの確認ができる。逆に、イメージができないと機械的に作図した図形が合っ ているのかがわからず、理論上の答えを信用するしかなくなる。 これらのことから、本ソフトはあくまでもイメージをしやすくするための支援ソフトと して位置づけられ、作図法や空間図形の性質などは学校の授業できちんと教わった上で使 用されるべきであり、独学で進められる e-ラーニング用教材として使えるものではないこ とがわかった。 4.5.6 WEB 上での使用について ダウンロード・インストールが難しく、一人ではできない人が目立った。また、ブラウ ザの設定で Java を無効にすることができるが、もしこの設定になっている場合に、それ を知らない生徒が設定を変更することは難しいと思われる。Java の実行環境の導入とい われてもピンと来ない人にとっては、何の設定を行っているのかわからないので難しかっ たかと思われる。Java アプレットなら最新のブラウザであれば、OS に依存することなく 動くが、Java3D も使用しているため、Java3D の実行環境をインストールしなければなら ない。この点で、Java の利点を殺しているように思われる。 現時点では、誰でも(中学生でも)簡単な設定で Java3D のアプレットを使用できると いうわけではなく、Java を使っているからといって、WEB 上に公開すれば誰でも使える ようにするのは難しいということがわかった。 47 4.6 むすび 本章では制作したソフトを用いた実験について述べた。次章ではこれを受けて、今後の 課題や展開について述べる。 48 第5章 今後の課題 49 5.1 はじめに 制作したソフトを用いた実験で得られた知見を元に、今後の課題を考えた。 5.2 実験方法の改善 本ソフトではイメージがしやすくなる効果しか確認できず、問題が解けるようになるに は他の知識と組み合わせる必要があることがわかったが、今回はこの部分を含めた実験が できなかった。そこで、学校において立方体の切断(現在のカリキュラムでは基本的には 削除されているため、この分野の授業が実施されている私立中学で実施する必要がある) の授業が終了した時点で、 1. 本ソフトを使用しないグループ 2. 本ソフトの「3点選択→断面表示モード」のみを使うグループ 3. 本ソフトの「3点選択→切断アニメーションモード」を用いるグループ の3グループに分け、それぞれのグループで本ソフトの使用前と使用後それぞれにおいて テストを行い、正解率の変化を見るという実験をする。このような実験をすれば、「アニ メーションを見せることで立方体切断のイメージができるようになる」という私の考えが 正しいかどうか、正確に実験することができたはずである。 5.3 ソフトの改善 実験から明らかになった問題点の改善はもちろん、切断立体の分離や、練習問題の解答 をアニメーション表示するなど、よりわかりやすくなる機能を追加していく。誰でも簡単 に使え、問題の理解やイメージの助けとなるものを目指したい。今回は問題と関係ないな どの理由で採用しなかったが、 「切断した立体をさらに切断する」 「3点を断面表示後に移 動させる」などの機能は、問題を解く上では必要ないかもしれないが、イメージの幅が広 がるという意味では役に立つと思われる。これらも使いやすさを考慮しながら、導入を検 討したいと思う。 50 また、そのような改善の余地は実験を重ねることに見つかっていくと思われるので、ソー スの変更が部分的なもので済むよう、機能をカプセル化して整理していきたい。この点は Java の利点でもあるが、今回は開発をしながら改良を加えていったので、完成品の段階 でソースが煩雑になってしまった。今後のためにわかりやすく整理することも今後の課題 である。また同様の理由で、無駄な変数や処理が増えてしまったように思われる。これを 改善すれば、効率化や高速化の余地がある。これによって実験で指摘された、マウスの操 作性に関する問題も解消されると思われる。 さらに、本ソフトは見た目に関しては中学生にとって興味深いものではあるかもしれな いが、これは瞬間的なものであって、時間がたてば飽きてくるものと思われる。本ソフト の目標は継続して使用することにより空間把握能力を鍛えることなので、生徒を惹きつけ 続けなければならない。この対策として、練習問題のスコアを表示したり、面白い問題を 入れてみたりするなど、ゲーム性を取り入れたらよいと考えた。遊び感覚であれば、生徒 は楽しみながら知らない間にイメージができるようになっているかもしれない。 5.4 他のソフトの開発 今回は立方体の切断に的を絞って考えていったが、他の分野でも同様のソフトによって イメージができるようになり、問題を見通しよく解けるようになるかもしれない。 例えば立方体以外の図形の切断がある。例えば円錐を異なる角度で切っていけば、2次 曲線が全て現れることをアニメーションで説明できる。また、例えば球に三角錐が内接し ている場合、ある平面で切った断面を考えれば平面図形の問題に帰着されるという問題が ある。これを CG で表現すれば、どの角度どの方向から切ればよいかを、実際に動かして 観察しながら考えることができる。他には回転体、動点による図形の変化、軌跡、展開図 など。 さらに私が考えた、勘が鍛えられるようになるアイディアとして、以下のものを考えた。 1. 関数の概形を表示するソフト 例えば二次関数と指数関数はどちらのほうが鋭い曲線を描くのか、y = xsinx は y = x と y = sinx の積であるが、どのような形になるのかなどをアニメーション表 51 示し、要点では概形に関する説明を加える。微分すればどんな関数でもグラフの概 形は書けるのであるが、一瞬で想像できれば考えやすくなったり、グラフの概形が 合っているのかどうかがわかる。私が関数の指導をするとき、いつもグラフの概形 を想像させているが、この想像力を磨けば強い武器になるのではないかと思った。 2. 空間把握能力テストの対策ソフト 空間把握能力に関する以下のようなテストがある。切断面実形視テスト (Mental Cut- ting Test; MCT) 立体をある面で切断したときの断面形状を認識できるかどうか。 図 5.1: MCT 心的回転テスト (Mental Rotations Test; MRT) 立体を異なる視点から見たときの形 状を認識できるかどうか。 図 5.2: MRT これらは主に、3次元 CAD を用いて製図をする人の空間把握能力を図る目的のテ ストであるが、この問題の解答をアニメーションによって見ることができるソフト を作れば、イメージしやすくなることは間違いないと思われる。CAD を利用する設 計者は経験から空間把握能力を養っているべきなので、その人たちのテスト対策と 52 して使うのは本質的ではないと思われる。しかし空間イメージが苦手な人がこの問 題を考えたり、正解のアニメーションを見るという訓練をつめば、空間把握能力の 向上があるかもしれない。 3. イメージのための統合ソフト 世の中には GRAPES、Virtual Solid といった優れたフリーソフトがある。前者は 色々な関数を表示するソフト、後者は図形を切断したり、切断立体を扱えるソフト である。両者とも色々な機能を持ち、応用の幅が広いが、これらは私の目指す方向 とは異なるものであるようである。前者はまず扱う分野が異なるし、後者は立体の イメージではなく、色々な立体そのものを見せることが目的であるようだった。 私が目指すものは、2次元上に描かれた立体図形を立体的に見ることができるとい うことであり、そのためにはアニメーションによってイメージしやすくすることが 重要であると考えている。立方体切断の他に、立方体以外の立体の切断、また上に 述べたように回転体、動点、展開図、軌跡、関数の概形など、理屈よりイメージに よって見通しがよくなると思われるものをすべて含んだソフトを作れば、多くの生 徒にとって役に立つと考えている。GRAPES、Virtual Solid と並ぶ、「イメージが できるようになるソフト」が作れたらと思う。 5.5 携帯電話への展開 実験結果を受けて、生徒が WEB 上で本ソフトを利用するのは、Java の環境を整える ことや操作説明を一人で理解することの難しさから、現実的ではなかった。さらに中学生 すべてがパソコンを使うわけではないので、抵抗もあるかもしれない。 そこで、中学生にはパソコンより普及していると思われる携帯電話で使えるようにすれ ば、もっと手を出しやすくなるかもしれない。現在 Java3D は携帯電話でサポートされて いないが、近い将来サポートされる予定があると開発元である Sun が発表している。こ れが実現されれば、携帯電話で本ソフトが使えるようになるかもしれない。上に述べたよ うに、本ソフトにゲーム性を持たせれば、遊び感覚で空間把握能力を鍛えることができる ようになるかもしれない。 53 5.6 むすび 本章では実験結果を受けて明らかになった、今後の課題について述べた。次章では本論 文のまとめとなる、結論を述べる。 54 第6章 結論 55 6.1 本論文の結論 本論文では、立体図形の問題を解くためにはイメージが重要であることと、今回作成し たソフトがイメージをする力を養うことができるということを証明するために、ソフト制 作と実験を行ってきた。 前者については、確かに重要ではあるが、本ソフトによって養われるイメージのみで問 題が解けるとは限らないということがわかった。 後者については、実験方法や本ソフト自体に改善の余地が残されているため断言できる ものではないが、本ソフトでイメージがしやすくなる効果は確認された。 以上の点から、最初に述べた2点は正しいということを本論文の結論とする。 56 謝辞 57 この卒業論文の完成にあたってたくさんの方々から多くの助言や指導を頂きました。 まず、本研究を進めるに当たり、終始丁寧な御指導及び御激励を賜り、最後まで面倒を 見て下さいました大石 進一教授に深く感謝いたします。 大変お忙しい中でも私の質問に対して熱心に答えて下さいました、大石研究室助手、丸 山 晃佐氏、理工学研究科客員講師、中谷 祐介氏、荻田 武史氏に深く感謝いたします。 研究室内や合宿など、日常的な場面でお世話になりました、大石研究室修士課程2年、 大山 博毅氏、森山 敦史氏、並びに大石研究室修士課程1年、坂内 太郎氏、島本 誠氏、関 本 竜平氏、徳永 克久氏、福地 健氏、細田 幸裕氏、横山 大輔氏に深く感謝いたします。 研究内容だけでなくあらゆる場面で意見の交換や協力などをして下さいました、大石研 究室4年、有滝 貴広氏、岩田 揚平氏、大成 高顕氏、川崎 文裕氏、栗原 崇氏、佐藤 友規 氏、ト 詣各氏、平野 晃氏、水島 裕氏、吉岡 毅氏に深く感謝いたします。 この卒業論文において制作したソフトについて、お忙しい中ご協力いただき、貴重なご 意見を下さった全ての方々に、深く感謝いたします。 最後に、この卒業論文においてお世話になりました大石研究室の皆様に、深く感謝いた します。 58 参考文献 [1] えんどうやすゆき、”Java3D プログラミング・バイブル”(ナツメ社、2003) [2] 広内哲夫、”Java3D グラフィックス”(セレンディップ、2004) [3] 脇田早紀子、脇田濃宏、鈴木賢次郎、”教育用立体図形シミュレーターの開発” (情報処理学会、1991) [4] 中学校学習指導要領(文部科学省) [5] 渕田孝康、”Java3D Topics” http://www.ics.kagoshima-u.ac.jp/ fuchida/research/3d/java3d-topics/ [6] 早苗 雅史、”空間図形の指導 その方法と実践”(1998) http://www.nikonet.or.jp/spring/dim3/dim3.htm [7] 早苗 雅史、”立方体の展開・切断(数学玉手箱)”(2003) http://www.nikonet.or.jp/spring/sanae/MathTopic/solid/solid.htm [8] GRAPES http://okumedia.cc.osaka-kyoiku.ac.jp/ tomodak/grapes/ [9] Virtual Solid http://www5.wind.ne.jp/toyam/vsuse.htm [10] 岡森博和、”数学教育とパソコン”(第一法規、1987) 59 [11] 登山 淳也、”数学科学習指導案”(1999) http://www5.wind.ne.jp/toyam/sidouand.htm [12] 鈴木 登美雄、”数学科学習指導案”(1996) http://www.nj.aichi-edu.ac.jp/suugaku/rittainosetudan.pdf [13] 上原 永護、”実習記録「空間図形(V Solid)」”(1999) http://www.mowmowmow.com/math/data/v solid/jissen1.htm [14] 佐久間孝文、”切断された立方体を作ろう(数学の森)” http://mikan100-web.hp.infoseek.co.jp/osusume/o 17.pdf [15] その他、多くの WEB 上のフリーソフト http://www5a.biglobe.ne.jp/ bebeshi/main/sharp/sharp003.htm http://www.geocities.com/Athens/Academy/4850/math3.html http://web2.incl.ne.jp/yaoki/setudan.htm 60