情報デザイン専攻では、はじめてプログラミングを学ぶ1年生向けに「プログラミング入門」という授業があります。この授業では、図形やアニメーションを描きながら、楽しくプログラミングを学ぶことができるProcessingと呼ぶプログラミング言語を使用しています。今年からProcessingバージョン3.0を使用しています。

今年度も最後の3回の授業時間を使ってプログラミングコンテストを実施しました(これまでの結果はこちらからご覧になれます。第1回コンテスト第2回コンテスト第3回コンテスト)。今年のコンテストのテーマは「◯◯の物語」です。「◯◯」の部分は自由としました。このようなテーマにした出題者側の意図は「物語」は時間の経過による変化が不可欠ですので、アニメーションやインタラクティブな操作を取り入れた作品となることを期待したからです。期待を裏切ることなく、今年度もアニメーションを駆使した素晴らしい作品が制作されました。

その中から教員4名による審査の結果、優秀賞(ゴールド)3件、優秀賞(シルバー)3件を選出しましたので、ご報告いたします。昨年度までは「最優秀賞」1件と「優秀賞」数件を選んでおりましたが、本年度は優劣をつけることが難しかったため、このような形に変更させていただきました。受賞されたみなさん、おめでとうございます。また、惜しくも受賞できなかった方の中にも素晴らしい作品が多くありました。是非、これからも楽しんでプログラミングを続けて欲しいと願っております。

以下の受賞作品の画像をクリックすると、その作品が別タブが開きます。画面を一度クリックしてから、マウスやキーボードで操作して下さい。スマホではキーボードがないのでPCでご覧下さい。Processingで制作されたコードは、processing.jsライブラリでWebページ上で動くように変換しおります。


【優秀賞(ゴールド)】

smallfish小さなお魚たちの物語

作者のコメント:テーマ「〇〇の物語」と聞いて、クリックすると場面が進展するようなものを作成しようとしましたが、
自分の思うようにはいかず悩むばかりでした。しかし、ふと有名なお話のワンシーンを思い出し、このような作品になりました。授業で習ったものや資料を探しながら作っていくのは、とても時間が掛かり大変でしたが、自分でプログラムを書いて思い通りに動いた瞬間が嬉しく、楽しみながら作ることが出来ました。その気持ちを忘れず、これからもどんどんプログラミングに挑戦して取り組んでいきたいです。(A.S.)

 

manある男の物語

作者のコメント:プログラミングに関してはほぼ初心者でしたが、授業の中で、作品を作っていく中で基礎から学ぶことができました。今回のテーマ「◯◯の物語」ときいて思い浮かんだのが絵本だったので、コンセプトを「電子絵本」にしました。調べつつ作るのは大変でしたが、思った通りのものを作ることができたと思います。しかし、今回実装できなかった機能が多々あるので改良していきたいです。また、画像表示に頼っているところがあるのでProcessingでの表現をもっと学びたいと思いました。頂いた賞に恥じぬよう、精進致します。(F.M.)

 

akazukin赤ずきんちゃんのおつかい!

作者のコメント:<追記予定>


【優秀賞(シルバー)】

fruits季節のフルーツ拾い

作者のコメント:まさか自分の作品が選ばれるとは思っていなかったので、連絡をいただいて驚きました。ありがとうございます。毎授業新しいことを学び、自分の手で一つ一つ形になっていくのはとてもおもしろかったです。最終課題では、もっとこうしたら良かったのではないかと今になって思う部分もあるので、今後の授業でもっと学び、より良いものを作れるよう頑張りたいと思います。(S.I)

 

kobit走る小人の物語

作者のコメント:この度は優秀賞に選んでくださりありがとうございます。今回のテーマが「物語」ということから小人の作品を作成しました。トレンドのレトロ感とシンプルさを求め限定した3色で仕上げました。また、動きや重力、速さを工夫することで差別化を図りました。多言語でのプログラミング経験はありましたが、ゲームを作ったのは初めてで思い通りに動くProcessingはとても面白かったです。これからもこの経験を生かして楽しくプログラミングを勉強していきたいです。(N.O.)

 

appleリンゴ物語

作者のコメント:プログラミングはほぼ初心者で、わからない事が多くとても難しく感じました。私は、決められた範囲の中だけで落下するプログラミングを作成してみたかったのでこの作品を作りました。最初は、上手くいかずとても苦労しましたが、少しずつ形になり出来上がりが目に見えとても楽しかったです。これからも、プログラミングを沢山勉強して今よりも完成度の高い作品が作れるよう頑張りたいと思います。(A.M.)


 

