|
|
<STRONG><FONT color=red>[center]CASIO4800、4850坐标计算程序[MC2007.12.15][/center]</FONT></STRONG><br>一、程序:MC<br> W“1.JS 2.SZ”:W=1=>Z[2]=0:Goto 1 ΔW=2=> O“KOU LING”:O≠123456=>O=0: “OUT” ◢Goto 5ΔO=0: Z[1]=0:Goto 0←┘<br>Lbi 0←┘<br>{ABCREFGU}:A“X0”:B“Y0”:C“F0”:R“R0”:E“RN”:F“D0”:G“LS”:U“G” ←┘<br>Z[Z[1]×8+3]=A:Z[Z[1]×8+4]=B:Z[Z[1]×8+5]=C:Z[Z[1]×8+6]=1÷R:Z[Z[1]×8+7]=1÷E:Z[Z[1]×8+8]=F: Z[Z[1]×8+9]=F+G: Z[Z[1]×8+10]=U←┘<br>A=0=> Z[2]=0:Goto 1ΔIsz Z[1]: Goto 0←┘<br>Lbi 1←┘<br>{DZ}:D:Z:Z[2]=0:Goto 2←┘<br>Lbi 2←┘<br>D≤Z[Z[2]×8+9]=>A=Z[Z[2]×8+3]:B=Z[Z[2]×8+4]: C =Z[Z[2]×8+5]:R=Z[Z[2]×8+6]: E=Z[Z[2]×8+7]: F=Z[Z[2]×8+8]: G=Z[Z[2]×8+9]: U=Z[Z[2]×8+10]: Goto3:ΔIsz Z[2]:Goto 2<br>Lbi 3←┘<br>Z[2]>Z[1] =>GoTo 4ΔN=8:P=U(E-R)÷Abs(G-F):Q=Abs(D-F)÷N:S=90Q÷π: J=C+(NPQ+2UR)NS:L=1←┘<br>X=A+Q÷6×(Cos C+Cos J +4∑(Cos (C+((L+0.5)PQ+2UR)×(L+.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2UR)LS,L,1,(N-1)))+ZCos(J+90)←┘ <br>Y=B+Q÷6×(Sin C+Sin J +4∑(Sin (C+((L+0.5)PQ+2UR)×(L+.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2UR)LS,L,1,(N-1)))+Z Sin s(J+90)←┘<br> <br>Z=0=>“X”:X:Pause 0: “Y” :Y◢ Goto 1Δ<br>Z<0=>“XL”:X:Pause 0: “YL”:Y◢ Goto 1Δ fx4850 ①<br>Z>0=>“XR”:X:Pause 0: “YR”:Y ◢ Goto 1 ←┘<br> <br>Z=0=> X “X” ◢Y “Y”◢ Goto 1Δ<br>Z<0=> X “XL” ◢Y “YL”◢ Goto 1Δ fx4800 ②<br>Z>0=> X “XR” ◢Y “YR”◢ Goto 1 ←┘<br>Lbi 4←┘<br> <br>二、说明 <br> a、编制说明<br> 本程序是运用复化辛普生公式根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距,对该曲线段范围内任意里程中边桩坐标进行计算,以及对卡西欧扩充变量的灵活应用,实现了真正意义上的的全线贯通及曲线要素输入程序化(在不修改程序内容的情况下可通过运行程序输入任意多段曲线元要素)。通过对N=? 进行修改,可对辛普森公式进行任意等分进行运算。(注:N为不小于2的整数,N越大精度越高,计算速度越慢;N越小精度越低,运算速度越快,一般曲线取N=4就能满足精度要求,在能满足精度的情况下尽量N取小值,已获得最佳运算速度,不要盲目的追求精度)<br> b、程序操作说明<br> 程序分为两部分:1.JS为计算,2.SZ为设置。<br>1、 首先用Shift+Defm键对计算器内存变量进行扩充,扩充变量数为8×X+2(X为曲线元段数,变量数视内存情况尽量大些),运行程序,选2进行曲线要素设置,为防止误操作在正确输入口令123456时方可进行设置。在执行程序中将各段曲线元要素按规律输入到扩充内存变量中(A“X0”:B“Y0”:C“F0”:R“R0”:E“RN”:F“D0”:G“LS”:U“G”),输入结束后退出程序,或将A“X0”输入0,一直向下运行自动退出程序。<br>2、 选1.JS进行坐标运算,D输入桩号,Z输入左右距离(负为左,正为右,0为中)程序首先自动判断其在哪一线元内,并把其线元要素调出进行计算,即可对全线进行坐标计算。<br> <br> c、变量说明<br>X0:Y0:F0――――曲线元起点X、Y坐标及起点正切线方位角<br>R0:RN――――――曲线元起点及终点半径<br>D0:LS:Q―――曲线元起点桩号、路线长度及线路左右偏标志(左=-1,直线=0,右=1)<br>D――――――――曲线元中待求点桩号<br>Z―――――――――计算边桩距中线平距,左边输入负值,右边输入正值,中桩输入0<br>X:Y (中)<br>XL:YL (左)<br>XR:YR (右)―――――――待求点的X,Y坐标<br>扩充变量:Z[Z[1]×8+3]: Z[Z[1]×8+4]: Z[Z[1]×8+4]: Z[Z[1]×8+6]: Z[Z[1]×8+7]: Z[Z[1]×8+8]: Z[Z[1]×8+9]: Z[Z[1]×8+10]: 分别为各线元X0:Y0:F0;R0:RN:D0:LS:Q,<br> (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,<br>Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。<br> (2) 当所求点位于中线时,Z=0,坐标显示X Y;当位于中线左侧时,Z取负值,坐标显示XL YL,;当位于中线右侧时,Z取正值,坐标显示XR YR。<br> (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替。<br> (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。<br> (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。<br> (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等<br>于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。<br> (7)当两段缓和曲线相连时,相连处要素均输为10的45次方(可以看作缓直+直缓)。<br> 本程序可在4800 4850上运行,只需将输出部分进行修改。(4850① 4800②)<br>[DOWNLOAD]upIload/forum/2007121611508.rar[/DOWNLOAD]
[ALIGN=right][COLOR=#000066][本贴已被 machao 于 2007-12-24 20:19:31 修改过][/COLOR][/ALIGN] |
|