Position of a point and a straight line or segment
by
Nassim Khaled
09 Apr 2010
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 zordinate, 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(AC,BC);
Pos=sign(V(3));


Contact us