一年生向け授業「ビジュアルコンピューティングの数理入門」の紹介
2013年2月10日 (日) 投稿者: コンテンツ創作コース
メディア学部 コンテンツ創作コース 柿本正憲
私の担当している一年生向け授業「ビジュアルコンピューティングの数理入門」について話をします。ビジュアルコンピューティングは耳慣れない用語かもしれませんが、コンピュータグラフィックス(CG)のことと思ってください。
大学一年生の授業は基礎教養科目が中心です。しかし、学習内容と世の中の実務とがかけ離れて見える科目ばかりでは、多くの学生が興味を失ってしまいます。そこで、早くから専門科目も教えるという方針で、メディア学部は2012年度から新カリキュラムを実施しています。
「ビジュアルコンピューティングの数理入門」はそのような専門基礎科目の一つです。高校を卒業して間もない学生にも理解できるよう、「画像って何?」というところから始めます。
PCが普及して、高校の授業でもPCを使うようになっています。数学や情報の科目でアルゴリズムや表計算ソフトなども勉強します。中にはCGソフトを使って何か作品をつくる授業を実施している高校もあります。
ところが、PCで表示する画像がどのようにできているのか理解しないまま、コンピュータを魔法の箱と思ってしまう場合がほとんどのようです。趣味で何かやる、という程度ならそれでよいですが、映像やCGなど、何らかの形で画像に関わる専門家になるには物足りません。
この科目は、将来技術者やプログラマーになりたい人にはぜひとも受けてほしい科目です。しかし、CGに少しでも興味のある人や、技術系でなくても将来映像やゲーム関係の仕事をしたい、という人にこそ受講してもらいたいです。
たとえば、映像制作・ゲーム制作の監督が画像やCGの原理を理解していなかったら、できることできないことの正しい判断はできません。スタッフである技術者からも信頼されません。「なんかちょっと絵がきたないんだよね」ではなく「モーションブラーのあたりがおかしいんじゃない」と言えた方がいいのです。
科目名に「数理」とありますので、数学の話題や数式も出てきます。そのときには、数式の意味がわかるように教えることを心がけています。数学をCGに必要な道具としてとらえ、数式とCGの絵とを結びつけて説明します。講義は座学だけでなく、実際にデモソフトを使って学習します。
この授業は全員がノートPC持参で、デモソフトは各自がその場で動かします。実行するだけでなく、ソースコード、つまりプログラムそのものを読んだり書き換えたりもできます。宿題として、プログラムを改良して何か自分独自のCG画像を作る課題を出すこともあります。
自分でプログラムを書いたらすぐ画像になって結果が出るのはとても楽しいことです。もちろん、意図した結果を出すのは簡単ではありません。しかし、いろいろと試行錯誤して自分のプログラムで思い通りの画像ができると、コンピュータを征服してるな、という気持ちになります。そういう感覚を楽しみながらCGの原理を学習してもらえれば、と思って授業をしています。
昔は手軽にCGプログラムを作るのは難しかったのですが、今はPCの性能も十分に上がり、Processingという、学習用としてもたいへん優れたプログラミング言語があります。授業の中ではプログラムの書き方も教えます。Processingは最小限の記述で実行できる言語なので、教えることも少なくて済みます。
この科目でどんな技術を取り上げるか、詳細はシラバスに公開されています。CGの各種技法の多くは他の講義科目に譲り、少数の基礎的なテーマを厳選しました。流行に左右されることなく、CG分野で今後も長い間使われる重要なものばかりです。
専門用語の意味を憶えるだけの表層的な講義ではなく、原理を深く理解することを重視しています。「入門」という科目名でありながら、深い世界も垣間見ることができる、そんな授業をめざしています。
受講生がそれぞれ書いたプログラムを結合し、106人分のCG出力画像を並べてみました。
第1回授業の宿題として提出された作品群です。
マンデルブロー集合を表示するプログラムで色を設定し、集合内を「探検」する課題。
提出作品より抜粋。