Пятна NetLogo
Материал из Letopisi.Ru — «Время вернуться домой»
Пятна - точки - patches
Агенты НетЛого, которые связаны с конкретными координатами на экране. К точке всегда можно обратится. Например:
- ask patch 0 0 [set pcolor yellow]
Ограничения для пятен
- Пятно не может умереть - невозможно велеть пятну умереть.
- Невозможно создать новое пятно. Пятно не может hatch. Однако, пятно может родить новую черепашку sprout или черепашку какой-то специальной породы sprout-breed - По команде sprout в данной точке появляется черепашка
Команды для пятен
- clear-patches (cp)
- Очистить, стереть все пятна и вернуть их в исходное значение - черный цвет
- diffuse patch-variable number
- значение переменной раздается на ближайших соседей - диффузия цвета, запаха на поверхности
- diffuse4 patch-variable number
- значение переменной раздается на 4-х соседей - ближайшие соседние точки по прямой
- import-pcolors
- считать цвета из файла - картинки
- patch-at dx dy
- пятно с координатами относительно данного агента
- Например, ask patch 2 5 [set pcolor yellow ask patch-at 2 2 [set pcolor red]]
- patch-left-and-ahead angle distance
- пятно слева и сверху
- patch-at-heading-and-distance
- пятно по направлению и на расстоянии
- ask patch-at-heading-and-distance -90 1 [ set pcolor green ]
Примеры команд и процедур с пятнами
- Окрасить все пятна в зависимости от расстояния до центра
- ask patches [set pcolor distancexy 0 0]
- Покрасить точки вокруг центральной точки в зеленый цвет
- ask patch 0 0 [set pcolor yellow ]
- ask patch 0 0 [set pcolor yellow ask neighbors4 [ set pcolor green ]]
- ask patch 0 0 [set pcolor yellow ask neighbors4 [ set pcolor green ask neighbors [set pcolor red] ]]
- и так далее, если хотим перекрашивать соседей