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

MATLAB Discussion :

Matrice de transformation [Débutant]


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Matrice de transformation
    Bonjour, voila je dois multiplier deux matrice, pour faire une rotation d'une courbe autour de l'axe Ox, j'écris mon code et tout, que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    theta=(0:360*10)*2*pi/(360*10);
    phi=(0:360*10)*2*pi/(360*10);
     
    mattransf=[1 0 0 0 ; 0 cos(phi) -sin(phi) 0 ; 0 sin(phi) cos(phi) 0 ; 0 0 0 1];
    surface=[a.*(2.*cos(theta)+cos(2*theta));a.*(2.*sin(theta)-sin(2*theta));0;1];
    surfacerotation=mattransf.*surface;
    x=surfacerotation(1,0);
    y=surfacerotation(2,0);
    z=surfacerotation(3,0);
    comet3(x,y,z);
    et à chaque fois, j'ai beau changer tout dans mattransf ça me met l'erreur :
    ??? Error using ==> vertcat
    CAT arguments dimensions are not consistent.
    
    Error in ==> surfacematrice at 9
    mattransf=[1 0 0 0 ; 0 cos(phi) -sin(phi) 0 ; 0
    sin(phi) cos(phi) 0 ; 0 0 0 1];
    Je sais plus quoi faire, aidez-moi s'il vous plait T_T.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    phi=(0:360*10)*2*pi/(360*10); génère un vecteur de 3601 valeurs, et non un scalaire. Tu cherches donc avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [1 0 0 0 ; 0 cos(phi) -sin(phi) 0 ; 0 sin(phi) cos(phi) 0 ; 0 0 0 1]
    à générer un tableau dont les lignes sont de taille :
    1. 4
    2. 7204
    3. 7204
    4. 4

    ce qui n'est pas possible dans MATLAB : concaténation verticale.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Mais alors c'est la même chose avec theta non ? pourtant j'ai déjà utilisé un programme avec theta initié de la même manière et sa marché parfaitement bien.
    Une solution peut etre ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par deadcatmao Voir le message
    Mais alors c'est la même chose avec theta non ? pourtant j'ai déjà utilisé un programme avec theta initié de la même manière et sa marché parfaitement bien.
    Dans le cas présent oui tu auras le même problème avec theta, étant donné que tu aura les dimensions de lignes suivantes :
    1. 3601
    2. 3601
    3. 1
    4. 1


    Citation Envoyé par deadcatmao Voir le message
    Une solution peut etre ?
    Faire une boucle.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    D'ac, merci, mais j'aurais un grand nombre de matrice finale, donc un grand nombre de point. Tu saurais me dire s'il a une commande qui réunit ces points pour dessiner une courbe ? Les seuls que je connais (plot, comet, mesh et surf) ne le font pas je crois.

  6. #6
    Invité
    Invité(e)

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup ^^ j'espère que je saurais correctement l'intégrer à mon programme. Bonne soirée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Java2D] Matrice de transformation
    Par Talstus dans le forum 2D
    Réponses: 13
    Dernier message: 13/04/2007, 00h30
  2. Réponses: 4
    Dernier message: 08/03/2007, 10h32
  3. Ajouter une matrice de transformation
    Par Ekinoks dans le forum OpenGL
    Réponses: 9
    Dernier message: 20/11/2006, 19h32
  4. Envoyer la matrice de transformation
    Par Ekinoks dans le forum OpenGL
    Réponses: 2
    Dernier message: 13/11/2006, 10h10
  5. Moteur 2D: Pb de calcul de Matrice de transformation
    Par themadmax dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 29/06/2006, 11h22

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