作业帮 > 综合 > 作业

求大神帮我改下matlab的程序

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 11:50:08
求大神帮我改下matlab的程序

clear                                  %清除变量

n=10;                                  %环的个数

th=(0:360)*pi/180;                     %角度向量

figure                                 %创建图形窗口

axis equal                             %使坐标间隔相等


hold on                                %保持图像

cc='gcmyrbgcmy';                       %颜色字符(1)

for i=1:n                              %按环数循环(2)

    x=(n+1-i)*cos(th);                 %横坐标

    y=(n+1-i)*sin(th);                 %纵坐标

    fill(x,y,cc(i))                    %填色(3)

end                                    %结束循环

s=0;                                   %总分清零

ht1=text(-n,n-1,'','FontSize',16);     %取文本句柄(4)

ht2=text(-n,-n+1,'','FontSize',16);    %取文本句柄(4)

for i=1:n                              %按次数循环

    [x,y]=ginput(1);                   %获取坐标(5)

    plot(x,y,'k.','MarkerSize',20)     %画点

    set(ht1,'String',['次数:',num2str(i)])%设置次数字符串(6)

r=sqrt(x^2+y^2);                   %求射击点靶心距离

    m=n-floor(r);                      %计分(7)

    if m>0                             %如果分数大于零(8)

        text(x,y,num2str(m),'FontSize',16)%显示分数(9)

        s=s+m;                         %累加分数

        set(ht2,'String',['总分:',num2str(s)])%设置总分字符串(10)

    end                                %结束条件

end                                    %结束循环

 

我想要那个静态的靶子自转,哪位大神帮忙一下


clear %清除变量
n=10; %环的个数
th=(0:360)*pi/180; %角度向量
h=figure %创建图形窗口
axis equal %使坐标间隔相等
hold on %保持图像
cc='gcmyrbgcmy'; %颜色字符(1)
for i=1:n %按环数循环(2)
x=(n+1-i)*cos(th); %横坐标
y=(n+1-i)*sin(th); %纵坐标
fill(x,y,cc(i)) %填色(3)
end
zdir=[0 0];
obj = get(gca,'children');
while 1
rotate(obj,zdir,1)
pause(0.1);
end
试试看rotate