美文网首页
空间上点到线段的最短距离

空间上点到线段的最短距离

作者: 宿州德华 | 来源:发表于2019-11-14 19:47 被阅读0次
/**
 * 点到线段的最短距离
 * @param a 线段一个点
 * @param b 线段另一个点
 * @param s 空间上任意一个点
 * @returns {number}
 */
 function point2LineDistance(a,b,s) {
    let ab = Math.sqrt(Math.pow((a.x - b.x), 2.0) + Math.pow((a.y - b.y), 2.0) + Math.pow((a.z - b.z), 2.0));
    let as = Math.sqrt(Math.pow((a.x - s.x), 2.0) + Math.pow((a.y - s.y), 2.0) + Math.pow((a.z - s.z), 2.0));
    let bs = Math.sqrt(Math.pow((s.x - b.x), 2.0) + Math.pow((s.y - b.y), 2.0) + Math.pow((s.z - b.z), 2.0));
    let cos_A = (Math.pow(as, 2.0) + Math.pow(ab, 2.0) - Math.pow(bs, 2.0)) / (2 * ab*as);
    let sin_A = Math.sqrt(1 - Math.pow(cos_A, 2.0));
    let t = ((a.x-s.x)*(a.x-b.x)+(a.y-s.y)*(a.y-b.y)+(a.z-s.z)*(a.z-b.z))/(Math.pow((a.x-b.x), 2.0)+Math.pow((a.y-b.y), 2.0)+Math.pow((a.z-b.z), 2.0));
    if(t<0){
        return as;
    }else if(t<=1&&t>=0){
        return as*sin_A;
    }else if(t>1){
        return bs;
    }
}

相关文章

  • 点到线段的最短距离

    点到线段最短距离的运算与点到直线的最短距离的运算二者之间存在一定的差别,即求点到线段最短距离时需要考虑参考点在沿线...

  • 空间上点到线段的最短距离

  • 点到线段的距离

    点到线段分为三种情况 1 如图,向量AB与AP的点积小于0时,距离为AP的模 2 如图,向量AB与BP的点积大于0...

  • 点到线段的距离

    点到直线公式计算的是点和直线之间的关系,而不是点和线段之间的关系需要额外的判断,点在线段上的投影点是否位于线段内部...

  • 去“伪”存“真”

    以经验做题,最短的距离应该是垂线段。 用几何画板做出来,感觉真的颠覆自己的思维,竟然不是垂线段最短。 最短的时刻竟...

  • 数学课

    点到直线距离: 垂线段最短 学生理解不了。 师:从村庄点P修一条小路,董俊博是村长,使人们自村庄P出发到公路的距离...

  • 直线垂直,垂线的性质,点到直线的距离(二)

    欢迎关注公z号:沈阳奥数 垂线段最短(点到直线的距离) 如图,直线AB外的点P,过点P做PC⊥AB于点C,那么PC...

  • 求点到线段的距离、垂足、最近点

    直线方程 直线的一般式方程: Ax + By + C = 0平行于x轴时,A=0,C≠0;平行于y轴时,B=0,C...

  • 注重人品,有所为有所不为

    有了明确的目标,在向着它努力的过程中,自然很多人都会想着,用两点之间线段最短的原理,找到最短途径。 从目前的起点到...

  • 7.17

    两点之间线段最短。

网友评论

      本文标题:空间上点到线段的最短距离

      本文链接:https://www.haomeiwen.com/subject/pqldictx.html