问题标签 [boids]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
565 浏览

python - 在python中计算boids的邻居

我正在制作一个程序来通过 boids 在 python 中模拟一群鸟。其中一项任务是计算相邻的 boid(距离 <= 50)。我试着这样做(见代码),但我没有得到好的结果。“打印距离”给出了 20 倍相同的距离,所以我假设我正在计算相同的两个 boids 20 倍。我需要所有的组合。我对编程很陌生,所以欢迎任何帮助!

0 投票
2 回答
1314 浏览

c++ - Boids相互碰撞

我正在查看一些用于boids的伪代码并用 C++ 编写。但是,我发现 boid 偶尔会相互碰撞。考虑到伪代码的简单程度,我认为我已经正确编程了它。然而,当我显示所有 boid 的位置时,其中一些具有相同的坐标。

链接中的伪代码:

我的代码是:

唯一的主要区别是这两个代码之间的区别应该是,而不是vector c,我使用组件来代替。

我用来移动每个 boid 的函数顺序是:

有什么明显的我没有看到吗?也许我做错了一些愚蠢的向量算术?

0 投票
1 回答
143 浏览

scala - 为什么我的boids在匹配速度时会冲到世界原点?

我在实现Conrad Parker 的 boids 伪代码时遇到问题。

我正在执行规则 1、规则 2 和规则 3。问题是,只要 rule3 处于活动状态(即,下面我的代码中的 matchSpeed),boid 就会冲向世界的中心(0、0、0),然后聚集在那个位置周围。无论他们从世界的哪个地方开始,都会发生这种情况。

但是当 rule3 没有运行时,boids 会像预期的那样聚集和漂移。我究竟做错了什么?

我的代码在 Scala 中,我正在使用 jMonkeyEngine,但我怀疑问题是一般问题。

0 投票
1 回答
360 浏览

java - 在 ArrayList 中出现“size() 不存在”错误

我正在修改一个项目的植绒模拟。添加对象很好,但是当我尝试删除对象时,在第 240 行出现“函数 size() 不存在”错误。问题可能在 AdjSize() 和 subBoid() 的末尾,但我不知道是什么原因造成的。我已经稍微简化了代码,所以它只是 ArrayList 植绒的东西。

0 投票
2 回答
1224 浏览

javascript - 鸟类动画定制

我正在尝试创建一个网站。该网站的链接是:

http://www.eclectika.org/test3

我想要以下链接中的鸟:

http://mrdoob.github.io/three.js/examples/canvas_geometry_birds.html

在我的背景下。请有人建议我的方式。我已经尝试了很多东西。还是搞不定。

还请提出一种改变鸟类颜色的方法。

0 投票
1 回答
217 浏览

ios - 植绒分离规则

我的幅度和减法都可以正常工作:

出于某种原因,这是我从该方法得到的输出:

错误日志

我已经看这个太久了,看不出有什么问题。有任何想法吗?

0 投票
0 回答
514 浏览

java - 如何叠加转向力以实现植绒行为

我正在尝试实现基于 Cornrad Prkers 算法的植绒程序。我似乎在总结所有力量(对齐、凝聚力和分离)时遇到问题。我一直有一种奇怪的行为。

算法的对齐部分负责速度匹配。

分离负责避免碰撞

凝聚力负责植绒行为,只要它们在检测范围内,就会相互吸引。

每个转向行为都会返回一个向量(Java 中的点),然后我对其进行归一化,然后应用单位向量的加权力,以将其移动一个单位到其目标点。

0 投票
1 回答
2345 浏览

unity3d - 统一定义视锥

我正在尝试统一实现一个boids植绒模型。

我已经设法实现了转向行为(分离、对齐、连贯),但我目前使用代理的固定半径来定义其邻域(基本上是代理周围的气泡)。但是,我需要实现的是一个像这张图片中详述的视锥:

boids视锥

我不确定如何统一实现这一点。有人能指出我正确的方向吗?

为了增加清晰度,我想做的是检测视锥中的所有其他代理,但我不确定如何实现它。目前,我只是检测距离内的所有代理,尽管我需要忽略正在检测的代理背后的代理(如图所示)我不想将其可视化,只是检测该定义邻域中的代理。

谢谢

0 投票
0 回答
54 浏览

java - 处理:在课堂上创建附加形状

我有一个正在处理的项目,我想在其中抓取 twitter 推文,然后根据推文的文字创建一群 boid。使用此处的植绒示例作为基础:https ://processing.org/examples/flocking.html ,我完成了大约 95% 的项目。

现在的问题是我想更改植绒代码,而不是 1 个通用形状(在示例代码中是三角形),我想使用 text() 函数来绘制推文的文字。好吧,目前当我这样做时,我会把这些词堆叠在一起。这是我正在使用的代码:

}

从我的测试来看,问题出在代码的翻译部分。location.x 和 location.y 是 boids 的当前位置,这对于单个形状来说效果很好,但是如果我必须跟踪多个不同的形状,这可能是个问题。有什么想法可以做到这一点,而不必重写 boids 代码以分别为推文的每个单词运行?

0 投票
0 回答
477 浏览

arrays - 处理 - Flock Boids 避免可拖动的对象

我正在做一个boids植绒项目。我的目标是有几个必须被 boids 避免的可拖动对象。有几个不同的鸡群具有不同的起始位置。

我设法让 boids 避开一个可拖动的物体。但我似乎无法让他们全部避开。(使用 for 循环)

我真的不明白为什么这不起作用..

我希望你能给我一些建议。

编码: