2014-09-03 54 views
0

我有一個矩形和一個矩形矩陣。
我想檢查矩陣中哪個矩形與單個矩形碰撞最多,並改變其位置以適應矩陣的矩形。
這是我的矩形是如何表示對象與畫布上的對象矩陣之間的碰撞

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

的矩陣是矩形的只是一個簡單的陣列(9)。正如你在下面的圖片中看到的矩形可以適應9個方形位置中的任何一個,問題是我不知道如何計算矩形與哪個矩形碰撞最多。
非常感謝。我會解答任何答案。
enter image description here

回答

1

「最填充」單元格是其中心點最接近矩形中心點的單元格。

可以calc下的任何細胞& rectangle5中心點之間的距離是這樣的:

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

用最短的細胞是最充滿的電池。

+1

你提到它是關於矩形的中心,而不是它們的角落之一。我發表這樣的評論,因爲這些數字通常是相對於他們的一些角落而繪製的。 – 2014-09-03 15:26:14

0

我想這是你在這找什麼

JSFiddle

我們已經檢查了碰撞各個角落和中心。
變量xy給出與對象碰撞的瓦片的所有索引。

代碼被評論和易於理解;
更改不同變量,如w,h,tw,th,originx,originy 以便更好地理解。