Les 4 Modelleren in Netlogo 1

Doel
Je kunt in Netlogo een nieuw model aanmaken én de eigenschappen van de modelwereld aanpassen (grootte, randgedrag)
1 / 28
suivant
Slide 1: Diapositive
InformatievaardighedenMiddelbare schoolvwoLeerjaar 5

Cette leçon contient 28 diapositives, avec quiz interactifs et diapositives de texte.

time-iconLa durée de la leçon est: 60 min

Éléments de cette leçon

Doel
Je kunt in Netlogo een nieuw model aanmaken én de eigenschappen van de modelwereld aanpassen (grootte, randgedrag)

Slide 1 - Diapositive

rechtermuis -> edit

Slide 2 - Diapositive

grootte wereld
Het midden van je speelveld heeft het coördinaat (0,0). Je kunt je het speelveld voorstellen als een vlak met tegels. Deze tegels noemen we in Netlogo ‘patches’. Hoeveel patches er links en rechts van het centrum liggen stel je in met max-pxcor (breedte) en max-pycor (hoogte).

Slide 3 - Diapositive

Randgedrag instellen
Het randgedrag van het model bepaalt hoe 'turtles' door je model bewegen. Turtles zijn bijvoorbeeld mensen. Daar kun je ook moleculen, planeten of auto’s van maken.
Onder het zwarte vlak zitten ook de checkboxen ‘wraps world horizontally’ en ‘wraps world vertically’. Als je de vinkjes aanzet dan komt een turtle die rechts van het veld verdwijnt aan de linkerkant weer tevoorschijn. Staan de vinkjes uit, dan zijn de randen gesloten

Slide 4 - Diapositive

Maak een wereld van 50x50 met de oorsprong (origin) linksonder en gesloten randen. Upload een screenshot van de instellingen. (windows: knipprogramma, mac: shift-cmnd-4)

Slide 5 - Question ouverte

Doel
Je kunt een knop maken in netlogo en daar een procedure (commando) aan koppelen.

Je maakt een 'setup'  knop waarmee een model wordt klaargezet.

Slide 6 - Diapositive

Knop toevoegen
1. In de interface druk je op het knopje ‘Add’
2. Selecteer ‘button’ in het dropdown menu
3. Klik in het witte gedeelt van je interface om aan te geven waar je ‘m wil hebben
4. Er verschijnt een nieuw venster, schrijf ‘setup’ in het vakje ‘commands’
5. Druk op OK, en je knop is aangemaakt

Slide 7 - Diapositive

Procedure
. Deze begint met ‘to’ en eindigt met ‘end’. De naam van de procedure staat achter ‘to’. 

Een procedure is een lijstje instructies die het programma één voor één moet uitvoeren als het commando voor deze procedure wordt gegeven (in dit geval door op de knop setup te drukken).

Slide 8 - Diapositive

Welke instructies gaan we gebruiken?
Het commando clear-all gebruik je waarschijnlijk alleen in de setup-procedure, hiermee wis je het geheugen van het model. Alle patches, turtles en hun eigenschappen zijn nu gedelete. Je begint dus met een schone lei.
Met Ask kun je patches of turtles vragen iets te doen (en dat doen ze dan ook). In dit geval vraag ik iets aan alle patches. Met de blokhaken openen en sluiten geef je aan waar de commando’s voor deze vraag beginnen en eindigen.
Met Set kun je voor alle eigenschappen van je patches een waarde instellen. In dit geval doen we dat voor de eigenschap pcolor. Die geven we de waarde groen.
Met een puntcomma kun je aangeven dat de tekst daarachter commentaar is. Dit wordt dan niet door het model gelezen, maar is wel heel handig voor anderen om te begrijpen wat je hebt gecodeert.

Slide 9 - Diapositive

procedure
open het tabblad "code"

type de code op de volgende pagina

'als het goed is krijg je een groen vlak als je op setup drukt.'

Slide 10 - Diapositive

Slide 11 - Diapositive

Debuggen
In het tabblad code kun je op "check" drukken. Het model geeft dan aan welke fout in de code hij het eerst tegenkomt. Hij geeft dan ook aan wat het probleem is.

veel voorkomende fouten:
  • hoofdletters/kleine letters
  • spaties niet gezet
  • blokhaken niet juist geopend en gesloten
  • spelfouten (streepjes) 

Slide 12 - Diapositive

Maak een setup en go knop. Geef de patches een kleur (niet groen). Maak een plaatje van het resultaat.

