Bonjour,
Je cherche à tracer des cônes dans une même figure, chaque cône étant de couleur différente. Je passe par une boucle dans laquelle je trace un cône.
Mon problème est que au premier passage dans la boucle, tout va bien le cône est tracé avec la couleur que je souhaite. Mon problème survient au deuxième passage (tracé du second cône dans une autre couleur que la précédente). Le deuxième cône est bien tracé dans la bonne couleur mais celle-ci est également réaffectée au premier et ainsi de suite. Voici le code.
Un grand merci à qui pourra m'aider.


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
28
29
30
31
32
33
clc;close all;clear all
 
N=4;
% COULEURS
c=[1 0 0;0 1 0;0 0 1;0 0 0];
 
% GENERATION DES POINTS
x0=0;y0=0;r0=2;xf=2;yf=4;
x=[];y=x;
for i=1:3
x=[x r0*cos(2*pi*i/3)]+x0;y=[y r0*sin(2*pi*i/3)+y0];
end
x=[x xfalse];y=[y yfalse];
 
% SURFACES
axis equal
axis([-4 5 -5 7 0 5])
hold on
 
plot(0,0,'ok')
[X,Y,Z]=cylinder(r0,100);X=X(1,:);Y=Y(1,:);
plot(X,Y,'--k')
 
for i=1:N
plot(x(i),y(i),'ok','MarkerFaceColor',c(i,:));
 
[X,Y,Z]=cylinder([0 3],100);
colormap(c(i,:));
surf(X+x(i),Y+y(i),5*Z,'EdgeColor','none'),alpha 0.25
end
 
hold off
view(25,25)