私はチェッカーボードを作成し、円ではなく、正方形や長方形としてそれを表示するには、MATLAB関数checkerboard
を使用していますでスムーズなメッシュグリッドを作成します。私はこれを行うには、以下のコードを書かれているが、私の関数meshgridは、粗大であると思われるので、私はimshow(checks)
を行うときには、円の縁がギザギザと全く滑らかであることがわかります。誰も私にこの問題を克服する方法を教えてもらえますか?はMatlabの
また、私はこのような小さな関数meshgridを設定しなければならなかった理由は、私はそれが正方形かのように見せかけるためにチェッカーボードのあまりを表示するためにそこにしたいと私は本当に小さいことがcheckerboard
から生成K
行列を必要とするということですより大きな距離を持つ。誰もが関数meshgridを作成せずにこれを行う方法を知っているならば、それはまた、動作します。
これはPsychtoolbox
ので、私は私が何ができるかに制限された少しだを使用して、私のスクリプトの一部です。 checks
を作成したら、それを拡大しながら画面に描画するためにtexture
を生成するために使用します。
誰でも手助けできますか?
コード:
K=checkerboard(9); % using Matlab checkerboard function to create a checkerboard
K=K(1:27,1:27); % using a small part of the checkerboard as I want to have a wide distances between the lines
cmap = [0.48 0.48 0.48; 0.54 0.54 0.54]; % colour map to make the colour grey
bw1 = ind2rgb(uint8(K), cmap);
white = 1;
grey = white/2;
rcycles = 8;
% Now we make our checkerboard pattern
xylim = 1;
[x,y] = meshgrid(-1.25:0.0932:1.25,-1.25:0.0932:1.25);
checks = bw1;
circle = x.^2 + y.^2 <= xylim^2;
checks = circle .* checks + grey * ~circle;
imshow(checks);
私はそれを見ると、あなたが文字通り-1.25を[ '間のすべての単一の実数を取る場合にのみ、完全に滑らかになります、1.25] 'は明らかに不可能である。 'K = checkerboard(40);のようなものを使うと、結果が好きかもしれません。 K = K(1:269,1:269); 'と-1.25'として関数meshgrid間隔:0.00932:1.25'。それはあなたにこれを与えます:https://i.stack.imgur.com/uqdhP.jpg滑らかに見えますが、ズームすると同じ問題が発生します。なぜなら、あなたは '[-1.25 、1.25] ' –