breed [leaves leaf] breed [dead-leaves dead-leaf] breed [raindrops raindrop] breed [suns sun] leaves-own [ water-level ;; množství vody v listu sugar-level ;; množství cukru v listu attachedness ;; jak pevně je list přichycen ke stromu chlorophyll ;; úroveň chemických látek způsobujících zelené zbarvení listu carotene ;; úroveň chemických látek způsobujících žluté zbarvení listu anthocyanin ;; úroveň chemických látek způsobujících červené zbarvení listu ] raindrops-own [ location ;; oblasti s vodou, mohou nabývat hodnoty "falling" (padající), "in root" (v kořenech), "in trunk" (v kmeni), or "in leaves (v listech)" amount-of-water ] globals [ bottom-line ;; ovládá výšku země evaporation-temp ;; teplota při které se vypařuje voda ] ;; --------------------------------------- ;; PROCEDURY TLAČÍTKA PŘIPRAV ;; --------------------------------------- to setup clear-all set bottom-line min-pycor + 1 set evaporation-temp 30 set-default-shape raindrops "circle" set-default-shape suns "circle" ;; Vytvoří nebe a trávu ask patches [ set pcolor blue - 2 ] ask patches with [pycor < min-pycor + 2] [ set pcolor green ] ;; Vytvoří listy create-leaves pocet-listu [ set chlorophyll 50 + random 50 set water-level 75 + random 25 ;; hladina cukru odpovídá normálnímu rozdělení, určenému následujícími (uživatelem) definovanými vstupy set sugar-level random-normal pocatecni-cukr-str-hodnota pocatecni-cukr-smer-odchylka set carotene random 100 change-color set attachedness 100 + random 50 ;; Použití "sqrt" (odmocnina) v násedujícím příkazu způsobí ;; rovnoměrné rozložení želv; pokud bychom zadali pouze "fd random-float 10", ;; bylo by více želv blíž u středu stromu, což by vypadalo směšně. fd sqrt random-float 100 ] ;; Vytvoří kmen a větve ask patches with [pxcor = 0 and pycor <= 5 or abs pxcor = (pycor + 2) and pycor < 4 or abs pxcor = (pycor + 8) and pycor < 3] [ set pcolor brown ] ;; Vytvoří slunce create-suns 1 [ setxy max-pxcor - 2 max-pycor - 3 ;; upraví vzhled slunce podle jeho intenzity show-intensity ] ;; zanese do grafu počáteční stav do-plot end ;; --------------------------------------- ;; PROCEDURY TLAČÍTKA START ;; --------------------------------------- to go ;; Zastaví model, pokud jsou všechny listy mrtvé if not any? leaves [ stop ] ;; Následující procedury zajistí foukání větru a padání kapek deště; ;; dále pohyb vody na nebi, v zemi i ve stromě; ;; nastaví vzhled slunce podle jeho intenzity make-wind-blow make-rain-fall move-water ask suns [ show-intensity ] ;; Nastaví listům hodnoty dle příslušných parametrů ask attached-leaves [ adjust-water adjust-chlorophyll adjust-sugar change-color change-shape ] ;; Pokud listy opadají, budou pokračovat v padání ask leaves [ fall-if-necessary ] ;; Pokud se opadající listy dotkou země, zemřou ask leaves with [ycor <= bottom-line] [ set breed dead-leaves ] ;; Listy bez vody také zemřou ask leaves with [water-level < 1] [ set attachedness 0 ] ;; Kontroluje, zda jsou příslušné hodnoty v intervalu 0 - 100 ask leaves [ if chlorophyll < 0 [ set chlorophyll 0 ] if chlorophyll > 100 [ set chlorophyll 100 ] if water-level < 0 [ set water-level 0 ] if water-level > 100 [ set water-level 100 ] if sugar-level < 0 [ set sugar-level 0 ] if sugar-level > 100 [ set sugar-level 100 ] if carotene < 0 [ set carotene 0 ] if carotene > 100 [ set carotene 100 ] if anthocyanin < 0 [ set anthocyanin 0 ] if anthocyanin > 100 [ set anthocyanin 100 ] if attachedness < 0 [ set attachedness 0 ] if attachedness > 100 [ set attachedness 100 ] ] ;; Zvýší čas o jeden krok tick ;; Vykreslí aktuální dění v modelu do grafů do-plot end ;; --------------------------------------- ;; Procedura foukání větru. Když vítr fouká, ;; listy se lehce pohybují (což má pěkný ;; vizuální efekt) a redukuje se jejich faktor ;; přilnavosti podle síly větru. To ;; znamená, že listy budou padat rychleji, ;; pokud bude vítr silnější. ;; --------------------------------------- to make-wind-blow ask leaves [ ifelse random 2 = 1 [ rt 10 * sila-vetru ] [ lt 10 * sila-vetru ] set attachedness attachedness - sila-vetru ] end ;; --------------------------------------- ;; Procedura padání deště. Déšť má svůj vlastí rod (breed) ;; malých želv, které se pohybují od horního okraje okna modelu. ;; --------------------------------------- to make-rain-fall ;; Vytvoří nové dešťové kapky na horní hranici okna create-raindrops intenzita-deste [ setxy random-xcor max-pycor set heading 180 fd 0.5 - random-float 1.0 set size .3 set color gray set location "falling" set amount-of-water 10 ] ;; Rozpohybuje všechny kapky, včetně těch, ;; které byly právě vytvořeny ask raindrops [ fd random-float 2 ] end ;; -------------------------------------------------------- ;; Procedura pohybu vody: Voda se pohybuje kapky -> země, ;; země -> kmen/větve a z kmene/větví do listů. ;; -------------------------------------------------------- to move-water ;; Předpokládáme, že kořeny zabírají celou plochu zobrazené travnaté země. ;; Dešťová voda se přesunuje ze země do kmene stromu. ask raindrops with [location = "falling" and pcolor = green] [ set location "in roots" face patch 0 ycor ] ;; Voda je vedena z kmene do střední části stromu. ask raindrops with [location = "in roots" and pcolor = brown] [ face patch 0 0 set location "in trunk" ] ;; Voda se pohybuje z kmene do listů. Není zde ;; simulován reálný pohyb skrze větve stromu. ask raindrops with [location = "in trunk" and patch-here = patch 0 0] [ set location "in leaves" set heading random 360 ] ;; Pokud se dešťová kapka dostane do listu a žádná přebytečná voda nezbyde, pak kapka zmizí. ask raindrops with [location = "in leaves" and amount-of-water <= 0.5] [ die ] ;; Pokud je kapka v kmeni a už nejsou volné listy, ;; kam by mohla téci, pak kapka také zmizí. ask raindrops with [ (location = "in trunk" or location = "in leaves") and (ycor > max [ycor] of leaves or xcor > max [xcor] of leaves or xcor < min [xcor] of leaves) ] [ die ] end ;;--------------------------------------------------------- ;; PROCEDURY ŽELV ;; -------------------------------------------------------- ;; -------------------------------------------------------- ;; Procedura zobrazení intenzity. Mění zobrazení slunce ;; podle intenzity jeho svitu. ;; -------------------------------------------------------- to show-intensity ;; procedura slunce set color scale-color yellow intenzita-slunce 0 150 set size intenzita-slunce / 10 set label word intenzita-slunce "%" ifelse intenzita-slunce < 50 [ set label-color yellow ] [ set label-color black ] end ;; -------------------------------------------------------- ;; Procedura nastavení vody. ;; Zvyšuje a snižuje hladinu vody v listech. ;; -------------------------------------------------------- to adjust-water ;; Pod jistou hranicí teploty přestanou listy absorbovat vodu. ;; Místo ní přeměňují cukr a vodu na anthokyanin. if teplota < 10 [ stop ] ;; Pokud je v blízkosti listu kapka s aplespoň trochou vody, ;; vstřebá list část této vody. let nearby-raindrops raindrops in-radius 2 with [location = "in leaves" and amount-of-water >= 0] if any? nearby-raindrops [ let my-raindrop min-one-of nearby-raindrops [distance myself] set water-level water-level + ([amount-of-water] of my-raindrop * 0.20) ask my-raindrop [ set amount-of-water (amount-of-water * 0.80) ] ] ;; Sníží množství vody v závislosti na teplotě if teplota > evaporation-temp [ set water-level water-level - (0.5 * (teplota - evaporation-temp)) ] ;; Pokud je hladina vody v listu příliš nízká, snižuje se jeho přilnavost if water-level < 25 [ set attachedness attachedness - 1 ] end ;; --------------------------------------- ;; Procedura nastavení chlorofylu. Množství chlorofylu se ;; snižuje, pokud je teplota příliš nízká nebo když je slunce příliš silné. ;; Množství chlorofylu se naopak zvyšuje za normální teploty a přiměřéného ;; dostatku slunečního světla. ;; --------------------------------------- to adjust-chlorophyll ;; Pokud je teplota příliš nízká, sníží množství chlorofylu if teplota < 15 [ set chlorophyll chlorophyll - (.5 * (15 - teplota)) ] ;; Pokud slunce příliš silné, sníží množství chlorofylu if intenzita-slunce > 75 [ set chlorophyll chlorophyll - (.5 * (intenzita-slunce - 75)) ] ;; Nový chlorofyl způsobený přiměřeným teplem a světlem. if teplota > 15 and intenzita-slunce > 20 [ set chlorophyll chlorophyll + 1 ] end ;; --------------------------------------- ;; Procedura nastavení cukru. Voda + sluneční světlo + chlorofyl = cukr. ;; --------------------------------------- to adjust-sugar ;; Pokud je k dispozici dostatek vody a slunečního světla, sníží množství ;; chlorfylu a vody a zvýší hladinu cukru. if water-level > 1 and intenzita-slunce > 20 and chlorophyll > 1 [ set water-level water-level - 0.5 set chlorophyll chlorophyll - 0.5 set sugar-level sugar-level + 1 set attachedness attachedness + 5 ] ;; S každým časovým krokem se sníží hladina cukru o 1. set sugar-level sugar-level - 0.5 end ;; --------------------------------------- ;; Procedura padání listů. Pokud je list v prostoru mezi ;; korunou stromu a hranicí země, pak padá. ;; Ve chvíli dopadu na zem umírá. ;; --------------------------------------- to fall-if-necessary if attachedness > 0 [ stop ] if ycor > bottom-line [ let target-xcor (xcor + random-float sila-vetru - random-float sila-vetru) facexy target-xcor bottom-line fd random-float (.7 * max (list sila-vetru .5)) ] end ;; --------------------------------------- ;; Procedura změny barev. Jelikož má NetLogo omezenou paletu barev, ;; potřebujeme velmi jednoduchá pravidla. ;; --------------------------------------- to change-color ;; Pokud je teplota nízká, promění ;; cukr na anthokyanin. if teplota < 20 and sugar-level > 0 and water-level > 0 [ set sugar-level sugar-level - 1 set water-level water-level - 1 set anthocyanin anthocyanin + 1 ] ;; Pokud je chlorofylu více než 50 procent, pak se list zbarví ;; zeleně a to v takovém odstínu, který odpovídá koncentraci chlorofylu. ifelse chlorophyll > 50 [ set color scale-color green chlorophyll 150 -50 ] ;; Pokud je v listu méně než 50 procent chlorofylu, pak se ;; zbarví žlutě (podle koncentrace karotenu), červeně (podle koncentrace anthokyaninu) ;; nebo oranžově (pokud jsou obě zmíněné koncentrace stejně vysoké). ;; Pokud je zhruba stejné množství karotenu a anthokyaninu ;; pak má mít list oranžové odstíny. [ if abs (anthocyanin - carotene ) < 10 [ set color scale-color orange carotene 150 -50 ] if anthocyanin > carotene + 10 [ set color scale-color red anthocyanin 170 -50 ] if carotene > anthocyanin + 10 [ set color scale-color yellow carotene 150 -50 ] ] end to change-shape ifelse zobrazeni-listu = "pevné" [ set shape "default" ] [ if zobrazeni-listu = "chlorofyl" [ set-shape-for-value chlorophyll ] if zobrazeni-listu = "voda" [ set-shape-for-value water-level ] if zobrazeni-listu = "cukr" [ set-shape-for-value sugar-level ] if zobrazeni-listu = "karoten" [ set-shape-for-value carotene ] if zobrazeni-listu = "anthokyaniny" [ set-shape-for-value anthocyanin ] if zobrazeni-listu = "přilnavost" [ set-shape-for-value attachedness ] ] end ;; --------------------------------------- ;; PROCEDURY GRAFŮ ;; --------------------------------------- ;; --------------------------------------- ;; Procedury grafů. Vykreslují do grafů ;; aktuální hodnoty proměnných. ;; --------------------------------------- to do-plot ;; Vykresluje informaci o počtu listů set-current-plot "Listy" set-current-plot-pen "listy" plot count leaves set-current-plot-pen "mrtvé listy" plot count dead-leaves ;; Vykresluje informace o podnebních podmínkách set-current-plot "Počasí" set-current-plot-pen "teplota" plot teplota set-current-plot-pen "sluneční svit" plot intenzita-slunce set-current-plot-pen "déšť" plot intenzita-deste set-current-plot-pen "vítr" plot sila-vetru ;; Vykresluje informace o listech if any? leaves [ set-current-plot "Charakteristiky listů (průměry)" set-current-plot-pen "voda" plot mean [water-level] of leaves set-current-plot-pen "chlorofyl" plot mean [chlorophyll] of leaves set-current-plot-pen "cukr" plot mean [sugar-level] of leaves set-current-plot-pen "karoten" plot mean [carotene] of leaves set-current-plot-pen "anthokyaniny" plot mean [anthocyanin] of leaves set-current-plot-pen "přilnavost" plot mean [attachedness] of leaves ] end ;; Vrací všechny listy, které ještě neopadly to-report attached-leaves report leaves with [attachedness > 0] end ;; Mění zobrazení listu podle toho, zda jsou více či méně plný zvolených chemických látek. to set-shape-for-value [value] ifelse value > 75 [ set shape "default" ] [ ifelse value <= 25 [ set shape "default one-quarter" ] [ ifelse value <= 50 [ set shape "default half" ] [ set shape "default three-quarter" ]]] end ; *** NetLogo 4.0.3 Model Copyright Notice *** ; ; Copyright 2005 by Uri Wilensky. All rights reserved. ; ; Permission to use, modify or redistribute this model is hereby granted, ; provided that both of the following requirements are followed: ; a) this copyright notice is included. ; b) this model will not be redistributed for profit without permission ; from Uri Wilensky. ; Contact Uri Wilensky for appropriate licenses for redistribution for ; profit. ; ; To refer to this model in academic publications, please use: ; Wilensky, U. (2005). NetLogo Autumn model. ; http://ccl.northwestern.edu/netlogo/models/Autumn. ; Center for Connected Learning and Computer-Based Modeling, ; Northwestern University, Evanston, IL. ; ; In other publications, please use: ; Copyright 2005 Uri Wilensky. All rights reserved. ; See http://ccl.northwestern.edu/netlogo/models/Autumn ; for terms of use. ; ; *** End of NetLogo 4.0.3 Model Copyright Notice *** @#$#@#$#@ GRAPHICS-WINDOW 350 154 710 535 17 17 10.0 1 12 1 1 1 0 0 0 1 -17 17 -17 17 1 1 1 ticks SLIDER 12 15 343 48 pocet-listu pocet-listu 1 2500 278 1 1 NIL HORIZONTAL BUTTON 385 16 456 49 Připrav setup NIL 1 T OBSERVER NIL NIL NIL NIL SLIDER 500 79 705 112 sila-vetru sila-vetru 0 10 3 1 1 NIL HORIZONTAL BUTTON 386 54 456 87 Start go T 1 T OBSERVER NIL NIL NIL NIL SLIDER 500 10 707 43 teplota teplota 0 40 10 1 1 stupňů Celsia HORIZONTAL SLIDER 500 44 706 77 intenzita-deste intenzita-deste 0 30 19 1 1 NIL HORIZONTAL SLIDER 500 115 706 148 intenzita-slunce intenzita-slunce 0 100 97 1 1 % HORIZONTAL PLOT 11 151 342 281 Listy čas NIL 0.0 10.0 0.0 100.0 true true PENS "listy" 1.0 0 -10899396 true "mrtvé listy" 1.0 0 -6459832 true PLOT 11 282 343 402 Počasí čas NIL 0.0 10.0 0.0 10.0 true true PENS "teplota" 1.0 0 -2674135 true "déšť" 1.0 0 -13345367 true "vítr" 1.0 0 -16777216 true "sluneční svit" 1.0 0 -1184463 true PLOT 11 401 342 532 Charakteristiky listů (průměry) čas NIL 0.0 10.0 0.0 10.0 true true PENS "chlorofyl" 1.0 0 -10899396 true "voda" 1.0 0 -13345367 true "cukr" 1.0 0 -7500403 true "karoten" 1.0 0 -1184463 true "anthokyaniny" 1.0 0 -2674135 true "přilnavost" 1.0 0 -16777216 true SLIDER 68 60 276 93 pocatecni-cukr-str-hodnota pocatecni-cukr-str-hodnota 0 100 50 1 1 NIL HORIZONTAL SLIDER 68 101 276 134 pocatecni-cukr-smer-odchylka pocatecni-cukr-smer-odchylka 0 50 25 1 1 NIL HORIZONTAL CHOOSER 351 102 495 147 zobrazeni-listu zobrazeni-listu "pevné" "chlorofyl" "voda" "cukr" "karoten" "anthokyaniny" "přilnavost" 0 @#$#@#$#@ CO TO JE? --------- Pokud žijete v podnebí, kde se střídají horká léta s chladnými zimními obdobími, pak zřejmě znáte překrásný podzimní jev, při kterém listy mění barvy předtím, než uhynou a opadnou ze stromů. Tento model simuluje proces, ve kterém dochází ke změnám barvy a opadávání, čímž umožňuje prozkoumat a pochopit tuto nádhernou každoroční podívanou. JAK TO FUNGUJE? --------------- Důvody, proč a jak listy mění svou barvu a opadají, jsou překvapivě složité a souvisí s kombinací slunečního svitu, tepla a deště. (Listy mohou být také odfouknuty silným větrem, dokonce, i když ještě nezačaly měnit barvu, tudíž vítr také hraje svoji roli.) Barvy, které lze pozorovat na stonku každého listu, jsou způsobeny přítomností látek, které jsou tvořeny a uloženy v každém listu. Celkem tři látky ovlivňují barvu listů. Zelenou barvu způsobuje chlorofyl (nebo množina příbuzných látek, známá jako chlorofyly), který přeměňuje sluneční světlo a vodu na cukr. Molekuly chlorofylu jsou ničeny a nejsou obnovovány, pokud jsou vystaveny nadměrnému slunečnímu svitu a nízkým teplotám. Proto studené a slunečné podzimní dny způsobují pokles koncentrace chlorofylu. Celková koncentrace chlorofylu roste s množstvím slunečního světla (dokud ho není příliš mnoho) za přítomnosti dostatku vody. Žlutá barva je způsobena látkou s názvem karoten. Molekuly karotenu mimo jiné zapříčiňují také typické zbarvení mrkve. Koncentrace karotenu zůstává v průběhu života každého listu konstantní. Přesto je žlutá barva často překryta zelenou barvou chlorofylu. List s vysokou hladinou chlorofylu (typicky v létě) bude zcela zelená, ačkoliv bude obsahovat odstíny žluté, maskované zelenou barvou. Jak postupně chlorofylu ubývá, stává se přítomnost karotenu stále více nápadná, až je nakonec celý list žlutý. Červenou barvu způsobuje látka nazvaná anthokyanin. Molekuly anthokyaninu jsou vytvářeny za přítomnosti vysoké koncentrace cukru a vody v listech. (Čím vyšší je koncentrace cukru, tím více je vytvořeno anthokyaninu.) Koncentrace cukru se zvyšuje, když studené počasí způsobí uzavření oběhu vody do zbytku stromu; voda a cukr jsou pak zachyceny v listu a přeměněny v anthokyaniny. V každém časovém kroku modelu probíhají dva procesy: 1) počasí (déšť, vítr, slunce) působí na listy, čímž pozitivně či negativně ovlivňuje hladiny cukru, vody a chlorofylu; 2) listy reagují na své vnější prostředí, vytvářejí dle aktuální situace anthokyaniny a mění barvu. Voda se nedostává do listů přímo, ale je absorbována kořeny stromu, ze kterých putuje kmenem do větví a dále do listů. V tomto modelu se předpokládá, že je celá zobrazená země protkána kořeny a veškeré kapky deště jsou vstřebány do kmene stromu, jakmile dopadnou na zem. Stejným způsobem putují veškeré kapky vody kmenem do větvení stromu (které v modelu není znázorněno) a následně do listů. Listy v sobě zadržují vodu z dešťových kapek. Kapky zmizí ve chvíli, kdy již neobsahují žádnou vodu. Listy v modelu mají vlastnost „přilnavost“, která určuje, jak silně je list přichycen ke stromu. Přilnavost se zvyšuje s množstvím vody a je snížena během deště a větru. (Za velmi větrného dne mohou být listy odfouknuty, i když jsou ještě úplně zelené.) Protože paleta barev NetLoga neobsahuje všechny potřebné odstíny barev, využívá tento model algoritmus pro výpočet prahových hodnot, při kterých dojde ke změnám barvy (jako odhad namísto skutečných barev). Pokud je hladina chlorofylu více než 50%, list je zelený. Pod touto hranicí získává list žluté, červené a oranžové barevné odstíny v závislosti na koncentraci karotenu a anthokyaninů. Všimněte si, že se sytost každé barvy mění podle hladiny chlorofylu, karotenu a/nebo anthokyaninů. Proto chlorofylem nasycené stromy mají tmavě zelené listy, zatímco ty s nižší koncentrací mají listy se světlými odstíny zelené barvy. JAK MODEL OVLÁDAT ----------------- Před spuštěním modelu stiskněte tlačítko PŘIPRAV. Tím vytvoříte v modelu kmen s větvemi a zároveň tím dojde k vytvoření listů, které jsou hlavními agenty v tomto modelu. Tlačítkem START uvedete model do pohybu. Teď přichází ta zajímavá část, kterou je nastavování posuvníků v uživatelském rozhranní. Tím vytvoříte potřebné podmínky, které chcete zkoumat. Pokud listy vypadají, že ztrácí chlorofyl v důsledku nedostatku vody (jejíž úroveň můžete sledovat v grafu „Charakteristiky listů (průměry)“, můžete ovlivnit její množství pomocí posuvníku INTENZITA-DESTE. Posuvníkem SILA-VETRU zase můžete zapojit do modelu vliv větru. Sílu slunce (ve smyslu intenzity slunečního světla) lze nastavit pomocí posuvníku INTENZITA-SLUNCE. Jak bylo zmíněno výše, listy potřebují sluneční svit k vytváření chlorofylu a cukru -- avšak příliš mnoho slunečního svitu může naopak způsobit zničení těchto chemických látek. Nakonec změňte hodnotu posuvníku TEPLOTA. Pokud je teplota příliš nízká, dojde k rozpadu molekul chlorofylu na úkor tvorby anthokyaninů. Poté, co si osvojíte základní ovládání modelu, můžete se věnovat nastavení dvou posuvníků v levém horním rohu - POCATECNI-CUKR-STR-HODNOTA a POCATECNI-CUKR-SMER-ODCHYLKA, které mají vliv na střední hodnotu a rozptyl počáteční distribuce cukru mezi jednotlivé listy. Kupříkladu javorové listy mají sklon začínat s vyšší koncentrací cukru, která způsobuje červenější zbarvení než u ostatních listů při jinak stejných podmínkách. Pomocí ZOBRAZENI-LISTU lze změnit způsoby zobrazení listů. Normálně má každý list pevnou barvu podle standardních agentů (želv) v NetLogu. V tomto případě je ZOBRAZENI-LISTU nastaveno na „pevné“. Ostatní hodnoty tohoto nastavení zobrazují listy v prázdném, poloprázdném a plném tvaru v závislosti na proměnné, kterou mají zobrazovat. Pokud tedy například ZOBRAZENI-LISTU nastavíte na „voda“, bude každý z listů zobrazen jako prázdný (pokud má málo vody), poloprázdný (pokud má o trochu více vody), nebo plný (pokud je relativně plný vody). VŠIMNĚTE SI ----------- Listy absorbují vodu, když na ně dopadají dešťové kapky -- to znamená, že mírný déšť a vysoký počet listů způsobí, že dešťová voda nepronikne k „vnitřním“ listům koruny. Čím silnější vítr, tím více se každý list třese (a tím má také větší šanci opadnout). Můžete simulovat dopad menšího hurikánu pomocí nastavení síly větru a deště na jejich maximální hodnoty. Sledujte, jak všechny listy naráz opadnou! VYZKOUŠEJTE SI -------------- Dokážete zařídit, aby všechny listy zčervenaly předtím, než opadnou? Dokážete to samé s oranžovou barvou? A co se žlutou? Nyní zkuste vše zkombinovat tak, aby ten samý strom měl listy více různých barev. (Nápověda: Budete pravděpodobně muset několikrát upravit hodnoty posuvníků určujících vliv slunce, deště a teploty, abyste dosáhli správné kombinace.) Pokuste se změnit barvu listů na žlutou a poté opět na zelenou. V některých podnebných pásech stromy vůbec neztrácejí své listy. Dokážete přizpůsobit počasí tak, aby na stromě zůstaly alespoň některé z jeho listů? ROZŠÍŘENÍ MODELU ---------------- Ve skutečném životě listy vystavené přímému slunci mají sklon k tomu, aby byly více žluté než ty, které přímému slunci vystavené nejsou. Upravte model tak, aby bylo možné vybrat (a měnit) pozici slunce. Přidejte navíc podmínku, určující, že listy vystavené přímému slunci jsou více citlivé na jeho světlo než ty, které přímému světlu vystavené nejsou. Model je velmi zjednodušený, co se týče pojetí vody a cukru - a to konkrétně tak, že veškerá voda pochází z deště, kapky deště mohou působit na více listů a mizí po dopadu na zem. Realističtější model by měl umožňovat zmizení kapky po její dopadu na list, ale zároveň by měl dovolit vodě proudit ze země skrz kmen a větve. Více realistický model by měl také obsahovat proces přenášení cukrů mezi listy a ukládání přebytečného cukru v kořenech stromu. Přidejte do modelu pučení a růst nových listů, které budou nahrazovat mrtvé a odpadlé listy. Upravte model zavedením cyklického střídání dne a noci, při kterém vždy na několik časových kroků klesne teplota a zapadne slunce. Ve tmě by pak strom spotřebovával cukry a vytvářel vodu pomocí respirace. PROGRAMOVACÍ ZAJÍMAVOSTI NETLOGA -------------------------------- Jelikož je paleta barev NetLoga neúplná, potřebovali jsme mírně zamaskovat zbarvení listů. Všimněte si, že používáme k nastavení barev prahové hodnoty. To znamená, že v modelu může docházet k náhlým a výrazným změnám barev, pokud je počasí tak trochu extrémní. Všimněte si také, že paleta barev NetLoga a primitivum SCALE-COLOR vytváří barvy v rozsahu od bílé do černé. Jelikož v tomto modelu chceme získat rozdílné barevné odstíny bez toho, abychom se příliš přiblížili černé nebo bílé barvě, používáme primitivum scale-color v intervalu od -50 d 150 namísto běžného rozsahu od 0 do 100. Pokud list „zemře“, jeho rod (breed) se změní na „dead leaves“ (mrtvé listy). Proto je sice stále přítomen v modelu, avšak veškeré příkazy už ovlivňují pouze živé listy. Všimněte si, jak se mění barva slunce při změně hodnoty INENZITA-SLUNCE. Co se stane s popiskem slunce (udávající číselně jeho intenzitu), když slunce ztmavne a zmenší se? SOUVISEJÍCÍ MODELY ------------------ Model Plant Growth (Pěstování rostliny) popisuje v jistých směrech opačný proces - konkrétně to, jak listy rostou (namísto toho, jak listy umírají). PODĚKOVÁNÍ A ODKAZY ---------------------- http://scifun.chem.wisc.edu/chemweek/fallcolr/fallcolr.html http://www.the-scientist.com/article/display/12772/ Poděkování patří Reuvenu Lernerovi za práci na tomto modelu. Při citování tohoto modelu ve vědeckých publikacích použijte prosím následující odkaz: Wilensky, U. (2005). NetLogo Autumn model. http://ccl.northwestern.edu/netlogo/models/Autumn. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. V jiných publikacích uveďte prosím tyto informace: Copyright 2005 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/Autumn for terms of use. @#$#@#$#@ default true 0 Polygon -7500403 true true 150 5 40 250 150 205 260 250 1 true 0 Polygon -7500403 true true 150 7 150 204 203 130 Line -7500403 true 150 7 42 248 Line -7500403 true 41 250 149 204 Line -7500403 true 149 204 259 248 Line -7500403 true 150 8 260 249 Polygon -7500403 true true 150 8 150 205 42 252 airplane true 0 Polygon -7500403 true true 150 0 135 15 120 60 120 105 15 165 15 195 120 180 135 240 105 270 120 285 150 270 180 285 210 270 165 240 180 180 285 195 285 165 180 105 180 60 165 15 arrow true 0 Polygon -7500403 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150 box false 0 Polygon -7500403 true true 150 285 285 225 285 75 150 135 Polygon -7500403 true true 150 135 15 75 150 15 285 75 Polygon -7500403 true true 15 75 15 225 150 285 150 135 Line -16777216 false 150 285 150 135 Line -16777216 false 150 135 15 75 Line -16777216 false 150 135 285 75 bug true 0 Circle -7500403 true true 96 182 108 Circle -7500403 true true 110 127 80 Circle -7500403 true true 110 75 80 Line -7500403 true 150 100 80 30 Line -7500403 true 150 100 220 30 butterfly true 0 Polygon -7500403 true true 150 165 209 199 225 225 225 255 195 270 165 255 150 240 Polygon -7500403 true true 150 165 89 198 75 225 75 255 105 270 135 255 150 240 Polygon -7500403 true true 139 148 100 105 55 90 25 90 10 105 10 135 25 180 40 195 85 194 139 163 Polygon -7500403 true true 162 150 200 105 245 90 275 90 290 105 290 135 275 180 260 195 215 195 162 165 Polygon -16777216 true false 150 255 135 225 120 150 135 120 150 105 165 120 180 150 165 225 Circle -16777216 true false 135 90 30 Line -16777216 false 150 105 195 60 Line -16777216 false 150 105 105 60 car false 0 Polygon -7500403 true true 300 180 279 164 261 144 240 135 226 132 213 106 203 84 185 63 159 50 135 50 75 60 0 150 0 165 0 225 300 225 300 180 Circle -16777216 true false 180 180 90 Circle -16777216 true false 30 180 90 Polygon -16777216 true false 162 80 132 78 134 135 209 135 194 105 189 96 180 89 Circle -7500403 true true 47 195 58 Circle -7500403 true true 195 195 58 circle false 0 Circle -7500403 true true 0 0 300 circle 2 false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 cow false 0 Polygon -7500403 true true 200 193 197 249 179 249 177 196 166 187 140 189 93 191 78 179 72 211 49 209 48 181 37 149 25 120 25 89 45 72 103 84 179 75 198 76 252 64 272 81 293 103 285 121 255 121 242 118 224 167 Polygon -7500403 true true 73 210 86 251 62 249 48 208 Polygon -7500403 true true 25 114 16 195 9 204 23 213 25 200 39 123 cylinder false 0 Circle -7500403 true true 0 0 300 default empty true 0 Line -7500403 true 150 7 42 248 Line -7500403 true 41 250 149 204 Line -7500403 true 149 204 259 248 Line -7500403 true 150 8 260 249 default half true 0 Line -7500403 true 150 7 42 248 Line -7500403 true 41 250 149 204 Line -7500403 true 149 204 259 248 Line -7500403 true 150 8 260 249 Polygon -7500403 true true 150 7 150 204 42 251 default one-quarter true 0 Line -7500403 true 150 7 42 248 Line -7500403 true 41 250 149 204 Line -7500403 true 149 204 259 248 Line -7500403 true 150 8 260 249 Polygon -7500403 true true 91 133 151 203 42 252 default three-quarter true 0 Line -7500403 true 150 7 42 248 Line -7500403 true 41 250 149 204 Line -7500403 true 149 204 259 248 Line -7500403 true 150 8 260 249 Polygon -7500403 true true 150 7 150 204 211 140 Polygon -7500403 true true 150 7 150 204 42 251 dot false 0 Circle -7500403 true true 90 90 120 face happy false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 255 90 239 62 213 47 191 67 179 90 203 109 218 150 225 192 218 210 203 227 181 251 194 236 217 212 240 face neutral false 0 Circle -7500403 true true 8 7 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Rectangle -16777216 true false 60 195 240 225 face sad false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 168 90 184 62 210 47 232 67 244 90 220 109 205 150 198 192 205 210 220 227 242 251 229 236 206 212 183 fish false 0 Polygon -1 true false 44 131 21 87 15 86 0 120 15 150 0 180 13 214 20 212 45 166 Polygon -1 true false 135 195 119 235 95 218 76 210 46 204 60 165 Polygon -1 true false 75 45 83 77 71 103 86 114 166 78 135 60 Polygon -7500403 true true 30 136 151 77 226 81 280 119 292 146 292 160 287 170 270 195 195 210 151 212 30 166 Circle -16777216 true false 215 106 30 flag false 0 Rectangle -7500403 true true 60 15 75 300 Polygon -7500403 true true 90 150 270 90 90 30 Line -7500403 true 75 135 90 135 Line -7500403 true 75 45 90 45 flower false 0 Polygon -10899396 true false 135 120 165 165 180 210 180 240 150 300 165 300 195 240 195 195 165 135 Circle -7500403 true true 85 132 38 Circle -7500403 true true 130 147 38 Circle -7500403 true true 192 85 38 Circle -7500403 true true 85 40 38 Circle -7500403 true true 177 40 38 Circle -7500403 true true 177 132 38 Circle -7500403 true true 70 85 38 Circle -7500403 true true 130 25 38 Circle -7500403 true true 96 51 108 Circle -16777216 true false 113 68 74 Polygon -10899396 true false 189 233 219 188 249 173 279 188 234 218 Polygon -10899396 true false 180 255 150 210 105 210 75 240 135 240 house false 0 Rectangle -7500403 true true 45 120 255 285 Rectangle -16777216 true false 120 210 180 285 Polygon -7500403 true true 15 120 150 15 285 120 Line -16777216 false 30 120 270 120 leaf false 0 Polygon -7500403 true true 150 210 135 195 120 210 60 210 30 195 60 180 60 165 15 135 30 120 15 105 40 104 45 90 60 90 90 105 105 120 120 120 105 60 120 60 135 30 150 15 165 30 180 60 195 60 180 120 195 120 210 105 240 90 255 90 263 104 285 105 270 120 285 135 240 165 240 180 270 195 240 210 180 210 165 195 Polygon -7500403 true true 135 195 135 240 120 255 105 255 105 285 135 285 165 240 165 195 line true 0 Line -7500403 true 150 0 150 300 line half true 0 Line -7500403 true 150 0 150 150 pentagon false 0 Polygon -7500403 true true 150 15 15 120 60 285 240 285 285 120 person false 0 Circle -7500403 true true 110 5 80 Polygon -7500403 true true 105 90 120 195 90 285 105 300 135 300 150 225 165 300 195 300 210 285 180 195 195 90 Rectangle -7500403 true true 127 79 172 94 Polygon -7500403 true true 195 90 240 150 225 180 165 105 Polygon -7500403 true true 105 90 60 150 75 180 135 105 plant false 0 Rectangle -7500403 true true 135 90 165 300 Polygon -7500403 true true 135 255 90 210 45 195 75 255 135 285 Polygon -7500403 true true 165 255 210 210 255 195 225 255 165 285 Polygon -7500403 true true 135 180 90 135 45 120 75 180 135 210 Polygon -7500403 true true 165 180 165 210 225 180 255 120 210 135 Polygon -7500403 true true 135 105 90 60 45 45 75 105 135 135 Polygon -7500403 true true 165 105 165 135 225 105 255 45 210 60 Polygon -7500403 true true 135 90 120 45 150 15 180 45 165 90 square false 0 Rectangle -7500403 true true 30 30 270 270 square 2 false 0 Rectangle -7500403 true true 30 30 270 270 Rectangle -16777216 true false 60 60 240 240 star false 0 Polygon -7500403 true true 151 1 185 108 298 108 207 175 242 282 151 216 59 282 94 175 3 108 116 108 target false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 Circle -7500403 true true 60 60 180 Circle -16777216 true false 90 90 120 Circle -7500403 true true 120 120 60 tree false 0 Circle -7500403 true true 118 3 94 Rectangle -6459832 true false 120 195 180 300 Circle -7500403 true true 65 21 108 Circle -7500403 true true 116 41 127 Circle -7500403 true true 45 90 120 Circle -7500403 true true 104 74 152 triangle false 0 Polygon -7500403 true true 150 30 15 255 285 255 triangle 2 false 0 Polygon -7500403 true true 150 30 15 255 285 255 Polygon -16777216 true false 151 99 225 223 75 224 truck false 0 Rectangle -7500403 true true 4 45 195 187 Polygon -7500403 true true 296 193 296 150 259 134 244 104 208 104 207 194 Rectangle -1 true false 195 60 195 105 Polygon -16777216 true false 238 112 252 141 219 141 218 112 Circle -16777216 true false 234 174 42 Rectangle -7500403 true true 181 185 214 194 Circle -16777216 true false 144 174 42 Circle -16777216 true false 24 174 42 Circle -7500403 false true 24 174 42 Circle -7500403 false true 144 174 42 Circle -7500403 false true 234 174 42 turtle true 0 Polygon -10899396 true false 215 204 240 233 246 254 228 266 215 252 193 210 Polygon -10899396 true false 195 90 225 75 245 75 260 89 269 108 261 124 240 105 225 105 210 105 Polygon -10899396 true false 105 90 75 75 55 75 40 89 31 108 39 124 60 105 75 105 90 105 Polygon -10899396 true false 132 85 134 64 107 51 108 17 150 2 192 18 192 52 169 65 172 87 Polygon -10899396 true false 85 204 60 233 54 254 72 266 85 252 107 210 Polygon -7500403 true true 119 75 179 75 209 101 224 135 220 225 175 261 128 261 81 224 74 135 88 99 wheel false 0 Circle -7500403 true true 3 3 294 Circle -16777216 true false 30 30 240 Line -7500403 true 150 285 150 15 Line -7500403 true 15 150 285 150 Circle -7500403 true true 120 120 60 Line -7500403 true 216 40 79 269 Line -7500403 true 40 84 269 221 Line -7500403 true 40 216 269 79 Line -7500403 true 84 40 221 269 x false 0 Polygon -7500403 true true 270 75 225 30 30 225 75 270 Polygon -7500403 true true 30 75 75 30 270 225 225 270 @#$#@#$#@ NetLogo 4.1 @#$#@#$#@ setup repeat 30 [ go ] @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ default 0.0 -0.2 0 0.0 1.0 0.0 1 1.0 0.0 0.2 0 0.0 1.0 link direction true 0 Line -7500403 true 150 150 90 180 Line -7500403 true 150 150 210 180 @#$#@#$#@ 0 @#$#@#$#@