MATLAB Answers

Filling area between more curves

26 views (last 30 days)
I am trying to colour the area between more curves (given also in implicite form) with one unbounded and transparent colour. This is example, how it should looks like (except from the red vertical line y=2):
And I have a same problem with planes. Is there any function to fill this "multiarea" or area between more surfaces?
I can only use fill, but it does not create comprehensive and transparent area between more curves.
Thank you.


Sign in to comment.

Accepted Answer

Bruno Luong
Bruno Luong on 15 Sep 2019
Change accordingly to suit your need.
tt = linspace(0,2*pi,361);
xy = [2*cos(tt);
close all
hold on
plot(xy(1,:), xy(2,:), 'k');
plot([-4 4],[0 0], 'k');
plot([-4 0],[-4 4], 'k');
plot([1 1],[-4 4], 'r');
b = [0; 1]'*xy >= 0 &...
[2; -1]'*xy >= [2; -1]'*[-2;0] ;
xyfill = [[-2;0] xy(:,b) [0; 4]];
patch('xdata',xyfill(1,:),'ydata',xyfill(2,:),'facecolor','b','facealpha',0.2, 'linewidth', 2);
axis equal


Show 8 older comments
Anezka Koterova
Anezka Koterova on 16 Sep 2019
Do You have an idea, how to do this for area bounded by surfaces?
Thank You.
Anezka Koterova
Anezka Koterova on 17 Sep 2019
Thank You. I will explore that.

Sign in to comment.

More Answers (0)