Un collègue m'a donné ce problème pour essayer mes connaissances:Étant donné 2 points et une ligne, est-ce que les points coupent la ligne? : algorithme/pseudo-code
Considérons deux points, 1 et 2, ayant des coordonnées (x1, y1) et (x2, y2), respectivement. Dans le même plan que ces deux points est une ligne verticale dont le haut et le bas sont représentés par (xTop, yTop) et (xBot, yBot), respectivement. Les deux points peuvent être sur les côtés opposés du mur, du même côté du mur, ou directement au-dessus/en dessous du mur. Pour la simplicité, aucun des points ne peut être directement sur le mur. Une ligne est tracée du point 1 au point 2; Si une intersection sur le mur (la ligne verticale) se produit, elle se produira au point (xInt, yIint). Étant donné deux points et un mur, écrivez un algorithme pour déterminer si les deux points peuvent se voir les uns les autres. Cela ne peut se produire que si la ligne tracée du point 1 au point 2 ne touche pas le mur.
J'ai correctement identifié que si les valeurs x des deux points sont inférieures/supérieures à celles des murs, ils peuvent se voir les uns les autres. La même chose vaut pour les valeurs y. Je crois qu'il y a beaucoup de géométrie impliquée dans ce problème. Mais, je suis un vieil homme, je reviens juste à la programmation pour m'amuser et c'est vraiment ce que j'essaie de comprendre. Toute aide serait grandement appréciée. Je vous remercie.
-Jon N.