MWS_2021_s439489/Treść zadań/L-System-2.md

8.2 KiB

Filotaksja (Ulistnienie)

Regularne ułożenie bocznych (lateralnych) elementów roślin (liści, gałęzi, płatków kwiatów, kolce na róży itd) jest istotnym aspektem kształtu rośliny, znaną jako filotaksja. Jest to zagadnienie dogłębnie badane przez biologów jak i matematyków. W trakcie zajęć skupimy się na dwóch modelach, pozwalających na otrzymanie realistycznych obrazów kwiatów i owoców, w których pojawia się spirala filotaktyzna.

Pierwszy z nich opisuje rozmieszczenie na płaszczyźnie, został pierwszy raz wykorzystany przez Vogela do opisu struktury słonecznika. Natomiast drugi redukuje filotakcję do upakowania na cylindrze.

Model planarny

Do opisu wzorców w słoneczniku Vogel zaproponował następujące reguły

 \phi = n * 137.5^\circ ,\quad r=c\sqrt{n}

gdzie:

  • n to indeks elementu kwiatu,
  • \phi to kąt między między ustalonym kierunkiem odniesienia a kierunkiem od centrum do danego elementu, gwarantuje, że kąt między dwoma kolejnymi elementami był 137.5 stopni. Można też o tym myśleć jak o kącie we współrzędnych kierunkowych,
  • r to promień - odległość od centrum,
  • c - ustalona stała.

Efekt wygląda następująco: Vogel

Zadanie

Zaproponuj L-System, który opisze poniższy model (będzie przypominał poniższy obrazek), możesz skorzystać ze znaków +(a), który obraca o kąt a, f(w) który przesuwa o w do przodu oraz S, który rysuje sferę. Wyświetl go za pomocą sceny LSystem3D.

Podpowiedź: wszystkie elementy mogą być dzieckiem jednego głównego znaku odpowiadającego za centrum

w otrzymanym wzorcu możemy zaobserwować 2 spirale, jedna obraca się zgodnie z ruchem wskazówek zegara, druga w przeciwną (znajdują się na rysunku poniżej ) znane też jako parastichy. Okazuje się,że liczba ramion w jednej i drugiej spirali jest zawsze równa dwóm kolejnym liczbom fibonacciego.

parastichy parastichy

Zadanie

Zmień kąt \phi kolejno na 137.4 i 137.6 stopni jaką różnicę zauważasz?

Modelowanie słonecznika

słonecznik słonecznik Oczywiście sama spirala, chociaż oddaje wzór filotaksji, to nie przypomina za bardzo słonecznika. Słoneczniki mają kwiatostan typu koszyczek, to znaczy duży kwiatostan widoczny widoczny na zdjęciu składa się tak na prawdę z wielu małych kwiatów. Od zewnątrz mamy kwiaty języczkowe, to te, które kończą się dużymi płatkami, wewnątrz są drobniejsze kwiaty rurkowe. Kwiaty zaczynają swój żywot w środku kwiatostanu, następnie są "spychane" na zewnątrz, dlatego możemy zaobserwować, że w środku są zielone świeże pąki, które żółkną im dalej są od środka, żeby następnie przejść w otwarte kwiaty.

By oddać ten efekt wystarczy dla większych wartości N wziąć różne obiekty, by zwiększyć realizm można też dodać także wygięcie widoczne na drugim obrazku

Zadanie

Zmodyfikuj L-System i definicję żółwia z poprzedniego zadania tak, żeby otrzymać słonecznik. skorzystaj z modeli, które znajdują się w folderze Models/Sunflower. Przyjmij liczbę kroków koło 650.

Zmodyfikuj koszyk tak by był trochę wypukły, jak na drugim zdjęciu.

Zadanie domowe

