2

特定の地形を設定するのに助けが必要です。200x200 パッチの世界があり、各パッチのサイズは 2 ピクセルです。私がやろうとしているのは、原点から始まる丘を作り、高度を世界の端まで均等に広げることです。

原点は最高高度 999 付近になり、エッジ周辺のパッチの高度は 0 に近くなります。世界の端から、原点に到達するまで、高度は絶えず増加するはずです。しかし、私には見えません。丘が世界の端まで伸びるようにします - 真ん中に小さな隆起があり、世界の残りの部分は完全に平らです.

誰かが地形の設定を手伝ってくれたり、高度を適切に拡散させる方法を説明したりできますか?

これまでのコードは次のとおりです。

patches-own [altitude]

to setup

  clear-all
  ask patch 0 0 [set altitude 1.0]

  repeat 100 [diffuse altitude 0.25]  ;; this needs to be changed?

  scale-patches
  color-patches 

end




to scale-patches

  let low [altitude] of min-one-of patches [altitude]  ;; altitude of the lowest patch
  let high [altitude] of max-one-of patches [altitude] ;; altitude of the highest patch
  let range high - low                              ; difference from lowest to highest

  ask patches [
    set altitude altitude - low                    ; Shift every patch down so lowest altitude is 0
    set altitude altitude * 999.0 / range          ; Scale every patch so that the lowest is 0 and highest is 999
  ]

end



to color-patches

  ask patches [set pcolor scale-color green altitude 0 1000]

end
4

1 に答える 1

2

次の 2 行を置き換えてみてはどうでしょうか。

ask patch 0 0 [set altitude 1.0]
repeat 100 [diffuse altitude 0.25]  ;; this needs to be changed?

これとともに:

ask patches [ set altitude world-width - distance patch 0 0 ]

拡散は使用しませんが、とにかく問題を解決するのでしょうか?

于 2011-03-10T20:51:15.797 に答える