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 :

Cdata format : "Warning: Color Data is not set for Interpolated shading"


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Par défaut Cdata format : "Warning: Color Data is not set for Interpolated shading"
    Bonjour,

    J'ai quelques soucis avec le format de la variable "cdata" image color data lorsque j’essaie d'interpoler une figure 2D créée avec la fonction "patch". Ci-joint, vous trouverez un code minimaliste fonctionnel sans interpolation,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    clear all
    close all
    clc
     
    Nb_Node=10; % Number of nodes
    X = rand(Nb_Node,2); % Creating random mesh triangle element
    dt = DelaunayTri(X);
     
    Node=X';
    Node_Triangle=dt.Triangulation;
     
    xdata=[Node(1,Node_Triangle(:,1)) ; Node(1,Node_Triangle(:,2)) ; Node(1,Node_Triangle(:,3))]
    ydata=[Node(2,Node_Triangle(:,1)) ; Node(2,Node_Triangle(:,2)) ; Node(2,Node_Triangle(:,3))]
     
    p = patch(xdata,ydata,'w') % Use of patch function
     
    [a,b]=size(xdata);
    Mag=rand(1,b)*10; % Magnitude in each triangle
     
    cdata = Mag';
    set(p,'FaceColor','flat',...
    'FaceVertexCData',cdata,...
    'CDataMapping','scaled')
    axis equal
    axis off
    colorbar

    Lorsque je modifie "'FaceColor','flat'" par "'FaceColor','interp'" j'obtiens l'erreur suivante :

    "Warning: Color Data is not set for Interpolated shading"

    Est-il possible d'obtenir une vue interpolée de ma figure ?

    Merci par avance

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 885
    Par défaut
    salut

    essayes de mettre la ligne shading interp après ton tracé
    (sans garantie, car j'aurais fait comme toi)

    Fabien

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Par défaut
    Merci pour ta réponse malheureusement mêmes effets J'obtiens toujours l'erreur "Warning: Color Data is not set for Interpolated shading"

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Par défaut
    Je poste la solution que j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    clear cdata
    for i=1:b
     
        for j=1:3
     
            [ff,gg]=find(Node_Triangle==Node_Triangle(i,j));
     
            cdata(j,i)=mean(Mag(ff));
     
        end
     
    end
     
    set(p,'FaceColor','interp',...
    'CData',cdata,...
    'EdgeColor','interp',...
    'LineWidth',5,...
    'CDataMapping','scaled')
     
    shading interp

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/09/2011, 14h45
  2. Réponses: 6
    Dernier message: 22/11/2007, 20h46
  3. Réponses: 17
    Dernier message: 02/07/2006, 18h58
  4. Réponses: 3
    Dernier message: 23/01/2006, 17h29
  5. ERROR 1314 (0A000): LOAD DATA is not allowed in stored proce
    Par pointe dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 17/11/2005, 13h50

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