*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)