Projection d'ellipsoïde et détermination de conique
Répondre à la discussion
Affichage des résultats 1 à 18 sur 18

Projection d'ellipsoïde et détermination de conique



  1. #1
    invite7768d2d9

    Projection d'ellipsoïde et détermination de conique


    ------

    Bonjour,

    Je suis actuellement en train de travailler dans le cadre d'un stage sur des ellipsoïdes projetées dans un plan.

    La première idée était de déterminer l'équation du contour (ce qui se fait assez bien en projetant la matrice de l'ellipsoïde afin de récupérer la conique.) J'ai vérifié cette équation en traçant les points

    ce qui correspond bien a l'ellipse de la projection donc jusque la pas de problème. J'ai supposé que le centroïde se projetait sur le centre de la projection en me disant que la projection d'une ellipsoïde était une ellipse et j'ai projeté le sommet de mon ellipsoïde afin de récupérer le grand axe, le petit axe (par calcul d'intersection avec la conique) et l'angle.

    Je me suis vite rendu compte que ça ne marchait pas : la projection du centroïde est différente du centre de la projection de l'ellipsoïde, sans doute a cause de la perspective. En cherchant un peu j'ai trouvé qu'il était possible de déterminer le centre grâce au dérivée partielle de l'équation de la conique. Ce qui marche bien.

    Du coup je me suis dis, pourquoi ne pas tout déterminer a partir de cette équation car c'est moins couteux que la projection de point d'un point de vue calculatoire (c'est une opération qui va très souvent être répétée dans un programme). Et c'est la que les difficultés arrivent.

    J'ai donc une équation du type :

    Outre la projection qui marche, j'ai bien Ce qui vérifie que c'est bien une ellipse.
    Après résolution du système des équations a dérivée partielle, je trouve le centre

    qui me semble correcte a l'affichage.
    Du coup je peux réécrire mon équation de la forme :
    avec

    La matrice associer pour G = -1 (important pour la suite) est :
    réelle et symétrique
    Je calcul les valeurs propres et en utilisant le polynôme caractéristique de cette matrice :
    avec
    (Au passage, me garanti l'existence des valeurs propres)
    Valeurs propres toutes les deux de même signe qui satisfont bien la relation et qui donc me semble encore une fois correcte.
    Les valeurs propres sont semble-t-il liée au rayon grand axe et au rayon petit axe par la formule suivante :

    Seulement, il est évident ici que le terme F doit intervenir quelque part. J'ai donc essayé de diviser l'équation de la conique par F mais ça ne colle pas, de même que si j'utilise plutôt G. Quelqu'un vois ou je me trompe ?

    Ensuite, pour déterminer l'angle, je dois calculer le vecteur propre associé a la plus petite valeur propre (car c'est bien la plus petite qui donnera le grand axe). Et la je me retrouve face a un bête système :


    Après vérification avec les valeurs propres trouvées, il s'agit bien de la même équation, d'où le vecteur propre

    Or quand je trace le résultat, V ne correspond pas du tout a l'orientation du grand axe. Pire, il ne semble même pas lié a une quelconque orientation au vu de sa réaction quand je fais tourner mon ellipsoïde. On m'aurait menti ? Quelqu'un voit où je me plante ?

    Merci

    PS : Je tape sur un clavier qwerty alors je n'ai pas tout mes accents ! Désolé.

    -----

  2. #2
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    Petite erreur :

    Le problème étant (version courte) : Quelle est la formule exacte qui lie les valeurs propres aux rayons de l'ellipse ? Est-il exacte que le vecteur propre de la plus petite valeur propre donne la direction du grand axe ?

  3. #3
    invitea6f35777

    Re : Projection d'ellypsoïde et détermination de conique

    Salut,

    Ta formule pour est encore fausse et ta formule pour aussi. Sinon le vecteur propre pour la plus petite valeur propre donne bien la direction du grand axe à condition de calculer correctement les valeurs propres. Il me semble que

    non?

  4. #4
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    Exacte pour . C'est une coquille ici mais il me semble que c'est ce que j'ai dans mon code...



    Ouais...



    C'est ca ?

    Je retourne au labo tester ca et vérifier mon delta qui me fait douter (mais si ca colle avec la formule du determinant ca devrait etre bon de ce coté la normalement...).

    Donc normalement si je divise mon équation de conique par G ca devrait marcher maintenant (ca va forcement modifier mes valeurs propres et donc les rayons ce qui devrait corriger pas mal de chose).

    Merci !

  5. A voir en vidéo sur Futura
  6. #5
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    Effectivement ça marche maintenant pour la détermination du grand axe et petit axe. Mille Mercis !

    Toutefois le vecteur propre ne marche pas

    Je fais tourner mon ellipsoïde pour tester et ça tourne mais dans le mauvais sens... Il faut que je fasse des tests. A propri ce n'est pas un problème de passage en coordonnées image.

    J'ai essayé d'inverser le signe de mon angle mais dans ce cas il y a un décalage de plusieurs degrés (entre 20 et 30 a priori) entre la vérité et le résultat


  7. #6
    invitea6f35777

    Re : Projection d'ellypsoïde et détermination de conique

    Salut,

    C'est normal, c'est le fameux piège à con. Même quand on l'a vu une fois on peut retomber dedans, j'en suis la preuve vivante. Ce ne sont pas les vecteurs propres qui donnent les directions des grands axes. Tu trouves les directions des axes comme ceci. Tu définis la matrice comme la matrice dont les colonnes sont les deux vecteurs propres (matrice qui n'est a priori pas symétrique en général). Les lignes de cette matrice sont alors les direct ions des axes. Si tu mets le vecteur propre pour la plus petit valeur propre dans la première colonne alors la première ligne donne la direction du grand axe. Je sais c'est pas intuitif mais c'est comme ça. Il faut écrire les choses vraiment proprement pour s'en rendre compte

  8. #7
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique



    Celle la j'y aurai pas penser tout seul. Merci

    Il va falloir que j'écrive les choses par contre pour comprendre d'où ça viens parce que heu... là je suis un peu perdu. Ça un rapport avec le fais que la matrice soit en fait une matrice de rotation si on normalise les vecteurs propres (si je me rappelle bien) et qu'il faut utiliser (qui est du coup ) dans la diagonalisation ?

  9. #8
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    Ca ne marche pas non plus ...

  10. #9
    invitea6f35777

    Re : Projection d'ellypsoïde et détermination de conique

    Oui c'est ça,

    Si tu considère la conique centrée d'équation

    En notant

    et

    alors l'équation devient

    Puisque est une matrice symétrique réelle est est diagonalisable en base orthonormée et donc il existe une matrice orthogonale (dont les colonnes sont deux vecteurs propres normés) et une matrice diagonale (dont les composantes sont les valeurs propres) tels que

    mais puisque est orthogonale alors et donc

    Ainsi si on fait le changement de variable

    c'est à dire

    On a



    Après changement de variable les axes de coordonnées sont donc les axes de l'ellipse. Autrement dit les vecteurs qui dirigent les axes sont les vecteurs de la nouvelle base, ils forment donc les colonnes de la matrice de passage qui permet de passer des nouvelles coordonnées aux anciennes et puisque

    c'est donc la matrice de passage en question et non pas . C'est à cet endroit qu'on se plante à tout les coups, il est si facile de se mélanger les pinceaux avec les matrices de passage et il serait si intuitif et naturel que ce soient les vecteurs propres qui dirigent les axes Les collones de sont les lignes de et donc elles n'ont rien à voir avec les vecteurs propres puisqu'en général n'est pas symétrique.

  11. #10
    invitea6f35777

    Re : Projection d'ellypsoïde et détermination de conique

    J'oubliais, il faut absolument normer les vecteurs propres pour que ça marche parce que si les deux vecteurs propres non pas les même normes ça donne forcément n'importe quoi

  12. #11
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    Problème résolue même si je ne l'explique pas vraiment. Merci !

    le passage en coordonnée image (X,Y) = (x,-y) a régler le problème. Par contre pour une raison que je n'explique pas, il y a un angle constant de 90 degrés de différence entre le résultat (qui se règle facilement en ajoutant la constante)

    Une idée ?

  13. #12
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    En fait non ce n'est pas resolue...

    Alors entre 0 et 90 degrés et dans le quartant oppose, il y a une symétrie par rapport a la 1ere bissectrice.

    dans les 2 autres quartant, une rotation de 90 degrés


  14. #13
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    Un exemple de saut lors d'une rotation autour d'un axe :
    angle = 180.347
    center = (241.29,331.304)
    GA = 114.836
    PA = 53.3716
    vp1 = 7.58305e-05 : (-0.00605228,-0.999982)
    vp2 = 0.000351058 : (-0.999982,0.00605228)
    vect = (-0.00605228,-0.999982)

    angle = 0.356571
    center = (241.453,331.28)
    GA = 114.603
    PA = 53.3425
    vp1 = 7.61387e-05 : (0.00622328,-0.999981)
    vp2 = 0.000351442 : (0.999981,0.00622328)
    vect = (0.00622328,0.999981)

    La discontinuité mise en gras est je pense a l'origine du problème.
    Pour calculer mes vecteur propre, j'utilise la formule trouve dans mon premier post. Ici il faudrait multiplier ce vecteur par -1. Je pense avoir rater quelque chose...

  15. #14
    invitea6f35777

    Re : Projection d'ellypsoïde et détermination de conique

    J'avais pris comme exemple

    ce qui me donnait après calcul comme matrice

    et donc les axes ont pour équation

    et

    j'ai tracé sa sous scilab et ça a l'air de coller parfaitement, alors peut-être que je suis tombé pile sur un exemple qui marche à la limite tu peut donner un exemple d'équation on pourra comparer nos résultats

  16. #15
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    hum oui mais je ne pourrais faire ca que demain car je suis rentrer plus tot que prévu (gros orage et pas de parapluie )

    Par contre je risque d'avoir des une coniques très moches (résultat de la projection plan d'une ellipsoïde). L'avantage c'est que c'est facil de la faire tourner et d'avoir l'équation comme ca. (et surtout j'en ai besoin dans le programme). Je placerai aussi ici mes résultats actuels (avec une jolie ellipsoïde en 3D ) au moins un pour chaques quartant histoire de bien voir le problème.

    Il y a quelque chose que je dois tester aussi (même si ca ressemble un peu à du bricolage ça devrait ramener la continuité) :
    Si le second vecteur propre doit être multiplié par -1. Je ne sais pas si ca sera suffisant vu le comportement bizarre que j'obtiens mais c'est a tester...
    Peut être d'ailler que la vrai formule de vecteur propre dans mon cas serait plutôt ou quelque chose de ce genre qui change le résultat sur certain quartant. Car oui je n'ai pas pris en compte que je pouvais me retrouver avec des coefficients négatifs dans la conique.

  17. #16
    invitea6f35777

    Re : Projection d'ellypsoïde et détermination de conique

    j'ai enfin compris le problème Il ne suffit pas que la matrice soit orthogonale il faut que ce soit une matrice de rotation et donc qu'elle ait un déterminant égal à pour que ça marche. Au vu de comment tu classe tes vecteurs propres (avec les valeurs propres toujours ordonnées de la même manière) et de comment tu les calcules, il n'est pas étonnant que ça ne marche que lorsque a un certain signe et donc que lorsque tu es dans deux cadrants sur quatre. Il faut donc changer le signe d'un vecteur propre (et un seulement) pour changer le signe du déterminant de s'il s'avère qu'il est négatif (cela dépend du signe de et de la façon dont tu ordonnes tes valeurs propres, tu as juste à faire un test normalement en calculant le déterminant de pour savoir s'il s'agit du signe de ou de son opposé) et ensuite tu considère bien les lignes de la matrice et non pas les colonnes (i.e. pas les vecteurs propres) et ça te donne les directions et je t'assure que ça marche parfaitement et ce n'est pas du bricolage

  18. #17
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique



    Ca marche beaucoup mieux comme ca !

    Par contre pour une raison étrange, j'ai un décalage constant de 90 degrés. Mais plus de changement entre les quartants ce qui est déjà énorme !

    Merci

    Heu du coup ça ne sert a rien d'envoyer les résultats

    Par contre (oui je sais c'est facile de faire +90 mais...) j'aimerai comprendre d'où sort ce décalage...

  19. #18
    invite7768d2d9

    Re : Projection d'ellypsoïde et détermination de conique

    J'ai trouver d'où viens le décalage de 90 degrés. Ce n'est pas un problème mathématique mais de librairie (OpenCV considere que c'est l'axe verticale qui est de pente 0 degres)

    Probleme resolu


    Encore merci

Discussions similaires

  1. conique
    Par invite7afa3ac7 dans le forum Mathématiques du supérieur
    Réponses: 6
    Dernier message: 09/12/2009, 18h46
  2. conique
    Par inviteaaa26f50 dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 17/11/2009, 21h05
  3. Equation Conique
    Par invite31544445 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 01/12/2008, 17h17
  4. une conique
    Par invite92db4158 dans le forum Mathématiques du supérieur
    Réponses: 14
    Dernier message: 17/11/2008, 23h35
  5. probléme de conique
    Par invite72ab54f9 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 14/11/2004, 19h03