2015-01-21 41 views
2

創建一個半圓這裏是我的代碼在海龜盤旋例子發現,在模型庫:中的NetLogo

to create-circle 
    create-turtles 1 
    [ move-to patch-goal 
     set color gray - 3 
     set size 4.5 
     set shape "circle" 
     stamp 
     die ] 
end 

除非你改變烏龜的形狀,這不能用於創建一個半圓,這似乎幼稚。 如何創建一個以補丁爲中心的半圓?考慮到烏龜在中心的視角,半圓從90度變化到270度。 此外,正在簡化創建可能的輪廓。

回答

1

如果你想圓在一個半圓圈運動,你可以做到以下幾點:

本質上講,你檢查龜是在橫軸上,如果它是你需要看它是否在半圓的左側或右側。如果它在左側,那麼龜應該朝上,否則龜應該朝左。由於四捨五入(由於旋轉和速度),您將需要執行distancexy,因爲烏龜可能有或沒有整數值。

to move-along-circle [r] 
    fd (pi * r/180) * (speed/50) 
    ifelse distancexy xcor 0 < (speed/50) 
    [ 
    ifelse distancexy (-1 * r) ycor < (speed/50) 
    [set heading 0] 
    [set heading -90] 
    ] 
    [rt speed/50] 
end 

如果你想要中間的大烏龜的形狀是一個圓圈,你將設置烏龜的形狀。你可以進入烏龜形狀編輯器創建一個半圓形狀,因爲我沒有看到它。