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

1 vue (au cours des 30 derniers jours)
Sierra
Sierra le 11 Oct 2022
Modifié(e) : Matt J le 11 Oct 2022
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 commentaires
Ghazwan
Ghazwan le 11 Oct 2022
can you share the code?
Jan
Jan le 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.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 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 commentaire
Matt J
Matt J le 11 Oct 2022
Modifié(e) : Matt J le 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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by