Napisz L-System i interpretację, która zamodeluje kwiat róży, zrób w wybranym programie graficznym lub znajdź kilka wariantów płatków, które wykorzystasz do reprezentowania różnych etapów rozwoju. `

Filotaksja Liści

Przez filotaksję rozumiemy także rozmieszczenie liści na łodydze. Wyróżniane są różne typy filotaksji, część z nich jest pokazana na poniższym obrazku.

rose

L-Systemy Kontekstowe

Dotychczasowe L-Systemy były systemami bezkontaktowymi, to znaczy reguły produkcyjne zależały wyłącznie od przepisywanego znaku. Jednak w modelowaniu procesów biologicznych przydatne będzie, żeby organy rośliny komunikowały się między sobą. W tym celu wykorzystamy L-Systemy kontekstowe.

Kontekst oznaczamy poprzez znaki < i >, gdzie A < B oznacza, że przepisany będzie B, jeżeli jego poprzednikiem jest A. Natomiast C > D oznacza, że przepisany zostanie C jeżeli jego następnikiem jest D.

Przykładowo poniższy L-System prezentuje przekazywanie sygnału od lewej do prawej

#axiom
BAAAAAAAA
#rules
B<A -> B
B -> A
#end rules

Kolejne kroki będą wyglądać następująco

ABAAAAAAA
AABAAAAAA
AAABAAAAA
...
AAAAAAAAB
AAAAAAAAA

Możesz to zobaczyć w scenie Context, ładując L-System Context1.txt.

Powyższy L-System nie jest specjalnie użyteczny, sygnał pochodzi znikąd i idzie donikąd. Można go z łatwością rozbudować tak, żeby po lewej był odbiornik, po prawej i przekaźnik po lewej.

#axiom
C(5,5)AAAAAAAAD(0)
#rules
C(a,b) > A : b<5 -> C(a,b+1)
C(a,b) > A : b>=5 -> C(a-1,0)
C(a,b) < A : b>=5 -> B
B<D(a) -> D(a+1)
B<A -> B
B -> A
#end rules

Ten L-System znajduje się w Context2.txt. Zauważ jak obiekt po prawej rośnie a po lewej się kurczy wraz z przesyłaną informacją. Można w ten sposób przekazywać informację pomiędzy organami rośliny. Poniższy obrazek prezentuje jak sygnał może być propagowany w dół (akropetalnie) i w górę (basipetalnie).

propagacja

Propagacja sygnału jest jednym z narzędzi do wprowadzenia samoorganizacji w modelu rośliny, poprzez uzależnienie od siły sygnąłu siły decyzji jak dany organ ma się dalej zachować.

W dotychczasowych L-Systemach pojawiały symbole, które nie są częścią struktury rośliny, jedynie odpowiadają za geometrię (takie jak + albo -). Będą one przeszkadzać w komunikacji poprzez kontekst, w tym celu należy użyć słowa kluczowego #ignore, które mówi, żeby pominąć znaki które są wymienione po nim. Muszą one być wymienione w teh samej linii po spacji. Przykładowo zmodyfikowany powyższego LSystemu z dodanymi zgięciami. Będzie on działał dokładnie tak samo.

#ignore + -
#axiom
C(5,5)A+A+AA-A-AA-AD(0)
#rules
C(a,b) > A : b<5 -> C(a,b+1)
C(a,b) > A : b>=5 -> C(a-1,0)
B(1)<D(a) -> D(a+1)
B(a)<A -> B(a)
B(a) -> A
#end rules

Zadanie

Bazując na L-Systemie powyżej napisz L-System, który będzie przekazywał w L-Systemie sygnał z korzenia do zalążków. W zależności od rodzaju sygnału powinien sie pojawić kwiat, liść lub nowe rozgałęzienie. To jakie sygnały wysyła może być losowe.

Zadanie domowe

Wykorzystaj Pozyskaną wiedzę na temat filotaksji i propagacji informacji w L-Systemach do stworzenia modelu rozwoju róży. Użyj propagacji do sterowania wzrostem rośliny zgodnie ze schematem, jako kwiaty użyj wyników modelu z poprzedniego zadania (nie musisz wizualizować ich rozwijania się, wystarczy, że będą się pojawiać i znikać)

Schemat rozwoju róży

Róża składa się z łodyg, kwiatów i liści. Częścią, która rośnie jest jest czubek łodygi, który będziemy nazywać wierzchołkiem.

Liście wyrastają bezpośrednio z łodygi, w filotaksji spiralnej. Każdy liść składa się z nieparzystej liczby liści rosnących na przeciwlegle.

rose rose

Cykl rozwoju róży podzielimy na 4 etapy wzorowane na porach roku.

Wiosna

W miejscu starych liści pojawiają się zalążki nowych liści, w tym etapie każdy z nich ma szansę stać się wierzchołkiem nowej łodygi. Istniejące wierzchołki rosną i wytwarzają nowe zalążki liści.

Lato

Obecne wierzchołki kontynuują swój wzrost. Na tym etapie nowe łodygi mogą wyrosnąć tylko z nowych zalążków, które pojawiają się w wyniku rozwoju łodyg, ale szansa na ich pojawienie jest większa. W trakcie tego etapu wierzchołek może zmienić się w kwiat.

Jesień

Wzrost rośliny się zatrzymuje, kwiaty zamieniają się w owoce, nie powstają nowe liście ani zalążki.

Zima

Roślina czeka na nową wiosnę, powstałe owoce są obrywane przez okoliczne zwierzęta szukające pożywienia. Pojedyńcze elementy łodygi mogą zostać uśpione lub uszkodzone i w niektórych miejscach nie wyrosną nowe liście lub wierzchołek przestanie funkcjonować.


Poniżej znajduje się symboliczna reprezentacja zasad

rose