Jak to działa
Pojedynczy węzeł żyłki zaczyna się w ogonku liściowym (nasadzie liścia). Setki punktów będących źródłami auksyny są rozrzucone losowo wewnątrz konturu w kształcie liścia, z których każdy reprezentuje fragment tkanki sygnalizujący zapotrzebowanie na zaopatrzenie naczyniowe. W każdym kroku wzrostu każdy aktywny wierzchołek żyłki szuka niezajętych źródeł auksyny w swoim promieniu wyczuwania, uśrednia kierunek do wszystkich z nich (algorytm kolonizacji przestrzeni) i wydłuża się o krótki nowy odcinek w tę stronę, z niewielkim losowym odchyleniem dodającym różnorodność rozgałęzień. Każde źródło auksyny, które znajdzie się w niewielkim promieniu eliminacji nowego wierzchołka, zostaje pochłonięte i usunięte, ponieważ ten fragment tkanki jest już obsłużony.
Za każdym razem, gdy dodawany jest nowy odcinek, licznik przepływu każdego odcinka na ścieżce z powrotem do nasady zostaje zwiększony, co odwzorowuje hipotezę kanalizacji auksyny: szeregi komórek przenoszące większy przepływ auksyny stają się stopniowo coraz lepsze w jej transportowaniu, różnicując się w szersze, bardziej wydajne żyłki. Symulacja rysuje odcinki o wysokim przepływie grubiej i ciemniej, a odcinki o niskim przepływie cienko i blado, co jest dokładnie tym samym sygnałem dodatniego sprzężenia zwrotnego, jaki obserwuje się w prawdziwym unaczynieniu liścia, gdzie kilka głównych żyłek przenosi większość przepływu, podczas gdy wiele drugorzędnych żyłek się od nich odgałęzia.
Nowy odcinek: tip' = tip + growthSpeed · rotate(d, ±jitter)
Konsumpcja: usuń źródło, jeśli |source - tip'| < killRadius
Kanalizacja: flux(edge) += 1 dla każdej krawędzi na ścieżce (tip' → base); lineWidth ∝ flux^(canalStrength/10)
Najczęściej zadawane pytania
Czym jest kanalizacja auksyny?
Kanalizacja auksyny to hipoteza mówiąca, że wzory użyłkowania powstają dlatego, że komórki transportujące więcej auksyny stają się coraz lepsze w jej transportowaniu — jest to pętla dodatniego sprzężenia zwrotnego, która kieruje przepływ w wąskie, coraz bardziej wydajne szeregi komórek, z których powstają żyłki.
Co robi tutaj algorytm kolonizacji przestrzeni?
Każdy wierzchołek żyłki szuka w swoim promieniu wyczuwania pobliskich, jeszcze niezajętych źródeł auksyny, uśrednia kierunki do nich prowadzące i w tę stronę wydłuża się o krótki nowy odcinek — to dokładnie to samo podejście kolonizacji przestrzeni, które wykorzystuje się do generowania realistycznych, rozgałęzionych struktur roślinnych.
Dlaczego źródła auksyny znikają w miarę wzrostu sieci?
Każde źródło auksyny reprezentuje fragment tkanki liścia, który potrzebuje w pobliżu żyłki, aby zostać zaopatrzonym. Gdy tylko wierzchołek żyłki wrośnie w promień eliminacji danego źródła, ten fragment tkanki jest uznawany za obsłużony, a źródło zostaje usunięte — to właśnie powstrzymuje żyłki przed nieskończonym wzrostem.
Dlaczego niektóre żyłki są rysowane grubiej niż inne?
Za każdym razem, gdy dany odcinek leży na ścieżce prowadzącej od nowo wyrosłego wierzchołka z powrotem do nasady liścia, jego licznik przepływu rośnie. Odcinki o wyższym przepływie są rysowane grubiej i ciemniej, co pokazuje, jak intensywnie wykorzystywane szlaki transportowe kanalizują się w główne żyłki, podczas gdy boczne odgałęzienia pozostają cienkie.
Czy to odpowiada temu, jak żyłki tworzą się w prawdziwych liściach?
Ogólny wzorzec — tak: prawdziwe żyłki liściowe powstają wcześnie z komórek prokambium, które kanalizują przepływ auksyny w kierunku rozwijającej się tkanki, tworząc hierarchiczną sieć głównych i drugorzędnych żyłek, uderzająco podobną w strukturze do tej, którą tworzy model łączący kolonizację przestrzeni z kanalizacją.
Co się stanie, jeśli zwiększę liczbę źródeł auksyny?
Więcej źródeł auksyny oznacza więcej konkurujących ze sobą kierunków przyciągania dla każdego wierzchołka żyłki, co zwykle prowadzi do powstania gęstszej, drobniej rozgałęzionej sieci — podobnie jak liście o wyższej gęstości użyłkowania wspierają więcej tkanki fotosyntetycznej na jednostkę powierzchni.