Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >二维网格中对象的碰撞处理

二维网格中对象的碰撞处理
EN

Stack Overflow用户
提问于 2017-02-20 16:16:36
回答 1查看 1.2K关注 0票数 6

我正在Java中开发一个模拟,对象在2D网格中移动。网格中的每个单元只能被一个单元格占用,对象通过从一个单元格移动到另一个单元格移动。

这比特定于Java的理论更有理论意义,但是有没有人想过我应该如何使用这个网格来处理冲突处理呢?在类似网格的世界中,人们是否曾经使用过任何算法来处理碰撞?

请注意,我不是在谈论碰撞检测,因为这是微不足道的,因为对象从一个单元格移动到另一个单元格。我说的是碰撞处理,它会变得非常复杂。

对象A希望移动到与对象B相同的位置,对象C希望移动到对象B的当前位置。由于每个单元只能包含一个对象,如果对象A能够移动到它想要的位置,这将导致对象B保持静止,从而使对象C也保持静止。

可以想象,这可能会产生一个更长的碰撞链,需要处理。

是否有任何算法或方法,人们已经使用,可以帮助这一点?没有碰撞检测算法饱和的搜索结果,几乎不可能搜索到这个问题。

编辑:所有的对象在完全相同的时间移动。我希望限制必须保持静止的对象的数量,因此我倾向于先处理具有较长碰撞链的对象(如本例中的对象B)。

EN

回答 1

Stack Overflow用户

发布于 2017-02-20 17:06:25

检查“提前”/“下一步”将导致计算困难,甚至爆炸。

相反,你可以(并行地)检查“哪个粒子可以移动到这个点?”在每个细胞上。为此,您需要在每个单元格中有一个速度矢量的速度图。然后沿着这个向量向后,你会发现一个细胞。如果有粒子,把它带到细胞里。

这样就不会发生冲突,因为每个单元格只执行一个操作。从负速度矢量的终点得到最近的细胞。

这是有点棘手的计算,因为速度可能不会完全降落在细胞的中心。需要概率(如果它是非常接近角,而不是中心)的运动/宏效果相等也。

因此,只有在细胞指数上才会有竞争条件,而运动的随机性(或根据距离细胞中心的距离来选择粒子)会容忍这种情况。

在量子物理学中,粒子可以跳过墙的另一边,静止不动(即使它不应该),还可以做一些对经典物理学来说不自然的事情。因此,如果分辨率很高,而且速度不高于地图大小,它应该看起来很自然,特别是当多个细胞竞争从另一个细胞中获取一个粒子时,它具有随机性。

多次通行证:

  • 计算哪些细胞需要从哪个细胞中收集,
  • 计算概率,然后获胜
  • 赢钱细胞平行地从源细胞中收集粒子。
  • (不推荐),如果仍然有一个速度未被挑选的粒子,那么做每一个粒子的计算来移动他们(如果他们的目标细胞是空的),应该会进一步减少静止粒子。
  • 在细胞上扩散粒子速度几次(使用2D模板),以便在下一次迭代中使用(这一次处理复杂的碰撞计算很容易,而且以令人尴尬的并行方式进行,有利于多线程-gpgpu)(如果粒子只能到达最近的邻居,这也有助于知道哪一个,即使没有优先级也不可能,因为每个单元都以速度扩散的方式显示相邻的细胞速度)。

检验Gauss(method)方法求解许多线性方程组.

计算是在单元上进行的,而不是粒子上的,因此地图边界将是隐式的、防弹的,并且计算可以在所有核之间平均分布。

示例:

粒子A下降

粒子B向右

他们在碰撞的过程中

速度图平衡态的求解(Gauss)

现在粒子A的细胞有到down+right的速度

与B相同

就好像它们被碰撞了,但它们仍然在它们的细胞上。

用细胞的速度移动它们会使它们看起来像是在碰撞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42356480

