Ho una funzione che funziona perfettamente per rilevare se r1 si sovrappone o meno a r2:
boolean overlaps( Rectangle r1, Rectangle r2 ) {
return r1.x < r2.x + r2.width && r1.x + r1.width > r2.x &&
r1.y < r2.y + r2.height && r1.y + r1.height > r2.y;
}
Ma ora vorrei aggiungere una soglia minima in modo che restituisca true se r1 si sovrappone a r2 di almeno una determinata lunghezza.
Ecco cosa ho finora ma non ho avuto fortuna:
boolean overlaps( Rectangle r1, Rectangle r2, float threshold ) {
return r1.x < r2.x + r2.width && r1.x + r1.width > r2.x + threshold &&
r1.y < r2.y + r2.height && r1.y + r1.height > r2.y + threshold;
}