群体行为问题

2024-02-20

昨天我看到了克雷格雷诺兹的Boids http://www.red3d.com/cwr/boids/,随后我想尝试一下用 Java 实现一个简单的 2D 版本。 我已经根据以下内容整理了一个相当基本的设置康拉德·帕克的笔记 http://www.vergenet.net/~conrad/boids/pseudocode.html.

然而,我遇到了一些相当奇怪的(在我看来)行为。目前,我的身体相当快地移动到一个粗糙的网格或格子中,并继续当场抽搐。我的意思是它们会稍微移动并且旋转得非常频繁。

目前,我已经实施了:

  1. 结盟
  2. Cohesion
  3. 分离
  4. 限速

最初,我的 boids 随机分布在屏幕区域(与 Parker 的方法略有不同),并且它们的速度都指向屏幕区域的中心(请注意,随机初始化的速度给出相同的结果)。更改速度限制值只会改变物体进入该模式的速度,而不会改变该模式的形成。

在我看来,这可能是:

  1. 我正在使用的参数的结果(现在我的代码如帕克伪代码中所述;我尚未尝试由雷诺兹描述的角度和半径定义的影响区域。)
  2. 我需要实施但不知道的事情。
  3. 我做错了什么。

预期的行为将更类似于 Reynolds 的 boids 页面上小程序中发生的二维版本,尽管现在我还没有实现任何方法来将 boids 保留在屏幕上。

以前有人遇到过这种情况吗?关于原因和/或如何解决它有什么想法吗?如果有帮助的话,我可以发布相关行为的 .gif。


也许您对分离规则的权重太强,导致所有 boids 尽可能远离所有相邻 boids。我的伪代码中有各种充当权重的常量:规则 1 中的 /100 和规则 3 中的 /8(以及规则 2 中的隐式 *1);这些可以进行调整,这通常对于模拟不同的行为很有用,例如紧密聚集的昆虫或滑翔的鸟类。

也是任意|距离|应修改分隔规则中的

玩得开心!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

