Delete parts of plotted figures?

15 visualizaciones (últimos 30 días)
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras el 23 de Oct. de 2020
Comentada: Star Strider el 28 de Oct. de 2020
I have made this image
with this code:
axis equal
hold on
caca=2*pi();
ang=linspace(0,caca);
xp=5*cos(ang);
yp=5*sin(ang);
circ=[xp;yp];
plot(xp,yp,'r');
L1=[-8 8; 3 3];
plot(L1(1,:),L1(2,:),'b')
And I want to delete the part of the line within the circle and the part of the circle under the line so the image results like this:
Is there any way of achieving that? How can I do it?

Respuesta aceptada

Star Strider
Star Strider el 23 de Oct. de 2020
Try this:
axis equal
hold on
caca=2*pi();
ang=linspace(0,caca);
xp=5*cos(ang);
yp=5*sin(ang);
circ=[xp;yp];
L1x = linspace(-8, 8);
L1y = 3*ones(size(L1x));
L1=[L1x; L1y]; % Re-define Line
incirc = inpolygon(L1x,L1y,circ(1,:),circ(2,:));
L1(1,incirc) = NaN;
L1(2,incirc) = NaN;
plot(xp(yp>=3),yp(yp>=3),'r');
plot(L1(1,:),L1(2,:),'b')
.
  4 comentarios
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras el 28 de Oct. de 2020
thanks!
Star Strider
Star Strider el 28 de Oct. de 2020
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Fangjun Jiang
Fangjun Jiang el 23 de Oct. de 2020
use patch() or fill()? This one does part of it.
patch(xp,yp,'white')
  1 comentario
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras el 25 de Oct. de 2020
I have tried that and appears and strange figure with black borders

Iniciar sesión para comentar.

Categorías

Más información sobre Visual Exploration en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by