Determine if a point lies between two lines
Show older comments
Assume there are two lines and each line is defined by two points.(e.g. (x1a,y1a) and (x2a,y2a) for line 1, (x1b,y1b) and (x2b,y2b) for line 2.). Consider also a square centered at the origin therefore these points are inside the square. How can we test whether a point inside the square (xu,yu) lies between these lines? Lines can be either parallel or intersecting (in such case, lines intersect outside the square).
%line 1
x1a=-2.5;
y1a=-1.8;
x2a=0.8;
y2a=-2.5;
%line2
x1b=-2.5;
y1b=- 1.4;
x2b=2.5;
y2b=1.4;
%square
xs=[-2.5 -2.5 2.5 2.5 -2.5] ;
ys=[-2.5 2.5 2.5 -2.5 -2.5];
figure;
plot([x1a x2a],[y1a y2a])
hold on
plot([x1b x2b],[y1b y2b])
hold on
plot(xs,ys,'-k','Linewidth',2)
axis([-3 3 -3 3])
Assume the lines and square created above. How can we exactly test if (2,-2) is between lines inside the square but (-1,1) is not?
3 Comments
Donny Liu
on 11 May 2016
Please look for 'intersect' in the library.
Roger Stafford
on 11 May 2016
If the lines intersect, how do you define 'between'? The lines, infinitely extended, divide two-dimensional space into four sections and the point must lie within one of these.
Dave
on 11 May 2016
Accepted Answer
More Answers (0)
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!