LINEで送る
Share on Facebook

デザイン専攻の2年生の後期に開講されている「プログラミング論及び演習」という授業を昨年度に引き続き紹介します。この授業で使用するプログラミング言語は、2014年度から従来のC言語からJavaScriptに変更しまして2015年度は2年目となります。2015年度から私(藤村)と非常勤の山崎大助先生が授業を担当しております。

本年度は、JavaScriptの基礎を学んだ後、jQueryライブラリやp5.jsライブラリの活用方法などを学びました。p5.jsはJavaScriptでアニメーションや音楽を扱いやすくする新しいライブラリで、2015年度から導入しました。ちなみに、p5.jsについてはこちらにも記事があります。

授業の最後の3回では、授業で学んだ技術を駆使して自由にWebアプリを制作しました。以下に3つの作品を紹介します。HTML5対応のPC版ブラウザ(Chrome, Firefox, Microsoft Edge等)で閲覧した場合には、以下の画像をクリックすると、別ウインドウが開き、実際に操作することができます。

最初の作品は、マウスで画面上をクリックして隠されたヒントを読み、解読して部屋から脱出するゲームです。これを作成した学生によりますと脱出ゲームとしては難易度が低いそうですが、脱出ゲームに慣れていない人にとってはかなり難しいと思います。10分で解ければ天才かも?

脱出ゲーム
escape

次の作品はお絵かきツールです。PCに保存されている任意の画像を背景画像としてアップロードすることができ、お絵かき後、キャンバスを右クリックして画像をダウンロードすることができます。ちょっと手書きを加えたいときにとても便利ですね。

お絵かきボード
drawpict

最後の作品は以下の画像から想像できますようにキーボードです。PCのキーボードがキーボードとして:-)音楽を演奏することができますし、ドラムや音量や音程を変化させるイコライザーの機能もあります。詳しく説明しなくても使えると思いますので、是非、演奏してみて下さい。zキーを押すと音楽も流れます。

キーボード
music

この授業では、このようにjQueryやp5.jsのライブラリを使って、脱出ゲーム、お絵かき、キーボードといった幅広いWebアプリを自由に制作することができました。3年生、4年生では、この経験を生かして、本格的な作品制作にチャレンジして欲しいと思います。

LINEで送る
Share on Facebook

3年生前期の選択科目の「情報処理応用論及び演習」という授業を紹介します。この授業では、プログラミングの応用力を高めることを目指し、自分で企画したWebサイトをJavaScriptで制作しています。本年度は、この授業の前半でthree.jsと呼ぶ3Dグラフィックスを扱うライブラリを活用して「3Dポスター」を制作しました。「ポスター」と言えば普通は紙に印刷した2次元のものですが、今回はWeb上に3Dのポスターを制作することにチャレンジしました。

以下はこの「3Dポスター」の作品例です。他にも優れた作品が多数ありましたが、完成度が高い以下の6作品をアップロードいたしました。作品の画像をクリックすると、別タブに作品のWebページが開きます。マウスの左ボタンのドラッグで回転移動、右ボタンのドラッグで並行移動、ホイールでズームとなっています。尚、閲覧するにはHTML5をサポートしているChrome, Firefox, IE11が必要です

itako

【時間を大切に】

 

kouno

【お花を大切にしよう!】

 

shiino

【WANDER ART GALLERY】

 

arimura

 【クリスマス】

 

suzuki

【時は金なり】

 

abe

【音楽やろうぜ!!】

LINEで送る
Share on Facebook

藤村ゼミの卒業研究をもう一件紹介します。この作品は、マイコンボードArduinoと音情報を取得するための音センサ、そしてELワイヤーという光るワイヤーを用いて、音楽に即時に反応し光るコスチュームです。本作品ではマイクから取得した音声をFHTライブラリによりスペクトル分析を行い5つの音域の強度に変換し、下図のように音域毎に対応するELワイヤーを音の強度に応じて点灯させています。

一定時間の音の強度の平均値に基づき、反応する音のしきい値を自動的に調整するオートゲインコントロール機能を実装しているため、静かな場所でも、大音量のライブ会場でも適切に光らせることが可能です。また、PCは不要でArduino単体で実装されているため、低コストで実現できます。

responsivecostume

藤村ゼミではこのようなコンピュータ技術と手芸を組み合わせたテクノ手芸やメディアアートの制作を行なっています。

LINEで送る
Share on Facebook

