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

1 回表示 (過去 30 日間)
Sierra
Sierra 2022 年 10 月 11 日
編集済み: Matt J 2022 年 10 月 11 日
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 件のコメント
Ghazwan
Ghazwan 2022 年 10 月 11 日
can you share the code?
Jan
Jan 2022 年 10 月 11 日
@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.

サインインしてコメントする。

採用された回答

Matt J
Matt J 2022 年 10 月 11 日
You can use intersectionHull from this FEX download,
Use the upward sloping line to define inequality constraints for the desired region.
  1 件のコメント
Matt J
Matt J 2022 年 10 月 11 日
編集済み: Matt J 2022 年 10 月 11 日
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

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by