Vzory na rybách a otec počítačové vědy
Vzory v přírodě, Alan Turing a ne tak úplně můj pokus o generátor vzorů založených na reakčně-difúzním modelu.
![]()
(Pro ty, co nemají zájem číst delší text: Vytvořil jsem generátor vzorů založený na reakčně-difúzním modelu. Generátor je k dispozici ZDE.)
Poměrně hodně si všímám nejrůznějších vzorů a pravidelností, které vytváří příroda. Nevím, nakolik tohle vnímání souvisí s mým OCD mozkovým nastavením a do jaké míry je ovlivněno mou bývalou aktivitou výzkumníka ekologie suchomilných rostlinných společenstev. Pravděpodobně jde o synergii obou vlivů. V minulosti mě zaujaly články týkající se rozvoje pravidelných vzorů vegetace a teorií o jeho příčinách. Klasickým příkladem je tzv. tiger bush, tedy křovitá vegetace rostoucí v pruzích oddělených oblastmi se sporadickým rostlinným pokryvem. Měl jsem možnost setkat se s tímto fenoménem tváří v tvář, nebo přesněji tváří v keř, ale přímo k jeho studiu jsem se už nedostal. Nebudu se tu tedy zabývat možnými příčinami vzniku tohoto typu vegetace, ani příklady dalších vzorů, a rovnou přejdu k potápění.
Při obdivování světa pod vodou jsem si nemohl nevšimnout pruhů, teček, kruhů, prstenců, vlnek, meandrů a dalších prvků uspořádaných do vzorů na tělech ryb. Zejména na pestře zbarvených rybách korálových útesů tropického moře jsou vzory výrazně nápadné a mnohým zvyšují již tak vysokou extravaganci. Bližší zkoumání nejrůznějších klipek, pomců, chrochtalů, čtverzubců, havýšů a všemožných dalších druhů, včetně některých murén, odhalí, že tuto vzorovou diverzitu tvoří několik základních předloh, které jsou však modifikovány odlišnými proporcemi a hustotou prvků, tvarem detailů a barvou. Jednotlivé předlohy se mohou na těle ryby prolínat a plynule mezi sebou přecházet. Odmyslíme-li si barevné odlišnosti, je možné stejné vzory nalézt na mnoha jinak zcela odlišných druzích.

Pomec císařský (Pomacanthus imperator) je často zmiňován ve studiích o vzorech v přírodě.
Při hloubání nad korálovým útesem zaujmou i vzory na samotných korálech. V jejich případě však textura není plochá, ale trojrozměrná, tvořená brázdami, hřbety, prohlubněmi a pohárky jednotlivých polypů. Odhlédneme-li od plasticity a rozměrů, jsou vzory na povrchu mnohých korálů velmi podobné těm na rybách.

Tečkovaný vzor na muréně běloústé (Gymnothorax meleagris).

Tečkovaný vzor na chrochtalovi černoskvrnném (Plectorhinchus gaterinus).
A co s tím má společného v nadpisu zmíněný otec počítačové vědy? Alan Turing, známý především jako pokořitel šifrovacího stroje Enigma a zakladatel teoretické informatiky, publikoval v roce 19521 práci „Chemický základ morfogeneze“, kde popisuje způsob, jakým mohou nejrůznější vzory pozorované v přírodě vznikat z jednotného, homogenního stavu působením a rozptylováním dvou chemických látek, tzv. aktivátoru a inhibitoru. Vznikla tak reakčně-difúzní teorie morfogeneze na jejímž základě se vytváří tzv. Turingovy vzory. V době vzniku se jednalo pouze o matematickou teorii, tedy rovnicemi popsaný možný proces vzniku v přírodě pozorovaných vzorů. V pozdějších letech však věda potvrdila, že biologická podstata vytváření zbarvení srsti a kůže některých zvířat, včetně tropických ryb, je opravdu založena na Turingem popsaném procesu. V případě řady jiných vzorů je podstata vzniku odlišná, či neznámá, přesto je však lze simulovat reakčně-difúzním modelem.

