Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. from visual import *
  2. from copy import copy, deepcopy
  3. import numpy
  4.  
  5. class Cell:
  6. Activator = 0
  7. entityType = ""
  8. def __init__(self, type):
  9. if (type == "head"):
  10. self.entityType = "head"
  11. self.Activator = 40
  12. if (type == "tail"):
  13. self.entityType = "tail"
  14. self.Activator = 0
  15.  
  16. scene2 = display(title='Wzrost Anabaena',
  17. x=0, y=0, width=600, height=1000,
  18. center=(-20,15,0), background=(1,1,1))
  19.  
  20.  
  21. w = 10;
  22. Matrix = [0 for x in range(w)]
  23. Matrixtmp = [0 for x in range(w)]
  24.  
  25. for o in range (0,10):
  26. Matrix[o] = Cell("tail")
  27.  
  28. Matrix[0] = Cell("head")
  29. Matrixtmp = deepcopy(Matrix)
  30. SphereMatrix = [0 for x in range(w)]
  31.  
  32.  
  33.  
  34. ##for o in range (0,10):
  35. # if (Matrix[o].entityType == "head"):
  36. # SphereMatrix[o] = sphere(pos=(o-25,0,0),color=(0,1,0),radius=0.5)
  37. # if (Matrix[o].entityType == "tail"):
  38. # SphereMatrix[o] = sphere(pos=(o-25,0,0),color=(0,0.1,0),radius=0.5)
  39. #cylinder(pos=(r-25.5,1,0),color=(0,0,0),axis=(0,0,0),up=(1,0,0),radius=0.2)
  40.  
  41. i = 1
  42. for r in range (0,10):
  43. 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)
  44. while i == 1:
  45. rate(3)
  46. for r in range (0,10):
  47.  
  48. if(Matrixtmp[r].entityType == "head"):
  49. if(Matrixtmp[r].Activator > Matrixtmp[r+1].Activator):
  50. Matrixtmp[r+1].Activator = (Matrix[r].Activator - Matrix[r+1].Activator)/2 + Matrixtmp[r+1].Activator
  51. Matrixtmp[r].Activator = Matrixtmp[r].Activator - (Matrix[r].Activator - Matrix[r+1].Activator)/2
  52. if(Matrixtmp[r].Activator<Matrixtmp[r+1].Activator):
  53. Matrixtmp[r].Activator = (Matrix[r+1].Activator - Matrix[r].Activator)/2 + Matrixtmp[r].Activator
  54. Matrixtmp[r+1].Activator = Matrixtmp[r+1].Activator - (Matrix[r+1].Activator - Matrix[r].Activator)/2
  55. j= Matrixtmp[r].Activator/100.0
  56. SphereMatrix[r].axis=(0,Matrixtmp[r].Activator,0)
  57. elif(r==9):
  58. if(Matrixtmp[r-1].Activator > Matrixtmp[r].Activator):
  59. Matrixtmp[r].Activator = (Matrix[r-1].Activator - Matrix[r].Activator)/2 + Matrixtmp[r].Activator
  60. Matrixtmp[r-1].Activator = Matrixtmp[r-1].Activator - (Matrix[r-1].Activator - Matrix[r].Activator)/29
  61. if(Matrixtmp[r-1].Activator<Matrixtmp[r].Activator):
  62. Matrixtmp[r-1].Activator = (Matrix[r].Activator - Matrix[r-1].Activator)/2 + Matrixtmp[r-1].Activator
  63. Matrixtmp[r].Activator = Matrixtmp[r].Activator - (Matrix[r].Activator - Matrix[r-1].Activator)/2
  64. j= Matrixtmp[r].Activator/100.0
  65. SphereMatrix[r].axis=(0,Matrixtmp[r].Activator,0)
  66. else:
  67. Matrixtmp[r].Activator = (Matrix[r-1].Activator + Matrix[r].Activator + Matrix[r].Activator + 2) /3
  68. j= Matrixtmp[r].Activator/100.0
  69. SphereMatrix[r].axis=(0,Matrixtmp[r].Activator,0)
  70. print(Matrixtmp[0].Activator)
  71. sphere(pos=(r-25.5,0,0),color=(0,0,0),radius=0.3)
  72. Matrix = deepcopy(Matrixtmp)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement