计算机正方算程序.docx

上传人:b****4 文档编号:12002792 上传时间:2023-04-16 格式:DOCX 页数:20 大小:29.65KB
下载 相关 举报
计算机正方算程序.docx_第1页
第1页 / 共20页
计算机正方算程序.docx_第2页
第2页 / 共20页
计算机正方算程序.docx_第3页
第3页 / 共20页
计算机正方算程序.docx_第4页
第4页 / 共20页
计算机正方算程序.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

计算机正方算程序.docx

《计算机正方算程序.docx》由会员分享,可在线阅读,更多相关《计算机正方算程序.docx(20页珍藏版)》请在冰豆网上搜索。

计算机正方算程序.docx

计算机正方算程序

线路中边桩任意里程坐标正、反算改编程序(CASIOfx-4800)

含数据库、测站放样计算

                            (第二次修改)

1.加编数据库作为主程序,计算中不必逐项输入"线元要素",提高运算速度,避免现场忙中出错

2.将原来的主程序并入数据库

3.计算直观,人性化

4.正算直接输入里程和边距,反算输入近似里程便可

5.增加了“计算点与测站点”的距离和方位角计算语句,方便直接放样

6.愿收获与大家共享

7.核心计算程序摘自“yshf”

  

一.改动后的程序清单:

1. 正算子程序(SUB1)                                                        A=0.1739274226:

B=0.3260725774:

K=0.0694318442:

L=0.3300094782:

F=1-L:

M=1-K:

X=U+W(Acos(G+57.2958QKW(1/P+KWD))+Bcos(G+57.2958QLW(1/P+LWD))+Bcos(G+57.2958QFW

(1/P+FWD))+Acos(G+57.2958QMW(1/P+MWD))):

Y=V+W(Asin(G+57.2958QKW(1/P+KWD))+Bsin(G+

57.2958QLW(1/P+LWD))+Bsin(G+57.2958QFW(1/P+FWD))+Asin(G+57.2958QMW(1/P+MWD))):

F=G+57.2958QW(1/P+

WD)+90:

X=X+ZcosF:

Y=Y+ZsinF

2. 反算子程序(SUB2)

   T=G-90:

W=Abs((Y-V)cosT-(X-U)sinT):

Z=0:

Lbl 0:

Prog "SUB1":

L=T+57.2958QW(1/P+

WD):

Z=(J-Y)cosL-(I-X)sinL:

AbsZ<1E-6=>Goto1:

≠>W=W+Z:

Goto 0Δ←┘

Lbl 1:

Z=0:

Prog "SUB1":

Z=(J-Y)÷sinF

二.增设数据库程序(SJK主程序)

     Lb1 4:

"1.SZ => XY":

"2.XY => SZ":

{NS}:

S∠下一线元起点里程=>O=本线元起点里程:

U=本线元起点X:

V=本线元起点Y:

G=本线元起算方位角:

H=本线元长度:

P=起点曲率半径:

R=终点曲率半径:

Q=0或1、-1:

 Goto0Δ←┘(第一线元数据要素)

S∠下一线元起点里程=>O=本线元起点里程:

U=本线元起点X:

V=本线元起点Y:

G=本线元起算方位角:

H=本线元长度:

P=起点曲率半径:

R=终点曲率半径:

Q=0或1、-1:

 Goto0Δ←┘(第二线元数据要素)

S∠下一线元起点里程=>O=本线元起点里程:

U=本线元起点X:

V=本线元起点Y:

G=本线元起算方位角:

H=本线元长度:

P=起点曲率半径:

R=终点曲率半径:

Q=0或1、-1:

 Goto0Δ←┘(第三线元数据要素)

Goto0Δ←┘(第N-1线元数据要素)

Goto0Δ←┘(第N线元数据要素)

LB1 0:

D=(P-R)÷(2HPR):

N=1=>Goto 1:

≠>Goto 2Δ←┘

Lbl 1:

{Z}:

Z:

W=Abs(S-O):

Prog "SUB1":

X"XS"=X◢

Y"YS"=Y◢

F"FS"=F-90◢

C“XC”:

E“YC”:

I=0:

J=0:

Pol(X-C,Y-E):

I“I=” ◢

J∠0=>J“J=”+360◢

≠>J“J=” ◢

ΔGoto4←┘

Lbl 2:

{XY}:

XY:

I=X:

J=Y:

Prog "SUB2":

S"S"=O+W◢

Z"Z"=Z◢

Goto4                                                       

三. 使用说明:

  1.把所有相关的”线元要素“依次输入”SJK“

  2.运算时直接调用“SJK”运行,程序提示输入里程“S”?

