javascript - 对象与 Canvas 上对象矩阵之间的碰撞

标签 javascript html canvas matrix collision

我有一个矩形和一个矩形矩阵。
我想检查矩阵中的哪个矩形与单个矩形碰撞最多,并更改其位置以适合矩阵的矩形。
这就是我的矩形的表示方式

{
 x: X,
 y: Y,
 width: WIDTH,
 height: height
}

该矩阵只是一个简单的矩形数组 (9)。正如您在下图中看到的,矩形可以适合 9 个正方形位置中的任何一个,问题是我不知道如何计算矩形与哪个正方形碰撞最多。
非常感谢。我会感谢任何答案。
enter image description here

最佳答案

“最填充”的单元格是其中心点最接近矩形5的中心点的单元格。

您可以计算任何单元格和矩形5个中心点之间的距离,如下所示:

var dx=rect5CenterX-cellCenterX;
var dy=rect5CenterY-cellCenterY;
var distance=Math.sqrt(dx*dx+dy*dy);

距离最短的单元格是填充最多的单元格。

关于javascript - 对象与 Canvas 上对象矩阵之间的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25640771/

相关文章:

python - 更改 Canvas 中像素的颜色、Tkinter、Python

ios - 带有 IOS 的 Google IMA HTML5 SDK

html - 目前最好的做法是不使用备用盒子模型吗?

javascript - 从 HTML 中移除 JavaScript 代码

javascript - CoffeeScript - 等效的 JS 代码无法播放嵌入式 Youtube 视频

html - 需要有关外部 CSS 引用的帮助

android - 在 Canvas 上绘制的 View 上设置 onClickListener

javascript - KineticJS strokeWidth 居中

javascript - 如何在 redux 中替换对象属性值

javascript - 将值从数组传递给 React Native 中的函数