0

我正在尝试用 Scilab 绘制siemens 星,但我无法完成。

知道为什么以下代码不起作用吗?

t = 0:.001:2*%pi;
xc = 4;
yc= 4;
r =2 ;
n = 1:length(t)/32 : length(t);
v =0:.001:r;
for k =1:length(n)
    if modulo(k,2) ==0 then
           for a=1:length(t)
           for b =1:length(v)
               x(a) = xc+ (r-v(b)) *cos(t(a));
                y(a) = yc+ (r-v(b))* sin(t(a));
               set(gca(),"auto_clear","off")  
               plot(x,y,"black");
           end;
       end;
   else 
     x=xc;
     y=yc;
 end;
end;

在此先感谢您的帮助。

4

2 回答 2

1

我知道你已经用不同的方式解决了这个问题,但值得注意的是,这个plot调用非常昂贵,你试图在这三层嵌套循环中调用它 4e8 次。

如果您减小循环的大小,它可以正常工作。仍然需要很长时间,是的,绘制实心块比一系列线条更有效:)

于 2012-12-05T19:01:28.937 回答
1

感谢 xenoclast 的建议,但这是我的代码,我认为它很短:

plot2d(0,0,-1,"030"," ",[-2,-2,2,2]);
n=16 // number of bands 
for i=1:n
   xfarc(-1.5,1.5,3,3,2*i*(180/n)*64,64*(180/n));
end
于 2012-12-06T08:57:41.827 回答