判断一个点是否在一条线的右侧或左侧

使用矢量(AB,AM)的行列式,其中M(X,Y)是查询点的符号:

position = sign((Bx - Ax) * (Y - Ay) - (By - Ay) * (X - Ax)) 

position是0为在直线上,和+1在一侧,-1在另一侧。 

注意:sign又叫sgn,意思是符号。符号函数(一般用sign(x)表示)是很有用的一类函数,能够帮助我们在几何画板中实现一些直接实现有困难的构造。 符号函数 能够把函数的符号析离出来 。在数学和计算机运算中,其功能是取某个数的符号(正或负): 当x>0,sign(x)=1;当x=0,sign(x)=0; 当x<0, sign(x)=-1; 在通信中,sign(t)表示这样一种信号: 当t≥0,sign(t)=1; 即从t=0时刻开始,信号的幅度均为1; 当t<0, sign(t)=-1;在t=0时刻之前,信号幅度均为-1

猜你喜欢

转载自blog.csdn.net/qq_21743659/article/details/112334977