Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from visual import *
- from copy import copy, deepcopy
- import numpy
- class Cell:
- Activator = 0
- entityType = ""
- def __init__(self, type):
- if (type == "head"):
- self.entityType = "head"
- self.Activator = 40
- if (type == "tail"):
- self.entityType = "tail"
- self.Activator = 0
- scene2 = display(title='Wzrost Anabaena',
- x=0, y=0, width=600, height=1000,
- center=(-20,15,0), background=(1,1,1))
- w = 10;
- Matrix = [0 for x in range(w)]
- Matrixtmp = [0 for x in range(w)]
- for o in range (0,10):
- Matrix[o] = Cell("tail")
- Matrix[0] = Cell("head")
- Matrixtmp = deepcopy(Matrix)
- SphereMatrix = [0 for x in range(w)]
- ##for o in range (0,10):
- # if (Matrix[o].entityType == "head"):
- # SphereMatrix[o] = sphere(pos=(o-25,0,0),color=(0,1,0),radius=0.5)
- # if (Matrix[o].entityType == "tail"):
- # SphereMatrix[o] = sphere(pos=(o-25,0,0),color=(0,0.1,0),radius=0.5)
- #cylinder(pos=(r-25.5,1,0),color=(0,0,0),axis=(0,0,0),up=(1,0,0),radius=0.2)
- i = 1
- for r in range (0,10):
- SphereMatrix[r] = cylinder(pos=(r-25.5,1,0),color=(0,0,0),axis=(0,Matrixtmp[r].Activator,0),up=(1,0,0),radius=0.2)
- while i == 1:
- rate(3)
- for r in range (0,10):
- if(Matrixtmp[r].entityType == "head"):
- if(Matrixtmp[r].Activator > Matrixtmp[r+1].Activator):
- Matrixtmp[r+1].Activator = (Matrix[r].Activator - Matrix[r+1].Activator)/2 + Matrixtmp[r+1].Activator
- Matrixtmp[r].Activator = Matrixtmp[r].Activator - (Matrix[r].Activator - Matrix[r+1].Activator)/2
- if(Matrixtmp[r].Activator<Matrixtmp[r+1].Activator):
- Matrixtmp[r].Activator = (Matrix[r+1].Activator - Matrix[r].Activator)/2 + Matrixtmp[r].Activator
- Matrixtmp[r+1].Activator = Matrixtmp[r+1].Activator - (Matrix[r+1].Activator - Matrix[r].Activator)/2
- j= Matrixtmp[r].Activator/100.0
- SphereMatrix[r].axis=(0,Matrixtmp[r].Activator,0)
- elif(r==9):
- if(Matrixtmp[r-1].Activator > Matrixtmp[r].Activator):
- Matrixtmp[r].Activator = (Matrix[r-1].Activator - Matrix[r].Activator)/2 + Matrixtmp[r].Activator
- Matrixtmp[r-1].Activator = Matrixtmp[r-1].Activator - (Matrix[r-1].Activator - Matrix[r].Activator)/29
- if(Matrixtmp[r-1].Activator<Matrixtmp[r].Activator):
- Matrixtmp[r-1].Activator = (Matrix[r].Activator - Matrix[r-1].Activator)/2 + Matrixtmp[r-1].Activator
- Matrixtmp[r].Activator = Matrixtmp[r].Activator - (Matrix[r].Activator - Matrix[r-1].Activator)/2
- j= Matrixtmp[r].Activator/100.0
- SphereMatrix[r].axis=(0,Matrixtmp[r].Activator,0)
- else:
- Matrixtmp[r].Activator = (Matrix[r-1].Activator + Matrix[r].Activator + Matrix[r].Activator + 2) /3
- j= Matrixtmp[r].Activator/100.0
- SphereMatrix[r].axis=(0,Matrixtmp[r].Activator,0)
- print(Matrixtmp[0].Activator)
- sphere(pos=(r-25.5,0,0),color=(0,0,0),radius=0.3)
- Matrix = deepcopy(Matrixtmp)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement