2016-06-23 2 views
2

패치를 어떻게 설정할 수 있습니까?netlogo 패치가 특정 패치와의 거리에 영향을 받음

초기 상태는 특정 지점에 빨간색 패치가 있습니다. 다른 패치는 빨간색 패치와의 거리에 영향을받습니다. 거리가 멀어 질수록 그 영향은 커질 것입니다.

초보자처럼 단순하지 않을 수도 있습니다. 제발 도와주세요! '니콜라스을 포함하도록 편집

+0

매우 유사한 질문은 http://stackoverflow.com/questions/37856220/in-netlogo-can-i-ask-agents-to-die-along-a-gradient-from-a-central-patch를 참조하십시오. 대답 해. –

답변

1

그들이 가까이가 빨간색 패치에있는 파란색이 될 가능성이 더 높습니다 있도록

to example 

    let red-patch one-of patches with [pcolor = red] 

    ask red-patch [ 
    ask other patches [ 
     if random-float 1 > (distance red-patch/(max [distance red-patch] of patches)) 
     [set pcolor blue] 
    ] 
    ] 
end 

이 그것을 그라데이션 효과가 될 것이다 칭찬. >를 <으로 반전하면 효과가 반전됩니다.

+2

이 코드에는 미묘한 실수가 있습니다. 'myself'의 첫 번째 발생 만 빨간색 패치를 나타냅니다. 'of' 블록 안에있는 두 번째'자신 '은'ask other patches' 블록의 현재 패치를 참조합니다. 그럼에도 불구하고 월드 랩핑이 켜지면 두 패치 사이의 최대 거리가 동일하기 때문에 작동합니다. 그러나 월드 랩핑이 꺼져 있다면,'패치의 최대 거리 '는 패치마다 다를 것입니다. 나는'red-patch one-of patch with [pcolor = red]'로 시작하여 빨간 패치를 명시 적으로 언급하는 것이 좋습니다. '나 자신이 어렵다! –

+0

가, 감사합니다. 어리석은 실수. –

+1

아니, 어리석은 짓 하지마. 'of' 블록이'자신 '과 관련된 상대방을 변경한다는 것은 매우 쉽습니다. –

관련 문제