How can I repeat this shape NxN times with a certain spacing between repeated shapes?
1 回表示 (過去 30 日間)
古いコメントを表示
I attached a shape of square that I need to repeat NxN times to form basically an array. I need to have spacing between shapes as an option as well.
Thank you in advance
2 件のコメント
Rik
2020 年 6 月 9 日
Probably the easiest way is to create an array for one of the corners and then use a loop to create all objects based on that coordinate offset.
回答 (1 件)
Rik
2020 年 6 月 9 日
Make the coordinates depend on x1 and y1:
x1=0.25;
y1=0.25;
draw_line_and_patch(x1,y1)
function draw_line_and_patch(x1,y1,width,height,ax)
if nargin<3,width=0.5;end
if nargin<4,height=0.5;end
if nargin<5,ax=gca;end%create axes object if missing
x2=x1+width;
y2=y1+height;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
plot(x, y, 'b-','Parent',ax);
xlim(ax,[-1, 2]);
ylim(ax,[-1, 2]);
patch(x,y,'b','Parent',ax)
end
Now you have a function that creates a box for you, you can easily loop through a grid of coordinates you create with meshgrid, ndgrid, or any way you prefer.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!