Příklady Turingových vzorů.
Je to už delší dobu, co mě napadlo zkusit vytvořit jednoduchý webový generátor Turingových vzorů. Tehdy jsem si hledal informace a návody a mimojiné jsem narazil na stránku s generátorem, který pro vykreslování používal WebGL. Bylo to rychlé a na pohled velmi pěkné, avšak mimo moje schopnosti, resp. vzdálené tomu, kolik času bych tvorbě chtěl věnovat a kolik nového se učit. Nápad jsem tedy dal k ledu a oživil jej teprve nedávno, když jsem editoval fotografie ryb a korálů a opět začal přemýšlet o jejich vzorech. Zběžně jsem zkusil vyhledat zmíněný WebGL generátor a zarazilo mě, kolik různých generátorů mi Google nabídl. Buď jsem tehdy špatně hledal, nebo od té doby vzniklo množství dalších. Domnívám se, že druhá možnost je správně a důvodem je rozvoj AI asistovaného programování. Protože jsem si vibe coding chtěl vyzkoušet a mám v plánu jej použít pro tvorbu dalších hříček, rozhodl jsem se během nošení dříví do lesa prodat rýži do Číny a zadal jsem AI instrukce k vytvoření generátoru vzorů založeného na JavaScriptu a WebGL. Jako model jsem použil Pearsonem2 definovaný Gray-Scottův model reakce a difúze, který je založený na chování dvou substancí označovaných jako U a V. Lze si je představit jako chemické látky s odlišným chováním. Model uvažuje čtyři procesy:
- Difúze U a V – obě látky se rozptylují po povrchu a každá má vlastní rychlost rozptylu.
- Reakce – pokud se jednotka U potká se dvěma jednotkami V dojde k zániku U a vzniku třetího V.
- Doplňování U – do modelu kontinuálně vstupuje nové U. Toto doplňování probíhá v celé ploše modelu a lze si ho představit třeba jako průsak nového U odněkud z pozadí modelu. Rychlost doplňování je označována koeficientem F – feed rate.
- Úbytek V – probíhá kontinuálně z celé plochy modelu. Lze si jej představit třeba jako výpar V. Koeficient kontrolující rychlost úbytku V se označuje jako k – kill rate.
Chování simulace je řízeno nastavením rychlosti difúze U a V a hodnotou koeficientů F a k. V generátoru je možné měnit hodnoty F a k, rychlost difúze je nastavena pevně. Změna F ovlivňuje rychlost vývoje vzoru a změna k má vliv na stabilitu vzoru a změnu jeho vzhledu. Neexistuje univerzální nastavení, které vždy produkuje například skvrny nebo pruhy. Vždy závisí na výchozích podmínkách, interakci parametrů a nastavení koeficientů.

Kruhové skvrny přecházející v linie okolo očí na čtverzubci modroskvrnném (Arothron caeruleopunctatus).

Nepravidelné skvrny až polygony na čtverzubci hvězdnatém (Arothron stellatus).
Generátor vyprodukovaný AI mě velmi pozitivně překvapil. Odpovídal mnou specifikovaným požadavkům funkcemi i vzhledem. Jedinou výtku jsem měl ke způsobu, kterým je na počátku simulace vložena do systému substance V. Uměla inteligence navrhla vkládat ji volitelně do středu plochy nebo do 30 náhodných bodů rozptýlených po ploše. To mi vyhovovalo, ale při zastavování simulace na jejím počátku jsem si všiml, že vkládání probíhá prostřednictvím čtvercových plošek rozdílné velikosti. Přirozenější a organické mi přijde vkládání pomocí kruhových plošek, které jsou bližší představě kapky, či bodu, ze kterého se substance rovnoměrně šíří do všech stran. Zadal jsem úpravu, poladil barevná schémata a bylo hotovo.
Generátor je k vyzkoušení ZDE.
Turing, A. M. (1952). The Chemical Basis of Morphogenesis. Philos. T. Roy. Soc. B, 237, 37–72.
Pearson, J. E. (1993). Complex patterns in a simple system. Science, 261(5118), 189–192.