MATLAB couleurs graphes 3D
Résolu
Irene_Adler
Messages postés
136
Statut
Membre
-
Irene_Adler Messages postés 136 Statut Membre -
Irene_Adler Messages postés 136 Statut Membre -
Bonjour,
J'ai créé deux surfaces dans un même graphe 3D sur MATLAB.
La premiere etant dans les echelles du metre et la seconde du centimètre, j'ai fixé l'échelle de sorte à avoir un zoom sur la petite surface et ne voir qu'une partie de ma grande surface.
Le problème est que du coup, ma petite surface ne s'affiche que d'une seule couleur, hors je veux qu'elle ait une echelle de couleurs (la grande surface ne servant que de repère et peut s'afficher de n'importe quelle couleur),
Avez-vous une idée?
Merci d'avance.
PS: je ne sais pas si c'est le bon forum... mais bon, je tente, sinon, merci de me rediriger...
Voici mon code:
J'ai créé deux surfaces dans un même graphe 3D sur MATLAB.
La premiere etant dans les echelles du metre et la seconde du centimètre, j'ai fixé l'échelle de sorte à avoir un zoom sur la petite surface et ne voir qu'une partie de ma grande surface.
Le problème est que du coup, ma petite surface ne s'affiche que d'une seule couleur, hors je veux qu'elle ait une echelle de couleurs (la grande surface ne servant que de repère et peut s'afficher de n'importe quelle couleur),
Avez-vous une idée?
Merci d'avance.
PS: je ne sais pas si c'est le bon forum... mais bon, je tente, sinon, merci de me rediriger...
Voici mon code:
function [X,Y,Z,A]=OpenFunwaveBinEtaxyWdepth(fnamedepth,fname,mx,ny,dx,dy)
%[X,Y,Z,A]=OpenFunwaveBin(fnamedepth,fname,mx,ny,dx,dy)
% fname: eta(x,y) file name
% fnamedepth: depth file name
% mx and ny: number of nodes for x and y directions resp.
% dx and dy: grid size in meters for x and y directions, resp.
%prints the eta(x,y) profile with surfc and, in another window, the contour of the eta(x,y) profile.
figure(1);
fid=fopen(fname);
A=fread(fid,[1,mx*ny],'float32=>double')';
k=max(A);
k=3*k;
for i=1:1:mx,
X(i)=i*dx;
for j=1:1:ny,
Z(i,j)=A((i-1)*ny+j,1);
end
end
fid2=fopen(fnamedepth);
Ad=fread(fid2,[1,mx*ny],'float32=>double')';
for i=1:1:mx,
for j=1:1:ny,
Zd(i,j)=Ad((i-1)*ny+j,1);
end
end
Y=[1:1:ny]*dy
surf(X,Y,Z',Z'); %petite surface
hold on;
surf(X,Y,-Zd'); %grande surface
zlim([-k k]);
ylabel('y from 0 to ny*dy');
xlabel('x from 1 to mx*dx');
zlabel('z');
title(fname);
view(-360,0);
hold off;
return
A voir également:
- MATLAB couleurs graphes 3D
- Architecte 3d gratuit - Télécharger - Architecture & Déco
- 3d slash - Télécharger - 3D
- Smartshow 3d - Télécharger - Visionnage & Diaporama
- Paint 3d mac - Télécharger - Dessin & Illustration
- Google maps satellite 3d - Guide