ラングトンのアリの描画
Posted feedbacks - Matlab
GNU Octave 3.0.1で動作確認
アリの行動履歴を3次元表示します。
アリの行動履歴を3次元表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | world = zeros(100,100);
dirs = [[0,-1];[1,0];[0,1];[-1,0]];
posX = [60]; % X座標履歴
posY = [40]; % Y座標履歴
dir = 0;
while posX(1) > 0 & posX(1) <= 100 & posY(1) > 0 & posY(1) <= 100;
if world(posX(1),posY(1)) == 1
dir = mod(dir+1,4); % 右折
else
dir = mod(dir-1,4); % 左折
end;
world(posX(1),posY(1)) = abs(world(posX(1),posY(1))-1); % 白黒反転
posX = [[posX(1)+dirs(dir+1,1)],posX]; % X方向の移動
posY = [[posY(1)+dirs(dir+1,2)],posY]; % Y方向の移動
end;
plot3(posX,posY,length(posX):-1:1); % 軌跡表示 (Z軸:時間)
|

Songmu #9331() [ JavaScript ] Rating8/10=0.80
- 黒いマスにアリがいた場合、90°右に方向転換し、そのマスの色を反転させ、1マス前進する。
- 白いマスにアリがいた場合、90°左に方向転換し、そのマスの色を反転させ、1マス前進する。
詳しくはWikipedia等で調べるか、参考ページに拙作のデモがありますのでご覧下さい。
see: JavaScriptでラングトンの蟻
Rating8/10=0.80-0+
[ reply ]