Заполните эллипсы градиентным цветом на Matlab

У меня есть код на Matlab, который позволяет мне построить серию эллипсов, что я пытаюсь сделать, чтобы залить каждый из них цветом градиента на основе "arcsin(b/a)". Число будет идти от 0° (прямая линия) до 90° (чистый круг). Таким образом, каждый эллипс будет иметь одинаковый цвет, но цвета каждого эллипса будут разными, если это имеет смысл. Это мой код

clearvars -except data colheaders

data(:,9)=data(:,9)*pi/180; % Convers Column 9 (angle of rotation) in rad
data(:,6)=1196-data(:,6); % Reset the Y coordinate axis to bottom left

theta = 0 : 0.01 : 2*pi;

for i=1:size(data,1)
x = data(i,7)/2 * cos(theta) * cos(data(i,9)) - data(i,8)/2 * sin(theta) * sin(data(i,9)) + data(i,5);
y = data(i,8)/2 * sin(theta) * cos(data(i,9)) + data(i,7)/2 * cos(theta) * sin(data(i,9)) + data(i,6);
plot(x, y, 'LineWidth', 1);
hold on
% Columns (5,6) are the centre (x,y) of the ellipse
% Columns (7,8) are the major and minor axes (a,b)
% Column 9 is the rotation angle with the x axis

text(data(i,5),data(i,6),[num2str(i)]) % Assigns number to each ellipse
end

axis equal;
xlim([0 1592]);
ylim([0 1196]);
grid on;

Дайте мне знать, если мне нужно объяснить по-другому. Спасибо, ребята, Дориан

0 ответов

Другие вопросы по тегам