Mudanças entre as edições de "Simulação de Micélio de Fungo"
De Física Computacional
Linha 18: | Linha 18: | ||
Fungo 3: | Fungo 3: | ||
* Junção (computação de cada elemento individualmente toda vez) (anastomosis) | * Junção (computação de cada elemento individualmente toda vez) (anastomosis) | ||
+ | |||
+ | |||
+ | == Implementção == | ||
+ | |||
+ | <source lang="python"> | ||
+ | |||
+ | 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) | ||
+ | |||
+ | |||
+ | </source> |
Edição das 16h57min de 20 de maio de 2021
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 1:
- Branching na ponta
- Computar só os da ponta
- Crescimento ocorre só com o nutriente que o ponto final está
Fungo 2:
- Branching lateral
- Morte (implementar idade da linha)
Fungo 3:
- Junção (computação de cada elemento individualmente toda vez) (anastomosis)
Implementção
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)