📄 radial_cover.m
字号:
function cover_matrix=radial_cover(weishu,d,theta)
N=weishu;r=abs(d);
A=zeros(N,N+1);
Y=N/2:-1:-N/2;
if theta~=0
if r==0
x_point=-Y*tan(theta*pi/180);
else
x0=r/cos(theta*pi/180);
y0=r/sin(theta*pi/180);
x_point=(x0*y0-Y*x0)/y0;
end;
temp=ceil(x_point(1))+N/2;
k=sqrt(1+(1/tan(theta*pi/180))^2);
for ii=2:N+1;
t1=ii-1;
t2=ceil(x_point(ii))+N/2;
if t2<=N+1
if temp==t2
A(t1,t2)=(x_point(ii)-x_point(ii-1))*k;
else
A(t1,t2-1)=(ceil(x_point(ii-1))-x_point(ii-1))*k;
A(t1,t2)=(x_point(ii)-ceil(x_point(ii-1)))*k;
end;
end;
temp=t2;
end;
else
t=ceil(r);
if t==r
% A(:,t+N/2)=linspace(0.5,0.5,N);
A(:,t+1+N/2)=ones(1,N);
else
A(:,t+N/2)=linspace(1,1,N);
end;
end;
for jj=1:N
cover_matrix(:,jj)=A(:,jj);
end;
if d<0
cover_matrix=flipud(cover_matrix);
cover_matrix=fliplr(cover_matrix);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -