スケーラブルアート論

提供:kuhalaboWiki
(版間での差分)
移動: 案内, 検索
(予定)
59行: 59行:
 
#  
 
#  
 
#
 
#
 
== 生物と情報とアート ==
 
* 生物とは? 生物の特徴とは?
 
** 例:小石と貝殻
 
** * [http://www.kuhalabo.net/~kuha/easybbs/easy_bbs4klb2.php 簡単BBS]に「生物と無生物の違いは何か?」説明してみよう。
 
* ゲノムのDNAマップ [http://www.ncbi.nlm.nih.gov/mapview/ NCBI Map Viewer]
 
* [http://www.kuhalabo.net/kxoops/modules/d3blog/details.php?bid=5 ヒト一人を再生するのに必要な情報量は?]
 
 
== メモ ==
 
Visual Studioのショートカット
 
 
* Ctrl-K Ctrl-C コメントアウト
 
* Ctrl-K Ctrl-U コメントアウト解除
 
* Ctrl-K Ctrl-F インデントをそろえる
 
 
[http://yoppa.org/ クリエイティブ・コーダー]
 
 
== 複雑系 ==
 
=== セルオートマトン ===
 
 
*[http://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3 セルオートマトン]
 
*[http://en.wikipedia.org/wiki/Elementary_cellular_automaton Elementary cellular automaton]
 
*[http://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%AB%E3%83%94%E3%83%B3%E3%82%B9%E3%82%AD%E3%83%BC%E3%81%AE%E3%82%AE%E3%83%A3%E3%82%B9%E3%82%B1%E3%83%83%E3%83%88 シェルピンスキーのガスケット]
 
*[http://mathworld.wolfram.com/ElementaryCellularAutomaton.html Wolfram Math World 1次元セルオートマトン] /
 
 
=== ライフゲーム ===
 
 
*[https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B2%E3%83%BC%E3%83%A0 ライフゲーム]
 
*[http://www.kuhalabo.net/~kuha/tutorial0/bioart/Lifegame.exe ライフゲームの例] /
 
*[http://www.kuhalabo.net/~kuha/tutorial0/bioart/cagallary/ セルオートマトン・ギャラリー] /
 
 
;セルオートマトン音楽
 
[http://tones.wolfram.com/generate/ WolframTones]/
 
[http://tamw.atari-users.net/camus.htm CAMUS]/
 
[http://www.glitchds.com/ Glitch DS]/
 
[http://www.kuhalabo.net/~kuha/nime/lifegorch/ Life Game Orchestra] /
 
 
;ギャラリー
 
[http://www.collidoscope.com/modernca/ Modern Cellular Automata]/
 
[http://prenzl.sourceforge.net/gallery/category.php CArt gallery]/
 
[http://www.upl.cs.wisc.edu/~oblio/gnarly.html Cellular Automata Art]/
 
[http://akinao.at.infoseek.co.jp/ascii/index.html ASCII Art Cell Automaton]/
 
 
=== ワイヤワールド ===
 
[http://ja.wikipedia.org/wiki/%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89 ワイヤワールド] /
 
[http://mathworld.wolfram.com/WireWorld.html Wolfram Math World WireWorld]
 
 
=== 人工生命 ===
 
[http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%82%B0%E3%83%88%E3%83%B3%E3%81%AE%E3%82%A2%E3%83%AA ラングトンのアリ] /
 
[http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%82%B0%E3%83%88%E3%83%B3%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%97 ラングトンのループ] /
 
[http://necsi.org/postdocs/sayama/sdsr/java/ 自己増殖ループ] /
 
[http://www.red3d.com/cwr/boids/ Reynolds Boid] /
 
 
http://www.local-guru.net/blog/2010/8/19/openframeworks-boid-demo
 
 
https://gist.github.com/tado/6603347
 
 
 
Birds Algorhythm Craig Reynolds
 
http://processing.org/examples/flocking.html
 
 
== openFrameworks Visual C++プログラミング ==
 
 
;イントロダクション
 
: [[openFrameworks for Visual studio]]
 
 
* 参考サイト
 
** http://openframeworks.cc/documentation/
 
** http://yoppa.org/blog/4299.html
 
 
; 0.9での変更点
 
: https://qiita.com/2bbb/items/13f2e20760ec61e3ec89
 
: 教科書のソースプログラムは、0.8ベースなので、上記の変更に注意すること。
 
: 特に、描画系のコマンドが、ofDrawXXX()に変更になっています。例えば、以下の通り。
 
:* ofLine -> ofDrawLine
 
:* ofRect -> ofDrawRectangle
 
:* ofCircle -> ofDrawCircle
 
 
; oFの公式リファレンスは以下の通り。
 
http://openframeworks.cc/documentation/
 
 
 
=== [[1つのボールがふらふら動く]] ===
 
 
=== [[配列とマウスインタラクション]] ===
 
 
=== [[クラスの使用]] ===
 
 
=== [[ランダムウォーク]] ===
 
 
=== [[1次元セルオートマトン]] ===
 
 
=== [[ライフゲーム]] ===
 
 
=== [[ラングトンのアリ]] ===
 
 
=== [[Boid]] ===
 
 
=== [[物理エンジン Box2D]] ===
 
 
=== [[自己相似形]] ===
 
 
 
=== Tips ===
 
 
;パーティクルの位置に画像を置く
 
ofApp.h
 
<pre>
 
ofImage particleImage;
 
</pre>
 
 
ofApp.cpp
 
<pre>
 
setup(){
 
  particleImage.loadImage("particle.png");
 
}
 
 
draw(){
 
  particleImage.draw(pos.x, pos.y, w, h);
 
}
 
</pre>
 
 
;パーティクルの位置を辿る直線を描く
 
ofApp.cpp
 
<pre>
 
ofBeginShape();
 
    for(int i = 0; i < particle.size(); i++){
 
        ofVertex(pos[i].x, pos[i].y);
 
    }
 
ofEndShape();
 
</pre>
 
 
;パーティクルの位置を辿る曲線を描く
 
ofApp.cpp
 
<pre>
 
ofBeginShape();
 
    for(int i = 0; i < particle.size(); i++){
 
        ofCurveVertex(pos[i].x, pos[i].y);
 
    }
 
ofEndShape();
 
</pre>
 
 
== フラクタル ==
 
古代ギリシャからあるユークリッド幾何学と20世紀のフラクタル幾何学の比較
 
 
;考察
 
:古代エジプト人は3:4:5の辺を持つ三角形で直角が得られることを知っていた.ピラミッドなどの巨大建造物.
 
:三平方の定理を発見したピタゴラスはどこがすごいか?
 
 
;フラクタル図形
 
[http://www.kuhalabo.net/~kuha/tutorial0/bioart/Fractex.exe フラクタル図形の例]
 
 
[http://www.gaia.h.kyoto-u.ac.jp/~fractal/ フラクタル日除け]
 
 
== 脳 ==
 
;脳波,脳電図(electroencephalogram EEG)
 
:大脳皮質のニューロンの膨大な数のシナプス結合における電位(シナプス後電位)の集合と考えられている。
 
:通常は,空間的および時間的分散性のために一定の形状の波形にはならない。しかし,大脳皮質の活性度が低下した時にはある程度の同期性がみられ,その代表的な状態が睡眠時の脳波である。
 
:開眼時,脳の神経細胞があちこちで活発に作動していると,シナプス電位は同期が取れずに,脳波はランダムなになり,特定の周波数は測定されない。
 
*デルタ波(δ波):1~3Hz ぐっすり睡眠.昏睡.
 
*シータ波(θ波):4~7Hz うたたうね.ぼんやり.
 
*アルファ波(α波):8~13Hz 覚醒,安静,閉眼時。リラックス。
 
*ベータ波(β波):14~30Hz 開眼時,五感が働いている状態。活発な思考。
 
*ガンマ波(γ波):30~64Hz 高次精神活動に関連(?)
 
*オメガ波(ω波):64~128Hz(?)
 
*ロー波(ρ波):128-512Hz (?)
 
*シグマ波(σ波):512-1024Hz (?)
 
*アーティファクト:ノイズ(雑音)。まばたき,眼球運動,電極の接着不良など脳と無関係のものが要因。
 
 
バイノーラルビート
 
 
周波数追従反応
 
 
脳磁図,生物フォトン,心電図,筋電図,眼電図。
 
 
[http://www.aist.go.jp/aist_j/press_release/pr2010/pr20100329/pr20100329.html ニューロコミュニケーター]
 
 
*[http://www.brl.ntt.co.jp/IllusionForum/ イリュージュン・フォーラム]
 
**[http://www.kuhalabo.net/~kuha/easy_bbs4klb2.php 簡単BBS]に聞こえ方を書いてみよう。
 
 
[http://www.mindball.se/ Mindball]
 
 
== Neural Networks ==
 
*神経回路モデル(PPT)
 
*神経細胞の写真,構成図[ 1 | 2 | 3 ]
 
**[http://www.kuhalabo.net/~kuha/tutorial0/bioart/synapse1.jpg シナプスの構成図],[http://www.kuhalabo.net/~kuha/tutorial0/bioart/synapse2.jpg 接合部の詳細]
 
*[http://mars.elcom.nitech.ac.jp/java-cai/neuro/menu.html ニューラルネットワーク入門]
 
*Perceptron,
 
*Back Propagation
 
*Hopfield Network
 
*自己組織化ネットワーク
 
*脳の潜在能力
 
**天文学者カール・セーガン「人間の脳はおよそ2,000万冊,すなわち世界最大の図書館に収められているのと同じ数の本を満たすほどの情報を収納することができる」
 
**神経科学者「人は平均寿命の間に脳の潜在能力の0.01%(0.0001)しか使っていない」
 
 
== Genetic Algorithm ==
 
*カール・セーガン「コスモス」エピソードII第3話「平家物語と蟹のなぞ」
 
**瀬戸内海の蟹の甲羅は武士の顔に似ているのはなぜか?
 
[http://www.kuhalabo.net/~kuha/tutorial0/bioart/11_GA.pdf 配布資料PDF]
 
*geno typeとpheno type
 
*GAの概念と応用例
 
**[http://www.kuhalabo.net/~kuha/tutorial0/bioart/papperedmoss.gif ペパードモスの絵],[http://www.kuhalabo.net/~kuha/tutorial0/bioart/pmoss/ ペパードモス・ゲーム]
 
**[http://prisonersdilemma.groenefee.nl/ The Prisoner's Dilemma]
 
**[http://www.kuhalabo.net/~kuha/tutorial0/bioart/art/Leaf.exe GA for ART]
 
**[http://www.youtube.com/watch?v=8vzTCC-jbwM&feature=youtube_gdata_player GAでブランコこぎを学習]
 
 
== 小テスト ==
 
* 場所 いつものPC演習室
 
* 出題 配布資料などから出題されます。ノート,配布資料などを復習しておいてください。問題の形式は,選択式です。
 
* 注意事項
 
** 座席は自由ですが,隣の座席を1つ空けて座ってください。
 
** 持ち込みは不可です。机の上には一切,何も置かないで下さい。
 
** PC上のソフトはブラウザだけ起動してください。他のアプリケーションはすべて終了させてください。
 
 
== Github ==
 
共同開発するときに便利。
 
 
学内のプロキシー環境で作業する場合、コンソールで
 
<pre>
 
git config --global http.proxy proxy-n.t-kougei.ac.jp:8080
 
git config --global https.proxy proxy-n.t-kougei.ac.jp:8080
 
</pre>
 
とする。
 
 
通常のプロキシーのない環境で作業する場合、コンソールで
 
<pre>
 
git config --global --unset http.proxy proxy-n.t-kougei.ac.jp:8080
 
git config --global --unset https.proxy proxy-n.t-kougei.ac.jp:8080
 
</pre>
 
とする。
 
 
現在の設定を確認するには、コンソールで、
 
<pre>
 
git config --list
 
</pre>
 
とする。
 
  
 
== リンク ==
 
== リンク ==

2018年12月21日 (金) 01:52時点における版

目次

概要

前提スキル

一年生の時にメディアプログラミング演習Iを履修したのと同等のプログラミングスキルがあるものとして、授業を進めます。 もし、プログラミングに不安があるなら、上記テキストを使って、自分で予習や自習をしてください。 openFrameworksはProcessingと似ているため、Processingを知っていると、理解が早いです。

成績評価
  • 出席:学生証scan+Minutes paper
  • 課題:セルオートマトン課題、再帰呼び出し図形課題、複素平面フラクタル課題
  • 小テスト:ハイスコア
授業概要及び到達目標
インタラクティブアートは芸術を基盤として科学や工学を統合する新しい領域である。生物科学に関連した分野として、人工生命、ライフゲーム、フラクタル、オートマトン、遺伝的アルゴリズム、ニューラルネットワークなど応用範囲の広いものが数多く存在する。

そういった生物に見られる特徴をアートに応用したジェネラティブアートの作品をC++のプログラミングを使用して、実際に作成してみる。

本講義の目標は以下の通り。

  1. 生物の特徴と生物的なシステムについて理解する。
  2. 複雑系システムについて理解し、応用例を作成できる。
  3. openFrameworksを使って作品のプログラミングができる。

開発環境

開発環境としてopenFrameworks for Visual studioを使用します。

テキストや開発環境については、以下を参照してください。

予定

Contents
  1. Scalable art, Generative art, Mathematical art, Artificial Intelligence, Artificial Life, Complext sysytem
  2. openFrameworks C++ / Xcode MacOSX
  3. Logic circuit
  4. Cell auttomaton
  5. Conway's game of life
  6. Wire world
  7. Random walk
  8. Langton's ant
  9. Boid
  10. Box2D
  11. Fractal, Self-similar
  12. Recursive call
  13. Complex square
  14. Neural network
  15. Genetic algorithm
  16. Logic circuit
  17. Fourier transform
  18. Code, Chyper, Encript
  19. Space X
  20. Robotics
  21. Expert system
  22. Fourier transform, spectrum
  23. Fibonacci number

リンク

http://gushwell.ifdef.jp/

素数のグラフィック http://www.datapointed.net/visualizations/math/factorization/animated-diagrams/?infinity

Generative Gestaltung http://www.generative-gestaltung.de/code

個人用ツール
名前空間

変種
操作
案内
ツールボックス