藤村ゼミの「TwitterとLeap Motionによるジェネラティブ・ミュージックの制作」という卒業研究を紹介します。この研究は、LEAP Motionと呼ぶセンサによって取得した手の動きと、Twitterからのつぶやきをリアルタイムに取得し、この2つの情報を元に、インタラクティブに音楽を生成するメディアアート作品です。まずは、以下の動画をご覧下さい。

この作品では、Twitterアカウント所持者がつぶやいたタイムラインの中から特定のキーワード(今作品ではおはよう)が含まれるツイートを10秒ごとに20件取得し、そのツイートのテキストによってドラム音が生成します。そして、Leap MotionはLeap Motion演奏者の手の座標、ジェスチャーを1秒に最大60回送信し、送信された情報から、メロディが鳴り、手の座標によりそのメロディにエフェクトを適用します。本作品の全体構造を下の図に示します。Twitterから生成される音楽とLeap Motionから再生される音楽が合わさることで本作品のジェネラティブ・ミュージックを生成するようにしました。尚、実装はTwitter APIの部分に一部PHPを使用しましたが、大部分はJavaScriptで開発しております。

twittermusic

本作品のオリジナリティはLeap Motionの演奏者一人だけではなく、Twitterのアカウントを所持している全ての人々が本作品のジェネラティブ・ミュージックに参加できるという点です。つまり、Leap Motionで演奏者、Twitterの利用者のどちらが欠けていたら完成しない、新感覚の複数人参加型のジェネラティブ・ミュージックとして制作しました。

藤村ゼミではWebサイトの構築技術やメディアアートの制作等をテーマとして取り組んでいます。藤村ゼミのH26年度の卒研テーマの一覧はこちらをご覧下さい。

LINEで送る
Share on Facebook

デザイン専攻の2年生の後期に開講されている「プログラミング論及び演習」という授業を紹介します。この授業は2013年度まではC言語を使っていましたが、2014年度からは、近年利用が広がっているJavaScriptに変更し、Web技術の基礎を学ぶ授業にしました。JavaScriptは、Webブラウザ上で実行可能な言語ですので、Windows、Mac、iOS、Androidによらず実行できること大きなメリットです。さらに、HTML5の普及によりOSの基本機能が利用可能になり、3DCGやゲーム等を含む、あらゆる分野のアプリが制作できるようになったため、JavaScriptは、ますます重要となっていくでしょう。

本年度は、JavaScriptの基礎を学んだ後、jQueryライブラリを活用して対話的なユーザインタフェースの制作方法を学びました。そして最後の4回では、enchant.jsライブラリを活用してJavaScriptで動くゲーム作品を制作しました。以下に制作したゲーム作品を紹介します。以下の2つの作品は特に完成度の高さが際立つ優れた作品でした。画像をクリックすると、別ウインドウが開き、HTML5対応のChrome、Firefoxで閲覧した場合にはマウスで操作することができます。

※「メモリー」はスマートフォンでも動作しますが、他の作品はキーボード(矢印キー)が必要ですのでPCで操作して下さい。

【最優秀賞】メモリーprog2014_memory

【優秀賞】忍者を入れるな!prog2014_sengoku

また、以下の3作品は、惜しくも優秀賞とはなりませんでしたが、楽しめる作品でしたので、紹介致します。

ハートを集めて♥prog2014_usagi

宇宙サッカーprog2014_space

りんごをゲットprog2014_apple

この授業を受講した2年生の皆様、3年生からはWebプログラミング、アルゴリズム論及び演習、オブジェクト指向プログラミング論及び演習、画像処理論及び演習、情報処理応用論及び演習など、プログラミングを学べる授業がたくさんありますので、引き続きプログラミングを楽しんで下さい。

LINEで送る
Share on Facebook

情報デザイン専攻では、はじめてプログラミングを学ぶ1年生向けに「プログラミング入門」という授業があります。この授業では、図形やアニメーションを描きながら、楽しくプログラミングを学ぶことができるProcessingと呼ぶ言語を使用しています。

今年度も昨年の第1回コンテスト同様、最後の3回の授業時間を使ってプログラミングコンテストを実施しました。今年のコンテストのテーマは「流れ」としました。「流れ」には「水」や「空気」などの液体や気体の流れはもちろん、「自動車」や「お寿司」などの物の流れ、さらには「時の流れ」などもあり、独創的なアイデアが生まれるのを期待したからです。また、「流れ」にはアニメーションなどの動的な表現が求められるため、プログラミング技術が高められるということも狙っています。

