NETLOGO исправляет квадраты и прямоугольники - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь создать квадраты и прямоугольники с заплатами на netlogo, с переменными x (pxcor) y (pycor) w (ширина) l (длина). Я написал

ask patch random w random h [set pcolor blue]

и смог создать правильные прямоугольники и квадраты с длинами и ширинами, которые я ввожу, но они всегда отображаются с левым нижним углом в 0, 0. Как я могу создать эти фигуры и сделать так, чтобы они отображались с верхним левым углом x и у координаты, которые я ввожу. Пожалуйста, любая помощь будет оценена

1 Ответ

0 голосов
/ 11 ноября 2018

Фактически, ваш код указывает NetLogo, чтобы он включал ОДИН патч синего цвета, а не прямоугольник патчей.Это связано с тем, что random w выбирает случайное число от 0 до (w-1), а random h выбирает случайное число от 0 до (h-1).Если два выбранных случайных числа равны 3 и 2, вы говорите NetLogo изменить цвет patch 3 2 на синий.

Если вы на самом деле получаете прямоугольники, вы должны повторно выбирать один случайный патч,но это не в предоставленном вами коде.

В NetLogo патч 0 0 является центром мира (хотя это можно изменить с помощью настроек).Подумай о том, что ты пытаешься сделать.Если вы хотите, чтобы (0,0) был верхним левым углом, тогда вы хотите, чтобы прямоугольник покрывал пространство от pxcor от 0 до w и pycor от -h до 0 (возможно, различное, в зависимости от того, хотите ли вы0,0 в прямоугольнике).

Итак, вы хотите что-то похожее на:

ask patches with [pxcor <= 3 and pxcor > 0 and pycor < 0 and pycor >= -2]
[ set pcolor blue ]
...