群体行为问题 的相关文章

  • 为什么 Hashtable 不允许空键或空值?

    正如 JDK 文档中所指定的 Hashtable 不允许空键或空值 HashMap 允许一个空键和任意数量的空值 为什么是这样 Hashtable 是较旧的类 通常不鼓励使用它 也许他们看到了对 null 键的需要 更重要的是 null 值
  • 将 WAR 部署到 Tomcat(Spring Boot + Angular)

    我正在尝试使用以下命令部署 Spring Boot 应用程序WAR包装至Tomcat 10 应用程序已成功部署 但是 当我尝试访问端点时 它会导致404 未找到 战争文件 应用程序 war http localhost 8080 appli
  • 在Java Servlet中获取通过jquery ajax发送的参数[重复]

    这个问题在这里已经有答案了 我在网上搜索这个主题 但找不到有效的示例 我会很高兴有人能给我帮助 这就是我测试的 ajax url GetJson type POST dataType json contentType application
  • 使用 TLS PSK 加密时如何正确检测流结束?

    我已经准备好了一个简单的 TLS PSK 客户端测试用例 https github com afarber jetty newbie tree master TlsPskClient2 src main java de afarber tl
  • 在java代码中创建postgresql表

    我有一个与 postgreSQL 数据库连接的 java 代码 现在 我希望当它连接到数据库时 我还将创建数据库表 但我的问题是 它不会创建数据库 我不知道问题是什么 这是我的代码 Statement st null ResultSet r
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • openFileOutput 在单例类中无法正常工作 - 想法/解决方法?

    作为一名 Android 开发新手 我遇到了一些奇怪的问题 我想创建一个类 它方法其他类 活动 任何可以用于以某种特殊方式处理文件的类 假设为了简单起见 我们将记录一些内容 如果我在活动中执行以下操作 例如在 OnClick 侦听器中 则一
  • Java:为什么.class文件中的方法类型包含返回类型,而不仅仅是签名?

    class 文件的常量池中有一个 NameAndType 结构 它用于动态绑定 该类可以 导出 的所有方法都被描述为 签名 返回类型 喜欢 getVector Ljava util Vector 当某些 jar 中方法的返回类型发生更改时
  • 如何在正则表达式中编写可选单词?

    我想编写一个识别以下模式的 java 正则表达式 abc def the ghi and abc def ghi 我试过这个 abc def the ghi 但是 它没有识别第二种模式 我哪里出错了 abc def the ghi 删除多余
  • 如何使用 aether 从 Java 找到最新版本的 Maven 工件?

    他们的文档非常薄弱 我无法弄清楚 我找到了部分答案here https stackoverflow com questions 27428068 how to retrieve the latest also snapshot versio
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • 生成一定长度的所有排列

    假设我们有一个字母表 abcdefghiklimnop 如何以有效的方式以五个一组的形式重复该字母表来递归生成排列 几天来我一直在为此苦苦挣扎 任何反馈都会有帮助 本质上这与 生成给定字符串的所有排列 https stackoverflow
  • 我的 Kafka 流应用程序刚刚退出,代码为 0,什么也不做

    为了尝试 Kafka 流 我这样做了 public static void main String args final StreamsBuilder builder new StreamsBuilder final Properties
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • 扩展多个类

    我知道 Java 不支持多重继承 因为不允许扩展多个类 我只是想知道我的问题是否有解决方法 我有一个名为CustomAction需要扩展两个抽象类 BaseAction and QuoteBaseAction 我无法更改这些抽象类中的任何一
  • 从字符串中删除重音符号

    Android 中有没有什么方法 据我所知 没有 java text Normalizer 可以从字符串中删除任何重音 例如 变成 eau 如果可能的话 我想避免解析字符串来检查每个字符 java text NormalizerAndroi
  • 始终将双精度舍入

    我怎么总是能把一个double to an int 并且永远不要将其四舍五入 我知道Math round double 但我希望它始终向上舍入 所以如果是的话3 2 四舍五入为 4 您可以使用Math ceil method 请参阅Java
  • Java 8:如何创建毫秒、微秒或纳秒的 DateTimeFormatter?

    我需要创建格式化程序来解析具有可选的毫秒 微米或纳秒分数的时间戳 例如 对于我的需求 我看到以下机会 DateTimeFormatter formatter new DateTimeFormatterBuilder append DateT
  • junit4 使用特定测试方法创建测试套件

    在 junit4 中 我想执行来自不同类的特定测试方法 即想要使用来自不同类的特定测试方法创建一个测试套件 假设我有两门课 public class Test Login Test public void test Login 001 Sy
  • 假布尔值=真?

    我在一本书中找到了这段代码 并在 Netbeans 中执行了它 boolean b false if b true System out println true else System out println false 我只是不明白为什

