Simulação de Micélio de Fungo: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição |
|||
Linha 12: | Linha 12: | ||
===Transporte de nutriente interno # Não será feito por exigir a computação de cada elemento individualmente toda vez=== | ===Transporte de nutriente interno # Não será feito por exigir a computação de cada elemento individualmente toda vez=== | ||
Fungo 1 | == Fungo nº 1 == | ||
* Branching na ponta | * Branching na ponta | ||
* Computar só os da ponta | * Computar só os da ponta | ||
* Crescimento ocorre só com o nutriente que o ponto final está | * Crescimento ocorre só com o nutriente que o ponto final está | ||
Fungo 2 | == Fungo nº 2 == | ||
* Branching lateral | * Branching lateral | ||
* Morte (implementar idade da linha) | * Morte (implementar idade da linha) | ||
Fungo 3 | == Fungo nº 3 == | ||
* Junção (computação de cada elemento individualmente toda vez) (anastomosis) | * Junção (computação de cada elemento individualmente toda vez) (anastomosis) | ||
Edição das 15h57min 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 dos micélios de fungos. O trabalho foi inspirado - principalmente - nos dois primeiros capítulos do artigo de Steven Hopkins [1].
Usando como base o segundo e primeiro capítulo do livro [A Hybrid Mathematical Model of Fungal Mycelia: Tropisms,
Polarised Growth and Application to Colony Competition.](https://core.ac.uk/download/pdf/6117416.pdf)
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)