在具有固定半径的地图上绘制圆圈

时间:2017-03-15 23:06:19

标签: draw netlogo geometry

我不确定这是否可行,但我想在坐标为[x,y]的地图上的位置绘制半径为r的圆圈 所有变量都是已知的。它的字面意思是在地图上绘制/显示圆圈的功能/程序,我不确定。 理想情况下,我不想让乌龟画它而不是通过着色贴片来获得它。 任何想法都会有所帮助感谢。

2 个答案:

答案 0 :(得分:3)

我建议你:

  • 制作一只新龟
  • 将其形状设置为圆形
  • 将其定位在您想要的位置并适当设置其大小
  • stamp
  • die

Presto,你现在在绘图层中有一个圆圈。

答案 1 :(得分:2)

正如我在评论中提到的,我不知道在没有乌龟的情况下绘制图层的方法(或者GIS扩展,这会更加复杂)。因此,如果您最终决定使用乌龟,可以查看模型库中的Turtles Circling模型以获取详细信息。您还可以查看下面的代码,了解根据您选择的色块坐标和圆半径绘制圆形的乌龟的简单示例。

to circle

  let cx 0                ;; x coordinate of patch you want to circle
  let cy 0                ;; y coordinate of patch you want to circle
  let r 10                ;; radius of the circle you want
  let p2r ( 2 * pi * r )  ;; get circumference of the circle
  let step p2r / 360      ;; make step lengths 1/360th of the circumference

  crt 1 [                 ;; create a single drawing turtle
    setxy cx + r cy       ;; move it to the highlight patch + the radius
    pd                    ;; put the pen down
    set heading 0         ;; make it face along the tangent
    while [ p2r > 0 ] [   ;; make the turtle continue to move until the circle is drawn
      lt 1                
      fd step            
      set p2r p2r - step    
    ]
    die                   ;; remove the turtle
  ]

end