Simulação de Micélio de Fungo: mudanças entre as edições

De Física Computacional
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
'''Grupo: Arthur Dornelles, Bruno Zanette, Gabriel De David e Guilherme Hoss'''
'''Grupo: Arthur Dornelles, Bruno Zanette, Gabriel De David e Guilherme Hoss'''


O objetivo deste trabalho é modelar computacionalmente o desenvolvimento dos micélios de fungos. O trabalho foi inspirado - principalmente - nos dois primeiros capítulos do artigo de Steven Hopkins [1].
O objetivo deste trabalho é modelar computacionalmente o desenvolvimento de micélios em fungos com base em mecanismos gerais pré-estabelicidos. O progresso e a complexidade dos modelos ocorreram de maneira gradual ao longo do trabalho através de três modelos de crescimento diferentes. O trabalho foi inspirado - principalmente - nos dois primeiros capítulos do artigo de Steven Hopkins [1].


== Mecanismos gerais dos modelos ==
== Mecanismos gerais dos modelos ==

Edição das 16h00min de 21 de maio de 2021

Grupo: Arthur Dornelles, Bruno Zanette, Gabriel De David e Guilherme Hoss

O objetivo deste trabalho é modelar computacionalmente o desenvolvimento de micélios em fungos com base em mecanismos gerais pré-estabelicidos. O progresso e a complexidade dos modelos ocorreram de maneira gradual ao longo do trabalho através de três modelos de crescimento diferentes. O trabalho foi inspirado - principalmente - nos dois primeiros capítulos do artigo de Steven Hopkins [1].

Mecanismos gerais dos modelos

Crescimento

A distribuição de nutrientes ocorre de maneira discreta, não contínua.

Transporte de nutriente interno # Não será feito por exigir a computação de cada elemento individualmente toda vez

Fungo nº 1

  • Branching na ponta
  • Computar só os da ponta
  • Crescimento ocorre só com o nutriente que o ponto final está

Fungo nº 2

  • Branching lateral
  • Morte (implementar idade da linha)

Fungo nº 3

  • Junção (computação de cada elemento individualmente toda vez) (anastomosis)


Crescimento


def crecimento (x,y):

  theta= np.arctan(y/x)

  if (x<0) :
    theta= theta+ math.pi
 
  aleatorio_theta = random.random()* math.pi/4 - math.pi/8 # angulo de -22.5 até 22.5 (45°)
  
  theta=theta+aleatorio_theta

  addx = r * math.cos(theta)
  addy = r * math.sin(theta)
  
  fx = x + addx
  fy = y + addy 

  return (fx,fy)


Divisão

 
def divisao (x,y):

  theta= np.arctan(y/x)

  if (x<0) :
    theta= theta+ math.pi

  angulodivisao= random.random()*math.pi/2 #angulo para divisão de no máximo 90°

  angulo1= theta- angulodivisao/2
  angulo2= theta+ angulodivisao/2

  addx1 = r * math.cos(angulo1)
  addy1 = r * math.sin(angulo1)

  addx2= r * math.cos(angulo2)
  addy2= r * math.sin(angulo2)
  
  Ax = x + addx1
  Ay = y + addy1
  
  Bx = x + addx2
  By= y +addy2

  return (Ax,Ay,Bx,By)

Referências

[1]HOPKINS, Steven. A Hybrid Mathematical Model of Fungal Mycelia: Tropisms, Polarised Growth and Application to Colony Competition, tese de doutorado, 2011.(https://core.ac.uk/download/pdf/6117416.pdf)