[整理]fx-5800P坐标高程计算程序交点法.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CASIO fx-5800P单交点通用型曲线坐标高程计算程序
一、说明:
本程序采用交点法计算道路基本型曲线坐标及高程,在建立好数据库后,能连续计算全线各桩号的中边桩坐标及高程。本程序共包括一个主程序和九个子程序,其中有坐标计算、高程计算、坡口坡脚线放样,锥坡放样坐标计算等子程序。
二、内容:
1.PM5-3 XYZJS(主程序)
“SINGLE BASIC TYPE CURVE”◢
“METHOD OF COORDINATE PM5-3”◢
Deg:ClrStat:FreqOn:Fix 3
40→DimZ
“INPUT(0) Or DATA(Else)”?N
“FUNCTION”?P
Prog “SUB5-35”
If Z[30]<0:Then -1→Z[20]:Else 1→Z[20]:IfEnd
Abs(Z[30])→D
Pol(Z[26]-Z[28],Z[27]-Z[29]):Cls
If J<0: Then J+360→Z[11]:Else J→Z[11]:IfEnd 计算ZH→JD方位角
Z[11]+Z[30]+180→Z[16] 计算HZ→JD方位角
If Z[16]>360:Then Z[16]-360→Z[12]:Else Z[16]→Z[12]:IfEnd
If Z[12]>180:Then Z[12]-180→Z[23]:Else Z[12]+180→Z[23]:IfEnd计算JD→HZ方位角
S2÷(24R)-S4÷(2688R3)→Z[1] 计算第一缓和曲线内移值
0.5S-S3÷(240R2)+S5÷(34560R4)→Z[2] 计算第一缓和曲线切线增长值
T2÷(24R)-T4÷(2688R3)→Z[3] 计算第二缓和曲线内移值
0.5T-T3÷(240R2)+T5÷(34560R4)→Z[4] 计算第二缓和曲线切线增长值
(R+Z[3])÷sin(D)-(R+Z[1])÷tan(D)+Z[2]→Z[5] 计算第一切线长
(R+Z[1])÷sin(D)-(R+Z[3])÷tan(D)+Z[4]→Z[6] 计算第二切线长
90S÷(πR)→Z[7]:90T÷(πR)→Z[8] 计算第一、二缓和曲线偏角πR(D-Z[7]-Z[8])÷180→Z[9] 计算圆曲线长度
S+T+Z[9]→Z[10] 计算曲线总长度
Z[25]-Z[5]→List X[1] 计算直缓点桩号
1→K:Prog “SUB5-37”
List X[1]+S→List X[2]:List X[2]+Z[9]→List X[3] 计算缓圆点、圆缓点桩号
Z[26]-Z[5]cos(Z[11])→List Y[1]:Z[27]-Z[5]sin(Z[11])→List Freq[1]
If S≠0:Then“ZH PEG(m)=”:List X[1]◢显示直缓点桩号
Else “ZY PEG(m)=”:List X[1]◢显示直圆点桩号
IfEnd
“X(m)=”:List Y[1]◢显示直缓(圆)点X坐标
“Y(m)=”:List Freq[1]◢显示直缓(圆)点Y坐标
“H(m)=”:Z[24]◢显示直缓(圆)点Z坐标
“FWJ=”:Z[11]►DMS◢显示直缓(圆)点切线方位角
1→K:Z[11]→Z[13]:Prog “SUB5-34”调子程序计算直缓点边桩坐标
2→K:If S≠0:Then Prog “SUB5-31”调子程序计算缓圆点中边桩坐标Else List Y[1]→List Y[K]:List Freq[1]→List Freq[K]
Z[11]→Z[17]:IfEnd
3→K: Prog “SUB5-32”调子程序计算圆缓点中边桩坐标List X[1]+Z[10]→List X[4] 计算缓直点桩号
4→K:Prog “SUB5-37”
If T≠0:Then Z[26]+Z[6]cos(Z[23])→List Y[4]
Z[27]+Z[6]sin(Z[23])→List Freq[4] 计算缓直点中桩坐标
“HZ PEG(m)=”:List X[4]◢显示缓直(圆)点桩号
“X(m)=”:List Y[4]◢显示缓直(圆)点X坐标
“Y(m)=”:List Freq[4]◢显示缓直(圆)点Y坐标
“H(m)=”:Z[24]◢显示缓直(圆)点Z坐标
“FWJ=”:Z[23]►DMS◢显示缓直点切线方位角
Z[23]→Z[13]:Prog “SUB5-34”调子程序计算缓直(圆)点边桩坐标Else List Y[3]→List Y[K]:List Freq[3]→List Freq[K]:IfEnd
If R<30: Then 5→I: Else If R<60: Then 10→I: Else 20→I: IfEnd :IfEnd
“INT DIST(m)=”?O
If O>0: Then O→I: IfEnd
“ONLY CALC +PEG(1)”?→G
If G=1:Then Goto 1:IfEnd
K+1→K:Int(Z[31]÷I)I+I→List X[K]
If List X[K]>List X[1]:Then Prog “SUB5-31”:Else Prog “SUB5-33”:IfEnd
Do
K+1→K:List X[K-1]+I→List X[K]
If List X[K]≤ List X[1]:Then Prog “SUB5-33”
Else If List X[K]≤ List X[2]:Then Prog “SUB5-31”
Else If List X[K]≤ List X[3]:Then Prog “SUB5-32”
Else If List X[K]≤ List X[4]:Then Prog “SUB5-31”
Else Prog “SUB5-33”
IfEnd:IfEnd:IfEnd:IfEnd
LpWhile List X[K]+I Lbl 1 Do “+PEG(m)=”?F If F If F>Z[32]:Then Break:IfEnd K+1→K:F→List X[K] If List X[K]≤ List X[1]:Then Prog “SUB5-33” Else If List X[K]≤ List X[2]:Then Prog “SUB5-31” Else If List X[K]≤ List X[3]:Then Prog “SUB5-32”