MATLAB: How can I make a colored 2D-surface in a polar plot? I want to give some labels to this polar… It is possible

color blades with polar cordinates

clc
c=input('How many blades are there in the blower?:');
t = 0:.01:2*pi;
if mod(c,2)==1 polar(t,(cos((c*t))),'-r') else polar(t,(cos((c/2)*t).^2),'-r') end
% find all of the text objects in the polar plot
h = findall(gcf,'type','text');
% delete the text objects
delete(h);

Best Answer

the fill is a bit temperamental (does not work for odd blades). but it should be a starting point for you to look further.
clc
% c=input('How many blades are there in the blower?:');
c=randi(6,1,1);
t = 0:.01:2*pi;
if mod(c,2)==1
ph = polar(t,(cos((c*t))),'-r')
else
ph = polar(t,(cos((c/2)*t).^2),'-r')
end
% find all of the text objects in the polar plot
h = findall(gcf,'type','text');
% delete the text objects
delete(h);
patch(get(ph,'XData'), get(ph,'YData'), 'g')
fins = linspace(0,360,c+1);
for ind = 1:c
txtx = 1.2*cosd(fins(ind));
txty = 1.2*sind(fins(ind));
text(txtx,txty,['fin ' num2str(ind)])
end