組織

KABIRA2011-06-29

  • こちらの記事の"規則から規則"をコメントでいただいた階層性として考えてみる
    • こちらのコメントならば同じDNA(関数)をもつ多細胞生物の組織化
  • 階層性
    • タンパク、細胞、組織
  • 組織の現象(波の伝達)を考える
    • タンパクの動態は無視するが、細胞の挙動は仮定する
  • 以下のソースは活動電位を想定したもの
    • 1個の細胞の 不応期:(-a)、 活動持続時間:b
    • この細胞をならべて組織のシュミレーションとする
  • ルール(局所の関数)
    • 膜電位が0のとき周りにある程度の電位があれば興奮をはじめる
    • 興奮をはじめると最大の電位(b)まで上昇する
    • 最大電位(b)まであがると不応期に入る
    • 不応期は時間が経過すると膜電位が0に戻り、ふたたび興奮することが可能となる
  • 同じルールでも初期条件により組織の挙動が異なる
    • 1点だけ刺激させると円形に興奮が伝わる
    • スパイラルリエントリーを起こすことも可能(1コあるいは複数)
  • 渦について
    • 不応期の長さによってリエントリーをおこす渦の大きさが決まる
    • 不応期が長くなっても同時に波を発する中心点は共存できる
#library(rgl)
N<-120
A<-B<-matrix(0,N,N)

a<--3;b<-3

#初期条件いろいろ
#A[floor(N/2),floor(N/2)]<-b+1
#A[1:floor(N/2),]<-b-1;A[,1:floor(N/2)]<-a
A<-matrix(sample((-1):b,N^2,replace=TRUE),N,N)


image(A)

T<-50
for(t in 1:T){

for(i in 1:N){
for(j in 1:N){
if(A[i,j]==0){
	
	if(sum(A[max(1,i-1):min(N,i+1),max(1,j-1):min(N,j+1)])>=b){B[i,j]<-1
#	if(max(A[max(1,i-1):min(N,i+1),max(1,j-1):min(N,j+1)])==1){B[i,j]<-1

		}
}else if(A[i,j]>=b){
	B[i,j]<- a
}else if(A[i,j]!=0){
	B[i,j]<-A[i,j]+1
}

}}
A<-B
image(A)
#image(A*(A>0))
#plot3d(col(A),row(A),A,col=rainbow(401)[(A-a)/(b-a)*100+1])
}