Goto5:
I=0.02:
Goto5
L9:
Lbl5:
{B}:
W“HB”=D-IB◢
L10:
Goto6
说明:
R:
平曲线半径L“LS”:
缓和曲线长P:
偏转,Z=-1,Y=1
X“XL”:
线路(Z,Y)左线=-1,右线=1Z“ZH”:
直缓点里程
H“HZ”:
缓直点里程V“RS”:
竖曲线半径F“I1”:
前坡堵(带符号)
G“I2”:
后坡度值(带符号)O“BPH”:
变坡点高程N“BP”:
变坡点里程
T:
切线长E:
最大超高值C:
渐变段长度(LC)
I:
横坡值M:
最大渐变长度(Lmax)B:
距中心距离W“HB”:
边部高程
-- 作者:
admin
-- 发布时间:
2005-8-159:
43:
38
--
CASIO4800计算程序
曲线任意里程中边桩坐标正反算(CASIOfx-4800P计算器)程序
曲线任意里程中边桩坐标正反算(CASIOfx-4800P计算器)程序
一、程序功能
本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(
SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线
元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲
率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
另
外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲
线任意里程中边桩坐标进行正反算。
本程序也可以在CASIOfx-4500P计算器及CASIOfx-4850P计算器上运行。
二、源程序
1.主程序(TYQXJS)
"1.SZ=>XY":
"2.XY=>SZ":
N:
U"X0":
V"Y0":
O"S0":
G"F0":
H"LS":
P"R0":
R"
RN":
Q:
C=1÷P:
D=(P-R)÷(2HPR):
E=180÷π:
N=1=>Goto1:
≠>Goto2Δ←┘
Lbl1:
{SZ}:
SZ:
W=Abs(S-O):
Prog"SUB1":
X"XS"=X◢
Y"YS"=Y◢
Goto1←┘
Lbl2:
{XY}:
XY:
I=X:
J=Y:
Prog"SUB2":
S"S"=O+W◢
Z"Z"=Z◢
Goto2
2.正算子程序(SUB1)
A=0.1739274226:
B=0.3260725774:
K=0.0694318442:
L=0.3300094782:
F=1-L:
M=1-K:
X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW
(C+FWD))+Acos(G+QEMW(C+MWD))):
Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+
QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))):
F=G+QEW(C+
WD)+90:
X=X+ZcosF:
Y=Y+ZsinF
3.反算子程序(SUB2)
T=G-90:
W=Abs((Y-V)cosT-(X-U)sinT):
Z=0:
Lbl0:
Prog"SUB1":
L=T+QEW(C+
WD):
Z=(J-Y)cosL-(I-X)sinL:
AbsZ<1E-6=>Goto1:
≠>W=W+Z:
Goto0Δ←┘
Lbl1:
Z=0:
Prog"SUB1":
Z=(J-Y)÷sinF
三、使用说明
1、规定
(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
(2)当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右
侧时,Z取正值。
(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6)当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明
输入部分:
1.SZ=>XY
2.XY=>SZ
N?
选择计算方式,输入1表示进行由里程、边距计算坐标;输入2表示由坐标反算
里程和边距。
X0?
线元起点的X坐标
Y0?
线元起点的Y坐标
S0?
线元起点里程
F0?
线元起点切线方位角
LS?
线元长度
R0?
线元起点曲率半径
RN?
线元止点曲率半径
Q?
线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
S?
正算时所求点的里程
Z?
正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X?
反算时所求点的X坐标
Y?
反算时所求点的Y坐标
显示部分:
XS=××× 正算时,计算得出的所求点的X坐标
YS=××× 正算时,计算得出的所求点的Y坐标
S=××× 反算时,计算得出的所求点的里程
Z=××× 反算时,计算得出的所求点的边距
四、算例
某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组
成,各段线元的要素(起点里程S0、起点坐标X0Y0、起点切线方位角F0、线元长度
LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志Q)如下:
S0 X0 Y0 F0 LSR0RN Q
500.000 19942.837 25643.561 1251631.00 269.256 1E451E45 0
769.256 19787.340 28563.378 1251631.00 37.492 1E45221.75 -1
806.748 19766.566 28594.574 1202554.07 112.779 221.75221.75 -1
919.527 19736.072 28701.893 911730.63 80.285 221.759579.228 -1
999.812 19744.038 28781.659 804050.00 100.000 1E451E45 0
1、正算
(注意:
略去计算方式及线元要素输入,请自行根据所求点所在的线元输入线元
要素)
S=700 Z=-5 计算得 XS=19831.41785 YS=25809.72590
S=700 Z=0 计算得 XS=19827.33592 YS=25806.83837
S=700 Z=5 计算得 XS=19823.25398 YS=25803.95084
S=780 Z=-5 计算得 XS=19785.25749 YS=28575.02270
S=780 Z=0 计算得 XS=19781.15561 YS=28572.16358
S=780 Z=5 计算得 XS=19777.05373 YS=28569.30446
S=870 Z=-5 计算得 XS=19747.53609 YS=28654.13091
S=870 Z=0 计算得 XS=19742.68648 YS=28652.91379
S=870 Z=5 计算得 XS=19737.83688 YS=28651.69668
S=940 Z=-5.123 计算得 XS=19741.59118 YS=28722.05802
S=940 Z=0 计算得 XS=19736.47687 YS=28722.35642
S=940 Z=3.009 计算得 XS=19733.47298 YS=28722.53168
2、反算
X=19831.418 Y=25809.726 计算得 S=699.9999974 Z=-5.00018164
X=19827.336 Y=25806.838 计算得 S=699.9996493 Z=0.000145136
X=19823.25398 Y=25803.95084 计算得 S=699.9999985 Z=5.000003137
X=19785.25749 Y=28575.02270 计算得 S=780.0000035 Z=-5.000001663
X=19781.15561 Y=28572.16358 计算得 S=780.0000025 Z=-0.000002979
X=19777.05373 Y=28569.30446 计算得 S=780.0000016 Z=4.99999578
X=19747.536 Y=28654.131 计算得 S=870.0001137 Z=-4.99941049
X=19742.686 Y=28652.914 计算得 S=870.0003175 Z=-0.00041814
X=19737.837 Y=28651.697 计算得 S=870.0002748 Z=4.999808656
X=19741.5912 Y=28722.0580 计算得 S=939.9999786 Z=-5.123024937
X=19736.4769 Y=28722.3564 计算得 S=939.9999862 Z=-0.000027710
X=19733.4730 Y=28722.5317 计算得 S=940.0000238 Z=3.00898694
-- 作者:
花下独眠
-- 发布时间:
2006-2-1520:
42:
58
--
看到斑竹为大家提供这么好的东西,非常感动,本人毕业后从事一段时间测量工作,有几个实用的CasioFx-4500PA计算器程序,现场使用比较方便,也在此献丑!
绝对好用,特别是曲线任意坐标计算!
CasioFx-4500PA计算器程序库
一、整机概况
Fx-4500PA计算器是日本Casio公司的产品,它除了具备函数型计算器的全部功能之外,还具备如下特殊功能:
1、二进制和八进制字组显示;
2、二进制、八进制、十进制和十六进制的转换和加、减、乘、除运算。
3、进行f(x)函数的输入与积分的计算;
4、进行标准差和回归计算。
Fx-4500PA计算器具有同时显示运算表达式和计算结果的双行式显示的特点。
该计算器具有记存1103个程序步的记忆储存装置,计算器储存了程序之后,只要您输入数据,再按一下EXE键,计算器就会用数据进行程序执行,对于随数据而变化的反复计算的运用十分方便。
Fx-4500PA计算器具备条件指令转移和非条件指令转移的能力,还具备逻辑判断能力,因此它可以进行测量工作中比较复杂的计算,当然其它专业的计算工作也同样可以解决。
Fx-4500PA计算器操作方法比较简单、易学,程序编排灵活、易懂,可称之谓各专业技术人员的物美、价廉、得心应手的计算工具。
每一台Fx-4500PA计算器都具备一本说明书,该计算器各部键的功能以及操作方法,只要认真按照说明书各章节学习,很快就能掌握和运用,现将我在测量实践中应用的部分计算程序介绍给同行以便共同探讨。
二、程序库
====1====
坐标反算程序(已知两坐标求算其平距和方位角)
程序名:
ZBFS
Norm:
A”X1”:
B”Y1”:
pol(C”X2”-A,D”Y2”-B:
”S=”▲W<0=>W=W+360△W:
”Aμ=”
注意:
本程序在CASIO4500上调试运行通过。
如果是在4800上运行请将源程序中的V,W分别用I,J替代即可。
运行后界面如下:
输入项目:
X1?
————————————请输入点1的X坐标,按EXE键输入下一个量。
Y1?
————————————请输入点1的Y坐标。
X2?
————————————请输入点2的X坐标。
Y2?
————————————请输入点2的Y坐标。
输出项目:
S= ————————————为两点之间距离,按EXE键输出下一个量。
Aμ=————————————为1点到2点的方位角。
按EXE键循环。
====2====
坐标正算程序(已知一坐标及其平距和方位角求算另一点坐标)
程序名:
ZBZS
C”X1”D”Y1”S”S=”R”Aμ”:
X”X2”=C+Rec(S,R▲Y”Y2”=D+W
注意:
本程序在CASIO4500上调试运行通过。
如果是在4800上运行请将源程序中的V,W分别用I,J替代即可。
运行后界面如下:
输入项目
X1?
————————————请输入点1的X坐标,按EXE键输入下一个量。
Y1?
————————————请输入点1的Y坐标。
S=?
————————————为两点之间距离。
Aμ?
————————————为1点到2点的方位角。
输出项目
X2 ————————————输出点2的X坐标。
Y2 ————————————输入点2的Y坐标。
按EXE键进入下一个循环。
====3====
竖曲线计算程序
程序名:
SQX
LBl1:
{DEIHRQPJ}:
W=DEIHRQPJ:
T=(I-H)R/2:
N=T2/2R
LBl2:
{A}:
Z=A
LBl3:
A>P=>Goto4:
△A>E=>Goto6:
△A>Q=>Goto5:
△X=D+(A-E)I▲Goto2
LBl4:
X=D+(A-E)H▲Goto2
LBl5:
M=(Q-A)2/2RJ:
X=D+(A-E)I+M▲Goto2
LBl6:
M=(P-A)2/2RJ:
X=D+(A-E)H+M▲Goto2
注意:
本程序在CASIO4500上调试运行通过。
如果是在4800上运行请将源程序中的V,W分别用I,J替代即可。
字母含义:
D:
变坡点高程E:
变坡点里程 J:
曲线凸凹(凸为-1、凹为+1)L:
开始坡度
H:
结束坡度 A:
待求点标高 R:
竖曲线半径 Q:
起点里程 P:
终点里程
====4====
计算曲线上任一点放样极坐标
F1:
QXJS
L1 AbsW"FixmC=>"=7=>Fixm:
GotoF△Fix4:
Z=E7A"A0"/AbsAN[9:
A=AbsA:
Q=R+S"Lsci"2/24R
L2 T=S/2-Sxy3/240R2+Anstan.5A▲L=πRA/180+S▲H"ZH"=J"JDT"-T▲V"HY"=H+S▲V"QZ"=H+.5L▲V"YH"=H+L-S▲L"HZ"=H+L▲D"xJ"K"yJ"B"Gra"O"XE"U"YE"G"Xm"M"Xm"
L3 LbIF:
{FN}:
F≤H=>X=F-J:
ZN:
≠>F≤L-S=>I=L-S=>I=F-H:
FProgQ:
≠>Rec(R-ZN,90(2I-S)/πR:
X=W-Qtan.5A:
Q-V△≠>I=L-F:
PoI(T-I,ZN:
FProgQ:
PoI(-X,Ans△X=Rec(Ans,A+W
L4 W△△X=D+Rec(PoI(X,ZAns,W+B:
Y=K+W:
"EnDOK!
":
PoI(G-O,M-U:
I=W:
PoI(X-O,Y-U:
W-I:
Ans<0=>Ans+360△I=Ans:
60FracAns:
I"≤Deg"=IntI+.01IntAns+6mFracAns▲V"P"=V▲GotoF[主程序结束]
F2:
Q [子程序]
L1 Y=2RS:
W=180I2/πY:
X=I-Ixy5/10Y2-T-ZNsinW:
Ixy3/3Y-Ixy7/42Yxy3+