2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态

2024-04-09

我正在开发一款具有大量动态实体的 2D 游戏。 为了好玩,我们就称他们为士兵吧,假设有 50000 人(我只是随机想到的,可能多了也可能少了:))。

所有这些士兵都按照规则移动每一帧——想想群体/聚集/转向行为。 对于每个士兵,为了更新其运动,我需要与我正在处理的士兵最接近的 X 个士兵。

存储它们以促进这样的计算而不需要太多开销的最佳空间层次结构是什么? (所有实体每帧都会更新/移动,因此它必须很好地处理动态实体)


最简单的方法是使用网格。它有几个优点:

  • simple
  • fast
  • 轻松添加和删除对象
  • 如果您仍然进行过多的距离检查,可以轻松地将网格更改为更精细的细节

另外,请确保不要对每次距离检查都进行平方根。由于您仅比较距离,因此还可以比较距离的平方。

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

2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态 的相关文章

  • SQL Server 获取父列表

    我有一个这样的表 id name parent id 1 ab1 3 2 ab2 5 3 ab3 2 4 ab4 null 5 ab5 null 6 ab6 null 我需要使用输入 id 1 进行查询 例如 结果将如下所示 id name
  • 如何根据最短距离为经纬度观测值指定名称

    我有两个数据框 df1包含带有经纬度坐标的观测值 df2具有带有纬度坐标的名称 我想创建一个新变量df1 name每个观察值的名称df2到该观测值的距离最短 一些示例数据df1 df1 lt structure list lat c 52
  • 在 R 中从一条线偏移绘制一条平行线

    我有代表沿着一些街道行驶的线串 但我实际上想代表骑自行车者的旅程 它偏离线路 即他们在路边附近行驶 我正在努力思考如何去做 我制作了一段可重现的 R 代码来进行说明 Let s say I have a route along some s
  • 在 R 中使用 NA 计算栅格数据的变异函数

    Summary 我有一个包含 NA 值的栅格数据集 并且想要计算它的变异函数 忽略 NA 我怎样才能做到这一点 我有一个图像 已使用以下命令加载到 R 中readGDAL函数 存储为im 为了使其可重复 结果dput图像上可在https g
  • Pentaho CE 上的地图可视化

    我正在运行 Pentaho ce 5 3 我已经使用星型模式立方体对其进行了测试 并且工作正常 现在我想将 Postgis 中存储的维度 包括空间维度 的 mdx 查询可视化为地图 不知道是否可行 或者我应该为此添加任何插件吗 根据您想要可
  • 将坐标插入 MySQL - PolyFromText SQL 语法错误/返回 null

    我正在尝试将多边形的地理坐标插入到我的 MySQL 数据库中 我有一个名为 POLYGON 类型的 Polygon 字段 并且我已尝试运行所有这些查询 但仍然出现 SQL 语法错误 SET g POLYGON 74 135913848876
  • 用于神经网络模型预测的数据的缺失值

    我目前有大量数据将用于训练预测神经网络 美国主要机场的千兆字节天气数据 我几乎每天都有数据 但有些机场的数据中存在缺失值 例如 机场在 1995 年之前可能不存在 因此在此之前我没有该特定位置的数据 此外 有些还缺少整年 可能跨度为 199
  • Encog - 如何加载神经网络的训练数据

    The NeuralDataSet我在实际中看到的对象除了 XOR 之外什么都没有 它只是两个小数据数组 我无法从文档中找出任何内容MLDataSet 似乎所有内容都必须立即加载 但是 我想循环遍历训练数据 直到到达 EOF 然后将其算作
  • 如何确定层级组织中的权限?

    我正在尝试创建高性能逻辑来确定分层组织内的权限 员工被分配到一个或多个单位 单元是分层的 理论上 无限深度 实际上不超过 6 层 例如 员工Jane可能是Supervisor of the Accounts Receivable单元 的子单
  • Agda 中的类型层次结构

    我试图弄清楚类型层次结构在 Agda 中是如何工作的 假设我定义了一个集合类型X X Set 然后继续构建归纳类型 data Y X gt Set where 是什么类型的X gt Set 是设置还是类型 谢谢你 那么 为什么不问问 Agd
  • 了解单目标迷宫的 A* 启发式

    我有一个像下面这样的迷宫 P
  • 用于使用 geopy 计算距离的经度格式/比例

    我使用 geopy 来简单计算两个长纬度坐标之间的距离 然而 我对经度应该采用什么比例感到困惑 纬度协调范围为 90 到 90 目前我已将经度设置为 0 360 度 应该是 180 到 180 才能满足 Great circle NYC 测
  • Python 中的六边形自组织映射

    我在寻找六边形 自组织映射 http en wikipedia org wiki Self organizing map在Python上 准备好模块 如果存在的话 绘制六边形单元格的方法 将六边形单元作为数组或其他方式使用的算法 About
  • spplot 的图例范围和颜色分布问题

    我的绘图和图例中的颜色范围是否正确存在问题 这是我使用的代码 data ch4 lt read csv2 v42 CH4 1970 TOT txt skip 3 stringsAsFactors FALSE header F num dat
  • Rasa core 和 Rasa nlu 之间的区别

    我试图理解之间的区别拉莎核心 https core rasa ai and Rasa NLU https nlu rasa ai installation html从官方文档看的 但我不太明白 我的理解是Rasa core用于引导对话流程
  • DPLL算法定义

    我在理解 DPLL 算法时遇到一些问题 我想知道是否有人可以向我解释它 因为我认为我的理解是不正确的 我理解的方式是 我采用一些文字集 如果每个子句都为真 则模型为真 但如果某些子句为假 则模型为假 我通过查找单元子句递归地检查模型 如果有
  • 在 R 中使用 k-NN 和分类值

    我希望对主要具有分类特征的数据进行分类 为此 欧几里得距离 或任何其他数值假设距离 不适合 我正在寻找 R 的 kNN 实现 其中可以选择不同的距离方法 例如汉明距离 有没有一种方法可以使用常见的 kNN 实现 例如具有不同距离度量函数的
  • Haar训练时正样本和负样本使用多少张图片?

    我已经阅读了大量有关 Haar 训练的内容 但我不清楚应该为正样本集和负样本集使用多少图像 我看到建议使用很多图像 有些人推荐数千张 我也不清楚正负样本图像的数量是否应该相同 这是关于 Haar 训练的最佳教程 你试过这个吗 http no
  • 用于评估数组单调性的算法(即判断数组的“排序性”)

    EDIT 哇 很多很棒的回复 是的 我使用它作为适应度函数来判断遗传算法执行的排序的质量 因此 评估成本很重要 即 它必须是快速的 最好是O n 作为我正在使用的人工智能应用程序的一部分 我希望能够根据候选整数数组的单调性 也称为 排序性
  • sigmoid 的导数

    我正在使用反向传播技术创建一个神经网络进行学习 我知道我们需要找到所使用的激活函数的导数 我正在使用标准 sigmoid 函数 f x 1 1 e x 我已经看到它的导数是 dy dx f x f x 1 f x 这可能是一个愚蠢的问题 但

