欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-01 20:40:12
...

使用矢量(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

相关标签: c++ c语言