Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在NetLogo中实现冲突的最简单方法_Netlogo - Fatal编程技术网

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

在NetLogo中实现冲突的最简单方法,netlogo,Netlogo,实现冲突的最简单方法是什么? 假设所有粒子都有相同的速度和质量,但方向不同。即使在碰撞之后,它们的速度和质量仍然保持不变,但前进方向发生了变化。 有可能实现两个以上粒子的碰撞吗?以下是一个具有以下规则的碰撞: 粒子的行为符合以下规则: 粒子沿直线移动而不改变其速度,除非它与另一个粒子碰撞或从墙上反弹。这个 粒子的目标是在原点相互碰撞 如果两个粒子发现自己在同一个面片上(世界由称为面片的小正方形网格组成),它们就会“碰撞” 选择一个随机轴,就像它们是两个相互撞击的球,该轴是连接它们中心的线 根据动

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

以下是一个具有以下规则的碰撞:

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

  • 粒子沿直线移动而不改变其速度,除非它与另一个粒子碰撞或从墙上反弹。这个 粒子的目标是在原点相互碰撞
  • 如果两个粒子发现自己在同一个面片上(世界由称为面片的小正方形网格组成),它们就会“碰撞”
  • 选择一个随机轴,就像它们是两个相互撞击的球,该轴是连接它们中心的线
  • 根据动量和能量守恒定律,它们沿着轴交换动量和能量。此计算是在 质心系统
  • 每只海龟都被分配了新的速度、能量和航向
  • 如果海龟发现自己在容器壁上或非常靠近容器壁,它会“反弹”——也就是说,反射它的方向并保持平衡 同样的速度

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

    了解希望粒子不改变质量。。。但是他们为什么不改变速度呢?看起来这个问题会因为太宽泛而结束。您可以通过添加更多关于您正在尝试执行的操作的细节来阻止它,特别是如果您可以用一些代码来说明它的话。