作业帮 > 综合 > 作业

怎么使用MATLAB程序绘制彩色的圆环?

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/06 23:23:01
怎么使用MATLAB程序绘制彩色的圆环?
使用MATLAB程序绘制如下的图形,并简单说明什么原理!
怎么使用MATLAB程序绘制彩色的圆环?
从图形来看,一共n个同心圆,外面大圆n等分,然后从每个等分点作所有同心圆的两条切线如果用极坐标表示,可以很容易求解切点,直接上画图的代码n = 10; %同心圆数量
m = 40; % 等分点数
R = 1; % 外圆半径
s = 0:0.01*pi:2*pi; % 控制圆的光滑程度的极坐标角度
t = 0:2*pi/m:2*pi; % 等分点极坐标角度
x0 = R*cos(t);y0 = R*sin(t); % 等分点直角坐标
color=['r','g','c','k','m','y']; % 画图颜色
lc = length(color); % 颜色数组长度,超出后从头开始
for i = 1:n % 开始同心圆循环
  r = R/n*i; % 当前同心圆半径
  a = acos(r/R); % 切线与圆心线角度(弧度制)
  x1 = r*cos(t-a);y1 = r*sin(t-a); % 任意等分点相对当前同心圆的第一个切点坐标
  x2 = r*cos(t+a);y2 = r*sin(t+a); % 任意等分点相对当前同心圆的第二个切点坐标
  plot(r*cos(s),r*sin(s),color(mod(i,lc)+1));hold on; % 画同心圆
  for j = 1:m % 对每一个等分点循环
    plot([x0(j),x1(j)],[y0(j),y1(j)],color(mod(i,lc)+1));hold on; % 第一条切线
    plot([x0(j),x2(j)],[y0(j),y2(j)],color(mod(i,lc)+1));hold on; % 第二条切线
  end
end
axis equal;  % 横纵坐标轴比例一致