66 votes

Dans quelle mesure deux rectangles se chevauchent-ils?

J’ai deux rectangles a et b avec leurs côtés parallèles aux axes du repère. J’ai leurs coordonnées comme x1,y1,x2,y2.

J’essaie de déterminer, non seulement ils se chevauchent, mais dans quelle mesure se chevauchent-ils? J’essaie de comprendre s’ils sont vraiment le même rectangle, ce qui donne ou prend un peu de marge de manœuvre. Alors, leur superficie est-elle la même à 95%?

Une aide pour calculer le pourcentage de chevauchement?

91voto

Yves Daoust Points 6396

Calculez l’aire de l’intersection, qui est également un rectangle :

À partir de là, vous calculez la zone de l’union:

Et vous pouvez considérer le ratio

(100% en cas de chevauchement parfait, jusqu’à 0%).

15voto

user3025064 Points 223

La formule d’intersection sera

alors le syndicat sera ``

Et enfin, le ratio sera `` de .

9voto

Jack Points 88446

J’ai récemment rencontré ce problème et j’ai appliqué la réponse d’Yves, mais d’une manière ou d’une autre, cela a conduit à la mauvaise taille de la zone, alors je l’ai réécrite.

En supposant deux rectangles A et B, découvrez à quel point ils se chevauchent et, dans l’affirmative, renvoyez la taille de la zone :

6voto

Alessio B Points 168

Il suffit de corriger les réponses précédentes pour que le rapport soit compris entre 0 et 1 (en utilisant Python):

La sortie sera :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X