2016-05-03 6 views
2

エージェント(たとえばタートル)の見出しを回転させたり、最小回転を必要とするパッチセットの要素に向けるにはどうすればよいですか?見出しの差が最小になるようにする

エージェントには最初の見出しがあり、パッチセット(たとえば、円錐内に5つのパッチがあります)があり、少なくとも角度の差があるエージェントに直面したいと思います。私は、それが唯一のものであれば、一つ前のパッチにすることができるので、パッチ・アヘッドを使いたくない。

私はこれらのコマンドで、いくつかの組み合わせを試してみました: 分-1-の自分に向けた自己の見出し減算-見出し顔towardsxyを - 180

は、事前にありがとうございます。

答えて

3

減算見出しと見出しの違いを得るのに問題がありますか?例えば

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

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

うわー、それは魔法のように動作します:D、ありがとうそして、あなたはこれを試すことができます – pnz

関連する問題