21-05-2012, 11:16 AM
(Modification du message : 21-05-2012, 03:40 PM par Sephi-Chan.)
Mes souvenirs en mathématiques sont relativement vieux et j'aurai besoin d'aide pour savoir comment déterminer si un segment [AB] coupe un cercle d'origine O et de rayon r dans le plan (donc en 2D, pas 3D).
Dans la pratique, il s'agit de détecter, parmi les flottes partant d'un point A pour aller à un point B, celles qui seraient, à un moment ou un autre, à portée d'un radar situé au point O.
Si le point A ou le point B est dans le cercle (OA<r ou OB<r), la flotte est forcément détectée; mais dans le cas ou aucun des deux n'est dans le cercle, il est quand même possible que des points du segment soient dans le cercle.
La cerise sur le gâteau serait de pouvoir récupérer les flottes détectées par une seule requête SQL: les points A et B de chaque flotte sont stockés en base de données.
Dans la pratique, il s'agit de détecter, parmi les flottes partant d'un point A pour aller à un point B, celles qui seraient, à un moment ou un autre, à portée d'un radar situé au point O.
Si le point A ou le point B est dans le cercle (OA<r ou OB<r), la flotte est forcément détectée; mais dans le cas ou aucun des deux n'est dans le cercle, il est quand même possible que des points du segment soient dans le cercle.
La cerise sur le gâteau serait de pouvoir récupérer les flottes détectées par une seule requête SQL: les points A et B de chaque flotte sont stockés en base de données.