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

平成29年度にも最後の3回の授業時間を使ってプログラミングコンテストを実施しました(これまでの結果はこちらからご覧になれます。第1回コンテスト第2回コンテスト第3回コンテスト第4回コンテスト)。平成29年度のコンテストのテーマは「しなやか」にしました。平成30年度には大妻女子大学110周年記念事業を予定しており、その記念事業のテーマが「しなやかに、生きる」に決まりそうということを聞き、それを先取りしようと考えこのテーマにしました。ところが、最終的には記念事業の方は別のテーマに決まってしまいました。とはいえ、「しなやか」という単語には、柔らかい優しさを持ちつつしっかりとした芯をもつというニュアンスがあり、とっても良いテーマだと今でも思っております。また、プログラミングの観点からもアニメーションなどでしなやかさを如何に表現するかということが難しく、とてもやりがいのあるテーマになったと考えております。

こうして1年生全員が取り組んだコンテンストですが、平成29年度もProcessingのアニメーションを駆使した素晴らしい作品が多数制作されました。その中から教員4名による審査の結果、優秀賞(ゴールド)2件、優秀賞(シルバー)2件を選出しましたので、ご報告いたします。

受賞されたみなさん、おめでとうございます。また、惜しくも受賞できなかった方の中にも素晴らしい作品が多くありました。是非、これからも楽しんでプログラミングを続けて欲しいと願っております。

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


【優秀賞(ゴールド)】

branko2

作者のコメント:ある意味異色を放つこの作品で賞を頂けたことを困惑しつつも嬉しく思います。この作品は当初、ハイジのブランコの様にする予定でしたが、トラブルもあり中止となりました。しかし、今回の作品はそのトラブルを逆手に取って作成したものなので、何事も思考の転換が大事だと深く感じました。先生には多くのことをお手伝い頂きましたので、その事に感謝しつつ今後も精進していきたいです。(H.M.)


【優秀賞(ゴールド)】

fan

作者のコメント:この度はこのような素晴らしい賞をいただき、誠にありがとうございます。プログラミングコンテストでの受賞は、入学前から憧れていましたので、とても嬉しく思います。今回のテーマ「しなやか」は、アイデアを考えることも、それを形にすることも難しく、試行錯誤の繰り返しでした。自然な髪の毛の動きを作る事、スイッチのON/OFFで動きを切り替えるようにした事が特に一生懸命に取り組んだ点です。初めはわからない事も多く大変でしたが、自分のイメージ通りに完成した時は達成感がありました。他の学生の作品にも、自分では思いつかなかったアイデアや工夫が多く見られたので、周りから良い影響を受けつつ、今後も努力を怠ることなく精進していきます。(E.A.)


【優秀賞(シルバー)】

pudding

作者のコメント:今回のテーマ「しなやか」からプリンの動きをイメージし、この作品を作りました。プリンの微妙に揺れる動きにこだわり、速度を調整するのが難しかったです。自分の思い通りに動かすのはとても大変でしたが、作品が完成した時は達成感があり、やりがいを感じられました。プログラミングは初めてでしたが、授業で基礎から丁寧に教えていただいたので理解することができました。今後、より良い作品が作れるようにプログラミングの勉強を頑張りたいと思います。(N.K.)


【優秀賞(シルバー)】

stream

作者のコメント:プログラミングは初心者だったので、何から始めたら良いかわからず試行錯誤しながらこの作品を作りました。ですから優秀賞に選ばれて、すごく嬉しく思っています。ありがとうございます。今回のテーマは”しなやか”ということだったので金魚が泳いでいる時のヒレや水の流れを動かすことによりしなやかさを表現しました。自分のイメージでは金魚がマウスに向かって泳いできたり、尻尾を泳いでいるかのように滑らかに動かしたかったのですが今の私にはできませんでした。ですからこれからの授業で多くのことを学び、自分のイメージしたものを実現できるように頑張りたいと思います。(M.K.)


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

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

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

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


【優秀賞(ゴールド)】

smallfish小さなお魚たちの物語

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

 

manある男の物語

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

 

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

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


【優秀賞(シルバー)】

fruits季節のフルーツ拾い

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

 

kobit走る小人の物語

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

 

appleリンゴ物語

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


 

デザイン専攻の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年生では、この経験を生かして、本格的な作品制作にチャレンジして欲しいと思います。

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

【音楽やろうぜ!!】

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

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

responsivecostume

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

藤村ゼミの「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年度の卒研テーマの一覧はこちらをご覧下さい。

デザイン専攻の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プログラミング、アルゴリズム論及び演習、オブジェクト指向プログラミング論及び演習、画像処理論及び演習、情報処理応用論及び演習など、プログラミングを学べる授業がたくさんありますので、引き続きプログラミングを楽しんで下さい。

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

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

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

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

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

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

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