Problème de géométrie

Résolu/Fermé
vivi - 7 oct. 2006 à 11:13
 vbx - 7 juin 2008 à 13:06
Bonjour,

J'aimerais savoir si quelqu'un avait une idée sur le problème suivant:

J'ai 4 points définient sur une sphère en longitude et latitude et je souhaiterai savoir si un autre point quelconque de la sphère (lui aussi exprimé en longitude et latitude) s'inscrit dans la forme géométrique formée par ces 4 points... C'est à dire si le point est dans la petite calotte fromée par les points...

Je ne trouve pas de réponse évidente à ce sujet, alors si quelqu'un vois comment programmer cela, merci de votre aide,
Vivi
A voir également:

2 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 858
8 oct. 2006 à 03:44
Bonsoir,

voilà une proposition de solution (excel) https://www.cjoint.com/?kidPZtUAxl pour ta question.

elle est censée gérer les quadrilatères curvilignes généraux ou particuliers (rectangle, parallélépipède, trapèze, losange, qu'ils soient rectangles ou pas, en appui sur un parallèle ou un méridien)

je n'ai pas tout testé ! donc il y a des chances que tu doives corriger les erreurs résiduelles.

le principe :
les 4 points sur la sphère définissent 2 régions dont une seule nous intéresse.
les côtés du quadrilatère fournissent les limites d'appartenance d'un point à la région. Quand un point est au dessus ou en dessous de ces limites, il est dedans ou dehors selon les cas.

il reste à trouver les équations des côtés et à tester si les latitudes et longitudes respectent les condition d'intériorité.

un exemple pour que ce soit peut-être plus clair :
prenons la région Boulogne sur mer, Nancy, Clermont-Ferrand et Brest.
Les conditions à remplir par un point pour être dans la région seront :
1) être au dessus de la ligne Clermont-Ferrand / Brest
2) être en dessous de la ligne Brest / Boulogne sur mer
3) être en dessous de la ligne Boulogne sur mer / Nancy
4) être au dessus de la ligne Nancy / Clermont Ferrand

l'équation de la ligne joignant un point 1 à un point 2 est :
(Lat(x) - Lat(1)) / (Long(x) - Long(1)) = (Lat(2) - Lat(1)) / (Long(2) - Long(1))

la condition 1) s'exprimera alors sous la forme :
Lat(x) >= (Long(x) - Long(1)) * (Lat(2) - Lat(1)) / (Long(2) - Long(1)) + Lat(1))

ainsi de suite pour les conditions.

La question ou le problème est alors de savoir comment parcourir le quadrilatère, par quel sommet commencer, comment savoir s'il faut être au dessus ou en desous.
Une autre difficulté vient de la particularité de certaines régions comme les rectangles ou les parallélépipèdes adossés à un parallèle ou un meridien.

le cas du rectangle adossé à un parallèle est simple en terme de conditions d'appartenance à la région :
1) Max(Lat(i)) >= Lat(x) >= Min(Lat(i))
2) Max(Long(i)) >= Long(x) >= Min(Long(i))

la feuille excel en pièce jointe propose un algorithme de parcours des sommets (en D14:D17).
Elle gère également (mais c'est à tester) les quadrilatères particuliers et ce au niveau de l'ordre de parcours des sommets.
C'est pour cela que les formules (matricielles) sont une peu coton.

je te souhaite bon courage.
0
Bonjour,

Merci pour ton aide, oui cela semble interessant.

Entre temps j'avais trouvé une solution en projetant les points sur un plan et recherchant dans ce plan si le point étudié était inclue dans le quadrilataire... c'est à dire en calculant des produits vectoriels et étudier l'orientation des vecteurs obtenuent par rapport au plan...
0
méline > Vivi
23 mars 2008 à 15:33
je ne sais pas te répondre exactement je suis trés ocuppée en ce moment je dois écrire a des personnes trés importante désolée




bisous méline delcourte
0
jgxcgfhgdhxgqostottttttttttty2+5655++/68556


tu peuskjdgjgjkghsdkjcjkhdskfhjghjb fhdwkjfh dkhfhjls akkjuyen zjend jsjehd jen dke dke dke dle dle dle dle



dcwxbjbg jbcxv dwf kwhf jdhgsb jfdkgfjdskf jdklfqhdjdhd


(58963 =4562:6+99897,879 ?5582 -54458958 ****62326/55623.5254 vbcxwjjbh kfjbhdjksgf fkjghfdqsg kjhdfsh



la reponse en calcul



4589748 //895*598-698+98658-25252_45652(58956874) ;254562478 =74589 ,5895




dhcfgdfn,,hgbv 7847845**653¨¨5445+5454.55552?5522222222225//4565323++++++55252522gfffffffffsdfvdvb sjfvbsjhdgfvj bjhbvjhbwxcjh fjhhgjkd ffgcjhfhkgfk gfhjgvjh khj hhj hu kjdk shlar gdkf good filg it pin ya ploutrez
-1