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