moulinette

Pour GPS2GE, ca avance… d’ailleurs, si quelqu’un peut me dire comment reconnaitre si un quadrilatère est convexe où non à partir des coordonnées de ses angles, ca m’arrangerait bien !

à l’intuition je dirais qu’il faut voir si t’as pas un angle de plus de 180° ou pas… Tu peux pas faire ça ?

Tu peux vérifier pour chaque coté si tous les autres cotés (ou tous les sommets) sont dans le même demi-plan délimité par le coté en question…

si ton coté est porté par la droite y=ax+b tu peux voir si le point A (xA,yA) est sous la droite si yA<axA+b. sinon il est au-dessus

@marc : oui, c’est une façon de faire à laquelle j’ai pensé, mais ce que je cherche, c’est la formule qui te donne l’angle à partir des coordonnées des points (exprimées en latitude/longitude)

@piwi : en fait, les quadrilatères croisés ne sont pas explicitement interdits par le règlement de la CFD ! :koi:
Ce qui est interdit, ce sont les quadrilatères concaves (un point ne doit pas se trouver dans le triangle formé par les trois autres !
J’avais également pensé au produit scalaire pour le sens de rotation, mais là aussi je suis preneur de la formule à partir des coordonnées lat/long !

@pol : ha ca j’y avais pas pensé, mais ca marche aussi pour les quadrilatères croisés…

Heu pensez-vous que pour un quadrilatère ABCD, un truc du style suivant fonctionne :

Angle(A)=atan2(AD)-atan2(AB)
Angle(B)=atan2(BA)-atan2(BC)
Angle©=atan2(CB)-atan2(CD)
Angle(D)=atan2(DA)-atan2(DC)
avec Somme(Angles(A,B,C,D))=180 comme condition

(je dispose d’une formule pour trouver atan2 depuis des coords lat/long)

:?: :?: :?:

[quote]man’s : pour les quadrilatères croisés… c’est une la prise de tête de la CFD …
aprés, tu peux voir avec le sens de rotation (produit scalaire) des 3 premiers points et des 3 derniers … si le sens s’inverse Confus
[/quote]
en fait je voulais dire produit scalaire sur l’axe Z du produit vectoriel…
je te passe le tenseur…
soient U1 et U2 les vecteurs de coordonnées (X1, Y1) et (X2, Y2)

(U1 ^ U2) . Z = X1Y2-X2Y1

sachant que U1 et U2 sont en ait les vecteurs formé par 3 points consécutifs du quadrilatère
X1 = lat(1)-lat(2)
X2 = lat(3)-lat(2) …

:coucou:

EDIT : la formule reste valable pour les quadrilatère “convexe” puisqu’il y a inversion du sens de rotation …

EDIT2 : j’ai ptet (encore) fait une inversion enter les latitudes et longitudes… mais en l’occurence ce qui nous interessera étant le signe d’un produit vectoriel par rapport au produit vectoriel suivant… on s’en tape le coquillard :pouce:

pour des formules reliant les angles en coordonnées latitude longitude il te faut la trigo sphérique.
Si je me rappelle bien mes cours de géodésie d’il y a deux ans tu peux tout faire avec une seule formule : http://fr.wikipedia.org/wiki/Trigonométrie_sphérique

Pour avoir l’angle sur la sphère entre deux poitns tu peux toujours te ramener à un triangle sphérique en mettant le troisième point (C dans l’article de la désencyclopédie) au pole nord. Dans ce cas a et b sont les colatitudes (180-lat) de tes deux points et c est la différence entre les longitudes des deux points.
Ca te permet de calculer les cotés de ton quadrilatère donc de définir un nouveau triangle sphérique avec deux cotés de ton quadrilatère et donc de trouver l’angle gamma entre ces 2 cotés.

ps : c’est quoi atan2 ??

@ Marc : la somme des angles d’un quadrilatère convexe, c’est 360° ! (180, c’est pour le triangle, qui est toujours convexe par définition).

Je viens de le vérifier en appliquant la formule que je vous ai décrite plus haut, qui marche, mais qui semble beaucoup trop gourmande en temps machine, (calculs trigonométriques à la pelle pour calculer atan2 obligent) d’autant que je suis dans une bouvle en O(4) ! (quadrilatère oblige)… Je vais donc essayer la méthode de Piwi, qui me semble plus économique en calcul…

@Paul : atan2 : c’est la fonction qui te retourne l’arc tangente entre deux variables x et y ; si x et y correspondent aux coordonées d’un point, ca te donne l’angle de OA dans un repère orthonormé O(i,j).

PS : vous avez remarqué ? : on les voit pas beaucoup intervenir les poulettes sur ce topic ! :wink: :mdr:

je parlais pas de la somme des angles, juste d’un angle à la fois :slight_smile:

Ha ok… mais en fait, ça ça marche pas, paske ca dépend du sens dans lequel tu tournes (en vol) pour faire ton quadrilatère…
En utilisant la formule décrite plus haut, la somme des angles fait soit 360, soit -360 (on tourne dans l’autre sens), soit 0 (quadrilatère concave).
Dommage que ca bouffe trop de temps, ca marchait bien… :?

edit de mon dernier message :

  • j’ai dit une connerie à propos de l’angle entre deux points (distance angulaire suer le globe terrestre) : c est l’angle qu’on cherche (la longueur en degrés d’un coté du quadrilatère) et c’est gamma (l’angle du triangle au sommet C) qui est la différence entre la longitude de A et la longitude de B.

  • et puis j’ai aussi dit désencyclopédie au lieu de wikipédia

A part ça j’ai pas trop compris la méthode de piwaille mais il me semble que c’est plus ou moins de l’approximation plane et sur des cross de 200 km je sais pas si c’est encore justifié. Et puis quand il dit x1=lat1-lat2 je crains qu’il ne sous entende que y1=long1-long2 alors que par chez nous loin de l’équateur un degré en latitude (le long d’un méridien) ne correspond pas à la même distance qu’un degré en longitude (le long d’un parallèle).

EDIT : mais c’est vrai que si on ne s’interesse qu’au signe on s’en “tape le coquillard”

Pas encore regardé ca, je vais jeter un oeil

J’avais traduit… je prefere pas utiliser les definition de la désencyclopédie pour ce genre de truc… :wink:

Ha oui, tu as raison, j’avais pas regardé en détail la soluce de Piwi mais je confirme que ca génère trop d’approximations, même sous nos lattitudes. Cela dit, j’ai déjà fait les formules pour faire la conversion, mais j’ai peur que je retombe dans mon problème de perf :frowning:

je confirme : approximation au plan …
explication : lat1 -lat2 = distance entr les points 1 et 2 sur l’axe des latitudes (j’en avait marre des sub )

ceci dit un quadri de 200km… ça fait plus beaucoup de distance sur axe…

sincèrement, à mon avis… on s’en fiche un poil que le quadri il soit convexe … surtout si ça doit faire des calculs lourdingues !
le gus qui regarde le quadri il verra bien si ça le fait ou pas

Bon j’ai finalement réussi à faire tourner mon algo cité plus haut, mais ca marche pas …j’me retrouve encore avec du concave… :frowning:

Sinon, l’approximation que fait piwi n’est pas du tout gênante puisque notre cas, la seule chose qui nous intéresse c’est de savoir si le quadrilatere est convexe ou non (les distances, on s’en tape, je les calcule -correctement- ailleurs) ; donc je vais essayer sa solution pour voir si ca marche mieux.

Sinon Piwi, le principe, c’est que la moulinette te donne le meilleur parcours valide… donc ca passe par les calculs lourdingues ! :?

Yop

dans la séries, les idée à 2 balles de tonton piwaille : dans le formulaire…

  • est-ce qu’on pourrait virer la date (qu’on peut récupérer sur la trace)
  • est-ce que le gus il pourrait pas demander seulement les recherches qui l’intéressent ?
    j’ai pas besoin de passer 1/2 de calcul du serveur sur un quadrilatère ou des triangles si je sais pertinament que mon trajet est un DL voire DL1 ou 2

et puis faudra pas oublier l’option (cochée par défaut) de gzipper le fichier résultat :coucou:

:coucou: J’étais justement sur le sujet…
Alors :

Le problème, c’est que certains format de traces n’entegistrent pas la date : si tu ne mets rien et que le format contient l’info, ca prend celle dans la trace. Donc, on garde la date, mais je préciserai que c’est que pour certains formats…

Oui, il y a maintenant une option ou on coche si on veut les calculs cfd ou non. Pour l’instant, c’est tout d’un bloc, je vais voir s’il faut effectivement aller jusqu’à rechercher que certains types…

Ben maintenant, c’est zip obligatoire, tu comprendras pourquoi, je vais faire une beta exclu lcdv bientot :wink:

Alley, feu sur st hil !

Salut les matheux du samedi matin,

juste une petite question sur la moulinette :

les balises sont-elles forcemment des points remarquables (sommets, ou autres) ?
ou bien est-ce que ça peut être le point Gps le plus “loin” de la trace ???

ciao

:tomate: :tomate: :tomate: :tomate: :tomate: :tomate: :tomate:
Tu cherche vraiment les coups !!!
Moi perso de la trigo j’en fait tout les jours, alors quand je suis en vac j’évite tout contact avec ces bêtes la

Yop !

ben la moulinette ne fait qu’avec ce qu’elle a = la trace
la déclaration lors du challenge LCVD : du pourra mettre le point remarquable (sommet, croisement de route…)le plus proche … mais faut calculer les distance avec la trace

:coucou:

Le principe de la moulinette, c’est qu’elle va chercher automatiquement quel est ton meilleur parcours CFD, et donc les meilleurs points et le meilleur tracé. Pour l’instant, je bute sur un problème àlc sur le quadrilatère, mais toutes les autres “figures” autorisées à la CFD marchent (DL,DL1,DL2,AR,TR,TRFAI), et même avec une BD et BA différent des décos et attéros !

Pour Cleer : je pensais pas à toi comme poulette : plutôt celles qui caquettent sur le (t)chat ! :wink: