本程序“PIAN
JU“(偏距)以后代码失效,如有不同算法者,与我联系,共同研究。
“X1”?→X↙
“Y1”?→Y↙
“X2”?→A↙
“Y2”?→B↙
Pol((A-X),(B-Y))↙
If
J<0:
Then
J+360→J:
Else
J→J
:
IfEnd
↙
I◢
得出两点间距离
J►DMS◢
得出两点间方位角(度分秒)
”PIAN
JU:0”?
→V↙
要计算偏距,请按“0”,返回反算请按0以外任意数
If
A≠0:Then
Goto
A:
Else
Lbl
B
:
IfEnd↙
“PX”?→C↙
“PY”?→D↙
√((A-C)^2+(B-D)^2)→F↙
√((C-X)^2+(D-Y)^2)→G↙
(I+F+G)/2→S↙
√(S*(S-I)*(S-F)*(S-G))
→M↙
M/I*2→W↙
Cos-1((I^2+F^2-G^2)/(2I*F))→O↙
O►DMS↙
用反余弦算出夹角度分秒但不显示
I-W/(tan(O))
→T◢
得出直线到垂足的距离(加入正算得出垂足标)
(C-(X+(T*cos(J))))/cos(J-90)◢
得出点到直线垂直距离((左+,右-))
Goto
B
设点坐标P:(x1,y1),直线方程
L:A*x+B*y+C=0,则P点到直线L的距离matlab程序如下:
abs(A*x1+B*y1+C)/sqrt(A^2+B^2)
其中的abs为取绝对值,sqrt为
开平方
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)