Delete patch in Matlab

I have created a square and patch it in matlab. now I want to make a circular hole in that square patch. How can I do it? Is it possible to delete a small area from a bigger patch?

1 Comment

Rik
Rik on 17 Nov 2020
As far as I'm aware it is not possible to remove part of a patch, you can create a new patch object that does not include the hole.

Sign in to comment.

Answers (1)

Here is an example of what I wrote in my comment:
t=linspace(0,2*pi,200);
x=sin(t);y=cos(t);
x=[x 0 0 2 2 -2 -2 0 0];
y=[y 1 2 2 -2 -2 2 2 1];
patch(x,y,[0 1 0],'EdgeColor','none')
daspect([1 1 1])
axis([-3 3 -3 3])
if you don't turn the edge off, you will see the seem. If you want to have an edge you can add a second and third patch with no face color and only the edge of the square and the circle.

Tags

Asked:

on 17 Nov 2020

Answered:

Rik
on 17 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!