时,正算直接输入待求点里程,反算输入所求点“近似“里程

  3.如果在正算中途想进行反算,重新给”N“?

赋值"2"便可

4.程序中“XC、YC、”为测站坐标,“I=”、“J=”为放样距离和方位角

  5.其它输入与"yshf"原程序一致(程序中1/P表示1÷P)

附件:

(原yshf程序)

曲线任意里程中边桩坐标正反算(CASIO fx-4800P计算器)程序

一、程序功能

        本程序由一个主程序(TYQXjs)和两个子程——正算子程序(SUB1)、反算子程序(

SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线

元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲

率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲

线任意里程中边桩坐标进行正反算。

本程序也可以在CASIO fx-4500P计算器及 CASIO fx-4850P计算器上运行。

   特别申明:

(1). 适用于弧长小于2倍半径的各种线元坐标正反算,精度优

                 于1mm;

                    

(2). 在引用该核心计算部分时,请注明来源。

二、源程序

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=>Goto 1:

≠>Goto 2Δ←┘

Lbl 1:

{SZ}:

SZ:

W=Abs(S-O):

Prog "SUB1":

X"XS"=X◢

Y"YS"=Y◢

F"FS"=F-90◢

Goto 1←┘

Lbl 2:

{XY}:

XY:

I=X:

J=Y:

Prog "SUB2":

S"S"=O+W◢

Z"Z"=Z◢

Goto 2

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:

Lbl 0:

Prog "SUB1":

L=T+QEW(C+

WD):

Z=(J-Y)cosL-(I-X)sinL:

AbsZ<1E-6=>Goto1:

≠>W=W+Z:

Goto 0Δ←┘

Lbl 1:

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坐标

       FS=×××    正算时,所求点对应的中线点的切线方位角

       S=×××    反算时,计算得出的所求点的里程

       Z=×××    反算时,计算得出的所求点的边距

四、算例

        某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组

成,各段线元的要素(起点里程S0、起点坐标X0 Y0、起点切线方位角F0、线元长度

LS、起点曲率半径R0、止点曲率半径RN、线 元左右偏标志Q)如下:

S0   X0       Y0                   F0            LS R0 RN     Q

500.000    19942.837    28343.561     125 16 31.00    269.256     1E45 1E45      0

769.256    19787.340    28563.378     125 16 31.00      37.492     1E45 221.75     -1

806.748    19766.566    28594.574     120 25 54.07     112.779    221.75 221.75     -1

919.527    19736.072    28701.893       91 17 30.63       80.285    221.75 9579.228   -1

999.812    19744.038    28781.659       80 40 50.00     100.000    1E45 1E45       0 

        1、正算

          (注意:

略去计算方式及线元要素输入,请自行根据所求点所在的线元输入线元

要素)

            S=700  Z=-5    计算得  XS=19831.41785   YS=28509.72590

            S=700  Z=0     计算得  XS=19827.33592   YS=28506.83837

            S=700  Z= 5    计算得  XS=19823.25398   YS=28503.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=28509.726   计算得  S=699.9999974  Z= -5 .00018164

             X=19827.336   Y=28506.838   计算得  S=699.9996493  Z= 0.000145136

             X=19823.25398   Y=28503.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

卡西欧5800P计算器曲线任意里程中边桩坐标正反算

时间:

2010-03-1115:

30:

38  来源:

本站  作者:

李强善  我要投稿  我要收藏  投稿指南

一、程序功能

        本程序由一个主程序(ZHUCHENXU)和几个子程序——正算子程序(SUB1)、反算子程序(SUB2)、数据库(SUB3)、算方位角程序(FA)、使用方位角算坐标(NE)、边坡放样程序(BIANPO)、隧道圆心放样程序(SDYX)构成,可以根据直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

  二、源程序

增加变量16→DimZ

1.主程序(ZHUCHENXU)

"1.SZ→XY,2.XY→SZ,3.SDYX,4.BIANPO"?

N:

Lbl1:

”ZHUANGHAO=”?

S:

Prog"SUB3":

N≥2=>Goto2:

Abs(S-O)→W:

”BIANZHU=”?

→Z:

Prog"SUB1":

"XS=”:

X→X◢"YS=”:

Y→Y◢"FS=”:

(F-90)→F:

F▷DMS◢Prog"FA":

Goto1:

Lbl2:

”CX=”?

X:

X→I:

”CY=”?

Y:

Y→J:

”DMG=”?

→Z[7]:

Prog"SUB2":

"S=":

(O+W)→S◢"Z="Z→Z◢IfN=3:

ThenProg”SDYX”:

IfEnd:

IfN=4:

ThenProg”BIANPO”:

IfEnd:

Goto2

2.正算子程序(SUB1)

0.1739274226→Z[1]:

0.3260725774→B:

0.0694318442→K:

0.3300094782→L:

(1-L)→F:

(1-K)→M:

U+W(Z[1]cos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Z[1]cos(G+QEMW(C+MWD)))→X:

V+W(Z[1]sin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))

