je suppose que tu as la taille des "carrés"
on a donc le carré 1 (x1, y1, t1) et le carré 2 (x2, y2, t2)
x = left
y = top
t = taille (évidemment tu peux avoir l et h si ce ne sont pas des carrés, pour d'autres polygones, faudra travaillé))
pour moi il y a quatre tests à faire, en prenant pour pivot le carré 1, à savoir s'assurer que les quatre sommets de carré 2 ne sont pas dans carré 1
je vais le faire en protojavascript pour aller plus vite (et partir a la douche avant d aller bosser ^^)
on a donc le carré 1 (x1, y1, t1) et le carré 2 (x2, y2, t2)
x = left
y = top
t = taille (évidemment tu peux avoir l et h si ce ne sont pas des carrés, pour d'autres polygones, faudra travaillé))
pour moi il y a quatre tests à faire, en prenant pour pivot le carré 1, à savoir s'assurer que les quatre sommets de carré 2 ne sont pas dans carré 1
je vais le faire en protojavascript pour aller plus vite (et partir a la douche avant d aller bosser ^^)
Code PHP :
<?php
function sommetDansCarre ( x, y, carrePivot)
{
if ( (x >= carrePivot.x) &&
( x <= carrePivot.x+ carrePivot.t) &&
(y>= carrePivot.y) &&
( y< = carrePivot.y+carrePivot.t) )
return true;
else return false;
}
function Collision (Carre2, Carre1)
{
if ( sommetDansCarre (Carre2.x, Carre2.y, Carre1) ||
sommetDansCarre (Carre2.x + Carre2.t, Carre2.y, Carre1) ||
sommetDansCarre (Carre2.x, Carre2.y + Carre2.t, Carre1) ||
sommetDansCarre (Carre2.x + Carre2.t, Carre2.y + Carre2.t, Carre1) )
return true;
else return false;
}
ca devrait suffire, si j'ai bien compris ta demande ^^