casiofx系列编程计算器则能通过变量赋值,将复杂的计算步骤串联缺老宴起来,使用各计算式的结果进行多次递进计算。
说简单点,只要将各计算步骤的多个计算式编写为程序,运行该程序时只需输入已知条件,计算器自动处理程伏银序的中间计算过程,并显示最终计算结果。
举个简单的例子,坐标正算,已知两点坐标O(A,B)、P(C,D),计算OP的坐标方位角和O到P的距离。
如果是一般的计算器,要先算①arctan((D-B)/(C-A)) ,判断计算结果在哪个象限,再处理为坐标方位角;再算②((C-A)^2+(D-B)^2)^0.5 ,得到两点距离
到了5800上,只需编写程序:Pol((D-B),(C-A)) ,这个公式综合了①、②两步,再不需要繁琐的数字、计算符输入,运行时只需输入A、B、C、D四个坐标数,即可得到坐标方位角和距离。下一次计算时,坐标变换后只需更改数值即可再计算,方便快捷
当然,将这样的两步计算编程含悄还是看不出5800的强大。在路桥逐桩坐标的计算中,先要计算曲线要素,再计算主点桩号,再判断要计算点在曲线上的位置、计算缓和曲线上的局部坐标,再根据方位角增量计算点位坐标……这样多个步骤、计算结果反复调用、附带条件判断的复杂计算,只要将每一步都转化为程序语句,即可一键算完。
简而言之,5800计算坐标,其实也是根据书上的理论公式进行的,只不过,我们先要将理论公式编写为5800程序。5800的编程语言有专门的教材,你可以买来学习一下
正算子程序(ZS)(不运行)1÷P→C:(P-R)÷(2HPR) →D: 180÷π→E←┚
0.1739274226→A: 0.3260725774→B: 0.0694318442→滑蠢K: 0.3300094782→L: 1-L→F: 1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD)))→Y: G+QEW(C+WD)+90→F: X+ZcosF→X: Y+ZsinF→Y
3反算子程序(FS)(不运行)
G-90→T: Abs((Y-V))cos(T)-(X-U)sin(T)→W: 0→Z←┚
Lbl 0←┚
prog"ZS":T+QEW(C+WD)→L:(J-Y)cosL-(I-X)sinL→Z:If Abs(Z)<0.001: Then Goto1:Else W+Z→W:IfEnd :Goto 0←┚
Lbl 1: 0→Z:Prog"ZS":(J-Y)÷sinF→Z
ZX-WN(运行主程序,该程序适用于匝道,对全段完整非对称曲线计算太过麻烦)
"CZX"?S(仪站X坐标):"CZY"?W(仪站Y坐标)
LbI 0: "K"?K: If K≤126.9(第1条单一曲线的终点下面同上): Then Goto A:Else If K≤176.9 And K>126.9: Then Goto B:Else If K≤259.562 And K>176.9: Then Goto C:Else If K≤309.562 And K>259.562: Then Goto D: IfEnd:IfEnd:IfEnd:IfEnd←┚
LbI A:92094.336(起点X坐标)→U:8287.962(起点Y坐标)→V:0起点桩号→O:145°11'54"(方位角)→G:126.9(曲线长度)→H:10^(45) (起点半径)→P:10^(45) (止点半径)→R:+1(路线左右偏,左负右正,直线输0)→Q:Prog "WN":Goto W
LbI B:91990.134→U:8360.388→V:126.9→O:145°11'54"→G:50→H:10^(45) →P:150 →R:+1→Q:Prog "WN":Goto W
LbI C:91947.609→U:8386.570→V:176.9→O:154°44'51"→G:82.662→H:150 →P:150 →R:+1→Q:Prog "WN":Goto W
LbI D:91867.101→U:8399.992→V:259.562→O:186°19'19"→G:50→H:150 →P: 10^(45) →R:+1→Q:Prog "WN":Goto W
LbI W:"PJ1"?T←┚(该项是只左右边桩再左右偏距,输0为不再左右偏,可以直接出方位角、距离,适用于桥梁桥台、盖梁、涵洞八字墙等放样,以路线前进方向,前-,后+)
If T=0:Then Z[3]→Z: Z[4]→M: Goto P: Else Goto V: IfEnd←核激┚
LbI V:"JJ1"? O←┚(左右边桩再偏夹角,用180°减去路线夹角)
"X1=": Z[3]+Tcos(F+N+ O)→U◢
"Y1=" :Z[4]+Tsin(F+N+ O)→V◢
U→Z: V→M: GotoP←┚
LbI P:Pol(Z-S,M-W): If J≤0:Then J+360°→J: IfEnd←┚
"JL=":I◢(仪站至测点的距离)
"FWJ=":J DMS◢(仪站至测点的方位角)
Goto0
备注:
1. 规定以道路中线前进方向(即里程增大的方向)区分左右;当线元往左偏时Q=-1;当元线往右偏时,Q=1:当元线为直线时,Q=0。
2. 当线元为信氏陪直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替。
3. 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于
1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离)程序名:1ZD-XY
Lb1 0:Norm
2
F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量)
Z[1]=90(与路线右边夹角)
Prog"THB":F=1=>Goto
1:F=2=>Goto 2
Lb1 1:Fix 3:" X=":Locate 6,4,X◢
" Y=":Locate
6,4,Y◢
Prog"3JS”:Goto 0:
Lb1 2:Fix 3:" KM=":Locate 6,4,Z◢
"D=":Locate
6,4,D◢
Goto 0
2.主程序2:高程序横坡程序(设计任意点高程及横坡)
程序名:2GC
LbI 0:Norm
2
“KM”?Z:?D:
Prog”H”:Fix 3:” H=”:Locate 6,4,H◢
“ I=”: Locate
6,4,I◢
Goto
0
3.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离)
程序名:3JS
X:Y:
1268.123→K(置仪点X坐标)
2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦)
Y-L→E:X-K→F:Pol(F,E):IF
J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J))
→J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate
6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示)
Fix 3:” S=”:Locate
6,4,I◢
4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离)
程序名:4JH-XY
LbI
0:Norm
2
90→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量)
1→F:Prog”THB”:?L:
Z[2]-Z[1]
→E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3: " X=":坦散Locate 6,4,X◢大信培
" Y=":Locate
6,4,Y◢
Prog"3JS”:Goto
0:
5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度)
程序名:5FBX
LbI
0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog
“THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then 0.75-L→D:Goto
H:Else L-0.75→D:Goto H:IfEnd
LbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If
Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T:
LbI W:Prog
“W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else If G>Z[10]:Then Goto 2:Else
Goto 3:IfEnd:
LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto
Z:
LbI 2:L+Z[12]+Z[13]+(G-Z[10])×Z[8]+Z[10]×Z[7]:Goto Z:
LbI
3:L+Z[12]+G×Z[7]:Goto z:
LbI T:L+0.5→N:If G>Z[17]:Then
(N+Z[18]+(G-Z[17])×Z[16]+Z[17]×Z[15])→滚唯S:Goto Z:Else (N+G×Z[15])→S:Goto z:
LbI
Z:Z[3]→D:Fix 2:Abs(D)-S→T:” L0=”:L Locate 6,4,T◢
" KM=":Locate
6,4,Z◢
"D=":Locate 6,4,D◢
“TW=”: Locate 6,4,Z[5]◢
Goto
0
6.主程序6:路基标准半幅宽度计算程序(对于设计有加宽渐变的有用,如路基宽度无变化,则把此程序直接输入半幅宽度值至L)
程序名:6GD
Prog
“G0”Z-C→E:(B-A)×E/S+A→L:L:
7.坐标计算次程序(THB)
程序名:THB
18→DimZ:"KM"?Z:Prog
"X0"
1÷P→C: (P-R)÷(2HPR) →S: 180÷π→E:F=1=>Goto 1:F=2=>Goto 2←┘
Lbl
1:?D: Abs(Z-O) →W:Prog "A":X:Y:Goto 3
LbI 2:X:Y:X→I:Y→J:Prog
"B":O+W→Z:D→D:Goto 3
LbI 3:IF F=1Then X:Y:Else Z:D
8.
正算子程序(A)
程序名:A
0.1184634425→A: 0.2393143352→B:0.2844444444→N
0.046910077→K: 0.2307653449→L:0.5→M:
U+W(Acos(G+QEKW(C+KWS))+Bcos(G+QELW(C+LWS))+Ncos(G+QEMW(C+MWS))+Bcos(G+QE(1-L)W(C+(1-L)WS))+Acos(G+QE(1-K)W(C+(1-K)WS)))
→X:
V+W(Asin(G+QEKW(C+KWS))+Bsin(G+QELW(C+LWS))+Nsin(G+QEMW(C+MWS))+Bsin(G+QE(1-L)W(C+(1-L)WS))+Asin(G+QE(1-K)W(C+(1-K)WS)))
→Y:
G+QEW(C+WS)+Z[1]→Z[2]:X+Dcos(Z[2])→X: Y+Dsin(Z[2])→Y
9.
反算子程序(B)
程序名:B
G-90→T: Abs((Y-V)cos(T)-(X-U)sin(T)) →W: 0→D:Lbl 0:Prog
"A": T+QEW(C+WS) →L: (J-Y)cos(L)-(I-X)sin(L)→D:IF Abs(D)<0.01:Then Goto1:Else
W+D→W:Goto 0←┘
Lbl 1:0→D:Prog "A":(J-Y)÷sin(Z[2])
→D:
10.高程计算子程序(H)
程序名:H
Prog “S0”:R:T:C:G:I:C-T→F:Z-F→L:C+T→E:G-TI→Q:If
T=O:Then Q+LI→H:Goto 0:Else If Z<F:Then Q+LI→H:Goto 0:Else If Z≤E:Then
Q+LI+L2÷2÷R→H:Goto 0:
LbI 0:H:If D=0:Then Goto I:Else Prog “I”:H+V→H:Goto
I:LbI I:H:I:
11.高程超高计算程序(I)
程序名:I
Prog”I0”:
W=1=>Goto
0:W=2=>Goto 1:
LbI 0:If L=0:Then Abs(D)×M→V:Goto 2:Else
Abs(D)×((N-M)×(Z-C)÷L+M)→V:Goto 2:IfEnd:
LbI 1:If L=0:Then Abs(D)×M→V:Goto
2:Else Abs(D)×(((3((Z-C)÷L)2-2((Z-C)÷L)∧(3))×(N-M))+M)→V:Goto 2:IfEnd:
LbI
2:Abs(D)→E:V÷E→I:I(E-K)→V:
12.数据子程序(附后示例)
①程序名:X0(坐标计算要素程序)
If Z≥25900
And Z≤26615.555:Then
25900→O:11587.421→U:1847.983→V:101。09’23.1”→G:715.555→H:1×1045→P: 1×1045→R:
0→Q:Goto 0: IfEnd:
If Z≥26615.555 And Z≤26915.555:Then
26615.555→O:11448.97→U:2550.016→V:101。09’23.1”→G:300→H:1×1045→P: 1800→R:1→Q:Goto
0:IfEnd:
If Z≥26915.555 And Z≤27316.952:Then
26915.555→O:11382.792→U:2842.531→V:105。55’51.83”→G:401.396→H:1800→P:
1800→R:1→Q:Goto 0:IfEnd:
……
LbI
0:O:U:V:G:H:P:R:Q:
程序字母说明:O-线元起点桩号;U-起点X坐标;V-起点Y坐标;G-线元起点桩号切线方位角
H-线元长度,P-线元起点曲率半径,R-线元终点曲率半径,Q-线元判别(以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0)。
②程序名:SO(高程竖曲线要素子程序)If Z≥25900 And
Z≤26157.8:Then -200000→R:157.8→T:26000→C:37.1→G:0.01222→I:Goto 0:IfEnd:
If
Z≥26157.8 And Z≤27421.915:Then
300000→R:171.915→T:27250→C:32.65→G:-0.00356→I:Goto 0:IfEnd:
If Z≥27421.915
And Z≤27889.029:Then 1000000→R:134.029→T:27755→C:36.64→G:0.0079→I:Goto
0:IfEnd:
……
LbI
0:R:T:G:C:I:
程序字母说明:C-竖曲线交点桩号;G-交点桩号高程(未竖曲线调整的);T-竖曲线切线长;R-竖曲线半径(分正负:凹曲线为正,凸曲线为负);I-竖曲线前纵坡
③程序名:I0(高程超高参数子程序)
1.5→K:2→W:If
D<0:Then Goto L:Else Goto R:IfEnd:
LbI L:If Z≥25900 And Z≤26615.555:Then
0→L:-0.02→M:Goto 0:IfEnd:
If Z≥26615.555 And Z≤26735.555:Then
120→L:26615.555→C:-0.02→M:0.02→N:Goto 0:IfEnd:
If Z≥26735.555 And
Z≤26795.555:Then 60→L:26735.555→C:0.02→M:0.04→N:Goto 0:IfEnd
If Z≥26795.555
And Z≤27436.951:Then 0→L:0.04→M: Goto 0:IfEnd
……
LbI R: If Z≥25900 And
Z≤26735.555:Then 0→L:-0.02→M: Goto 0:IfEnd
If Z≥26735.555 And
Z≤26795.555:Then 60→L:26735.555→C:-0.02→M:-0.04→N:Goto 0:IfEnd
If Z≥26795.555
And Z≤27436.951:Then 0→L:-0.04→M: Goto 0:IfEnd
……
LbI 0
K:W:L:C:M:N:
字程序中字母表示说明:
K-中央分隔带半幅宽(中桩标高至中桩中线距离,无分隔带则为0);W-超高方式参数(W=1为一般直线方式超高,W=2为三次抛物线方式超高)L-超高渐变段距离(不是渐变段则输入0);C-超高渐变段起点桩号(不是渐变段,无需输入);M-超高段起点横坡,N-超高渐变段终点横坡(不是渐变段,无需输入)。
④程序名:GO(路基标准半幅宽度参数子程序)
If
D<0:Then Goto L:Else Goto R:IfEnd:
LbI L:If Z≥25900 And Z≤28110.727:Then
Z→C:17.25→A:Goto 0:IfEnd:
If Z≥28110.727 And Z≤28200.727:Then
28110.727→C:17.25→A:21.25→B:90→S:Goto 0:IfEnd
……
LbI R: If Z≥25900 And
Z≤27927.478:Then Z→C:17.25→A: Goto 0:IfEnd
If Z≥27927.478 And Z≤28172:Then
27927.478→C:17.25→A:27.031→B:244.522→S:Goto 0:IfEnd
……
LbI 0
C:A:B:S:
字程序中字母表示说明:
C-宽度渐变段起点桩号(不是渐变段C=Z);A-宽度渐变段起点宽度
B-宽度渐变段终点宽度(不是渐变段,无需输入);S-宽度渐变段距离(不是渐变段,无需输入)。
⑤程序名:WO(路基填挖边坡参数子程序)0.75→Z[7]:1→Z[8]:1.25→Z[9]:10→Z[10]:10→Z[11]:2.6→Z[12]:2→Z[13]:2→Z[14]:
1.5→Z[15]:1.75→Z[16]:8→Z[17]:2→Z[18]
字程序中字母表示说明:
Z[7]-挖方第一阶边坡边率;Z[8]-挖方第二阶边坡边率;Z[9]-挖方第三阶边坡边率;Z[10]-挖方第一阶高度;Z[11]-挖方第二阶高度;Z[12]-挖方路基碎落台及水沟宽度;Z[13]-挖方第二台阶平台宽度;Z[14]-挖方第三台阶平台宽度;
Z[15]-填方第一阶边坡边率;Z[16]-填方第二阶边坡边率
Z[17]-填方第一阶高度;Z[18]-填方第二台阶平台宽度。(注:本程序只做出挖方三个台阶,填方二个台阶,如需增加,先需在程序THB和5FBZ程序中增加变量。再如一标段有坡率及坡高不一样时,可以照其它参数程序一样,用判别语句。)
三、使用说明1、规定
(1)
Z“KM”为所求点桩号,反算时为输入大概桩号
(2)
当所求点位于中线时,D=0;当位于中线左铡时,D取负值;当位于中线中线右
侧时,D取正值。
(3)
当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4)
当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
(5)
当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
(6)
当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
2、输入与显示说明 输入部分:
1.
F=1:ZD =>XY
2.F=2: XY = >ZD
F ?
选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入2表示由坐标反算里程和边距。Z[1]为线元边桩与中线右夹角。
KM?正算时所求点的里程(反算输入大概桩号)
D ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
X0 ?反算时所求点的X坐标(放样程序中实测X坐标)
Y0
?反算时所求点的Y坐标(放样程序中实测Y坐标)
显示部分:
L? 涵洞放样程序中涵距中心桩号前后距离,前为正,后为负.
M0?
边坡放样程序中原地面标高输入
X=***正算时,计算得出的所求点的X坐标
Y=***
正算时,计算得出的所求点的Y坐标
FWJ=***
正算时,计算得出的所求点的至置仪点方位角(在3JS程序中应输入X、Y坐标值于K、L)
S=***
正算时,计算得出的所求点的至置仪点距离
KM=***反算时,计算得出的所求点的里程
D=***
反算时,计算得出的所求点的边距
H=*** 所求点位置设计路面顶标高
I=***
所求点位置设计路面横坡
L0=*** 边桩放样程序中实测点至设计边坡点距离,正向内移,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)