本程序测试于卡西欧9860,适用于卡西欧计算器5800以上版本,去掉反算程序中第4、5行后可用在5800计算器上
1. 坐标正算主程序(命名为ZBZS)
第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B
第2行:Prog “A”
第3行:”X=”:N+Zcos(F+B)◢
第4行:”Y=”:E+Zsin(F+B)◢
第5行:”F=”:F◢
第6行:Goto 0
K——计算点的里程
BIAN——计算点到中桩的距离(左负右正)
α——取前右夹角为正
2. 坐标反算桩号和偏距主程序(命名为ZBFS)
第1行:”X1=”? C:”Y1=”?D: ”K1=”?K
第2行:Lbl 0:Prog “A”
第3行:Pol(C-N,D-E)
第4行:List Ans[1]→I
第5行:List Ans[2]→J
第6行:Icos(F-J)→S:K+S→K
第7行:Abs(S)>0.0001=>Goto 0
第8行:”K1=”:K◢
第9行:”BIAN=”:Isin(J-F)→Z◢
X1——取样点的X坐标
Y1——取样点的Y坐标
K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号
Z——偏距(左负右正)
3. 计算坐标子程序(命名为XYF)
为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序
第1行:K-A→S:(Q-P)÷L→I
第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N
第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E
第4行:F+S(2P+SI)×90÷π→F
4. 数据库(命名为A)
第1行:K≤175.191=>Stop
第2行:175.191→A:428513.730→N:557954.037→E:92°26′40″→F:0→P:1/240→Q:70.417→L:
K≤A+L =>GoTo 1(第一缓和曲线,圆半径为240)
第3行:245.607→A: 428507.298→N:558024.092→E: 100°50′59.4″→F: 1/240→P:1/240→Q:
72.915→L: K≤A+L =>Goto 1(第圆曲线,半径为240)
第4行:318.522→A: 428482.988→N:558092.538→E: 118°15′25.2″→F: 1/240→P: 0→Q: 55.104
→L: K≤A+L =>Goto 1(第二缓和曲线,圆半径为240)
第5行:373.627→A:428453.283→N:558138.912→E:124°50′4.5″→F:0→P:-1/180→Q:67.222→L:
K≤A+L=>Goto 1:Stop(第一缓和曲线,圆半径为180)
第6行:Lbl 1:Prog “XYF”
A——曲线段起点的里程
N——曲线段起点的x坐标
E——曲线段起点的y坐标
F——曲线段起点的坐标方位角
P——曲线段起点的曲率(左负右正)
Q——曲线段终点的曲率(左负右正)
L——曲线段长度(尽量使用长度,为计算断链方便)
说明:
(1)在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。
(2)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加第二偏距和转角两个变量。
(3)程序规定,左偏曲线曲率(半径倒数)输入负值,右偏曲线曲率输入正值,直线上点曲率输入0,例如直线段,线元起点和终点均输入0,第一缓和曲线分别输入0和圆半径的倒数,圆曲线均输入半径倒数,第二缓和曲线分别输入圆半径倒数和0,卵形曲线分别输入对应圆半径的倒数
(4)若是从大里程向小里程的反方向计算,则曲率取正方向时的负值,方位角减去(或加上)180度。
(5)有多个匝道的项目,可随时更改正反算主程序中的红色字体部分来调用其它线路的数据
(6)反算桩号偏差为1mm
(7)可以计算任意线型的任意点坐标
5. 坐标计算通用程序(命名为ZB)
本程序与上述中的几个程序无关,是在计算坐标时采用输入曲线元参数模式下的程序,为临时使用方便。
第1行:”K0=“? A:”X0=“? N:”Y0=“?E:”F0=“?F:”1÷R1=“?P:”1÷R2=“?Q”:“L0=“?L
第2行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B
第3行:Abs(K-A)→S:(Q-P)÷L→I
第4行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→X
第5行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→Y
第6行:”F=”:F+S(2P+SI)×90÷π◢(可省掉)
第7行:”X=”:X+Zcos(Z+B)◢
第8行:”Y=”:Y+Zsin(Z+B)◢
第9行:Goto 0
作者 :柠檬树 QQ: 249910569 |
|