环境: 主机:WIN7 开发环境:Qt
功能: 给4点坐标,以及与未知点的距离,求出未知点坐标.
说明: 现在在做一个原理类似GPS的定位系统.所以需要解一个定位方程组.与GPS不同的是我这边没有接收机和卫星的时间差. 解方程的原理是根据圆公式列出4个距离方程,然后用线性代数的克莱姆法则求解. 设未知点向量为P,空间已知4点向量为Vi(i = 1:4),4点距离未知点坐标为di(i = 1:4). 则有方程:di^2 = (P - V)^2. 则有4个方程: P^2 - 2V1 * P = d1 - V^2 P^2 - 2V2 * P = d2 - V^2 P^2 - 2V3 * P = d3 - V^2 P^2 - 2V4 * P = d4 - V^2 两两相减得到3个线性方程: (V2 - V1) * P = 1 / 2 (V2^2 - V1^2 - (d2^2 - d1^2)) (V3 - V2) * P = 1 / 2 (V3^2 - V2^2 - (d3^2 - d2^2)) (V4 - V3) * P = 1 / 2 (V4^2 - V3^2 - (d4^2 - d3^2)) 设等式左边为矩阵A,右边为矩阵B,则有: A * P = B 求解A的行列式的值,如果不为0,则有解.然后用克莱姆法则求解出未知点坐标. 下面是测试程序. ---------------------作者:jdh99 来源:CSDN 原文:https://blog.csdn.net/jdh99/article/details/7349771?utm_source=copy
|