Javascript 确定数字的交叉
假设我有这个数据集 var a=[5,6,7]; var b=[9,8,6] 假设这些值是在(x,y)坐标对中绘制的,x是数组索引,我怎么知道我的两个数组是否在一个点相交 谢谢。试试这个:Javascript 确定数字的交叉,javascript,math,line-intersection,Javascript,Math,Line Intersection,假设我有这个数据集 var a=[5,6,7]; var b=[9,8,6] 假设这些值是在(x,y)坐标对中绘制的,x是数组索引,我怎么知道我的两个数组是否在一个点相交 谢谢。试试这个: if ((a[0] < b[0]) == (a[1] > b[1]) || (a[1] < b[1]) == (a[2] > b[2])) { // crossed } if((a[0]b[1])|| (a[1]b[2])) { //交叉 } 重要的一点是,对于某些
if ((a[0] < b[0]) == (a[1] > b[1]) ||
(a[1] < b[1]) == (a[2] > b[2]))
{
// crossed
}
if((a[0]b[1])||
(a[1]b[2]))
{
//交叉
}
重要的一点是,对于某些指数i,a[i]的值(大于|小于)比b[i],而a[i+1]和b[i+1]之间的关系正好相反。对于较大的数据集,这种方法可能会开始显得笨拙。我认为更直观的做法是迭代数组并执行a[I]-b[I]>0。这对所有人都是正确的,如果他们不交叉,那么对所有人都是错误的。如果这对某些人来说是真的,而对其他人来说不是真的,那么他们就错了。如果数组相互接触但不交叉(例如3,2,3和1,2,1),您可能还需要检查是否相等。是一个你可能感兴趣的向量和矩阵库。