Slide 13 - Question ouverte

Doel
Je kunt met behulp van logische regels verschillende opdrachten geven aan verschillende patches of turtles.

Slide 14 - Diapositive

meer kleuren kan ook :)

Slide 15 - Diapositive

code uit vorig voorbeeld

Slide 16 - Diapositive

Logische regels
 Het commando if zorgt ervoor dat bepaalde commando’s alleen worden uitgevoerd als een bepaalde stelling waar is. If is een voorbeeld van een commando die de logica en uitvoeringsvolgorde van je model bepaalt. Er zijn er meer. Ze vallen onder de categorie control/logic in de Netlogo commandobibliotheek 

Met AND of OR kun je verschillende stellingen combineren. Met AND moeten beide stellingen waar zijn, voordat het commando wordt uitgevoerd. Met OR moet 1 van beide stellingen waar zijn, voordat het commando wordt uitgevoerd.

Slide 17 - Diapositive

Zoek het commando 'if' op in de commandobibliotheek. Maak vervolgens een wereld met een nederlandse (of andere) vlag als achtergrond. Laat zien dat dit gelukt is.
Tip: Kijk vooral naar de twee bovenste regels in het voorbeeld, die zijn het makkelijkst te begrijpen.

Slide 18 - Question ouverte

Doel
Je kunt met procedures de code leesbaarder maken
 
Je kunt 'turtles' aanmaken én een plek geven in het model

Slide 19 - Diapositive

Vereenvoudigen
De setup procedure hebben we nu ingekort. Als daar teveel commando’s in staan wordt het onoverzichtelijk. Nu weet het model nog niet wat deze commando’s betekenen. Daarvoor maken we dus nieuwe procedures aan (volgende dia)

Slide 20 - Diapositive

Slide 21 - Diapositive

create turtles
Met create-turtles kun je dus turtles maken. Het getal erachter bepaalt hoeveel.
Met “ask turtles [setxy random-xcor random-ycor] wordt dus gevraagd om de coordinaten te wijzigen met behulp van de functie setxy. De X-coordinaten worden op een willekeurig getal ingesteld met random-xcor, de Y-coordinaten met random-ycor.
De juiste syntax (schrijfwijze) en voorbeelden  voor ieder commando vindt je in de Netlogo commandobibliotheek 



Slide 22 - Diapositive

Eigenschappen aanpassen
Je kunt op vergelijkbare manier als met de coördinaten iedere eigenschap van een turtle wijzigen. Welke eigenschappen zijn er?
 
Als je setup hebt uitgevoerd kun je in de interface met de rechtermuisknop een turtle klikken. Bij de turtle kun je dan ‘inspect turtle’ kiezen. Dan zie je alle mogelijke eigenschappen van de turtle, die je dus met Ask en Set zou kunnen aanpassen.
volgende dia

Slide 23 - Diapositive

tabel met eigenschappen van een turtle

Slide 24 - Diapositive

Maak 10 turtles in je Nederlandse vlagmodel
Verander in je code de vorm (‘shape’) en kleur van je turtles. Via Tools -> turtle shape editor kun je zien welke vormen standaard beschikbaar zijn en je kunt zelfs nieuwe maken. De naam van de vorm moet in je code tussen dubbele aanhalingstekens staan.

Slide 25 - Question ouverte

Doel
je kunt turtles laten bewegen

Slide 26 - Diapositive

maken
voeg in na setup
to go
  move-turtles
  tick ; de teller gaat 1 tijdstap omhoog
end
to move-turtles
  ask turtles [
    right random 360 ; kies een random kijkrichting
    forward 1 ; beweeg 1 stap naar voren
  ]
end


Slide 27 - Diapositive


Opdracht: Wat valt je op als je op go drukt, ten opzichte van modellen die je eerder hebt gebruikt? Edit de knop met de rechtermuisknop en vink ‘forever’ aan. Druk nog eens op go.

Opdracht: verander ‘right random 360’, naar ‘set heading 120’ Speel met de getallen, wat verandert er aan het gedrag van het model?

Inzicht opdrachten (laat zien):
• Laat de turtles in een cirkel bewegen. Laat je docent zien dat dat gelukt is.
• Verander de kleur van een patch als er een turtle op staat

Tip: bedenk eerst op papier in normale taal wat je wil dat de turtle elke tijdstap doet, vertaal dat dan naar code.



Slide 28 - Diapositive