プログラミングB #12

配列とその利用


高尾俊介(takawo@konan-wu.ac.jp)
甲南女子大学 文学部 メディア表現学科 講師

a part of this lectures inspired from 
by Luisa Pereira

授業の感想を記入してください。

教員からのコメント

いろいろなことができと面白いなと思いました。
集合体は少し怖かったです。
集合体?そうでしたか😃
点描や線描など普段とは違う感じの画像になるのは面白いと思った。丸や線以外の四角などの違う形でも書くことができるのか気になった。
図形はなんでもできますよ.自分で試すのが大事です😃ぜひ書き換えてみてください.
写真を線や点で描写したようなプログラムが面白かった。手書きのような出来上がりなのに、線や点がずっと動いているのはプログラミングででしか出来ないなと思った。
そうですね.画像を線や図形に変換できると例えばイラストレーターに読み込めるSVGの形式に書き出したりできて便利です.
今日学んだ内容で自分の写真を使うのが楽しみです!
写真がイラストのようになるのが不思議な感じがして
けど自分の写真がもっと変化すると思うとが面白いなと感じました.
自分のでやってみて見え方が変わるのがわかりましたか.画像の一部分だけそういうふうに処理したりと,いろいろと試してみるといいでしょう.
p5.jsで画像を使って何か出来るというイメージがなくて自分たちでプログラミングするしかないと思っていたから驚いた。画像の色のサンプリングで、lineやellipseを使って画像の浮き上がらせ方に変化を持たせられるのが面白かった。
サウンドを使ってするプログラミングも作ってみたい。
画像自体はピクセルの集合として扱うほか,いろいろなデータのサンプルとしても使えます.画像自体を音に変換するとか,その逆もできてそういうのも楽しいですよ.

分割数をframeCount*0.1とかにして自動で変わっていくのも面白かったです。
setup内にHSBを書いていると、取った色が変わったのでちょっと焦りました。線で描くと絵画みたいな感じがして面白かったです。
画像の場合のカラーモード難しいんですよね.僕もいまいちわかってないのですがhue,saturation,brightnessなどの関数を使って変換して,なんやかんやすると良いと思います.
写真に加工していく作業が面白かったですが、複雑な作業になっていき少しだけ不安になりました。
複雑なときは授業の特に序盤のコードから徐々に発展させていく過程を復習すると良いと思います.各コードの中で何をやっているか,確認してください.
画像を簡単に加工できたのがおもしろかったです。手遅れな気もするのですが、サンプルファイルはopen processingで使っても大丈夫なものですか?
サンプルは著作権フリーの画像からとってきていますので基本的に自由に使うことができます.

描画方法をプログラムで変化させるというのはとても面白いなと思いました。
色相から角度を作り出すのは他の場面でも応用できそうなので使ってみたいです。
そうですね.逆に進行方向から角度を出して色相に割り当てるもできるので,そういうところをぜひ取り込んでいきましょう.
画像をプログラミングにどうやって入れるか知りたかったので知ることができて良かったです。プログラミングでも点描や線描ができることに驚きました。
人間がやれないことをコンピュータを使って徐々にプログラムでできるようになってきている,という感じですね,もう少し突っ込んでいきたいところです😃
授業中のこういうやり方もあるという例を覚えたいので、消さないでコメントアウトか何かでおいておいていただくことは可能でしょうか…?自分で作るときの幅を広げたいのでお願いします。
逆に混乱しないかなと思って消してました.気をつけるようにしますね.
今回のイメージを使った描画は人間が手で描いたものと機械が描いたものの間みたいな不思議な雰囲気があって面白かったです。ピクセル描画と音組合わせたら面白そうだと思いました。だんだんできることが増えて表現の幅が増えてきたと思うのでいいと思える作品とかつくりたくなってきた。
プログラムの場合は,特に今の初心者から抜け出す壁の部分では,あまり難しいことをしようとするより書くこと自体のハードルを下げることが重要だと感じてます.15分でも毎日書いて続けていくと,変なものが作れるようになってくるはず.でも辛いと意味ないので楽しんで取り組める題材を見つけるのが肝心です.

……などと自分だと思う一方,何事も挑戦が大事.いろいろやってどんどんコードをOpenProcessingで公開してください.コメントや添削します😃

配列


配列とは

  • 配列:箱状の変数が仕切られ,連なっており,要素ごとに番号が振られているようなイメージ
  • 区切られた中に値やデータが入っている

プログラムにおける配列

  • 配列は,変数や条件分岐,繰り返し処理といったプログラミング言語に共通する概念の一つ
  • 大量の情報やデータを処理するために配列(やオブジェクトやクラス)の概念が必要