相贯线的平面模型

时间:2017-04-14 02:42:26

标签: math netlogo line-intersection

我正在看Planarity模型的“交叉?”模型库中的方法,以确定两条线是否相交。

这种模式似乎在很大程度上起作用;但是,我认为我发现了一个问题。我没有数学技能来解决这个问题。

基本上,考虑连接的节点A和B,以及连接的C和D.

当交点位于其中一个端点上时,AB垂直于CD时会出现问题。

例如,

Node xcor ycor
A    0     0
B    0     10
C    -10   0
D    5     0

有关如何扩展模型以描述此边界条件的任何想法?我不是在数学上有信心描述这种情况何时发生...我想要一个替代相交线的例子,它计算线的方程并解决x的问题并检查x是否在终点内其中一条线。

1 个答案:

答案 0 :(得分:2)

马特,平面度不会为我报告一个真正的十字架,在你的例子中有任何一个坐标集:

Case 1

Case 2

在这两种情况下,模型都被认为是“已解决”;报告没有交叉点。为了让我的模型得以解决,我需要实际交叉链接,但如果交叉点直接位于中心似乎并不重要:

Case 3 Case 4

您是否使用与此处相同的设置获得类似行为?我不确定我是否遗漏了什么。下面的初始展示位置的修改代码,需要选择附加图像中的选择器。

to setup-level
  reset-ticks  ;; use tick counter as a move counter
  clear-turtles  ;; when the turtles die, the links connecting them die too
  ;; create nodes and position them randomly
  ( foreach xcors ycors [ "A" "B" "C" "D" ] [ [ x y n ] ->
    create-turtles 1 [
      setxy x y
      set size 2
      set color 88
      set node n
      set label node
      set label-color black 
    ]
  ]
  )

  ( foreach [ "A" "C" ] [ "B" "D" ] [  [ sp ep ] ->
    ask turtles with [ node = sp ] [
      ask turtles with [ node = ep ] [
        create-link-with myself ]
    ]
  ]
  )
  display
end