android - 进行碰撞检测的最佳方法是什么?

标签 android collision-detection polygon android-canvas

我需要定义一个将成为“合法”区域的多边形,并允许用户在该多边形内移动一个矩形,以防止他们将矩形移动到其点冒险超出多边形的任何地方。

多边形是一个固定的形状,所以,我想导入那个形状的 PNG 并以这种方式拉点可能是最简单的,不知何故?但是我仍然对在用户拖动矩形时检查矩形的坐标以及测试他们将形状移动到边界多边形边缘的位置所涉及的数学问题一无所知。

不幸的是,边界多边形是一个相当复杂的形状。我希望有人能给我指出一个教程,该教程显示运行此类碰撞检测的最佳方法是什么。

最佳答案

Metanet 的 excellent collision detection tutorial有一个很好的部分介绍如何与轴对齐边界框 (AABB) 和任意“墙”进行扫描碰撞。

如果您的多边形是凹面,您可能会发现最简单的方法是先将其分解为多个凸面,这将简化可用的碰撞检测算法。

关于android - 进行碰撞检测的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438690/

相关文章:

r - 填充曲线下不与任何其他曲线重叠的区域

geometry - 确定坐标是否存在于多边形内部

mysql - 如何从 MySql 服务器到 Android 应用程序?

java - 如何在 Android 应用程序内有效地重新启动拍照后的预览?

c++ - 缩小/扩大带孔多边形的轮廓

java - 椭圆形和圆弧之间的碰撞检测

java - Box2d 中动态主体为空

android - 如何在android框架[AOSP] java文件(不是Android Studio或Java IDE)中使用像jsoup库这样的外部jar

android - 在不对每个 Web 服务调用使用 SSL 加密的情况下保持持久登录

python - Pygame - Sprite 与 Sprite 组的碰撞