在NetLogo中实现冲突的最简单方法

时间:2014-07-12 08:28:30

标签: netlogo

实现碰撞的最简单方法是什么? 鉴于所有粒子具有相同的速度和相同的质量但不同的方向。即使在碰撞之后,它们的速度和质量仍然保持不变,但正在前进的方向发生变化。 是否有可能实现两个以上粒子碰撞?

1 个答案:

答案 0 :(得分:2)

以下是example implementation,其中包含以下规则:

  

粒子的行为符合以下规则:

     
      
  1. 粒子在不改变速度的情况下沿直线移动,除非它与另一个粒子碰撞或从墙上反弹。该   粒子的目的是在原点相互撞击。
  2.   
  3. 两个粒子"碰撞"如果他们发现自己在同一个补丁上(这个世界由一个叫做补丁的小方块网格组成)。
  4.   
  5. 选择一个随机轴,好像它们是两个相互碰撞的球,这个轴是连接它们中心的线。
  6.   
  7. 根据动量和能量守恒,它们沿着轴线交换动量和能量。这个计算是在   质量体系中心。
  8.   
  9. 为每只乌龟分配新的速度,能量和航向。
  10.   
  11. 如果一只乌龟发现自己在容器的墙壁上或非常靠近容器的墙壁,它会弹跳#34; - 也就是说,反映了它的方向并保持不变   同样的速度。
  12.   

如果您对此逻辑的任何部分有特定问题,请随时发表评论。