随机推荐

  • 动态对象创建

    我有一个接受字符串对象名称的函数 我需要该函数来创建与字符串值同名的对象的新实例 例如 function Foo function create name return new name create Foo should be equiv
  • 找不到 com.google.firebase:firebase-database:9.2.0

    我试图将新的 firebase 数据库安装到我的应用程序中 但失败并出现下一个错误 错误 找不到 com google firebase firebase database 9 2 0 必需的 经过 应用程序名称 应用程序 未指定 比我克隆
  • 1and1.com 上 SQL Server 连接字符串的正确格式

    除了给 1and1 com 网络托管的支持人员打电话和发送电子邮件之外 我还花了几个小时尝试在网络上搜索此内容 但没有成功 我有 ASP NET 页面 它使用实体框架连接到 MS SQL Server 数据库 在我的本地机器上 一切正常 自
  • Node.JS 的默认文件夹功能

    我想使用node js和socket io向我的网站添加一些实时功能 但不必处理页面请求 响应的麻烦 我能否获得正常的文件夹功能 首先提供index html 然后自动加载任何js css 依赖项 Thanks 您可以使用 Express
  • 如何配置 vim 在编辑 python 文件时不在行首添加注释

    当我在编辑 python 文件时在 Vim 中的空行上以插入模式添加 时 vim 将 移动到行的开头 但我希望将 插入到我输入它的选项卡级别 例如 在 vim 中编写此内容时 for i in range 10 不会停留在我输入的位置 它是
  • 如何在 PHP 中生成密码,就像 Devise Gem 在 Ruby on Rails 中生成的那样

    我正在将网站从 Ruby on Rails 更新为 PHP 我需要生成由 Devise Gem 在 Ruby on Rails 中生成的密码 我必须知道密码的哈希方法是什么 才能使用 PHP 创建相同的方法 但作为初学者 要在 Ruby o
  • BigQuery SQL:对 7 天内出现的具有共享 ID 的行进行分组,并返回最近出现的值

    我有一个带有日期标记的事件表 我需要将其捆绑到 7 天的组中 从每个 event id 最早出现的时间开始 最终输出应返回每个捆绑包的开始日期和结束日期以及每个捆绑包中最新事件的 值 列 没有预定的开始日期 7 天 窗口是任意的 而不是 一
  • Dart - 隔离跨窗口通信

    Dart 隔离是否可以进行跨窗口通信 这是我的场景 用户在浏览器窗口 A 中打开网站 窗口 A 生成一个新的隔离 然后 用户单击一个链接 该链接将创建一个新选项卡并打开浏览器窗口 B 假设该链接位于同一域中 等等 浏览器窗口 B 可以从浏览
  • 带 ILU 预处理器的一般最小残差 (GMRES)

    我正在尝试在我编写的 GMRES 代码中实现 ILU 预处理器 为了求解线性系统 Ax b 我正在尝试使用尺寸为 25x25 的简单三对角 SPD 矩阵 如您所见 我正在计算使用 spilu 方法进行预处理 代码运行没有错误 但解决方案显然
  • 通过“wsl [command]”调用命令与打开 wsl shell 并调用“[command]”有什么区别?

    我在 Windows 10 上通过 WSL 2 0 使用 Ubuntu 并希望从 Windows 命令行运行 Texlive 为此 我将 Texlive 文件夹添加到路径中 etc environment 我还尝试了许多其他位置 例如 HO
  • 无法使用 python3 和 sqlite3 安装 pyspatialite

    我无法安装 pyspatialite 当我尝试时 它给了我这个错误 pip install pyspatialite Downloading unpacking pyspatialite Could not find a version t
  • 如何在Delphi 11.3 CE版本上安装JCL和JVCL

    Jcl 和 JCVL 没有创建库 gt Radstudio Tools jcl 2 8 0 8551 source vcl 该版本的产品不支持命令行编译 所以我必须手动运行它 但是 如何查看运行时包或设计时包 是否有无需 JediInsta
  • PagerAdapter 的 IllegalStateException

    我在此活动中收到 IllegalStateException 但不太确定发生了什么 这是 QuickContactActivity 中的 ViewPagerAdapter 类 private class ViewPagerAdapter e
  • 可以让 CompareValidator 接受带逗号的数字吗?

    我一直在对网页上的输入字段进行 Double 类型检查 但现在我需要允许逗号 这可以使用 CompareValidator 来完成还是我需要使用正则表达式验证器 而不是使用Type Double 尝试使用Type Currency 它应该接
  • 使用 GAS 解压缩 gz 文件会引发错误异常:参数无效

    我正在尝试解压缩作为附件发送到我的电子邮件的 DMARC 报告 它适用于 zip 文件 但不适用于 gz 文件 在我的代码中 我首先按主题获取正确的电子邮件 如果主题正确 则运行此脚本 var attachments message get
  • 量角器拖放:Angular 与 Angular with HTML5

    我在量角器测试中遇到了拖放问题 就像其他人一样 但一般情况下没有 仅在使用 HTML5 的角度应用程序中 为了演示 我使用两个演示拖放功能的网页编写了一个小型量角器测试套件 第一个页面 在第一个测试用例中使用 演示了 AngualarJS
  • 使用 Laravel 5.6 加载用户设置

    我希望能够修改 Laravel 5 6 使用的 Auth gt user 数据 我有一个名为设置的表 其中有一列名为user id其中对应于一个用户id 我尝试修改app User php并添加一个 construct功能 public f
  • Java中私有静态变量有什么用?

    如果一个变量被声明为public static varName 然后我可以从任何地方访问它ClassName varName 我还知道静态成员由类的所有实例共享 并且不会在每个实例中重新分配 将变量声明为private static var
  • 刷新数据透视表的运行时错误 1004

    我创建了宏 它将刷新工作表中的所有数据透视表 相同的代码在一张纸上有效 但在另一张纸上无效 我尝试在调试模式下运行它 它对于前几张表工作正常 但在中间的一个表上出现错误 运行时错误 1004 数据透视表类的 RefreshTable 方法
  • 2D 游戏:快速(最快)找到另一个实体的 x 个最接近实体的方法 - 大量实体,高度动态

    我正在开发一款具有大量动态实体的 2D 游戏 为了好玩 我们就称他们为士兵吧 假设有 50000 人 我只是随机想到的 可能多了也可能少了 所有这些士兵都按照规则移动每一帧 想想群体 聚集 转向行为 对于每个士兵 为了更新其运动 我需要与我