how to filter out the line that intersects with another line?

1 view (last 30 days)
I want to filter out the line when it intersects with another line.
I only need the line before instecting with another line.
I found the function that calculate intersection point. but in my case i don't need a point. I just need to filter out the line after intersection.
Thanks.
  2 Comments
Jan
Jan on 11 Oct 2022
@Sierra: What are the inputs? How are the lines defined? With start and end point, or with start point, direction an lengths?
What does "filter out" mean? Having the intersection point sounds like the solution, because it is the new end point.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 11 Oct 2022
You can use intersectionHull from this FEX download,
Use the upward sloping line to define inequality constraints for the desired region.
  1 Comment
Matt J
Matt J on 11 Oct 2022
Edited: Matt J on 11 Oct 2022
For example,
V1=[-1 +1;
+2 -2]; %downsloping line
V2=[-1 -1;
+1 +1]; %upsloping line
[~,~,A,b]=vert2lcon(V2)
V3=intersectionHull('vert',V1,'lcon',A,b).vert;
close all
lfn=@(v,varargin) line(v(:,1),v(:,2),varargin{:});
lfn(V1)
lfn(V2)
lfn(V3,Color='r',Marker='o')
shg

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!