我正在学习 SAT(分离轴定理)算法和碰撞响应,在我应用旋转之前它似乎工作正常。 如果两个碰撞形状都在旋转,它们会粘在一起并且无法解决碰撞,我猜这是由于形状旋转回对撞机。 我在碰撞检查(发生在render方法中)之前一次旋转所有形状,但我尝试在渲染后旋转以及在渲染循环本身中旋转,但两者都不起作用。s ...
我正在学习 SAT(分离轴定理)算法和碰撞响应,在我应用旋转之前它似乎工作正常。 如果两个碰撞形状都在旋转,它们会粘在一起并且无法解决碰撞,我猜这是由于形状旋转回对撞机。 我在碰撞检查(发生在render方法中)之前一次旋转所有形状,但我尝试在渲染后旋转以及在渲染循环本身中旋转,但两者都不起作用。s ...
我一直在调整和重新编写我的代码以针对三角形测试 AABB,但我不确定我做错了什么。 我正在使用分离轴定理,因为我相信这是用于检测 AABB 和三角形之间碰撞的最好也是唯一的方法(如果我错了或者有更好/更快的方法,请纠正我)。 目前,当发生碰撞时,它不会检测到任何东西。 代码比较小,每一帧都调用is ...
我正在尝试与来自三角形网格的三角形执行 AABB-三角形相交,而 AABB 是结构化 3D 网格/体素中的单个单元格。 有没有什么聪明的方法/算法可以用来过滤和减少我必须执行 SAT 测试的三角形和 AABB 组合的数量? 就目前而言,我正在针对网格中的每个单元格检查每个三角形,这是无效的。 我还考 ...
概括这个问题在 JavaScript 中,但是任何语言、伪代码或仅数学的答案都会很棒! 我一直在尝试实现分离轴定理来完成以下任务: 检测凸多边形和圆之间的交点。 找出可应用于圆的平移以解决相交问题,使圆几乎不接触多边形,但不再在内部。 确定碰撞的轴(问题末尾的详细信息)。 我已经成功完成了第一个要点 ...
我已经在2D中实现了SAT碰撞检测系统,但是我没有得到如何获得碰撞影响点。 目前我获得了mtv和分离轴,因此我可以解决碰撞但不对其施加正确的力,因为缺少撞击点。 ...
我正在使用“分离轴定理”来检查两个多边形(玩家和对象)是否相交。 我想让玩家从物体上反弹,但是要做到这一点,我需要玩家与之碰撞的那一侧(我将从中计算出角度)。 如何从SAT函数中获得此信息? ...
我正在用C ++编写一些代码,使用分隔轴定理测试碰撞,并且在某些方向上错误地触发了发生碰撞的情况 我正在关注本教程,但是本教程仅在2D中使用,尽管我认为它应该仍然相同,但我正在尝试在3D中实施它。 我现在拥有的算法不会遗漏任何碰撞,但是对于两个盒子的某些方向,它认为实际上没有碰撞时会 ...
我正在尝试使用“分离轴定理”对Javascript / p5.js中的凹多边形实施碰撞检测。 我一直在关注以下有关如何使用它的教程: http : //www.dyn4j.org/2010/01/sat/ 但是,无论两个多边形的位置如何,我的检查总是返回true。 这是我的代码: ...
这是我在 Lua 中为 LOVE2D 引擎制作的一个小库,它使用分离轴定理来解决碰撞。 当我的 SAT 程序开始运行时,我非常高兴,并开始使用大量多边形对其进行测试。 它在大多数情况下都有效,并且也为它们提供了正确的最小平移向量。 奇怪的是 - 如果两个形状都有锐角,那么这些角度会导致程序失败,当 ...
我在使用这种碰撞检测算法时遇到了很大的问题。 我了解它的工作原理,但是即使我看过很多教程,也无法在代码中实现它。 目前,该代码段中没有冲突检测代码。 这是演示: var ctx = document.getElementById('canvas').getContext( ...
我正在尝试编写一个刚体模拟器,并且在模拟过程中,我不仅对找到两个物体是否发生碰撞感兴趣,而且还对碰撞的正常点和正常点感兴趣。 我发现了很多资源,实际上是说两个OBB是否在使用分离轴定理发生碰撞。 我也对OBB的3D表示感兴趣。 现在,如果我知道两个碰撞OBB的重叠区域最小的轴,有没有办法找 ...
我正在开发一款游戏,目前正在研究物理。 我正在使用SAT 算法来检测碰撞。 碰撞发生在字符(AxisAlignedBoundingBox)和一些矩形(带旋转)之间。 一切正常,除了在特定情况下靠近角落的碰撞。 (这是一个众所周知的问题,但我没有找到任何好的解决方案)。 在示例 1 中,在第 ...
我目前正在尝试实现自己的SAT(分离轴定理)碰撞检测系统,但是遇到了问题。 在第34行,我收到此错误消息: 第34行,在碰撞轴=(v [1],-v [0])TypeError:'int'对象不可下标 奇怪的是v不是一个整数,而是一个元组。 这是代码 问题出在第3 ...
因此,我一直在尝试使用“分离轴定理”在我的游戏项目中运行碰撞检测和响应。 我已经设法检测到碰撞,但是对于我自己的一生,我无法设法弄清楚如何应对。 我正在尝试找到最小翻译矢量,但是我不确定如何使其成为实际矢量,以便我可以计算出如何响应碰撞。 我已经阅读了一个又一个的教程,并且在这里已经看过许 ...
我无法沿一个轴计算3D穿透矢量。 我已经实现了SAT并且它有效。 我想计算我需要将第一个盒子与其他盒子相互抵消,以便它始终位于其他盒子之上。 有点做简单的盒子与非常长的箱子。 我应该如何继续寻找将一个物体推向指定轴方向的偏移量。 ...
我一直在尝试根据Randy Gaul的C ++ Impulse Engine ,在圆和多边形之间实现碰撞检测,并严格遵循代码,但是算法永远不会返回true。 这是JSFiddle 。 (为方便起见,使用HTML5 Canvas API渲染了主体) 代码片段(仅冲突检测): ...
目前我有一个迷你物理游戏,它使用分离轴定理进行碰撞检测和响应,但是当我发现没有太多关于物体速度与使用SAT碰撞与另一个形状碰撞后发生的事情的文档时我停止了检测。 这是我正在谈论的两个图表。 有人能指出我正确的方向吗? 碰撞后可以给出的所有信息都是最小穿透矢量。 ...
问题出在Polygon::FindAxisLeastPenetration : } polygon.rotationMatrix是类型的对象Matrix22它是一个2×2矩阵。 polygon.points是std::vector<Vector2D>用向量填充。 ...
使用Haxe根据以下指南编写分隔轴实现。 似乎无法弄清为什么它不起作用,测试了单个零件,但是即使在没有任何碰撞的情况下,碰撞总是返回true。 任何帮助表示赞赏! :D ...
前提:我正在构建一个裁剪工具,可以处理双指任意旋转的图像以及任意裁剪。 有时,图像最终会以插入空白空间的方式旋转,以填充旋转图像和裁剪矩形之间的间隙(请参阅下面的示例)。 我需要确保图像视图在旋转时完全适合裁剪矩形。 如果没有,我需要重新转换图像(缩放),使其适合裁剪边界。 ...