거북이의 territory
에 속하는 패치 세트 주위에 볼록한 선체를 구성하는 패치 세트를 찾고 싶습니다. 볼록 선체 (아래 그림과 관련)를 계산하기 위해 "선물 포장"절차를 사용할 계획이었습니다. NetLogo - 패치 세트의 두 패치 사이의 최소 각도 찾기
가장 먼저 pxcor
의 영토 패치를 찾는 중입니다. 그런 다음 시작 패치에서 다시 도착할 때까지 가장 작은 숫자 인 heading
(즉, 0에 가장 가까운 각도)을 갖는 영역 패치를 찾고 싶습니다. 하지만 두 패치 사이에서 표제를 계산하는 방법을 알아낼 수 없습니다. 어떤 제안이라도 도움이 될 것입니다. 여기까지 내가 지금까지 가지고있는 것이있다. 결국 나는 외부 선체를 따라 각 점을 통과하여이 루프를 만들어야 할 것입니다.
patches-own [ owner-animal ]
turtles-own [ territory ]
to setup
ca
create-turtles 1
[
move-to patch-at (max-pxcor/2) (max-pycor/2)
set territory patches in-radius (2 + random 8)
ask territory [
set owner-animal myself
set pcolor [ color ] of myself - 2
]
]
end
to find-convex-hull
ask turtles
[
let start-patch min-one-of territory [pxcor]
ask start-patch
[
let next-patch min-one-of [territory] of myself [towards self]
]
]
end
(1) 두 패치 사이의 기울기 또는 (2) 다른 선과 관련된 선의 각도를 찾으려는 것 같습니다. 그 맞습니까? 첫 번째 항목에서'pxcor's와'pycor's를 빼서 기울기를 계산할 수는 없습니까? 두 번째로는 NetLogo의 삼각 함수를 사용할 수 있습니다. 나는 올바른 길을 가고 있는가? – Mars
더 비슷합니다 (2). 점과 다른 모든 점 사이의 기울기이지만 기울기는 0도 (북쪽)에 상대적이어야합니다. 이는 점과 다른 두 점 사이의 기울기가 동일 할 수 있기 때문에 가능하지만 다른 두 점은 0도 선 반대편에 있습니다. 나는 북쪽에 상대적인도를 부여하기 때문에'heading '또는'toward'명령이 효과가 있기를 바랐다. – user2359494
또한''pycor's에서''pxcor's를 빼서 기울기를 계산하면 점이 같은''pxcor''를 가질 때 오류가 발생합니다 (0으로 나눌 수 없음). – user2359494