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 Kommentar

Rik
Rik am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Rik
Rik am 17 Nov. 2020

0 Stimmen

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

Gefragt:

am 17 Nov. 2020

Beantwortet:

Rik
am 17 Nov. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by