随机推荐

  • Scintilla 中的交替行着色

    我在用着wxStyledTextCtrl http wiki wxwindows org WxStyledTextCtrl来自 wxPython 一个围绕闪烁体 http www scintilla org 成分 有什么方法可以在其上获得替
  • Lua 中的 OOP - 创建类?

    我知道这个网站上有一些关于在 Lua 中实现 OOP 的问题 但是 这个问题有点不同 至少与我发现的相比 我正在尝试创建一个名为 human 并使其使用 人类 的 新 构造函数创建的对象继承人类内部的所有内容 除了它的构造函数 但是 我也不
  • 如何使用 TypeScript 定义 DynamoDB get 的返回类型?

    I have let resItem Schema resItem await dynamoClient get TableName Key uuid request body uuid promise 但我得到 Type PromiseR
  • WPF 弹出窗口 IsOpen 问题

    使用发现的概念在 StackOverflow 上 https stackoverflow com a 8946055 24399 请注意 ToggleButton IsHitTestVisible一定会Popup IsOpen with S
  • Objective-C ARC:强与保留,弱与分配

    ARC 引入了两个新的内存管理属性 strong and weak 除了copy 这显然是完全不同的东西 之间有什么区别吗strong vs retain and weak vs assign 根据我的理解 这里唯一的区别是weak将分配n
  • 如何扩展Nutch进行文章爬取

    我正在寻找一个框架来抓取文章 然后我找到了Nutch 2 1 这是我的计划和每个计划的问题 1 将文章列表页面添加到 url seed txt 这里有一个问题 我真正想要索引的是文章页面 而不是文章列表页面 但是 如果我不允许列表页面被索引
  • 如何在 Scala 的 Swing 表中嵌入(工作)按钮?

    我正在尝试使用 Scala Swing 创建一个表 其中一列由以下内容填充Buttons 我的出发点是SCells 电子表格示例 http my safaribooksonline com book programming scala 97
  • Java System.getProperty(“user.timezone”) 不起作用

    当我启动java程序时java Duser timezone UTC System out println System getProperty user timezone System out println new Date print
  • 为什么.Net Framework和.Net Core中的ComputeSignature会产生不同的结果

    我有问题 var contentInfo new ContentInfo message var signedCms new SignedCms contentInfo var cmsSigner new CmsSigner certifi
  • 如何在 C++ 中禁用 CodeSonar 警告

    标题说明了一切 我有一个项目需要对 MISRA 2004 进行清理 公司被告知 CodeSonar 是进行静态分析的好工具 在其他静态分析工具上 您可以添加魔术注释来禁用对下一行 代码块的分析 PC Lint 是 lint esym 42
  • 如何通过shell脚本激活python虚拟环境[重复]

    这个问题在这里已经有答案了 我写了一个shell脚本作为 source ve bin activate 当我使用命令运行脚本时 将其保存为 activate shell sh bash activate shell sh 脚本运行时没有错误
  • 如何获取将用于计算操作的对象的值?

    我试图得到我的每一个对象data矩阵 因为那一刻它完全打印了我的值data我只需要获得一个对象 calculo impuesto cantidad factura pivote costo factura pivote from data
  • 如何在 Access 的查询编辑器中执行多个 SQL 语句?

    我有一个文本文件 其中包含一些我想要运行的 SQL 语句 在 Access 数据库上 我认为这应该可以通过 Access 查询编辑器 因此 我进入该编辑器并粘贴以下语句 insert into aFewYears yr values 200
  • 循环函数在回归函数中添加大量预测变量

    我想改进在回归函数中插入预测变量的方法 fm lt lm formula df dependent variable df 2 df 3 df 4 data df df 数据 frame 在此示例中 我仅放置 4 个预测变量和 1 个 de
  • 选择下拉选项时在表单中添加输入字段

    如何动态添加表单字段 所以我的表格看起来像
  • C# 数据表小数精度

    我有以下代码将新列添加到数据表 DataColumn col new DataColumn column typeof decimal col Caption Column mytable Columns Add col 如何为此列指定小数
  • mysql 更新 - 跳过空白字段?

    我需要知道执行此操作的正确方法 我有一个表格 人们可以在其中填写 3 个不同的输入来更新他们的数据 如果他们愿意 可以将一项留空 只更新其他两项或仅更新一项 任何 所以如果我更新为 mysql query UPDATE table SET
  • 获取 java.lang.ClassNotFoundException: com.google.gson.Gson for maven 项目

    我是 maven 新手 我正在使用 apache maven 3 2 2 来构建我的项目 它是一个简单的项目 它将从客户端接收 json 数据 在服务器端它将将此 json 数据转换为其类似的 java 类 用于转换我们使用google的G
  • 如何设置没有@id元素的@entity?

    我有这个豆子 Entity Table name accesos public class Acceso implements Serializable Column name idUser private String idUser Ma
  • 群体行为问题

    昨天我看到了克雷格雷诺兹的Boids http www red3d com cwr boids 随后我想尝试一下用 Java 实现一个简单的 2D 版本 我已经根据以下内容整理了一个相当基本的设置康拉德 帕克的笔记 http www ver