こちらでは、pdfで配布されるプログラミングガイド「コードとデザイン」 の、プログラミング実習の部分を公開しています。
全てのページをご覧になりたい方は、pdfをダウンロードしてください。
タイトル
コードとデザイン
デザイナー、アーティストのためのプログラミングガイド
野口靖
ダウンロード
先日ver.0.9を公開しましたが、現在ver.1.0を校正中です。pdf版は少々お待ちください。
サンプルコードはダウンロードできます。
code_design_samples
学生作品ページ
https://r-dimension.xsrv.jp/classes_j/p5_study/
はじめに
本書は、デザイン、アート、情報学関連の大学に在籍する学生や、プログラミングに興味はあるけれどもちょっと敷居が高いなと感じているデザイナーやアーティストのみなさんに、プログラミングによる造形表現の楽しさを実感していただくことを目的とした参考書です。
本書は、私が芸術学部の学生を対象とするプログラミングの授業のために作成した資料がもとになっていますが、大学生の場合、プログラミング経験のない1〜3年生が使用することを想定して作成しています。
私が本書を執筆しようと考えるようになったのは、東京工芸大学芸術学部メディアアート表現学科(現在はインタラクティブメディア学科)で2006年からプログラミングの授業を担当し始めてからです。当時、大学の芸術学部において、プログラミング教育の方法に関する試行錯誤が様々な形で重ねられていました。これは、当然のことながら、今後、デザインやアートの分野においてプログラミングの重要性が増していくだろうと予測されたからでしょう。実際、10年前と比べるとデザインやアートにおけるプログラミングの重要度は飛躍的に高まったといえます(2016年現在)。
プログラミングの授業を始めた頃には、学生の苦手意識が完全に払拭できないなどの困難もありましたが、カリキュラムや教え方を改善することによりプログラミングに興味を持つ学生が増加し、プログラミング教育がひとつの教育課程として定着してきたと感じることが多くなりました。そして、なんと言っても卒業制作/研究になんらかの形でプログラミングを使用する学生の割合が増加したという事実があります。プログラミングと造形表現の関係の面白さがある程度社会的に認知されてきた段階で、一度プログラミング要素5割、造形要素5割ぐらい(もちろん、この二つの要素は不可分ですので厳密に分けることはできませんが、敢えて強引に分けてみたらということです)の参考書/論文を書いてみたいとここ何年か考えていたのですが、今回やっと形になりました。
このプログラミングガイドはPDFの形で無料配布し、ソフトウェアのアップデートのようにver.1から始まり更新していきます。Processing本体も無料なので、プログラミングによる造形表現に興味がある学生、デザイナー、アーティストのみなさんに初期投資ゼロで自由に使っていただければ嬉しいです。
本書の前半部分には概要や、プログラミングと表現についての様々な論考が記載されていますが、まずはProcessingを体験してみたい方は先にプログラミング実習を体験した後に、前半部分をゆっくり読んでみてもいいと思います。
さあ、あなたも今日からまずはプログラミングを始めてみましょう。プログラミングは「習うより慣れる」ことが大事です。
野口靖
目次
目次
はじめに
数式と芸術表現(勝井三雄)
プログラミングとデザインを同時に学ぶ(野口靖)
インスピレーション
1. Processingを始めてみよう
1.1 Processingの準備
1.2 Processingの参考サイト/参考書
2. 基礎編: 図形と色彩
2.1 点・線・図形の描画
2.2 変数
2.3 色彩
2.4 演算
2.5 while, for文の理解
2.6 if文の理解
2.7 形態のスタディ
2.8 色彩のスタディ
2.9 形態と色彩のデザイン(勝井三雄)
2.10 Tips: コードの可読性
3.基礎編: 運動とインタラクション
3.1 運動1
3.2 変数の種類
3.3 データ型の変換
3.4 インタラクション1
3.5 関数
3.6 運動のスタディ
3.7 インタラクションのスタディ
3.8 Tips: デバッグ、エラーへの対応
4. 応用編
4.1 座標変換
4.2 三角関数
4.3 配列 2次元配列
4.4 画像処理
4.5 ライブラリの利用(OpenCV for Processing)
4.6 運動2(物理現象のシミュレーション)
4.7 インタラクション2
4.8 偶然性のデザイン(ランダム・ノイズ)
4.9 ランダムのスタディ
4.10 ノイズのスタディ
4.11 運動のデザイン(木本圭子)
5. 発展編
5.1 3Dプログラミング1
5.2 3Dプログラミング2
5.3 オブジェクト指向プログラミング クラスファイルの作成
5.4 画像の表示
5.5 テキストの表示
5.6 データの視覚化(データ・ビジュアライゼーション)
5.7 視覚化のスタディ