CASIO4850万能坐标计算程序

CASIO&nbspfx4850万能坐标计算程序[Machao&nbsp2006.10.23]
一、程序内容
程序:Mc
&nbspW“1.js&nbsp&nbsp&nbsp2.SZ”:W=1=>Goto&nbsp1&nbspΔW=2=>&nbspO“KOU&nbsp&nbspLING”:O≠123456=>O=0“OUT”&nbsp◢Goto&nbsp4&nbspΔO=0:
Defm&nbsp83:Z[81]=1:Goto&nbsp0←┘
Lbi&nbsp0←┘
{ABCDEFGU}:A“X0”:B“Y0”:C“F0’:D“R0”:E“RN’:F“D0”:G“LS”:U“G”&nbsp←┘
Z[Z[81]]=A:Z[Z[81]+10]=B:Z[Z[81]+20]=C:Z[Z[81]+30]=1÷D:Z[Z[81]+40]=1÷E:Z[Z[81]+50]=F:&nbspZ[Z[81]+60]=F+G:&nbspZ[Z[81]+70]=U←┘
A=0=>&nbspDsz&nbspZ[81]:Goto&nbsp1ΔIsz&nbspZ[81]:Goto&nbsp0←┘
Lbi&nbsp1←┘
{HS}:H“D’:S“Z”:Z[82]=1:Goto&nbsp2←┘
Lbi&nbsp2←┘
Z[81]>Z[82]&nbsp=>”OUT”&nbsp◢:Goto5←┘
H≤Z[Z[82]+60]=>A=Z[Z[82]]:B=Z[Z[82]+10]:Z[Z[82]+20]=C:D=Z[Z[82]+30]:&nbspE=Z[Z[82]+40]:&nbspF=Z[Z[81]+50]:&nbspG=Z[Z[81]+60]:&nbspU=Z[Z[81]+70]:&nbspGoto3:ΔIsz&nbspZ[82]:Goto&nbsp2
Lbi&nbsp3←┘
P=U(E-D)÷Abs(G-F):Q=Abs(H-F):I=PQ:J=C+90&nbspQ(I+2UD)/π:&nbspJ<0=>J=J+360ΔM=C+45&nbspQ(I÷4+2UD)÷2π:N=C+135Q(3I÷4+2UD)÷2π:K=C+45Q(I÷2+&nbsp2UD)÷π&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp←┘
S=0=>Z=0:Goto4ΔS<0=>Z=-1:Goto4ΔZ=1:Goto4←┘
Lbi&nbsp4
X=A+Q(Cos&nbspC+4(Cos&nbspM+Cos&nbspN)+2Cos&nbspK+Cos&nbspJ)&nbsp÷12&nbsp+ZSCos(J+90Z)&nbsp←┘&nbsp&nbsp&nbsp&nbsp&nbsp
Y=B+Q(Sin&nbspC+4(Sin&nbspM+Sin&nbspN)+2Sin&nbspK+Sin&nbspJ)&nbsp÷12&nbsp+ZSSin(J+90Z)&nbsp&nbsp&nbsp←┘
S=0=>“X”:X:Pause&nbsp0:&nbsp“Y”&nbsp:Y◢&nbspGoto&nbsp1Δ
S<0=>“XL”:X:Pause&nbsp0:&nbsp“YL”:Y◢&nbspGoto&nbsp1Δ
S>0=>“XR”:X:Pause&nbsp0:&nbsp“YR”:Y&nbsp◢&nbspGoto&nbsp1&nbsp←┘
Lbi5←┘

