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

1个回答

  • 从图形来看,一共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;% 横纵坐标轴比例一致