Ants (Perspective Demo)
Model was written in NetLogo 5.0.4
•
Viewed 683 times
•
Downloaded 101 times
•
Run 2 times
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This is a version of the Ants model, modified to show off NetLogo's perspective features. Try it in both 2D and 3D.
RELATED MODELS
Ants
CREDITS AND REFERENCES
Comments and Questions
Click to Run Model
patches-own [ chemical ;; amount of chemical on this patch food ;; amount of food on this patch (0, 1, or 2) nest? ;; true on nest patches, false elsewhere nest-scent ;; number that is higher closer to the nest food-source-number ;; number (1, 2, or 3) to identify the food sources ] ;;;;;;;;;;;;;;;;;;;;;;;; ;;; Setup procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;; to setup clear-all set-default-shape turtles "bug" crt population [ set size 2 ;; easier to see set color red ] ;; red = not carrying food setup-patches reset-ticks end to setup-patches ask patches [ setup-nest setup-food recolor-patch ] end to setup-nest ;; patch procedure ;; set nest? variable to true inside the nest, false elsewhere set nest? (distancexy 0 0) < 5 ;; spread a nest-scent over the whole world -- stronger near the nest set nest-scent 200 - distancexy 0 0 end to setup-food ;; patch procedure ;; setup food source one on the right if (distancexy (0.6 * max-pxcor) 0) < 5 [ set food-source-number 1 ] ;; setup food source two on the lower-left if (distancexy (-0.6 * max-pxcor) (-0.6 * max-pycor)) < 5 [ set food-source-number 2 ] ;; setup food source three on the upper-left if (distancexy (-0.8 * max-pxcor) (0.8 * max-pycor)) < 5 [ set food-source-number 3 ] ;; set "food" at sources to either 1 or 2, randomly if food-source-number > 0 [ set food one-of [1 2] ] end to recolor-patch ;; patch procedure ;; give color to nest and food sources ifelse nest? [ set pcolor violet ] [ ifelse food > 0 [ if food-source-number = 1 [ set pcolor cyan ] if food-source-number = 2 [ set pcolor sky ] if food-source-number = 3 [ set pcolor blue ] ] ;; scale color to show chemical concentration [ set pcolor scale-color green chemical 0.1 5 ] ] end ;;;;;;;;;;;;;;;;;;;;; ;;; Go procedures ;;; ;;;;;;;;;;;;;;;;;;;;; to go ;; forever button ask turtles [ if who >= ticks [ stop ] ;; delay initial departure ifelse color = red [ look-for-food ] ;; not carrying food? look for it [ return-to-nest ] ;; carrying food? take it back to nest wiggle fd 1 ] diffuse chemical (diffusion-rate / 100) ask patches [ set chemical chemical * (100 - evaporation-rate) / 100 ;; slowly evaporate chemical recolor-patch ] tick end to return-to-nest ;; turtle procedure ifelse nest? [ ;; drop food and head out again set color red rt 180 ] [ set chemical chemical + 60 ;; drop some chemical uphill-nest-scent ] ;; head toward the greatest value of nest-scent end to look-for-food ;; turtle procedure if food > 0 [ set color orange + 1 ;; pick up food set food food - 1 ;; and reduce the food source rt 180 ;; and turn around stop ] ;; go in the direction where the chemical smell is strongest if (chemical >= 0.05) and (chemical < 2) [ uphill-chemical ] end ;; sniff left and right, and go where the strongest smell is to uphill-chemical ;; turtle procedure let scent-ahead chemical-scent-at-angle 0 let scent-right chemical-scent-at-angle 45 let scent-left chemical-scent-at-angle -45 if (scent-right > scent-ahead) or (scent-left > scent-ahead) [ ifelse scent-right > scent-left [ rt 45 ] [ lt 45 ] ] end ;; sniff left and right, and go where the strongest smell is to uphill-nest-scent ;; turtle procedure let scent-ahead nest-scent-at-angle 0 let scent-right nest-scent-at-angle 45 let scent-left nest-scent-at-angle -45 if (scent-right > scent-ahead) or (scent-left > scent-ahead) [ ifelse scent-right > scent-left [ rt 45 ] [ lt 45 ] ] end to wiggle ;; turtle procedure rt random 40 lt random 40 if not can-move? 1 [ rt 180 ] end to-report nest-scent-at-angle [angle] let p patch-right-and-ahead angle 1 if p = nobody [ report 0 ] report [nest-scent] of p end to-report chemical-scent-at-angle [angle] let p patch-right-and-ahead angle 1 if p = nobody [ report 0 ] report [chemical] of p end ; Copyright 1998 Uri Wilensky. ; See Info tab for full copyright and license.
There are 6 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Ants (Perspective Demo).png | preview | Preview for 'Ants (Perspective Demo)' | over 12 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.