Bonsoir,
Pour un jeux vidéo (en XNA C#) je dois à un moment calculer la distance entre deux rectangles.
J'ai beau cherché dans ma tête et sur le net je ne trouve pas de solution pour calculer la plus petite distance possible entre deux points appartenant à deux rectangles différents.
J'ai bien 2/3 approximation : réduire un rectangle aux quatre coins le composant (Rectangle1 = ABCD, Rectangle2 = EFGH) et calculer les distances entre chaque points :
AE = ?
AF = ?
AG = ?
AH = ?
BE = ?
BF = ?
BG = ?
BH = ?
CE = ?
CF = ?
CG = ?
CH = ?
DE = ?
DF = ?
DG = ?
DH = ? |
et prendre la plus petite valeur : mais là encore ça n'est pas super-propre ni précis...
Je précise que les côtés de mes rectangles sont obligatoirement parallèles aux axes X ou Y de mon repère (pas de rotation).