2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 [MATLAB] Как для каждой поверхности задать свой цвет?
Сообщение17.12.2021, 20:36 


07/01/12
69
Нужно на одном рисунке вывести несколько сфер, каждую своим цветом. У меня все они окрашиваются в цвет последней, т.е. по последней colormap. Что делаю не так?

код: [ скачать ] [ спрятать ]
Используется синтаксис Matlab M
sc=7;
phi=pi/7;
 
co = @(z) cos(z*4*pi/7+phi)*sc;
si = @(z) sin(z*4*pi/7+phi)*sc;
[sx,sy,sz] = sphere(6);
 
col=[
  1    0.89 0     % a
  0.5  0.5  0.5   % b
  0.5  0.5  0.5   % c
  0.79 0.37 0.58  % d
  0.44 0.6  0     % e
  0.5  0.5  0.5   % f
  1    0.6  0     % g
  1    0.89 0     % a
];
 
z=0:0.01:7;
x=co(z);
y=si(z);
 
n=length(z);
 
figure(1)
clf
for i=1:n-1
  plot3(x(i:i+1),y(i:i+1),z(i:i+1),...
    'LineWidth',2, 'Color',[0.5,0.5,0.6])
  hold on
end
 
for z=0:7
  p=surf(sx+co(z),sy+si(z),sz+z);
  colormap(col(z+1,:))
  alpha(p, 0.4)
end
 

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group