Cabri 3D を用いた線形代数学習システムの構築

このテーマでは Cabri 3D を用いた線形代数学習システムを構築しています。 Cabri 3D とは3次元図形を製作・描画するためのソフトウェアで、幾何学の分野では、教育用ソフトウェアとして知名度があるようです。


▲Cabri 3D による図とそれを用いた学習システム

なぜこのシステムが必要なのか、ということですが、それは低学年の3次元ベクトルの理解度が低いということに原因があります。 「ベクトルの足し算くらいまでは理解できたけど、それがどうして直線や平面といった図形を表すのか... 」 そういった学生のためのシステムの構築を目的としています。
Cabri 3D というソフトウェアの特徴として、マウスのドラッグで図形を操作できる、ということがあります。 この機能を用いて、例えば、「こうベクトルを操作すると、こう数値が変化する、だからこの状態ではこういった方程式になるんだ」ということが直感的に理解できるシステムを作れるのではないか、と考えています。

開発サイドから見た Cabri 3D の特徴に、「ブロック遊びの感覚で図が描ける」というものもあります。 ここに点を配置して、それを通る直線を置いて... といったことがマウスを数回クリックするだけ行えます。 次の項目で紹介している Mathematica と比較するとそれは、積み木遊びとプログラミングぐらいの差があります。 おかげでコンテンツもサクサク作れます。


▲Cabri 3D による作図はクリックで

ウェブページ作成のための HTML などの言語を習得するのは大変ですが、開発サイドに回るのも、そこそこ楽しめるのではないかと思います。 ただ、システムの概形はすでにできているのでプログラミングらしいことは、ほとんどありません。 残すところは、大量のコンテンツを作成するのみです。


―――こんな研究、やってみませんか?

新しく得た知識:HTML, CSS, XML, Apache サーバー, Perl, 高専2年生程度の数学

▲このページの先頭に戻る

Mathematica を用いた線形代数学習システムの構築

このテーマでは Mathematica を用いた線形代数学習システムを構築しています。


▲Mathematica を用いた学習システム

Mathematica とは数学ソフトウェアで、高精度な計算に、2次元、3次元のグラフの描画など数学ソフトウェアとしてはかなり高機能な部類に入るものです。 この Mathematica を用いて上記の Cabri 3D のシステムのように3次元ベクトルを学習するためのシステムを構築することを目的としています。 こちらは強力な計算機能と、数式表示機能を用いて、Cabri 3D の苦手とする「数値」を前面に押したコンテンツを作成します。

ただ、この Mathematica は Cabri 3D と比較してかなり高度・自由な処理も行うことができる反面、一つのコンテンツを作成するのにも大量のコードでの記述を必要とするので、ホイホイとは新作ができないところに問題があります。


新しく得た知識:Mathematica

▲このページの先頭に戻る

内積バトル

このテーマでは内積を用いたゲームを構築しています。使用するソフトウェアは上と同じ Mathematica です。 目標は

内積とのファーストコンタクトを苦くないものに

といったところでしょうか。 皆さんも授業でいきなり 「内積とは... 」という内容に入って「なんでこうなるの!? 定義の意図が解らない!」 といった思い出があるかと思います。 そんな現状を打破するべく、今回開発に踏み切ったのがこの内積を用いたゲーム、「内積バトル」なのです。 一度でもこのゲームをした学生ならば、いざ授業で内積に出くわしたとしても「まぁ、こんなものもあるかな」とそこそこスムーズに内積を受け入れられるはずです。 要するに、「一度でも経験していること」が大事だということです。 内積がスムーズに受け入れられない原因は、内積はそれまでの演算と比較して異質な印象だったからだと考えられます。

さて、肝心の内積バトルの内容ですが...おっと、もうこんな時間か。すみません。続きはまた次回ということで。

新しく得た知識:Mathematica, postgres データベース

▲このページの先頭に戻る

課外演習管理システムの構築


▲課外演習支援システム - beyond F

ちなみに beyond F の "F" はシステムのサーバーとして用いている Linux ベースの OS 、Fedora の頭文字、そしてもちろん単位認定不可 : F - fall の意味もこめられています。 F の向こうにあるものとは一体―――

新しく得た知識:PHP, postgres データベース

▲このページの先頭に戻る

英文多読支援システムの構築

このテーマでは英文多読支援システム、tadoku navi の機能追加を行います。
豊田高専ではそこそこおなじみ(?)である、この tadoku navi ですが、「こんな機能がほしい」といった余白はまだまだたくさん残されていると思われます。


▲英文多読支援システム - tadoku navi

今回の研究では tadoku navi に図書推薦機能機能を追加することを目的としています。
図書推薦機能とは、知り合い、またはシステム使用者全体の評価と利用者の読書履歴より図書を推薦する機能のことです。 自分がこれまでどんな本を読んできたか、自分と同じような本を読んだ人はどんな本を高評価しているか、といった情報を組み合わせて、推薦図書を決定します。

おもに使用した言語は PHP で、これは動的なウェブページ、つまり使用者の情報・入力に合わせてデータベースから情報を選んで表示する、といったウェブページを作成するのに用います。 PHP はおろか HTML でさえ初見であった私にとってはシステムの理解からして大変でしたが、研究室の資料集とにらみ合いながらシステムを徐々に自分のものにしていくのも、なかなかやりがいのある面白い経験だと思います。

新しく得た知識:HTML, PHP, CSS, SQL

▲このページの先頭に戻る

RFID を用いたスポーツ大会記録システム

「耐寒マラソン」と聞くと今にも体が動きそうになるのを止められない―――
なんて豊田高専生はまずいないでしょうが、このテーマでの研究は、この耐寒マラソンに関係するものです。


―――さぁ、ついにあなたは耐寒マラソンでゴールしました!

この後に待っているものとは... そう、順位表への記入です。一生懸命走った(?)後だけあって、ただの数文字を記入するだけでも一苦労。 また順位表のの集計にかかる手間もかなりのものです。 そんな煩わしい事務作業を撤廃すべく今回研究に踏み切ったシステムが、この「スポーツ大会記録システム」なのです。 このシステムがあれば、あなたのゴールをコンピュータが読み取り、氏名・学科・タイム・順位などといった情報は全て瞬時に登録されます。 このシステムで用いている RFID(電波による個体識別) という技術に必要な装置は2種類。 一つはゴールに設置するゲート状の読み取り装置、もう一つは各選手が装着するゼッケン状の個体識別装置です。

▲このページの先頭に戻る


▲ゼッケンを読み取るゲート状の装置(机下)

開発はオブジェクト指向言語である C# を用いました。慣れないオブジェクト指向や、データのソート(並べ替え)を行うアルゴリズムなど初めての内容だらけでしたが、自分の作ったシステムが実用されると思うと、やる気は尽きません。 ...実際は研究室の床に鎮座する、すでに購入してしまったドでかいゲート状の装置のプレッシャーによるところが大きかったですが ^^;

新しく得た知識:C#

▲このページの先頭に戻る

拡張現実を用いた学習システム

突然ですが、これは何でしょう?


▲拡張現実への扉

こういった画像をもとにカメラの映像と 3D グラフィックスを合成する、ということを行います。

新しく得た知識:

▲このページの先頭に戻る