首页 / 浏览问题 / 三维GIS / 问题详情
三维中求点到直线(两点)的垂直点
wpk
15EXP 2020年11月30日

已知两个三维点(经度,纬度,高度)确定一条直线,已知另外一个三维点,求点到直线的垂直点坐标(经度,纬度,高度)。

目前使用这个方法,但是计算的点的坐标不准确,有很大偏差

 //垂直点--所有点都等高
        perpendicular(p1, p2, p3) {
            if (p1 && p2 && p3) {
                let z = p1.z || p2.z || p3.z;
                let a = p2.y - p1.y;
                let b = p1.x - p2.x;
                let c = p2.x * p1.y - p1.x * p2.y;
                let x = (b * b * p3.x - a * b * p3.y - a * c) / (a * a + b * b);
                let y = (-a * b * p3.x + a * a * p3.y - b * c) / (a * a + b * b);
                return { x, y, z };
            }
        },

1个回答

您好,参考这篇博客https://xiaozhuanlan.com/topic/9578631042

康鑫
1
6,077EXP 2020年11月30日
非常感谢,这个直接解决问题。
客气了您
...