How can I repeat this shape NxN times with a certain spacing between repeated shapes?
1 view (last 30 days)
Show older comments
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 Comments
Rik
on 9 Jun 2020
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.
Answers (1)
Rik
on 9 Jun 2020
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 Comments
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!