2016-05-03 6 views
2

Wie kann ich die Richtung eines Agenten (z. B. Schildkröte) einem Element eines Patch-Sets, das eine minimale Drehung benötigt, gegenüberstellen oder drehen oder einstellen?Angesicht zu minimalem Kursunterschied

Also hat der Agent eine Anfangsüberschrift, und wir haben ein Patch-Set (zum Beispiel 5 Patches in einem Kegel), und ich möchte dem Agenten gegenüberstehen, der mindestens in der Winkeldifferenz ist. Ich möchte Patch-Ahead nicht verwenden, da es ein Patch rückwärts sein kann, wenn das der einzige ist.

habe ich versucht, einige Kombinationen mit diesen Befehlen: min-von mir selbst gegenüber Überschrift Selbst towardsxy Gesicht subtrahieren Rubriken - 180

Vielen Dank im Voraus.

Antwort

3

Haben Sie Probleme, die Überschriftsdifferenzen mit subtrahierten Überschriften zu erhalten? Dann können Sie diese versuchen:

to-report abs-hdiff [#t #p] 
    let _current [heading] of #t 
    let _new [towards #p] of #t 
    report abs (subtract-headings _current _new) 
end 

Zum Beispiel:

to test 
    ca 
    ask n-of 5 patches [set pcolor red] 
    let _patches (patches with [pcolor = red]) 
    crt 1 
    ask turtle 0 [ 
    hatch 1 [pen-down fd 10 die] ;just to see old heading 
    face min-one-of _patches [abs-hdiff myself self] 
    ] 
end 
+0

wow, es funktioniert wie ein Charme: D, danke – pnz

Verwandte Themen