&nbsp&nbsp&nbsp&nbsp二、&nbsp变量及说明
X0:Y0:F0――――曲线元起点X、Y坐标及起点正切线方位角
R0:RN――――――曲线元起点及终点半径
D0:LS:Q―――曲线元起点桩号、路线长度及线路左右偏标志(左=-1,直线=0,右=1)
D――――――――曲线元中待求点桩号
Z―――――――――计算边桩距中线平距,左边输入负值,右边输入正值,中桩输入0
X:Y
XL:YL
XR:YR&nbsp―――――――待求点中边桩桩号的X,Y坐标
扩充变量:Z[Z[81]]:&nbspZ[Z[81]+10]:&nbspZ[Z[81]+20]:&nbspZ[Z[81]+30]:&nbspZ[Z[81]+40]:&nbspZ[Z[81]+50]:&nbspZ[Z[81]+60]:&nbspZ[Z[81]+70]:&nbsp分别为各线元X0:Y0:F0;R0:RN:D0:LS:Q
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(1)&nbsp以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(2)&nbsp当所求点位于中线时,Z=0,坐标显示X&nbsp&nbspY;当位于中线左侧时,Z取负值,坐标显示XL&nbsp&nbspYL,;当位于中线右侧时,Z取正值,坐标显示XR&nbsp&nbspYR。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(3)&nbsp当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(4)&nbsp当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆
弧的半径。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(5)&nbsp当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45
次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半
径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(6)&nbsp当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等
于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
本程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距,对该曲线段范围内任意里程中边桩坐标进行正算。
本程序是对扩充变量的应用,实现了真正意义上的的全线贯通。程序分为两部分:1为计算2为设置。首先对内存变量进行扩充,增加了83个扩充变量,为Z[1]~Z[83],为防止误操作在输入正确口令123456时方可进行设置。本程序设计为十段线元要素,如有需要可以根据内存容量进行增加。在执行程序中将各个线元要素按规律输入到扩充内存变量中,在坐标计算时首先判断其在哪一线元内,并把其线元要素调出进行计算。在进行计算时直接输入桩号、宽度就可以进行全线坐标计算。
&nbsp&nbsp&nbsp&nbsp本程序也可在4800上运行,只需将输出部分进行修改。
&nbsp四、&nbsp示例
郑石高速路面9标主线线元要素及相关数据如下:
X0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspY0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspF0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspR0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspRN&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspD0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspLS&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspQ
744450.244&nbsp&nbsp510454.431&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp220º41&nbspº31.8&nbspº&nbsp&nbsp&nbsp7000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp7000&nbsp&nbsp&nbsp&nbsp116075.889&nbsp&nbsp&nbsp3386.293&nbsp&nbsp&nbsp&nbsp1
742505.351&nbsp&nbsp507722.676&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp248º24&nbspº33.6&nbspº&nbsp&nbsp&nbsp1045&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp1045&nbsp&nbsp&nbsp&nbsp&nbsp119462.182&nbsp&nbsp&nbsp&nbsp1980.825&nbsp&nbsp&nbsp&nbsp0
741776.461&nbsp&nbsp505880.832&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp248º24&nbspº33.6&nbspº&nbsp&nbsp&nbsp8500&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp8500&nbsp&nbsp&nbsp&nbsp121443.007&nbsp&nbsp&nbsp1517.999&nbsp&nbsp&nbsp&nbsp1
741346.546&nbsp&nbsp504427.086&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp258º38&nbspº30.1&nbspº&nbsp&nbsp&nbsp1045&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp1045&nbsp&nbsp&nbsp&nbsp&nbsp122961.007&nbsp&nbsp&nbsp&nbsp1985.977&nbsp&nbsp&nbsp&nbsp0

桩号&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp宽度&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspX&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspY&nbsp
117000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp743791.308&nbsp&nbsp&nbsp&nbsp509807.481
118000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp-20&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp743164.306&nbsp&nbsp&nbsp&nbsp509027.467
119000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp20&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp742707.550&nbsp&nbsp&nbsp&nbsp508137.933
119462.182&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp742505.349&nbsp&nbsp&nbsp&nbsp507722.673
120000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp-15.253&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp742293.266&nbsp&nbsp&nbsp&nbsp&nbsp507228.206
121000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp15.260&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp741953.665&nbsp&nbsp&nbsp&nbsp506287.142
121443.007&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp741776.461&nbsp&nbsp&nbsp&nbsp505880.833
122000&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp-10.20&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp741578.902&nbsp&nbsp&nbsp&nbsp505359.701
122961.007&nbsp&nbsp&nbsp&nbsp50.355&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp741395.915&nbsp&nbsp&nbsp&nbsp504417.169
123650&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp741210.853&nbsp&nbsp&nbsp&nbsp503751.587&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
[ 点击下载 ]

