卡西欧4800/4850程序 一、程序功能 本程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、止点里程、起点曲率、止点曲率)及里程边距或坐标,对该曲线段范围内(如不在该范围则自动转入下一线元)任意里程中边桩坐标进行正反算。二、源程序 1.主程序(FQXZB) Lbl 0:{HR}:N:UXA:VYA:ODKA:GF0:HDKB:P1/RA:R1/RB:Q:D=(R-P)/(2Abs(H-O)):E=180/π:N=1=Goto 1:≠Goto 4Δ←┘ Lbl 1:{SZ}:SDKI:S=H=S=HΔW=Abs(S-O):Prog SUB1:XXS=X◢ YYS=Y◢ S=H=Goto 5←┘ Lbl 2:{Z}:Z:F=G+QEW(P+WD)+90:IXZ=X+ZcosF◢ JYZ=Y+ZsinF◢ Goto 3 Lbl 3:{C}:C:C=0=Goto 1:≠Goto 2Δ Lbl 4:{XY}:XY:I=X:J=Y:Prog SUB2:SS=O+W◢ ZZ=Z◢ Goto 4 Lbl 5:U=X:V=Y:O=H:G=G+180Q(WD+P)W/π:P=R Goto 0 2. 子程序(SUB1) A=0.1739274226:B=0.3260725774:K=0.0694318442:L=0.3300094782:F=1-L:M=1-K:C=G+QEMW(P+MWD):X=U+W(Acos(G+QEKW(P+KWD))+Bcos(G+QELW(P+LWD))+Bcos(G+QEFW(P+FWD))+Acos C):Y=V+W(Asin(G+QEKW(P+KWD))+Bsin(G+QELW(P+LWD))+Bsin(G+QEFW(P+FWD))+Asin C) 3. 子程序(SUB2) T=G-90:W=Abs((Y-V)cosT-(X-U)sinT):Z=0:Lbl 0:Prog SUB3:L=T+QEW(P+WD):Z=(J-Y)cosL-(I-X)sinL:AbsZ1E-6=Goto1:≠W=W+Z:Goto 0Δ←┘Lbl 1:Z=0:Prog SUB3:Z=(J-Y)÷sinF 4. 子程序(SUB3) Prog SUB1:F=G+QEW(P+WD)+90:X=X+ZcosF:Y=Y+ZsinF 三、使用说明 1、规定 (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。 (2) 当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。 (3) 当线元为直线时,其起点、止点的曲率为0。 (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率均等于圆弧的半径的倒数。 (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率为0;与圆曲线相接时,曲率等于圆曲线的半径的倒数。止点与直线相接时,曲率为0;与圆曲线相接时,曲率等于圆曲线的半径的倒数。 (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率等于设计规定的值;与圆曲线相接时,曲率等于圆曲线的半径的倒数。止点与直线相接时,曲率等于设计规定的值;与圆曲线相接时,曲率等于圆曲线的半径的倒数。 2、输入与显示说明 输入部分: N ? 选择计算方式,输入1表示进行由里程、边距计算坐标 ;输入非1值表示由坐标反算里程和边距。 XA ?线元起点的X坐标 YA ?线元起点的Y坐标 DKA ?线元起点里程 F0 ?线元起点切线方位角 DKB ?线元止点里程 1/RA ?线元起点曲率 1/RB ?线元止点曲率 Q ? 线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0) DKI ? 正算时所求点的里程 Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零) X ?反算时所求点的X坐标 Y ?反算时所求点的Y坐标 显示部分: XS=××× 正算时,计算得出的所求点的X坐标 YS=××× 正算时,计算得出的所求点的Y坐标 S=××× 反算时,计算得出的所求点的里程 Z=××× 反算时,计算得出的所求点的边距
取消
评论