Diffusion Graphics

Diffusion Graphics preview image

1 collaborator

Uri_dolphin3 Uri Wilensky (Author)

Tags

art 

Tagged by Reuven M. Lerner over 11 years ago

Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 457 times • Downloaded 80 times • Run 0 times
Download the 'Diffusion Graphics' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

Diffusion Graphics is unlike most other NetLogo models, in that it really doesn't 'model' anything. It simply explores the power behind an interesting patch primitive: 'diffuse'.

It's not intended to closely model real heat, just a number that behaves something like heat -- that slowly spreads itself evenly across a plane.

HOW IT WORKS

In this model, the turtles are "hot spots" -- they set a certain value (a patch variable called 'heat') to the maximum level every time step. Each patch (through the 'diffuse' primitive) then shares its value of 'heat' with its surrounding patches.

Here you can watch what happens as hot-spots interact with each other, as they move around, as their values become negative, or as the 'heat' slowly decays down to nothing. The whole point of the project is to give you an idea how patches interact via the 'diffuse' primitive. (Or maybe just to give you something nice to stare at if you're bored.)

HOW TO USE IT

Two buttons, SETUP and GO, control execution of the model. As in most NetLogo models, the SETUP button will initialize the 'hot-spots' and other variables, preparing the model to be run. The GO button, a forever button, will then run the model.

Four sliders and two switches determine the various properties of the model. Each of them can be set prior to initialization; most can be used mid-run to affect what will happen.

NUM-TURTLES determines how many turtles there are. TURTLE-SPEED determines how fast they move. Each turtle sets the 'heat' of the patch it is over to TURTLE-HEAT. Then that patch diffuses it into the nearby patches.

The DIFFUSION-RATE slider is the rate at which the colors diffuse out from each patch. All patches diffuse their color value to their neighbors each time step. DIFFUSION-RATE is simply the fraction of this color leaked out.

The WANDER? switch, if on, allows the turtles to move around the view. If the switch is off, the turtles will stay rooted in place.

THINGS TO NOTICE

Mainly what Diffusion Graphics will show you is how patch-color is diffused in NetLogo. The graphical display may evoke fractal imagery, or a topographical landscape. Diffusion Graphics really does bring about a topography of sorts, with the turtles being peaks, and the darkest colors being valleys. The model essentially tries to then smooth out these differences.

Let the model run for a while with WANDER all off (all set to 0). Watch what happens to the 'terrain'. What do you predict will eventually happen?

This model was built to please. Just play around with the sliders and switches. Later, try altering the code and see what works (and what doesn't work, too).

THINGS TO TRY

Try setting TURTLE-HEAT to a very large number. What happens? What does this show you about NetLogo's color model?

Try setting TURTLE-HEAT to a negative number. What happens? What does this show you about NetLogo's color model?

Try setting the patch size to a small number for a richer display. Or make the patch size large, for a "zoomed in" perspective.

EXTENDING THE MODEL

Change it so that the NUM-TURTLES slider will the change the number of turtles on the fly, instead of requiring you to hit SETUP.

Currently the position of each turtle is determined randomly at setup. Change the model so that the user may position turtles with the mouse.

Color the patches a different way, perhaps along the traditional ROY-G-BIV (red, orange, yellow, green, blue, indigo, violet) spectrum.

NETLOGO FEATURES

The Diffusion Graphics model was designed around the diffuse primitive. diffuse is an observer primitive that takes two inputs, a patch variable and a number. diffuse makes all the patches share that patch variable with their eight neighbors. The second input is a number between 0 and 1.0 determines what fraction of the patch variable is shared. (In this model, the amount shared is controlled by the CHANGE-RATE slider.) So for example, if I ask the observer to diffuse heat 0.5, the observer tells each patch to give half of heat to the eight other patches. If a patch had 80 to begin with, then it keeps 40 and gives 5 away to each neighbor. The total value of heat for all the patches remains constant.

There is also a 'diffuse4' primitive where the patches only share with their neighbors in the north, south, east, and west directions, not with their diagonal neighbors.

RELATED MODELS

Diffusion (models real heat more closely)

HOW TO CITE

If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:

COPYRIGHT AND LICENSE

Copyright 1997 Uri Wilensky.

CC BY-NC-SA 3.0

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.

This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.

This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2001.

Comments and Questions

Click to Run Model

patches-own [ heat ]

to setup
  clear-all
  set-default-shape turtles "circle"
  create-turtles num-turtles   ; each turtle is like a heat source
  [ setxy random-xcor random-ycor     ; position the turtles randomly
    hide-turtle   ; so we don't see the turtles themselves, just the heat they produce
    set heat turtle-heat ] ; turtles set the patch variable
  recolor-patches                       ; color patches according to heat
  reset-ticks
end 

to go
  ask turtles [ set heat turtle-heat ]   ; turtles set the patch variable
  if wander? [ ask turtles [ wander ] ]  ; movement of turtles is controlled by WANDER? switch
  diffuse heat diffusion-rate            ; this causes the "spreading" of heat
  recolor-patches                        ; color patches according to heat
  tick
end 

to wander ; turtle procedure
  rt random 50 - random 50
  fd turtle-speed
end 

to recolor-patches  ;; color patches according to heat
  ask patches [ set pcolor heat ]
end 


; Copyright 1997 Uri Wilensky.
; See Info tab for full copyright and license.

There are 10 versions of this model.

Uploaded by When Description Download
Uri Wilensky over 11 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky about 12 years ago Updated version tag Download this version
Uri Wilensky about 12 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky almost 13 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky over 14 years ago Diffusion Graphics Download this version

Attached files

File Type Description Last updated
Diffusion Graphics.png preview Preview for 'Diffusion Graphics' over 11 years ago, by Uri Wilensky Download

This model does not have any ancestors.

This model does not have any descendants.