Intersection
Point d'intersection de lignes
a1
, b1
, c1
- coefficients de la première ligne,
a2
, b2
, c2
- les coefficients de la deuxième ligne,
x
, y
- point d'intersection.
\(x = {-(c1 \cdot b2 - c2 \cdot b1) \over (a1 \cdot b2 - a2 \cdot b1)} \\ y = {-(a1 \ cdot c2 - a2 \cdot c1) \over (a1 \cdot b2 - a2 \cdot b1)} \)
Nous savons déjà comment vérifier l'intersection des lignes (elles ne sont pas parallèles) et trouver leur point d'intersection.
Apprenons maintenant à faire cela avec des segments.
Tout d'abord, apprenons à vérifier simplement leur intersection.
Les segments se croisent si les extrémités de l'un sont sur les côtés opposés de l'autre et vice versa (ceci est facilement vérifié par le produit croisé). Le seul cas où cela ne fonctionnera pas - les segments se trouvent sur une ligne droite. Pour cela, vous devez vérifier l'intersection de ce qu'on appelle. boîte englobante (boîte englobante du segment) - vérifie l'intersection de la projection des segments sur X
et Y
.
haches.
Maintenant que nous savons comment vérifier l'intersection des segments, apprenons à trouver le point (ou segment) de leur intersection :
- s'ils ne se coupent pas, alors il est clair qu'un tel point n'existe pas ;
- sinon, nous construirons des droites sur lesquelles reposent ces segments.
S'ils sont parallèles, alors les segments se trouvent sur la même ligne, et nous devons trouver le segment d'intersection - du maximum des bords gauches des segments au minimum des bords droits (le point est inférieur à l'autre point, s'il est à gauche, en cas d'égalité X
-coordonnées - s'il est inférieur).
Si les lignes ne sont pas parallèles, trouvez le point de leur intersection et renvoyez-le.