
如图所示,三条直线之间的关系,并确定最终拖动的点的坐标的取值范围,几个点的坐标位置都可以确定,不过当我拖动其中的一个点的时候,这个点的坐标就会实时发生改变,我需要知道这个点坐标的取值范围来划定这个点,是用纯JS来写的代码,所以如果可以,请尽量用js来讲述,感谢!

如图所示,三条直线之间的关系,并确定最终拖动的点的坐标的取值范围,几个点的坐标位置都可以确定,不过当我拖动其中的一个点的时候,这个点的坐标就会实时发生改变,我需要知道这个点坐标的取值范围来划定这个点,是用纯JS来写的代码,所以如果可以,请尽量用js来讲述,感谢!
maxX=1000;//最右边
maxY=1000;//最下边
// 判断点4是否 直线 右边
function isRight(x4,y4,lx,ly,rx,ry){
m = (ry-ly)/(rx-lx);
y = m * x4 + (ly - m * lx );
if (y4>=y){
return false;
}
return ture;
}
//点 4 (x4,y4)是否在范围内
function isInArea(x4,y4,x1,y1,x2,y2,x3,y3){
if(x4>maxX) return false;
if(y4>maxY) return false;
// 同时在3条直线右边,就在范围内
return isRight(x4,y4,x1,y1,x2,y2) && isRight(x4,y4,x3,y3,x1,y1) && isRight(x4,y4,x3,y3,x2,y2)
}