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 :

Affichage de plusieurs plans


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Points : 62
    Points
    62
    Par défaut Affichage de plusieurs plans
    Bonjour,

    Je souhaiterai sur une figure, "afficher plusieurs plans".
    J'ai fait quelques tests avec la fonction plot3 mais cela ne semble pas fonctionner.

    Mon problème est le suivant :

    Imaginons que j'ai deux plans :
    plan1 = [1 2 ; 3 4];
    plan2 = [4 5 ; 6 7];

    Je suis tout a fait capable d'afficher ces plan en 2D avec la fonction imagesc mais je n'arrive pas à les afficher ensemble (avec un z = 1 et un z = 2 par exemple, comme sur mon petit dessin en pièce jointe).

    Merci de votre aide,

    Images attachées Images attachées  

  2. #2
    FLB
    FLB est déconnecté
    Modérateur
    Avatar de FLB
    Homme Profil pro
    Ing. Aérospatiale
    Inscrit en
    Juin 2003
    Messages
    770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ing. Aérospatiale
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2003
    Messages : 770
    Points : 1 185
    Points
    1 185
    Par défaut
    Salut,
    pour dessiner un plan, utilise meshgrid, puis l'équation cartésienne du plan z = ax+by+c, et enfin surf pour dessiner le tout. Un "hold on" te permettra d'en dessiner plusieurs sur une seule figure.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  4. #4
    Membre à l'essai
    Homme Profil pro
    Ingénieux du son
    Inscrit en
    Février 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieux du son
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Février 2013
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Moi j'essaierai un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    figure,
    surf(dim1,dim2,dim3);   %pour le premier plan
    hold on;
    surf(dim1,dim2,dim3);   %pour le second plan
    hold off;

  5. #5
    Membre du Club
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Points : 62
    Points
    62
    Par défaut réponse
    Citation Envoyé par FLB Voir le message
    Salut,
    pour dessiner un plan, utilise meshgrid, puis l'équation cartésienne du plan z = ax+by+c, et enfin surf pour dessiner le tout. Un "hold on" te permettra d'en dessiner plusieurs sur une seule figure.
    Bonjour,

    Merci pour votre réponse. Je sens que je m'approche (grâce à ces différentes réponses), malheureusement, je n'arrive toujours pas à afficher mes plans...
    Si je pars de mon exemple, j'arrive à afficher les plans en 2D (cf. figure ci jointe) avec la fonction imagesc.
    Je voudrais avoir une représentation de ces deux plans dans un espace 3D x,y,z.
    Le premier plan serait afficher à z = 1 et le second à z = 2 par exemple (comme sur mon premier schéma).

    Merci pour vos précisions.

    Images attachées Images attachées   

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    M = [1 2 ; 3 4];
     
    x = .5:1:2.5;
    y = .5:1:2.5;
     
    figure
    colormap([0 0 1 ; 0 1 1 ; 1 1 0 ; 1 0 0]);
     
    z = ones(3);
    surf(x,y,z,M)
    hold on
    z = 2*ones(3);
    surf(x,y,z,M)
    ou une autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    M = [1 2 ; 3 4];
     
    x = .5:1:2.5;
    y = .5:1:2.5;
     
    figure
    colormap([0 0 1 ; 0 1 1 ; 1 1 0 ; 1 0 0]);
     
    z = ones(3);
    surf(x,y,z,'facecolor','texturemap','cdata',M);
    hold on
    z = 2*ones(3);
    surf(x,y,z,'facecolor','texturemap','cdata',M);
    Dans la deuxième solution, les dimensions de M n'ont pas besoin de correspondre à celles de z.
    Tu peux essayer avec par exemple : M = repmat([1 2 ; 3 4],2,2);

    Pour des plans, cela permet de n'avoir à spécifier que les 4 coins :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    surf([.5 2.5],[.5 2.5],ones(2),'facecolor','texturemap','cdata',M);
    hold on
    surf([.5 2.5],[.5 2.5],2*ones(2),'facecolor','texturemap','cdata',M);
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Membre du Club
    Homme Profil pro
    R&D
    Inscrit en
    Mai 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : R&D
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2008
    Messages : 101
    Points : 62
    Points
    62
    Par défaut réponse
    Parfait, ça fonctionne !
    Merci à tous !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/10/2004, 11h35
  2. [JPanel] Affichage en premier plan
    Par Snowballz dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/07/2004, 16h07
  3. [glut] forcer l'affichage au premier plan
    Par khayyam90 dans le forum OpenGL
    Réponses: 7
    Dernier message: 19/07/2004, 14h37
  4. affichage d'un plan 2D en surimpression
    Par Haplo dans le forum OpenGL
    Réponses: 14
    Dernier message: 11/06/2004, 15h55
  5. [DirectDraw7] Affichage de plusieurs image bmp
    Par SteelBox dans le forum DirectX
    Réponses: 3
    Dernier message: 24/04/2004, 19h00

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