260 likes | 427 Views
人工生命アルゴリズムを用いたユーザ視点の造形. 1DS05175M 安東遼一 1DS05213M 渡邉光寿 指導教員: 高木先生. 現時点での目標達成度. 対象決め. オリジナル アルゴリズム. 基礎. 実装. 実装. セルラーオートマトン. 局所的・・・単純なルール 全体的・・・我々が予想しないような複雑な動き 例)ライフゲーム この考え方を用いてオリジナルアルゴリズム「遊牧民ゲーム」を作成 入力画像の隣接画素値の差を栄養とし, 遊牧民が体力に応じて入力画像上を移動. 遊牧民シミュレーション. 1 つの遊牧民が持つパラメータは3つ 体力
E N D
人工生命アルゴリズムを用いたユーザ視点の造形人工生命アルゴリズムを用いたユーザ視点の造形 1DS05175M 安東遼一 1DS05213M 渡邉光寿 指導教員: 高木先生
現時点での目標達成度 対象決め オリジナル アルゴリズム 基礎 実装 実装
セルラーオートマトン • 局所的・・・単純なルール • 全体的・・・我々が予想しないような複雑な動き • 例)ライフゲーム • この考え方を用いてオリジナルアルゴリズム「遊牧民ゲーム」を作成入力画像の隣接画素値の差を栄養とし, 遊牧民が体力に応じて入力画像上を移動
遊牧民シミュレーション • 1つの遊牧民が持つパラメータは3つ • 体力 • 位置情報 • DNA(行動パターン) • 1つの遊牧民が行う行動は2パターン • 移動 • 交差 • 場のパラメータ(実験では入力画像の画素値) • 栄養の豊富さ
遊牧民・・・移動 • 自分の位置と周辺の情報を処理して次の移動先を決める • 時間とともに体力は減少するが、うまく移動すると体力は回復する
遊牧民・・・交差 • 2つの遊牧民が出会うと交差を行い次世代遊牧民が誕生 • 次世代遊牧民は親のDNA情報(行動パターン)を受け継ぐ
遊牧民・・・交差 • DNA情報は次の移動先を決める関数(行動パターン) 位置情報 移動関数(DNA) 移動先
遊牧民・・・交差 親 親 突然変異 子
シミュレーション • 以上の遊牧民ゲームを入力画像に適用しシミュレーション結果を観察
遊牧民・・・ルール • 「栄養の豊かさ」の定義 = 移動元画素と移動先画素の輝度値の差 • IF 単位時間が経過 THEN 体力が消耗 • IF 画素間移動 THEN 栄養が減ることはない • つまり,移動すると寿命が延びる可能性大
遊牧民・・・ルール 輝度の差が高い間の移動はより多くの体力が回復する 輝度の差が低い間の移動はあまり体力が回復しない
遊牧民・・・ルール • 画素(輝度値a)から画素(輝度値b)へ移動すると 移動元画素の輝度値=(a+b)/2 • 移動の繰り返し → 栄養の枯渇
遊牧民・・・予想 • 移動の際に豊かな資源(輝度値)を見つけられるDNAを偶然的に持ったものは、必然的に長生きする • すると、そのようなDNAを持った遊牧民は子孫を残す(交差)確率が高くなる • すると、より長生きできる子孫が誕生する確率も高くなる • 長い寿命を持ったものにフィールド上を遊牧してもらいたい
遊牧民・・・観察結果 • たくさんの遊牧民が集落のようなものを作って行動する • この集落はあるとき突然に拡散するような動きを見せ、のちに再び収束するといった動きを見せる • 一定の方向に動き続ける遊牧民が現れる
コンセプト(案経緯) ユーザーが自由な形を作り、動かせるようにする。 (自由に造形、思った通りの形を作る) ↓ それらを自由に組み合わせて、自由に造形を発展させてゆく
テクノロジー • 影響を強く受けたテクノロジー sodaplay Crayon physics http://sodaplay.com/ http://www.kloonigames.com/crayon/
Soda constructor 各質点が、バネの物理モデルで繋がれている。 質点にはある一定の動きが与えられている ユーザーは頂点をつまんで動かしたり、物理現象を反映したゴムのような動きを楽しむことができる http://sodaplay.com/
Crayon physics 画面をドラッグすると、クレヨンの書き味を持つストロークが描かれる。 書き終えた瞬間、描かれた形は物体となり、重力によって落下し衝突する。 ゲームの目的は、この物理性質を利用して、スタートポイントに設置されたボールを星の位置まで運ぶ。 http://www.kloonigames.com/crayon/
テクノロジー コンパイラ: GCC 4.0 + Xcode 言語: C/C++ グラフィック: OpenGL 1.2 + GLUT 動作環境: その他 POSIX + OpenGL 環境… タブレット推奨