复制
相关文章
DCF:立体视觉的视差计算系统
视差图是立体视觉系统的重要组成部分,因为它们会对两个或多个图像的位移进行编码。不过,以前的工作只提供了一些实现细节,处理步骤上不太好定义,并且很少讨论软件设计。与之相反,DCF是对立体视觉系统的主要组件进行标准化,并进行了集成,以促进视差图的构建。因此,DCF算法可以被参数化或使用先前定义的配置来执行。因此,DCF输出可以定向到不同的应用,例如基准测试方案、计算机和机器人应用、三角测量和3D重建。
一点人工一点智能
2023/03/22
8400
DCF:立体视觉的视差计算系统
DCF:立体视觉的视差计算系统
视差图是立体视觉系统的重要组成部分,因为它们会对两个或多个图像的位移进行编码。不过,以前的工作只提供了一些实现细节,处理步骤上不太好定义,并且很少讨论软件设计。与之相反,DCF是对立体视觉系统的主要组件进行标准化,并进行了集成,以促进视差图的构建。因此,DCF算法可以被参数化或使用先前定义的配置来执行。因此,DCF输出可以定向到不同的应用,例如基准测试方案、计算机和机器人应用、三角测量和3D重建。
一点人工一点智能
2023/08/25
2330
DCF:立体视觉的视差计算系统
【FinTech】什么是金融科技(它是如何演变的)?
一般来说,FinTech(金融科技)可以应用于任何金融服务或用于帮助公司管理其业务的财务方面的技术,包括新软件和应用程序,流程和业务模型。
陆勤_数据人网
2018/07/30
2.1K0
【FinTech】什么是金融科技(它是如何演变的)?
区块链:它是什么,它是如何工作的
编者按:本报告是由《威胁镜头》,Stratfor的独特保护情报产品制作的。以企业安全领导者的头脑设计,威胁镜头使行业专业人士能够预测、识别、衡量和减轻世界各地的人们和资产面临的威胁。
架构师研究会
2018/07/25
6390
区块链:它是什么,它是如何工作的
如何用OpenCV制作一个低成本的立体相机
AR/VR的兴起,让我们喜欢上了3D电影和视频,前提是你需要戴上一副3D眼镜才能感受到3D效果。那么,它是如何工作的?当屏幕只是平面时,我们如何体验3D效果?其实,这些是通过一个叫立体相机的玩意儿来捕获的。
小白学视觉
2021/02/22
1.6K0
如何用OpenCV制作一个低成本的立体相机
什么是立体车库?立体车库企业是如何管理业务流程的?
立体车库是用来最大量存取储放车辆的机械或机械设备系统。针对专业停车场管理公司提高停车场容量、提高收益、增加停车费收入的有效工具。最早的立体车库建于1918年,位于美国伊利诺斯州芝加哥市华盛顿西大街215号的一家宾馆的停车库。1997年被引进我国上海、广州、深圳等地。
informat低代码
2021/12/22
7720
什么是立体车库?立体车库企业是如何管理业务流程的?
小白系列(5)| 计算机视觉:3D立体视觉
本文中,我们将讨论立体视觉,这是一种使用两个或多个摄像机来生成全视场三维测量的机器视觉技术。
一点人工一点智能
2023/09/08
4650
小白系列(5)| 计算机视觉:3D立体视觉
小白系列(5)| 计算机视觉:3D立体视觉
本文中,我们将讨论立体视觉,这是一种使用两个或多个摄像机来生成全视场三维测量的机器视觉技术。
一点人工一点智能
2023/09/04
8580
小白系列(5)| 计算机视觉:3D立体视觉
自动驾驶汽车的伪激光雷达-双目立体视觉
双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。
点云PCL博主
2022/02/10
1.4K0
自动驾驶汽车的伪激光雷达-双目立体视觉
伪激光雷达:无人驾驶的立体视觉
激光雷达成本高,用廉价的立体视觉替代它可行吗? 作者:Jeremy Cohen 编译:McGL
McGL
2020/09/21
1.4K0
伪激光雷达:无人驾驶的立体视觉
IPsec 是什么?它是如何工作的?
IPsec(Internet Protocol Security)是为IP网络提供安全性的协议和服务的集合,它是V**(Virtual Private Network,虚拟专用网)中常用的一种技术。由于IP报文本身没有集成任何安全特性,IP数据包在公用网络如Internet中传输可能会面临被伪造、窃取或篡改的风险。通信双方通过IPsec建立一条IPsec隧道,IP数据包通过IPsec隧道进行加密传输,有效保证了数据在不安全的网络环境如Internet中传输的安全性。
Ponnie
2022/01/13
1.3K0
IPsec 是什么?它是如何工作的?
立体匹配导论
转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/51531333, 来自: shiter编写程序的艺术
流川疯
2019/01/18
1.7K0
区块链2018:什么是区块链技术,它是如何工作的?
作为金融技术和在线服务领域最受关注的技术,BLOCKCHAIN已经在2017年底迅速出现。 但是区块链究竟是什么?它是如何工作的? 资深商业策略师Don Tapscott在2016年TED Talk上表示,区块链已经到来,永远塑造未来。 区块链自2008年推出比特币以来可能一直存在,但直到近十年后,该技术才真正达到了主流意识水平。 Tapscott先生说:“未来几十年可能产生最大影响的技术已经到来。 这不是社交媒体,它不是大数据,它不是机器人,它甚至不是AI。 “你会惊奇地发现,这是比特币等数字货币的
架构师研究会
2018/04/09
2.8K0
立体匹配的研究背景以及意义
转载请注明出处:http://blog.csdn.net/wangyaninglm/article/details/51533549, 来自: shiter编写程序的艺术
流川疯
2019/01/18
1.5K0
什么是引力波?它是怎么被发现的?
法拉第(见图4-1)认识到,遍布于整个空间的电磁场是电磁力的载体。这个观点改变了我们对物理世界的理解。
IT阅读排行榜
2020/08/07
6990
什么是引力波?它是怎么被发现的?
Linux 黑话解释:什么是包管理器?它是如何工作的?
简单来说,“ 包管理器(package manager)”(或“软件包管理器”)是一种工具,它允许用户在操作系统上安装、删除、升级、配置和管理软件包。软件包管理器可以是像“软件中心”这样的图形化应用,也可以是像 apt-get 或 pacman 这样的命令行工具。
用户1880875
2021/09/13
1.1K0
基于图论的立体匹配方法研究----绪论
计算机视觉是一门通过研究使用计算机来模拟人的视觉系统的学科。“一图胜千言”,人类对于图像中的信息感知效率远超文字等其他媒介,人类获取的信息总量中更是有高达80%依靠视觉系统[1]。相对于人类高效的图像信息提取能力,计算机在图像信息的理解上仍然效率低下。
流川疯
2019/01/18
8440
一文详解双目立体视觉系统的精度提升方法!
双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法1。
3D视觉工坊
2021/07/01
3.1K0
一文详解双目立体视觉系统的精度提升方法!
MVC 是什么?它是如何工作的?-15
MVC 由三个基本部分组成 - 模型(Model),视图(View)和控制器(Controller)。 它是用于实现应用程序的用户界面层的架构设计模式。 一个典型的实际应用程序通常具有以下层:
角落的白板报
2019/05/15
2.2K0
MVC 是什么?它是如何工作的?-15
一篇文章认识《双目立体视觉》
双目立体视觉,由两个摄像头组成,像人的眼睛能看到三维的物体,获取物体长度、宽度信息,和深度的信息;单目视觉获取二维的物体信息,即长度、宽度。
一颗小树x
2021/05/15
10.3K1
一篇文章认识《双目立体视觉》

相似问题

如何确定立体视觉的视差值

11

视差映射中的立体视觉

11

立体视差图生成

12

立体匹配中的视差图和视差图像有什么不同?

21

如何找到像素视差,像素大小(立体视觉中的深度估计)

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档