网友评论(15 条)

  1. 匿名 2007-05-25 08:58

    这网站是我们工程人员的好地方

  2. Guest 2007-07-03 10:43

  3. 李洪 2007-10-04 07:38

    能算卵形和S型曲线不?

  4. gsc19560311 2007-10-26 09:05

    支持楼主

  5. 匿名 2007-11-01 02:38

    能算卵型曲线和抛物线不????????

  6. Guest 2007-12-30 09:49

    这是我早期编的程序,已经落后了,现将最新更新上传
    (我现在主要在测量空间、筑龙发表程序)

    程序特点:
    真正的全线贯通坐标计算,在曲线元要素输入时仅需要输入第一段全部曲线元要素,后面曲线元要素除起点半径、终点半径、曲线长、转向需输入外其他要素均从前一曲线按辛普森8等分计算得出;辛普森公式任意等分,满足所有精度要求;全线曲线元数据一次性程序化输入,扩充变量数据库,无需修改程序内容;傻瓜操作,适用初级用户;
    一、程序:MC
    W“1.JS 2.SZ”:W=1=>Z[2]=0:Goto 1 ΔW=2=> O“KOU LING”:O≠123456=>O=0: “OUT” ◢Goto 4ΔO=0: Z[1]=0:Goto 0←┘
    Lbi 0←┘
    ”N0.”:Z[1]+1 ◢←┘
    Z[1]=0=>{ABCREFGU}:A“X0”:B“Y0”:C“F0”:R“R0”:E“RN”:F“D0”:G“LS”:U“G” : Z[Z[1]×8+3]=A:Z[Z[1]×8+4]=B:Z[Z[1]×8+5]=C:Z[Z[1]×8+6]= R-1:Z[Z[1]×8+7]= E-1:Z[Z[1]×8+8]=F: Z[Z[1]×8+9]=F+G: Z[Z[1]×8+10]=U: “NEXT”◢ Isz Z[1]: Goto 0ΔZ[1]=1=>D=Z[9]:Z=0:Z[2]=0:GOTO 2ΔD=Z[(Z[1]-1)×8+9]:Z=0:Z[2]=Z[1]-1:GOTO 2←┘
    Lbi A: Z[Z[1]×8+3]=X:Z[Z[1]×8+4]=Y:Z[Z[1]×8+5]=J: Z[Z[1]×8+8]=D: {REGU}:R“Ro”:E“RN”: G“LS”:U“G”: :Z[Z[1]×8+6]=R-1 Z[Z[1]×8+7]=E-1: Z[Z[1]×8+9]=D+G: Z[Z[1]×8+10]=U: “NEXT”◢ Isz Z[1]: Goto 0←┘
    Lbi 1←┘
    {DZ}:D:Z:Z[2]=0:Goto 2←┘
    Lbi 2←┘
    Z[2]>Z[1]-1=>GoTo 4Δ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
    Lbi 3←┘
    W=2 =>N=8:≠>N=5ΔP=U(E-R)÷Abs(G-F)÷N:Q=Abs(D-F):S=90Q÷π: J=C+(NPQ+2UR)NS:L=1←┘
    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)←┘
    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(J+90):W=2=>GOTO AΔ

    Z=0=>“X”:X:Pause 0: “Y” :Y◢ Goto 1Δ
    Z<0=>“XL”:X:Pause 0: “YL”:Y◢ Goto 1Δ fx4850 ①
    Z>0=>“XR”:X:Pause 0: “YR”:Y ◢ Goto 1 ←┘

    Z=0=> X “X” ◢Y “Y”◢ Goto 1Δ
    Z<0=> X “XL” ◢Y “YL”◢ Goto 1Δ fx4800 ②
    Z>0=> X “XR” ◢Y “YR”◢ Goto 1 ←┘
    Lbi 4←┘

    二、说明
    a、编制说明
    本程序是运用复化辛普生公式根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距,对该曲线段范围内任意里程中边桩坐标进行计算,以及对卡西欧扩充变量的灵活应用,实现了真正意义上的的全线贯通及曲线要素输入程序化(在不修改程序内容的情况下可通过运行程序输入任意多段曲线元要素)。通过对N=? 进行修改,可对辛普森公式进行任意等分进行运算。(注:N为不小于2的整数,N越大精度越高,计算速度越慢;N越小精度越低,运算速度越快,一般曲线取N=4就能满足精度要求,在能满足精度的情况下尽量N取小值,已获得最佳运算速度,不要盲目的追求精度)
    b、程序操作说明
    程序分为两部分:1.JS为计算,2.SZ为设置。
    1、 首先用Shift+Defm键对计算器内存变量进行扩充,扩充变量数为8×X+2(X为曲线元段数,变量数视内存情况尽量大些),运行程序,选2进行曲线要素设置,为防止误操作在正确输入口令123456时方可进行设置,否则显示OUT跳到程序尾(LBI4)。在执行程序中将第一段曲线元要素按规律输入到扩充内存变量中(A“X0”:B“Y0”:C“F0”:R“R0”:E“RN”:F“D0”:G“LS”:U“G”),以后曲线仅需输入R“R0”、E“RN” :G“LS”:U“G”,其他参数自动计算得出。在显示NEXT时为提示是否输入下一曲线,按EXE继续输入,如不需再输入则退出程序。
    2、 选1.JS进行坐标运算,D输入桩号,Z输入左右距离(负为左,正为右,0为中)程序首先自动判断其在哪一线元内,并把其线元要素调出进行计算,即可对全线进行坐标计算。

    c、变量说明
    X0:Y0:F0――――曲线元起点X、Y坐标及起点正切线方位角
    R0:RN――――――曲线元起点及终点半径
    D0:LS:Q―――曲线元起点桩号、路线长度及线路左右偏标志(左=-1,直线=0,右=1)
    D――――――――曲线元中待求点桩号
    Z―――――――――计算边桩距中线平距,左边输入负值,右边输入正值,中桩输入0
    X:Y (中)
    XL:YL (左)
    XR:YR (右)―――――――待求点的X,Y坐标
    扩充变量: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:G,
    (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
    Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
    (2) 当所求点位于中线时,Z=0,坐标显示X Y;当位于中线左侧时,Z取负值,坐标显示XL YL,;当位于中线右侧时,Z取正值,坐标显示XR YR。
    (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替。
    (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
    (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
    (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等
    于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
    (7)当两段缓和曲线相连时,相连处要素均输为10的45次方(可以看作缓直+直缓)。
    本程序可在4800 4850上运行,只需将输出部分进行修改。(4850① 4800②)

    郑石高速路面NO.9标余官营互通E匝道
    序号 Xo Yo Fo Ro RN D0 LS G
    1 744383.112 510406.456 43。34"00.0" 7000 7000 0 170 -1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    85 744445.055 510464.662 170 744507.700 510522.112    
    2 744507.700 510522.112 42。10"30.8" 7000 500 170 116.071 1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    228.036 744550.193 510561.637 286.071 744590.136 510603.713    
    3 744590.136 510603.713 49。18"02.3" 500 500 286.071 299.282 1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    435.712 744669.415 510729.969 585.353 744707.945 510873.987    
    4 744707.945 510873.987 83。35"44.8" 500 无穷大 585.353 60 1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    615.353 744710.545 510903.872 645.353 744712.247 510933.823    

  7. Guest 2007-12-30 09:50

    这是我早期编的程序,已经落后了,现将最新更新上传
    (我现在主要在测量空间、筑龙发表程序)

    程序特点:
    真正的全线贯通坐标计算,在曲线元要素输入时仅需要输入第一段全部曲线元要素,后面曲线元要素除起点半径、终点半径、曲线长、转向需输入外其他要素均从前一曲线按辛普森8等分计算得出;辛普森公式任意等分,满足所有精度要求;全线曲线元数据一次性程序化输入,扩充变量数据库,无需修改程序内容;傻瓜操作,适用初级用户;
    一、程序:MC
    W“1.JS 2.SZ”:W=1=>Z[2]=0:Goto 1 ΔW=2=> O“KOU LING”:O≠123456=>O=0: “OUT” ◢Goto 4ΔO=0: Z[1]=0:Goto 0←┘
    Lbi 0←┘
    ”N0.”:Z[1]+1 ◢←┘
    Z[1]=0=>{ABCREFGU}:A“X0”:B“Y0”:C“F0”:R“R0”:E“RN”:F“D0”:G“LS”:U“G” : Z[Z[1]×8+3]=A:Z[Z[1]×8+4]=B:Z[Z[1]×8+5]=C:Z[Z[1]×8+6]= R-1:Z[Z[1]×8+7]= E-1:Z[Z[1]×8+8]=F: Z[Z[1]×8+9]=F+G: Z[Z[1]×8+10]=U: “NEXT”◢ Isz Z[1]: Goto 0ΔZ[1]=1=>D=Z[9]:Z=0:Z[2]=0:GOTO 2ΔD=Z[(Z[1]-1)×8+9]:Z=0:Z[2]=Z[1]-1:GOTO 2←┘
    Lbi A: Z[Z[1]×8+3]=X:Z[Z[1]×8+4]=Y:Z[Z[1]×8+5]=J: Z[Z[1]×8+8]=D: {REGU}:R“Ro”:E“RN”: G“LS”:U“G”: :Z[Z[1]×8+6]=R-1 Z[Z[1]×8+7]=E-1: Z[Z[1]×8+9]=D+G: Z[Z[1]×8+10]=U: “NEXT”◢ Isz Z[1]: Goto 0←┘
    Lbi 1←┘
    {DZ}:D:Z:Z[2]=0:Goto 2←┘
    Lbi 2←┘
    Z[2]>Z[1]-1=>GoTo 4Δ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
    Lbi 3←┘
    W=2 =>N=8:≠>N=5ΔP=U(E-R)÷Abs(G-F)÷N:Q=Abs(D-F):S=90Q÷π: J=C+(NPQ+2UR)NS:L=1←┘
    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)←┘
    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(J+90):W=2=>GOTO AΔ

    Z=0=>“X”:X:Pause 0: “Y” :Y◢ Goto 1Δ
    Z<0=>“XL”:X:Pause 0: “YL”:Y◢ Goto 1Δ fx4850 ①
    Z>0=>“XR”:X:Pause 0: “YR”:Y ◢ Goto 1 ←┘

    Z=0=> X “X” ◢Y “Y”◢ Goto 1Δ
    Z<0=> X “XL” ◢Y “YL”◢ Goto 1Δ fx4800 ②
    Z>0=> X “XR” ◢Y “YR”◢ Goto 1 ←┘
    Lbi 4←┘

    二、说明
    a、编制说明
    本程序是运用复化辛普生公式根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距,对该曲线段范围内任意里程中边桩坐标进行计算,以及对卡西欧扩充变量的灵活应用,实现了真正意义上的的全线贯通及曲线要素输入程序化(在不修改程序内容的情况下可通过运行程序输入任意多段曲线元要素)。通过对N=? 进行修改,可对辛普森公式进行任意等分进行运算。(注:N为不小于2的整数,N越大精度越高,计算速度越慢;N越小精度越低,运算速度越快,一般曲线取N=4就能满足精度要求,在能满足精度的情况下尽量N取小值,已获得最佳运算速度,不要盲目的追求精度)
    b、程序操作说明
    程序分为两部分:1.JS为计算,2.SZ为设置。
    1、 首先用Shift+Defm键对计算器内存变量进行扩充,扩充变量数为8×X+2(X为曲线元段数,变量数视内存情况尽量大些),运行程序,选2进行曲线要素设置,为防止误操作在正确输入口令123456时方可进行设置,否则显示OUT跳到程序尾(LBI4)。在执行程序中将第一段曲线元要素按规律输入到扩充内存变量中(A“X0”:B“Y0”:C“F0”:R“R0”:E“RN”:F“D0”:G“LS”:U“G”),以后曲线仅需输入R“R0”、E“RN” :G“LS”:U“G”,其他参数自动计算得出。在显示NEXT时为提示是否输入下一曲线,按EXE继续输入,如不需再输入则退出程序。
    2、 选1.JS进行坐标运算,D输入桩号,Z输入左右距离(负为左,正为右,0为中)程序首先自动判断其在哪一线元内,并把其线元要素调出进行计算,即可对全线进行坐标计算。

    c、变量说明
    X0:Y0:F0――――曲线元起点X、Y坐标及起点正切线方位角
    R0:RN――――――曲线元起点及终点半径
    D0:LS:Q―――曲线元起点桩号、路线长度及线路左右偏标志(左=-1,直线=0,右=1)
    D――――――――曲线元中待求点桩号
    Z―――――――――计算边桩距中线平距,左边输入负值,右边输入正值,中桩输入0
    X:Y (中)
    XL:YL (左)
    XR:YR (右)―――――――待求点的X,Y坐标
    扩充变量: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:G,
    (1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,
    Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。
    (2) 当所求点位于中线时,Z=0,坐标显示X Y;当位于中线左侧时,Z取负值,坐标显示XL YL,;当位于中线右侧时,Z取正值,坐标显示XR YR。
    (3) 当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次方代替。
    (4) 当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
    (5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径为无穷大,以10的45次方代替;与圆曲线相接时,曲率半径等于圆曲线的半径。
    (6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等
    于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。
    (7)当两段缓和曲线相连时,相连处要素均输为10的45次方(可以看作缓直+直缓)。
    本程序可在4800 4850上运行,只需将输出部分进行修改。(4850① 4800②)

    郑石高速路面NO.9标余官营互通E匝道
    序号 Xo Yo Fo Ro RN D0 LS G
    1 744383.112 510406.456 43。34"00.0" 7000 7000 0 170 -1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    85 744445.055 510464.662 170 744507.700 510522.112    
    2 744507.700 510522.112 42。10"30.8" 7000 500 170 116.071 1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    228.036 744550.193 510561.637 286.071 744590.136 510603.713    
    3 744590.136 510603.713 49。18"02.3" 500 500 286.071 299.282 1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    435.712 744669.415 510729.969 585.353 744707.945 510873.987    
    4 744707.945 510873.987 83。35"44.8" 500 无穷大 585.353 60 1
    中点桩号 中点X 中点Y 终点桩号 终点X 终点Y    
    615.353 744710.545 510903.872 645.353 744712.247 510933.823    

  8. Guest 2008-01-06 07:30

    程序用着还很好用 就是不能算任意角度的,只能算正交的 能否改一下 算斜交的?

  9. Guest 2008-01-06 08:06

    这程序用着还可以 但只能算正交的 能否再改一下 能算斜交的就更好了

  10. Guest 2008-01-06 08:07

    这程序用着还可以 但只能算正交的 能否再改一下 能算斜交的就更好了

  11. Guest 2008-01-22 07:09

    ttgde

  12. Guest 2008-02-17 07:11

    到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)不运行了,出现ma error错误,不知道为何了

  13. Guest 2008-06-20 12:41

    可以可以可以!!!!!!!!!!!

  14. Guest 2010-02-28 03:37

    你好 程序x=A+Q÷6×(cos C+cos J+4…….. 这段怎么过不去啊

  15. Guest 2010-02-28 03:42

    原帖由Guest于2008-02-17 15:11:09发表
    到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+2U.

发表评论

您的邮箱不会被公开。* 为必填项