我有一个扁圆椭圆体(x ^ 2 + y ^ 2)/ a ^ 2 + z ^ 2 / b ^ 2和一个空间P点(xp,xp,xp)。
我需要从P找到垂直于椭球的方程,然后找到椭球与此线之间的交点坐标。
答案 0 :(得分:0)
任意点的渐变都是(2X/a²,2Y/a²,2Z/b²)
,必须与(Xp,Yp,Zp)
平行。然后是X/a²Xp=Y/a²Yp=Z/b²Zp
。
取消X
和Y
,
(Z.a²Xp/b²Zp)²/a² + (Z.a²Yp/b²Zp)²/a² + Z²/b² = 1.
为您提供Z
。
<强>更新强>:
正如@dmuir指出的那样,这条线不是通过原点,并行必须是(X-Xp,Y-Yp,Z-Zp)
。
这会给X/a²(X-Xp)=Y/a²(Y-Yp)=Z/b²(Z-Zp)
。 X
和Y
仍然可以被删除但是Z
的单应函数。我想,Z
中的最终等式是四次的。
答案 1 :(得分:0)
这有点复杂。在通常的(大地测量)纬度,长度,高度坐标系中,高度确实是沿椭圆体法线的距离。所以你想要的是从ECEF(即x,y,z)坐标到大地坐标的转换的一部分。这将在here中进行讨论,例如
答案 2 :(得分:0)
对于扁率椭球,我们可以简化 - 解决轴a
和b
的椭圆的二维问题,并用坐标P2=(Sqrt(px^2 + py^2), pz)
指向,然后将找到的点C2(x,y)转换为3D为
C = (x*cos(f), x*sin(f), y)
where
f = arctan2(py, px)
从点到椭圆的垂直在最近点与它相交 让我们通过角度参数t
写椭圆方程E(t)= (a * cos(t), b * sin(t))
Min.distance / normal condition导致等式
D' = E'(t) * (E(t) - P2) = 0 (dot product)
-a^2 * cos(t) * sin(t) + p2.x * a * sin(t) + b^2 * cos(t) * sin(t) - p2.y * b * cos(t) = 0
解决t,首先检查cos(t)= 0是否为解。如果不是,除以cos(t)
-a^2 * sin(t) + p2.x * a * tg(t) + b^2 * sin(t) - p2.y * b = 0
然后通过p = half-angle tangent替换sin和tg并解决4度方程。
p = tg(t/2)
-a^2 * 2 * p / (1 + p^2) + p2.x * a * 2 * p /(1 - p^2) +
b^2 * 2 * p / (1 + p^2) - p2.y * b = 0
-a^2 * 2 * p * (1 - p^2) + p2.x * a * 2 * p * (1 + p^2) +
b^2 * 2 * p * (1 - p^2) - p2.y * b * (1 - p^4)= 0
椭圆外的点有两个根(内部点最多有4个根,不确定3D中会发生什么)。选择合适的一个(最近点)。如上所述将2D案例转换为3D。