+Bsin(G+QEFW(C+FWD))+Z[1]sin(G+QEMW(C+MWD)))→Y:

G+QEW(C+WD)+90→F:

X+ZcosF→X:

Y+ZsinF→Y

3.反算子程序(SUB2)

G-90→Z[2]:

Abs((Y-V)cosZ[2]-(X-U)sinZ[2])→W:

0→Z:

Lbl0:

Prog"SUB1":

Z[2]+QEW(C+WD)→L:

(J-Y)cosL-(I-X)sinL→Z:

IfAbs(Z)<1E-6:

ThenGoto1:

ElseW+Z→W:

Goto0:

IfEnd

Lbl1:

0→Z:

Prog"SUB1":

(J-Y)÷sinF→Z

4.数据库(SUB3)

IfS<226100:

ThenCls:

Stop:

IfEnd

IfS<226255.833:

Then226100→O:

99037.9736→U:

4282.3590→V:

201.3266304→G:

1045→P:

1045→R:

253.543→H:

0→Q:

Goto1:

IfEnd

……

……

IfS>236005.651:

ThenCls:

Stop:

IfEnd

Lbl1:

1÷P→C:

(P-R)÷(2HPR)→D:

180÷π→E:

5.算方位角程序(FA)

LbI0:

“XC=”?

A:

“YC=”?

T:

X:

Y

0→J:

POI(X-A,Y-T)→I:

“BC=”:

I◢IfJ<0Then360+J→J:

ElseJ→J:

IfEnd

“FW=”:

J►DMS◢  Goto0

6.使用方位角算坐标(NE)

LbI0:

“X=”?

X:

“Y=”?

Y:

“L=”?

L:

“F0”?

F:

L×Cos(F)+X→N:

“N=”N◢L×Sin(F)+Y→E:

“E=”E◢

Goto0

7.边坡放样程序(BIANPO)

“QPDJL=”?

→Z[3]:

“QPDGD=”?

→Z[4]:

“PG=”?

→Z[5]:

2→Z[6]:

“P1=”?

→Z[8]:

“P2=”?

→Z[9]:

“P3=”?

→Z[10](没有的话就删):

Z[7]-Z[4]→Z[11]:

IfZ[11]〈0Then  AbsZ[11]→Z[11]:

“T=”:

Z[11]◢Else“W=”:

Z[11]◢IfEnd

Z[11]÷Z[5]→Z[12]:

IfZ[12]〈1ThenZ[8]×Z[11]→Z[13]:

ElseZ[8]×Z[5]+Z[9]×Z[5]×(Z[12]-1)→Z[13]:

IfEnd:

AbsZ-(Z[13]+Z[6]×IntZ[12]+Z[3])→Z[14]:

“BP+C-J=”:

Z[14]◢

说明:

Z[3]=QPDJL………………  起坡点离中桩距离

Z[4]=“QPDGD”……………起坡点设计标高

Z[5]=“PG”………………  坡高

Z[6]=“PTK”………………平台宽度

Z[7]=“DMG”………………实测地面高度

Z[8]=“P1”………………  一级边坡坡度

Z[9]=“P2”………………  二级边坡坡度

Z[10]=“P3”………………三级边坡坡度(没有的话就删)

Z[14]=“BP+C-J=”………………边坡超欠挖宽度(+表超,-表欠)

8.隧道圆心放样程序(SDYX)

IFS<229000:

THEN243.997+0.0205×(S-226520)-(S-227318)^2/2/16000+1.503→Z[10]:

“NGC=”:

Z[10]◢ELSE286.385-0.023×(S-230500)-(S-230593.753)^2/2/165000+1.503→Z[10]:

“YLJ=”:

Z[10]◢IfEnd

Z[10]-Z[7]→Z[15]:

“+SG,-JD”:

Z[15]◢√(Z[15]^2+(ABS(Z)-6.8)^2)→Z[16]:

“R=”:

Z[16]◢

三、使用说明

1、规定

      

(1)以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

      

(2)当所求点位于中线时,Z=0;当位于中线左铡时,Z取负值;当位于中线中线右侧时,Z取正值。

      (3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。

      (4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。

      (5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

止点与直线相接时,曲率半径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

      (6)当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

止点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

2、输入与显示说明

          SZ→XY,2.XY→SZ,3.SDYX,4.BIANPO

      N?

  选择计算方式,输入1表示进行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1