091101- SHOW ME THE CODE!!! celullar rhitomata (celular automata in rhinoscript)

noviembre 1, 2009

ca

Based on arturo Lyon´s code. this is an example of simple celullar automata in rhinoscript.i´ll uoload the python code for maya later (and of course MEL).

so … here´s the code!!!

Option Explicit
‘Script written by <Diego Pinochet Puentes (based in Arturo´s Lyon code for MEL (arturolyin.wordpress.com)>
‘Script copyrighted by <escripto.wordpress.com>
‘Script version martes, 06 de octubre de 2009 20:11:35

Call CA()
Sub CA()

Dim i,j
Dim xcell:xcell= rhino.getinteger (“numero de celulas en x”,40)
Dim ycell:ycell= rhino.getinteger (“numero de celulas en y”,40)
Dim dens:dens= rhino.getreal (“densidad de patron, elija decimal entre 0 y 1”,0.5)
rhino.print “generando el automata”
Dim count:count=0
Dim cell():ReDim cell(xcell-1,ycell-1)
Dim random():ReDim random(xcell-1,ycell-1)
rhino.enableredraw (False)

For i=0 To (xcell-1)
For j=0 To (ycell-1)
cell(i,j)= rhino.AddSphere (array(i,j),.45)
random(i,j)= 1*rnd
Next
Next

For i=0 To (xcell-1)
For j=0 To (ycell-1)
If random(i,j) =< dens Then
rhino.HideObject (cell(i,j))
End If
Next
Next

For i=0 To (xcell-1)
For j=0 To (ycell-1)
If random(i,j) =< dens Then
rhino.HideObject (cell(i,j))
End If
Next
Next
‘rhino.enableredraw (True)

For i=1 To xcell -2
For j=1 To ycell -2
count=0
rhino.print “analizando celula” & i & “-” & j & “”
If Rhino.IsObjectHidden(cell(i-1,j-1)) Then
count= count+1
Else
‘rhino.Print(“celula” & i-1 & “-” & j-1 & “prendida”)
End If

If Rhino.IsObjectHidden(cell(i-1,j)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i-1,j & ” prendida”)
End If

If Rhino.IsObjectHidden(cell(i-1,j+1)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i-1,j+1 & ” prendida”)
End If

If Rhino.IsObjectHidden(cell(i,j-1)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i,j-1 & ” prendida”)
End If

If Rhino.IsObjectHidden(cell(i,j+1)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i,j+1 & ” prendida”)
End If

If Rhino.IsObjectHidden(cell(i+1,j-1)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i+1,j-1 & ” prendida”)
End If

If Rhino.IsObjectHidden(cell(i+1,j)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i+1,j & ” prendida”)
End If

If Rhino.IsObjectHidden(cell(i+1,j+1)) Then
count= count+1
Else
‘    rhino.Print(” celula ” & i+1,j+1 & ” prendida”)
End If

If count < 4 Then
rhino.showobject (cell(i,j))

End If
If count > 4 Then
rhino.hideobject (cell(i,j))

End If
Next
Next

rhino.Print (“celulas listas”)
rhino.enableredraw (True)

End Sub

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: