Bonjour à tous,
Le but de mon programme est de générer un ellipsoïde dans l'espace (jusque là pas de problèmes) mais la couleur de l'ellipsoïde doit varier en fonction de x.
En effet, je veux que la couleur suive une loi normale : blanc en x = 0 jusqu'à noire en x = 15. J'ai donc généré les triplets RGB mais comment faire pour les couleurs de mon ellipsoïde changent ?
J'ai testé différentes méthodes avec colormap ou surf mais aucune n'a aboutie.
Merci de vos réponses
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
34
35 close all; xx = 0:1:15; mu = 0; sigma = 5; pdf = normpdf(xx,mu,sigma); PDF = pdf/max(pdf); s = size(PDF); %plot(xx,PDF) map = zeros(s(2),3); for i=1:s(2) map(i,:) = [PDF(i) PDF(i) PDF(i)]; end lambda = 5; a = 1; b = lambda * a; [x, y, z] = ellipsoid(0,0,-30,b,a,a); S1 = surf(x,y,z); S1.FaceColor = 'white'; S1.EdgeColor = 'white'; set(gca,'color','k') xlabel('X') ylabel('Y') zlabel('Z') center = [0 0 -30]; rotate(S1, [1 0 0], 45, center); rotate(S1, [0 1 0], 30, center); rotate(S1, [0 0 1], 70, center);
Partager