*windmillパターンの画像を作る
%%windmill patternの画像を作るscript
nWidth=800;%画面の横幅
nHeight=600;%画面の縦幅
nBlack=0;%黒の濃さ
nWhite=1;%白の明るさ
nBackground=(nBlack+nWhite)/2;%背景は平均のレベル
nDiameter=200;%pixel:windmillの大きさ
nVane=12;%必ず偶数に:羽根の数
if mod(nVane,2)~=0
error('羽根の数は偶数にしてください');
end
%%角度を求める
vecAngle=linspace((1/2*pi+(1/10).^10),3/2*pi,nVane/2+1);
vecTan=tan(vecAngle);
%%中心座標を求める
if mod(nWidth,2)==0
nCentX=nWidth/2+0.5;
else
nCentX=nWidth/2;
end
if mod(nHeight,2)==0
nCentY=nHeight/2+0.5;
else
nCentY=nHeight/2;
end
matImg=zeros(nHeight,nWidth);
for ii=1:nWidth
for jj=1:nHeight
nDist=((ii-nCentX).^2+(jj-nCentY).^2).^0.5;
if nDist>nDiameter
matImg(jj,ii)=nBackground;
else
nTan=(jj-nCentY)/(ii-nCentX);
nIdxPos=min(find(vecTan>=nTan));
if mod(nIdxPos,2)==0
matImg(jj,ii)=nBlack;
else
matImg(jj,ii)=nWhite;
end
end
end
end
imshow(matImg)