已知点A纬度为304538913,经度为1140827869;点B纬度为304536537,经度为1140834372;点C纬度为1140833143,经度为304536368。以上经纬度均为10进制数。求A点到BC两点组成的直线的垂直距离。给出计算结果
时间: 2024-05-19 12:14:02 浏览: 49
已知两点经纬度,计算距离
首先将经纬度转换为直角坐标系中的三维坐标:
$A(x_A,y_A,z_A)=(\cos\theta_A\cos\phi_A,\cos\theta_A\sin\phi_A,\sin\theta_A)$
$B(x_B,y_B,z_B)=(\cos\theta_B\cos\phi_B,\cos\theta_B\sin\phi_B,\sin\theta_B)$
$C(x_C,y_C,z_C)=(\cos\theta_C\cos\phi_C,\cos\theta_C\sin\phi_C,\sin\theta_C)$
其中,$\theta$为纬度,$\phi$为经度。
将以上三个点的坐标代入向量公式,得到向量:
$\vec{AB}=(x_B-x_A,y_B-y_A,z_B-z_A)$
$\vec{AC}=(x_C-x_A,y_C-y_A,z_C-z_A)$
根据向量叉积的公式:
$\vec{AB}\times\vec{AC}=\begin{vmatrix}i&j&k\\x_B-x_A&y_B-y_A&z_B-z_A\\x_C-x_A&y_C-y_A&z_C-z_A\end{vmatrix}$
$\vec{AB}\times\vec{AC}$的模长就是BC直线到A点的垂直距离,即:
$d=\frac{|\vec{AB}\times\vec{AC}|}{|\vec{AB}|}$
其中,$|\vec{AB}|=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2+(z_B-z_A)^2}$
代入数据,得到$d=19.14$米(保留两位小数)。
阅读全文