Processingで作成された作品は、processing.jsというライブラリを使うことにより、Webブラウザでご覧いただくことができます。最後の授業では、各自が制作した作品をWebサーバにアップロードして、各クラスでプレゼンテーションを行いました。さらに4クラスに分かれて制作しておりましたので、他のクラスの作品を含めて鑑賞し、学生自身に気に入った作品を投票してもらいました。 この学生の投票と、授業を担当する4名の教員の評価を合計して、以下の4作品が優秀作品として選出しましたので、本日ここで発表します。おめでとうございます。下の画像をクリックすると、別ウインドウが開き、HTML5対応のChrome、Firefox等(IEはバージョンによってNG)で閲覧した場合にはマウスで操作することができます。

【最優秀賞】proc2014_robot

ロボット工場における流れ作業を美しく表現しています。背景画像の完成度が素晴らしいですね。

【優秀賞】 proc2014_balloon

ゆっくりとした空気の流れを気球で表現しています。クリックし続けると気球が上がります。

【優秀賞】proc2014_clock

時の流れを表現しています。中央部分のドアをクリックし続けるとドアが開きます。

【優秀賞】proc2014_season

季節の流れを美しく表現しています。右矢印キーで速度が変わります。

 

これらの作品を作られた学生には、後日、「第2回プログラミング入門、プログラミングコンテスト」にふさわしい素晴しい副賞(?)が渡されることになっております。今回、惜しくも選ばれなかった学生の中にもたくさんの素晴しい作品がありました。今後もプログラミングを楽しんでいただければと思います。さて、来年のテーマは何にしましょうか?

追記

「季節の流れ」を制作した学生の感想:自分の作品が優秀賞をいただけてとても驚きました。プログラミングに関しては初心者でしたが、授業で学んだ知識を形にしたものが評価していただけたのは嬉しいです。プログラムが思ったように動かずに悩んだり、書き直したりしたのは大変でしたが、解決策や代案が思いついたときの喜びも多かったのでとても良い経験となりました。時間や技術の問題で、妥協したところもありましたし、別の作品(ゲーム要素の強い物)も作ってみたいと思っているので、これからもプログラミングの勉強を頑張っていきたいです。(T.N.)

LINEで送る
Share on Facebook

卒業研究は、授業で学んできた「知識」を、実際の問題に応用することで使える「技術」に昇華させる重要な学びのステップです。今日は卒業研究の実例として、藤村ゼミのH25年度の二人の学生の卒業研究を紹介します。

一つ目の卒業研究は「三軸加速度センサによるジェネラティブミュージックの制作」というもので、手袋に縫い込まれた三軸加速度センサから手の動きのデータを取得し、インタラクティブに映像と音楽を生成するメディアアートの制作です。

この作品では、15個の音をランダムな順番で音量や長さを変化させながら再生する、といった複数のルールをアルゴリズム化して音楽を合成しました。また、三軸加速度センサの値を音楽と映像に反映させ、人間の動作がリアルタイムに作品に反映されるようにしています。制作にはProcessingとArduinoを使用しました。三軸加速度センサを組み込んだArduinoをUSBケーブルでPCと接続し、計測データをProcessingで受信し、受信した値を使って音楽とアニメーションを生成するようにしました。

この作品は「作品を創るプロセス」そのものが作品であり、作り手の意志と受け手の意志の両方のインタラクションによって作品が完結します。

二つ目の卒業研究は「Processingによる遠隔通信モーションキャプチャ技術の開発」というもので、先程の例と同様に三軸加速度センサの値を活用しますが、こちらは、Arduinoではなく、スマートフォンAndroidに備えられている加速度センサを活用しています。こちらは、スマートフォンベースなので、アプリさえインストールすれば誰でも簡単に参加できるようにすることを狙っています。

Android端末側のアプリはProcessingのAndroidモードを使って制作しました。そして、Android端末からネットワークを介して送信される加速度センサの値を受け取ってリアルタイムに画像を生成するサーバ側のプログラムもProcessingを使って開発しました。この研究では、端末とサーバとの間の汎用的な通信プロトコルの設計に重点を置いていますのでアート作品としてはシンプルなものとしています。また、こちらの作品では、以下の映像のように、複数端末の動きを同時に取得して映像を作るサンプルも制作しました。

藤村ゼミではこのような参加型のメディアアートの制作を一つのテーマとして取り組んでいます。藤村ゼミのH25年度の卒研テーマの一覧はこちらをご覧下さい。

LINEで送る
Share on Facebook