Netlogo 从两个多边形之间计算的边到边距离查找最近的多边形面片
我的目标是从两个多边形之间计算的边到边距离中找到最近的多边形面片。从中,以下是查找最近多边形边的代码:Netlogo 从两个多边形之间计算的边到边距离查找最近的多边形面片,netlogo,Netlogo,我的目标是从两个多边形之间计算的边到边距离中找到最近的多边形面片。从中,以下是查找最近多边形边的代码: to-report calculate-distance [ID-polygon-A ID-polygon-B] let polygon-distance nobody let edges-of-polygon-A create-edge-turtles ID-polygon-A let edges-of-polygon-B create-edge-turtles ID-polygon-
to-report calculate-distance [ID-polygon-A ID-polygon-B]
let polygon-distance nobody
let edges-of-polygon-A create-edge-turtles ID-polygon-A
let edges-of-polygon-B create-edge-turtles ID-polygon-B
set polygon-distance min [ min [ distance myself ] of edges-of-polygon-B ] of edges-of-polygon-A
## find the nearest edge in the polygon A
let nearest-edge-in-polygon-A edges-of-polygon-A with-min [ min [ distance myself ] of edges-of-polygon-B]
ask nearest-edge-in-polygon-A [
set color red
set shape "x"
set size 2 ]
## find the nearest edge in the polygon B
let nearest-edge-in-polygon-B edges-of-polygon-B with-min [ min [ distance myself ] of edges-of-polygon-A]
ask nearest-edge-in-polygon-B [
set color red
set shape "x"
set size 2 ]
ask edges-of-polygon-A with [ shape = "dot"] [ die ]
ask edges-of-polygon-B with [ shape = "dot"] [ die ]
report polygon-distance
end
从中,以下是我从最近边查找最近面片的代码:
show patches with [ ID-polygon = [ my-ID-polygon ] of myself and any? (turtles-here with [ color = red and shape = "x" ])
我不明白为什么我会得到:
(agentset, 1 patch)
(agentset, 0 patches)
但是,在多边形上可以很好地看到两个shape=“x”的海龟。如果我的代码不正确,是否有其他方法根据距离查找两个最近的多边形面片
提前感谢您的帮助。一个可能的解决方案是这里描述的“分离轴定理”: