1↙Cls
:
Fix
4
:
Deg
:"XZJ="?R◢
(输入置镜点X)"YZJ="?S◢
(输入置镜点Y)LB1
2↙"K="?K◢
(输入计算点里程)If
K<第一线元终点里程
:THEN
线元起点X→A:线元起点Y→B:线元起点半径(直线起点终为10的45次方)→T:线元起点里程→D:线元起点方位角→E:线元终点半径(直线起终点为10的45次方)→U:线元终点里程→G:线元偏向(左偏-1右偏+1)→W:Goto
3:IfEnd↙………………………………(线元数据分段输入)LB1
3↙W*T→C:W*U→F:0→I:0→J:(C-F)/(2*C*F*(G-D))→H:K-D→X:E
(X/C
HX^2)×180/π→V:V<0=>V
360→V:"QXJ=":V→DMS◢(计算点切线方位角)A
∫(Cos(E
(X/C
HX^2)*180/π,0,X)→Z
:B
∫(Sin(E
(X/C
HX^2)*180/π,0,X)→Y
:"XI=":Z◢(计算点中心X)"YI=":Y◢(计算点中心Y)"PJ="?P◢(输入计算点边桩偏角左-右+)"PD="?Q◢(输入计算点边桩偏距)Rec(Q,V
P):Z
I→Z
:Y
J→Y:"XP=":Z◢(计算点边桩X)"YP=":Y◢(计算点边桩Y)Pol(Z-R,Y-S):J<0=>J
360→J:"FYJ=":J→DMS◢(放样方位角)"FYD=":I◢(放样距离)Goto
2↙
这是坐标反算偏距(左+,右-)的程序,我用的是海伦算法,缺点:P点为线上任意点时,本程序“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
使用5800自带的公式即可计算:
根据一已知直线(两点坐标)和直线外一点,求点到直线距离和垂足坐标
如图
调用方法是:FMLA键,选项2:Built-in,倒数第二个方程式:V-Line&Dist
依次输入直线上两点的Y坐标:YA、YB;X坐标:XA、XB;直线外一点的坐标YC、XC
重复按EXE键,系统自动计算出垂足的坐标x、y,还有距离l
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)