三边测量定位算法优缺点,三边测量定位算法例题
定位原理很简单,故不赘述,直接上源码,内附注释。(如果对您的学习有所帮助,还请帮忙点个赞,谢谢了)#!/usr/失眠的未来/env python3# -*-编码:utf-8 -*- 创建于2018年5月16日星期三10:50:29 @ author:Dag import sympyimport numpy as NP import math from matplotlib。py plot从matplotlib导入绘图。py绘图导入显示导入matplotlib。py绘图作为pltim端口matplotlib #解决无法显示中文问题,名称是加载字体路径,根据自身个人计算机实际确定,具体请百度zh font 1=matplotlib。font _ manager .字体属性(fname=/System/Library/Fonts/hira gino Sans GB w3。TTC )#随机产生3个参考节点坐标maxy=1000 maxx=1000 CX=maxx * NP。兰德。rand(3)cy=maxy * NP。兰德。兰德(3)点1=plot(cx,cy,k^)#生成盲节点,以及其与参考节点欧式距离MTX=maxx * NP。兰德。rand()mty=maxy * NP。随机的。兰特()PLT。hold( on )dot 2=plot(MTX,mty, go )da=数学。sqrt(NP。平方(MTX-CX[0])NP。square(mty-cy[0]))db=math。sqrt(NP。平方(MTX-CX[1])NP。square(mty-cy[1])DC=数学。sqrt(NP计算定位坐标def tripposition(xa,ya,da,xb,yb,db,xc,yc,dc): x,y=sympy。符号( x y )f1=2 * x *(xa-xc)NP。平方(xc)-NP。平方(xa)2 * y *(亚-YC)-NP。平方(ya)-(NP。广场(DC)-NP。平方(da))F2=2 * x *(XB-xc)NP。平方解算得到定位节点坐标[locx,locy]=tripposition(CX[0],cy[0],da,cx[1],cy[1],db,cx[2],cy[2],DC)PLT。hold( on )dot3=plot(locx,locy, r*)#显示脚注x=[[locx,cx[0]],[locx,cx[1]],[locx,cx[2]]]y=[[locy,cy[0]],[locy,cy[1],[locy,cy[2]],for I in range(len(x)):PLT。plot(x[I],y[I],linestyle= -,color=g )plt.title(三边测量法的定位,font properties=zhfont 1)PLT。图例([参考节点,盲节点,定位节点],loc=右下角,prop=zhfont 1)show()derror=math。sqrt(NP。方形(洛克斯-MTX)NP。方形(locy-mty))印刷(derror)输出效果图:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。