IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Dépliage d'objet 3D maillé


Sujet :

Algorithmes et structures de données

  1. #41
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    et que t'as dû vérifier 1million de fois
    Honnêtement tu m'as fait douter.
    Bon alors, on dit que j'ai raison et que le repère orthonormé est bien celui que je propose.
    Dans ce repère, si on prend pour origine A, quelles sont les coordonnées de D ?
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  2. #42
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    Bonjour!

    je viens de lire ton message et il m'a fait franchement rigoler. En fait, je me moques de moi-même. J'ai toujours eu de sérieux problèmes avec les calculs même quand le raisonnement était bon. Je croyais que cela avait changé. il faut croire que non

    Bon plus sérieusement,
    avec A(1,0,0), B(-0.5, racine(3)/2, 0), C(-0.5, -racine(3)/2, 0), et D(0,0,racine(2)) dans le repère (O, I, J, K) de base

    tu as crée un nouveau repère local (A, i, j ,k) , qui est je cite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    i=(-rac(3)/2,1/2,0)  j=(-1/2,-rac(3)/2,0)  k=(0,0,1)
    la matrice de passage de l'ancienne base à la nouvelle est donc
    P =
    -rac(3)/2 1/2 0
    -1/2 -rac(3)/2 0
    0 0 1

    la matrice de passage inverse que j'obtiens grâce au pivot de Gauss(Plus sûr) est
    P' =
    -rac(3)/2 -1/2 0
    1/2 -rac(3)/2 0
    0 0 1

    Maintenant, en multipliant A, B, C et D (dans l'ancienne base) par P' , j'obtiens A', B', C' et D' dans la nouvelle base.

    A = (-racine(3)/2, 1/2, 0) B = (0, -1, 0)
    C = (racine(3)/2, 1/2, 0), D est inchangé

    Où me suis encore gourée?

  3. #43
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    la matrice de passage inverse que j'obtiens grâce au pivot de Gauss(Plus sûr) est
    P' =
    -rac(3)/2 -1/2 0
    1/2 -rac(3)/2 0
    0 0 1
    Quand la matrice est orthogonale, son inverse c'est simplement sa transposée, tu peux laisser Gauss reposer en paix.
    Je reviens pour contrôler ta réponse.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #44
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Il me semble que la matrice de passage de passage de B à B' c'est la matrice dont les colonnes sont les coordonnées des vecteurs de B' dans la base B.

    Donc au final je trouve bien P et P' comme toi mais inversées.
    http://gilles-dubois.developpez.com/...atpassage.html
    Maintenant dans un repère d'origine A, quelle que soit la base les coordonnées de D sont les coordonnées du vecteur vec(AD). Yes ?
    Dans le repère d'origine et de centre A, le vecteur AD a pour coordonnées (-1,0,1) Yes ?
    Donc j'obtiendrai les coordonnées de D dans le nouveau repère en multipliant la matrice P' (la bonne, la mienne...) par ce vecteur colonne.Yes ?
    Donc on trouve:
    (rac(3)/2,1/2,1)
    C'est à dire que tu t'es encore gourée.
    On continue.
    Quelle est la forme générale de la matrice d'une rotation vectorielle d'axe (AB) dans la base orthonormale (i,j,k) ?
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  5. #45
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    hihihihihi tu as raison pour les matrices mais t'as faux pour AD

    AD avant = (-1, 0, racine(2) )
    après (racine(3)/2, 1/2, -racine(2) )

    parce que D = (0,0,racine(2))

    Bon c'était juste pour qu'on soit d'accord

  6. #46
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    hihihihihi tu as raison pour les matrices mais t'as faux pour AD
    Et voilà je m'y mets aussi.
    parce que D = (0,0,racine(2))
    OUI
    après (racine(3)/2, 1/2, -racine(2) )
    NON
    après (racine(3)/2, 1/2, racine(2) )
    Bon, on continue.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  7. #47
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    D'après wiki, soit U le vecteur directeur unitaire de AB

    la matrice de rotation est la suivante:

    R00 = Ux^2+(1- Ux^2)*C
    R01 = Ux*Uy(1-C)-Uz*S
    R02 = Ux*Uz(1-C)+Uy*S

    R10 = Ux*Uy(1-C)+U*S
    R11 = Uy^2+(1-Uy^2)*C
    R12 = Uy*Uz(1-C)-Ux*S

    R20 = Ux*Uz(1-C)-Uy*S
    R21 = Uy*Uz(1-C)+Ux*S
    R22 = Uz^2+(1-Uz^2)*C

    où C= cos(alpha) S =sin(alpha)

  8. #48
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Wiki traite le problème d'une façon très générale. Il faut adapter à notre situation. Si on a tant transpiré pour construire cette base (i,j,k) c'est pour avoir une bonne petite matrice simplette. Si tu ramènes Wiki 'in our kingdom', tu nous casses la baraque.
    Pour nous ce sera plus modestement
    1 0 0
    0 a -b
    0 b a

    parce que i est invariant et que (j,k) est une base d'un plan orthogonal à i.
    Bien sûr a et b sont le cosinus et le sinus d'un angle mais on ne va pas s'angoisser les nerfs avec ça le seul fait important est que a²+b²=1.
    Transforme le vecteur AD par cette rotation et calcule les coordonnées de l'image de D (dans le repère (A,i,j,k).
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  9. #49
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    juste avant de calculer, dans notre cas on revient à une rotation d'axe X

    et c'est la remarque que j'allais t'envoyer.

    à la base, on est parti sur le fait que le coté i (vecteur directeur unitaire du nouvel axe X) serait colinéaire au côté commun aux 2 triangles.

    Donc, il est tout à fait normal que la matrice de rotation soit celle par rapport a X, n'est ce pas?

  10. #50
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Donc, il est tout à fait normal que la matrice de rotation soit celle par rapport a X, n'est ce pas?
    OUI !
    On a tout fait pour ça.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  11. #51
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    je ne suis pas allée trop loin dans les calculs mais alpha = +/- 60°

    donc AD = (-1, -rac(6), rac(2)/2) ou (-1, rac(6), rac(2)/2 )

  12. #52
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    Pardon dans la nouvelle base

  13. #53
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    attends je vérifie que j'ai bien +/-60°

  14. #54
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    +/-45°

  15. #55
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    non c'est bien +/-60

  16. #56
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    j'ai calculé et juste pour D et avec 60° (-3/4, -rac(3)/4, 1)

    En gros, ma coordonnée en Z n'est jamais différente de 0

  17. #57
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    mais alpha = +/- 60°
    On s'en f....
    On n'en a pas besoin.
    Calcule les coordonnées de l'image de D dans la rotation dont je t'ai donné la matrice.
    Exprime ensuite que cette image doit être dans le plan ABC
    Tu trouveras deux équations en a,b
    L'une du second degré
    L'autre du premier degré.
    Tu peux résoudre en (a²,b²) et tu trouveras une solution.
    Pour (a,b) cela te donnera 4 solutions.
    Sur les 4 tu vas en rejeter 2 parce qu'elle ne satisfont pas l'équation du premier degré.
    Il t'en restera deux.
    Comment choisir la bonne ?
    Tu diras que C et D doivent être de part et d'autre de la droite (AB).
    Or par le procédé de Schmidt C a toujours une ordonnée positive dans (A,i,j,k)
    Il faudra donc que tu conserves le couple (a,b) pour lequel l'image de D a une ordonnée négative.
    Et à la fin des fins tu as ta matrice, tu as ta rotation, tu n'as plus qu'à transformer D par cette rotation, puis tu recommences avec le triangle ACD
    puis avec avec BCD
    et c'est fini.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  18. #58
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    excuses-moi mais je ne comprends pas ce que tu veux dire quand tu dis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exprime ensuite que cette image doit être dans le plan ABC

  19. #59
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Ben, oui, quand tu 'aplatis' suivant l'arête (AB) tu amènes par rotation le triangle ABD dans le plan du triangle ABC, pour que A'B'D' soit dans le plan ABC, il suffit que D' soit dans le plan ABC, puisque A=A' et B=B'.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  20. #60
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    59
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 59
    Points : 11
    Points
    11
    Par défaut
    oki. je vais donc faire ça

Discussions similaires

  1. [Débutant] Courbure gaussienne objets 3D maillés
    Par Ssnow dans le forum MATLAB
    Réponses: 0
    Dernier message: 07/03/2014, 11h39
  2. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 16h49
  3. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo