Я рисую диагональные линии на изображении с регулярным интервалом около 70 пикселей между ними.
Есть ли какой-нибудь возможный способ сделать все остальное?
Я прошел центральную линию, но я изо всех сил стараюсь сделать все остальное. Я попытался использовать систему, используя циклы if и for и (я покажу код ниже).
%------------------- Line through centre
aa=0; %x1
ab=250; %x2
a=[aa,ab]; %[x1,x2]
za=0; %y1
zb=250; %y2
n1=[za,zb]; %[y1,y2]
%------------------------ Line below centre
ba=50
bb=250
b=[ba,bb];
ya=0;
yb=200;
y=[ya,yb];
%Spacing between rotation
Rspac=5
slp=phantom(250);
imshow(slp);
set (gca,'xdir','normal');
set (gca,'ydir','normal');
axis on
hold on
%Plot for central diagonal line start
for x=Rspac*ones(1,(250/Rspac));
aa=aa+x;
ab=ab-x;
line([aa,ab],[za,zb]);
end
if aa==250;
for z=Rspac*ones(1,250/Rspac);
za=za+z;
zb=zb-z;
line([aa,ab],[za,zb]), 'r';
end
end
%Plot for line -50 and -100 from centre diagonal start
for n1=Rspac*ones(1,(250/Rspac));
ba=ba+n1
yb=yb+n1
line([ba,bb],[ya,yb]);
if yb>=250
for n2=Rspac*ones(1,250/Rspac);
ba=ba+n2;
bb=bb-n2;
line([ba,bb],[ya,yb]);
if ba>=250
for n3=Rspac*ones(1,250/Rspac);
bb=ba-n3
yb=yb+n3
line([ba,bb],[ya,yb]);
if bb>=250
for n4=Rspac*ones(1,250/Rspac);
ya=ya+n4
yb=bb-n4
line([ba,bb],[ya,yb]);
if ya>=250
for x=Rspac*ones(1,250/Rspac);
ba=ba-x
yb=yb-x
line([ba,bb],[ya,yb]);
if yb<=0
for x=Rspac*ones(1,250/Rspac);
ba=ba-x
bb=bb+x
line([ba,bb],[ya,yb]);
end
end
end
end
end
end
end
end
end
end
end
Я ожидаю получить линию, которая вращается вокруг своей точки вокруг изображения, как центральная диагональная линия.