## 課題1：アンビエントメディアを探そう

アンビエントメディアとは，周辺環境に溶け込む情報伝達メディアを指す用語である．テクノロジーを利用したものに限らず自然における現象に関してもそれはアンビエントメディアと捉えることができる．この点が非常に興味深く思ったので，提出課題は人工物ではないものでアンビエントメディアを探すことにした．私が見つけたアンビエントメディアはコンクリートに揺らぐ木の影であり，見た目が美しいだけでなくそれが風速を示すアンビエントメディアになっている点が興味深いと感じた．

## 課題2：プログラムで丸を描く [p5js]

ellipse関数を利用せず，極座標系から円を描くことを行った．円を描くことはellipse関数を用いると一行で終わる処理であるが，結果円を書くだけでなく，プロセスまでも同じことをすることになってしまう．制作において重要なことはプロセスであるとよく耳にするが，このような手法で自らが円を書くコードを記述することで，より柔軟性の高いコードや発想が得られるような気がした．

## 課題3：アスキーアートエフェクト動画を作る [p5js]

ピクセルの明るさ（brightness）に対して，明るい場所には画数の少ない記号を．暗い場所には画数の多い記号を示す配列を作成し，その値に応じて文字を表示することでモザイク的表現での映像表現ができる点が非常に興味深かった．javascriptとjavaの記述が異なる点や，何度かブラウザがフリーズすることがあり，ちょっとイライラさせられた

## 課題4 モーションキャプチャデータの再構成

【注意事項】モーションキャプチャデータの再構成にて利用するbvh読み込みライブラリはjava専用のため，この課題分についてはp5jsへの移行は不要です．代わりに課題で提出した画像を利用してください．

## 課題5：再帰関数でストライプを再構成[p5js]

setup関数内でframeRate(1)とし，1秒おきにストライプを生成するプログラムにしています．

## 課題6：アニメーションするテキスタイルパターン[p5js]

【注意事項】この課題では，必ず30fps以上で動作するようにプログラムを記述してください．30fpsというのは一秒間に30回画面を更新する（ frame per second )の意味です．カクカクしている動作ではなく，滑らかにアニメーションするものを提出してください．という意図です．実行するPCによっては描画更新にはある程度の違いが生じますが，setup関数内で，frameRate(30); と宣言しておくと，描画更新は自動で30fpsになります．このサンプルプログラムでもそのように動作するよう記述しています．また draw関数内で text(frameRate(), 10,10); とすれば上記サンプルのように画面左上に現在のfpsが表示されるので目安として表示させておくと良いでしょう．詳しくはこのサンプルプログラムを確認してください．

## 課題7：ジェネラティブ紋 [p5js]

【tips】課題提出時は静止画像でしたが，最終課題ではp5jsを利用して実行画面をそのままブラウザで表示できるため，このようにアニメーションさせても構いません．

## 授業の感想

授業の感想は400字程度でまとめてください．