Code covered by the BSD License  

Highlights from
Position of a point and a straight line or segment

Position of a point and a straight line or segment

by

 

It determines the relative position of a point with respect to a planar segment or st. line

Pos=Position(A,B,C)
function Pos=Position(A,B,C)
%Position determines the relative position of a planar point C with respect to 
%a planar segment joining A and B. This is not intended for 3D points. 
% Pos=0 =>the point C is collinear with A and B
% Pos=1=>the point C is above the segment
% Pos=-1=>the point C is below the segment
% Example
% A=[0 0 0]; B=[1 1 0]; C=[1 0 0];
% Pos=Position(B,A,C)
%
%Since C is below AB then Pos=-1
%Note: in case of 2D points, you still have to include the z-ordinate, i.e
%if you have a point S=[1 2], add a zero to get S=[1 2 0], and use the same
%procedure as the above example
if A(1)>B(1)
    %switch the points A and B based on the absiscas
    M=A;
    A=B;
    B=M;
end
V=cross(A-C,B-C);
Pos=sign(V(3));

Contact us