资源描述
节1:公路平曲线计算资料
一、实用计算公式集成
1. 辅助公式
切线角:β=L22RLS(因而β0=LS2R) L为缓和曲线长度变量
切线增加值:Q=LS2 - LS3240R2
曲线内移值:P=LS224R
2. 缓和曲线坐标计算公式(图示坐标系)
X坐标公式:X=L-L540R2LS2+LS93456R4LS4
Y坐标公式:Y=L36RLS-L7336R3LS3
其中HY点坐标:X=LS-LS340R2+LS53456R4
Y=LS26R-LS5336R3
3. 元素计算公式
切线长:TS=R+Ptanα2+Q
园曲线长:LY=α-2β0π180R
曲线总长:L=LY+2LS
外距:ES=R+Psecα2-R
切曲差:D=2TS-L
4. 园曲线
距离H1:H1=Rcosα-2β02
任意角:α1=sin-1X1R (变量X1为设定值,以此式算出中间量α1)
B半曲线宽:B=Rsinα-2β02
园曲线上任意点坐标:X1为设定值
对应:Y1=Rcosα1-H1
5. 坐标变换公式:
PX=a+X1cosα2+Y1sinα2
PY=b+X1sinα2-Y1cosα2
二、学以致用——经典例题之一的手工计算
图纸上说:交点桩号为:JD=20287.675M,转角A=30°,园曲线半径R=300M,缓和曲线长LS=70M.求曲线元素及主要点里程桩,然后作曲线放线计算.
解:
① 元素计算:
敷设角B0=LS/2R*180/3.1416=6.6845°=0.116673弧度.
切线增长值Q=LS/2-LS^3/240R^2=34.984M
曲线内移值P=LS^2/24R=0.681M
切线长TS=(R+P)TAN(A/2)+Q=115.551M
园曲线长LY=R(A-2BO)=87.08M
曲线总长L=LY+2LS=227.08M
外距E=(R+P)/COS(A/2)-R=11.287M
② 主点里程桩计算
ZH=JD-TS=20172.124M
HY=ZH+LS=20242.124M
QZ=HY+LY/2=20285.664M
YH=HY+LY=20329.204M
HZ=YH+LS=20399.204M
③ 园曲线参数
H1=RCOS((A-2B0)/2)=296.845M
B=RSIN((A-2B0)/2)=43.387M
节2:新的计算方法
一、 概述
1. 由于全站仪的普及,使已知坐标系中两点的坐标后(不论是相对坐标或高斯坐标)再找出已知坐标值的第三点在地面上的位置变得迅速、准确而简单。
2. 因此,各设计施工单位制造了许多适用的计算软件在使用和在网上叫卖,我下载了一个名叫【缓和曲线。EXE】的免费程序,他的计算结果与我们的手工计算结果是一致的。当然,我不能还原这个程序的源码。
3. 我又用EXCLE2003电子表格验证了手工计算、网上程序和电子表格三者的一致性。
4. 我再从网络上下载了老程序QBASIC。EXE,在WINXP的程序→附件→DOS提示符下重新编写和运行了QBASIC程序D:\教学资料\DOS\公路平曲线计算.BAS,
其结果也与以上工作的结果是一致有!
5. 考虑到全站仪现存都配有CASIO-FX-5800系列可编程计算器,我们是否也应该多掌握一点QBASIC语言呢?
改进我以前的缓和曲线和园曲线在不同的坐标系统中分别进行计算的方法,统一在以ZH点为坐标原点,X轴指向JD方向,Y轴指向园曲线中心的坐标系中进行计算。
二、网上下载的【缓和曲线。EXE】程序运行介绍:
启动程序:“缓和曲线.EXE”↙↙
输入:交点桩号JD=20287.675,
偏角角度A=30°,
曲线半径R=300,
缓和曲线长=70等已知数据后,程序自动计算出下列数据,并与手工计算保持一致.即:
ZH=20172.124
HY=20242.124
QZ=20329.203
YH=20329.203 (手工为20329.204)
HZ=20399.203 (手工为20399.204)
TS=115.551
E=11.287
L=227.08
LY=87.08
P=0.68
Q=34.984
加桩计算结果:
加桩桩号
坐标X
坐标Y
偏角(度分秒)
20172.124ZH
0
0
0 0 0
20180
7.876
0.004
0 1 41.5
20190
17.867
0.045
0 8 43.1
20200
27.875
0.172
0 21 12
20210
37.872
0.413
0 39 8.4
20220
47.862
0.871
1 2 32.1
20230
57.839
1.538
1 31 23.1
20242.124HY
69.905
2.72
2 13 40.4
20250
77.714
3.739
2 45 16
20260
87.587
5.324
3 28 51.8
20270
97.401
7.245
4 15 14.7
20285.664QZ
112.63
10.902
5 31 44.2
反证:
已算出 E=11.287
于是,QZ点在以ZH点为坐标原点,X轴指向JD方向,Y轴指向园曲线中心的坐标系中的坐标为:
Y=11.287×SIN (75)=10.902
X=TS-E×SIN(15)
=115.551-11.287×SIN(15)=112.63
以上结果说明:都是正确的。
三、 坐标变换公式
桩号>HY点桩号后,公路曲线计算由缓和曲线计算变化为园曲线计算。为学习方便,我已经为大家准备好了一张图:
在备课的时候,我用此坐标变换公式计算了网上下载程序算出的桩号20250处的坐标值和本变换公式计算出的该点的坐标值是完全一致的!
a=69.905 b=2.72 px=77.714 py=3.733
px=a+x1cos15+y1sin15 ①
py=b+x1sin15-y1cos15 ②
用以上公式不难计算出:
X1=7.8065
Y1=1.0368
再在园曲线坐标系中不难证明这两点正在园曲线上!
四、 用大家熟知的EXCLE电子规格计算的公式汇总
可以参考我为大家作的例题
经典例题1.XLS
经典例题2.XLS
公路施工图上必开列的已经条件:交点JD桩号(里程桩);偏角角度值ɑ:及缓和曲线长度LS
1. 先在表上作元素计算
将转角ɑ化为弧度:例 30°=3.1416/180×30=o.5236弧度
算出敷设角:β0=LS/2R 例:=0.1167弧度
切线增加值Q=LS/2-LS^3/240R^2 例:=34.981M
曲线内移值P=LS^2/24R 例:=0.6808M
切线长TS=(R+P)TAN(ɑ/2)+Q 例:=115.5514M
园曲线长LY=R(ɑ-2β0) 例:=87.08M
曲线总长L=LY+2LS 例:=227.08M
外距E=(R+P)/COS(ɑ/2)-R 例:=11.2875M
园曲线半宽B=RSIN((ɑ-2β0)/2) 例:=43.3873M
园曲线弦高H1=RCOS((ɑ-2β0)/2) 例:=296.846M
2. 计算出主点里程桩
JD=JD 例:=20287.675M
ZH=JD-TS 例:=20172.124M
HY=ZH+LS 例:=20242.124M
QZ=HY+LY/2 例:=20285.664M
YH=HY+LY 例:=20329.204
ZH=YH+LS 例:=20399.204
3. 缓和曲线计算
以ZH点为坐标原点,X轴指向JD方向,Y轴指向园曲线中心的坐标系中.当你自己设定的里程桩值≤HY点里程桩值时,各点用下列公式计算(其中变量L=缓和曲线长=设定加桩桩号值-ZH点桩号值)
X坐标公式:X=L-L540R2LS2+LS93456R4LS4
Y坐标公式:Y=L36RLS-L7336R3LS3
4. 以下为园曲线计算,用同一坐标系
当你自己设定的里程桩值≥HY点里程桩值时,各点用下列公式计算
园曲线长LY=输入里程桩值-HY桩号值
对应园心角ɑY=LY/R (弧度) 0≤ɑY≤(ɑ-2β0)/2
对应ɑ1=(ɑ-2β0)/2-ɑY
对应X1座标值X1=B-RSINɑ1
对应Y1座标值Y1=RCOSɑ1-H1
于是算出园曲线该点在X-O-Y座标系中的座标为:
PX=a+X1cosα2+Y1sinα2
PY=b+X1sinα2-Y1cosα2
我已上机验证了公式的正确性。
5. 夹角计算及夹角化为度分秒的公式
某点P在X-O-Y座标系中的夹角JG:
JG=ATN(Y/X)×180/3.1416 (度)
如何将夹角(度)化为度、分、秒供全站仪使用?
度=INT(JG)
分=INT((JG-度值)×60)
秒=INT(((JG-度值) ×3600-分值×60) ×100)/100
例:用上述公式化3.141592度为度分秒格式
度=INT(3.141592)=3度
分= INT(0.141592×60)=8分
秒= INT(0.141592×3600-8×60) ×100)/100=29.73分
请在EXCLE电子表格中验证
请再用计算器验证。
五、公路平曲线计算.BAS源程序
在WINXP的DOS提示符下,到下载并拷贝有QBASIC.EXE的你自定的目录中,你就可以编辑和运行你喜欢的QBASIC程序了,它比CASIO-FX-5800系列昂贵的计算器功能要强大多了。我把我编写的这个取代网上下载的【缓和曲线。EXE】程序的程序加解释的送给大家,希望有的同学能在今后的工作中用上它!
以下为加解说的源程序清单
CLS——清屏
INPUT "JD="; JD#: INPUT "R="; R: INPUT "A="; A: INPUT "LS="; LS: A# = A * 3.1416 / 180
REM"代表注释" 程序不执行此句,上面这几句话的意思是向程序输入交点桩号值到JD#存为双精度数:输入园曲线半径值R存为单精度数R;输入转角A:输入缓和曲线长度LS:再把角度什转化为双精度变量A#。
PRINT JD#; R; LS; A#
上面这几句话的意思是让屏幕连续显示JD#;R;LS;A#的数值
B0 = LS / 2 / R: PRINT "B0="; B0
计算敷设角B0并显示之(弧度)
Q = LS / 2 - LS ^ 3 / 240 / R / R: PRINT "Q="; Q
计算并显示切线增加值Q
P = LS * LS / 24 / R: PRINT "P="; P
计算并显示曲线内移值P
TS = (R + P) * TAN(A# / 2) + Q: PRINT "TS="; TS
计算并显示切线长TS
LY = R * (A# - 2 * B0): PRINT "LY="; LY
计算并显示园曲线长LY
E = (R + P) / COS(A# / 2) - R: PRINT "E="; E
计算并显示外距E
L = LY + 2 * LS: PRINT "L="; L
计算并显示曲线总长L
REM"LCZ里程桩计算程序段"
PRINT "JD="; JD#
显示一下JD里程桩的值只为了提醒你!
ZH# = JD# - TS: LET ZH# = INT(ZH# * 1000 + .5) / 1000: PRINT "ZH="; ZH#
计算并显示ZH桩号,保留三位小数
HY# = ZH# + LS: LET HY# = INT(HY# * 1000 + .5) / 1000: PRINT "HY = "; HY#
计算并显示HY桩号,保留三位小数
QZ# = HY# + LY / 2: LET QZ# = INT(QZ# * 1000 + .5) / 1000: PRINT "QZ="; QZ#
计算并显示QZ桩号,保留三位小数
YH# = HY# + LY: LET YH# = INT(YH# * 1000 + .5) / 1000: PRINT "YH="; YH#
计算并显示YH桩号,保留三位小数
HZ# = YH# + LS: LET HZ# = INT(HZ# * 1000 + .5) / 1000: PRINT "HZ="; HZ#
计算并显示HZ桩号,保留三位小数
REM"LS缓和曲线计算程序段"
FOR S# = ZH# TO HY# STEP 10: IF S# > HY# THEN S# = HY#
让变量S#的值从ZH#的值到HY#的值每循环自动增加10M:假若S#的值增加到大于HY#的值时则让S#=HY#
S1 = S# - ZH#: X = S1 - S1 ^ 5 / (40 * R ^ 2 * LS ^ 2) + S1 ^ 9 / (3456 * R ^ 4 * LS ^ 4)
不难看出S1代表了缓和曲线长度:计算出该点的X坐标值
Y = S1 ^ 3 / (6 * R * LS) - S1 ^ 7 / (336 * R ^ 3 * LS ^ 3)
计算出该点的Y坐标值
PRINT "JZZX="; S#; "X="; X; "Y="; Y: SLEEP
连续显示加桩桩号和对应的该点X及Y坐标值,暂仃供你记录,当你按下任意键时程序继续进行。
IF S1 = 0 THEN JG = 0: PRINT "JG="; 0
假若S1代表的缓和曲线长度=0时则让夹角JG=0并显示之。
IF S1 > 0 THEN JG = ATN(Y / X): JG = INT(JG * 180 / 3.1416 * 100000) / 100000
假若S1代表的缓和曲线长度大于0时则计算夹角JG=0并取小数点后五位数。
JG1 = INT(JG): JG2 = INT((JG - JG1) * 60): JG3 = INT(((JG - JG1) * 3600 - JG2 * 60) * 100) / 100: PRINT "JG="; JG1; JG2; JG3
将十进位夹角JG化为度、分、秒格式并连续显示之。
IF S# = HY# THEN AHY = X: BHY = Y
假若算到HY点时纪录下该点的坐标值给AHY(a)和BHY(b)
IF S# = HY# THEN GOTO LB1
然后程序跳出循环GOTO 标号LB1的程序段
NEXT S#
回到FOR S#——NEXT S# 程序起点
REM"ECX注释园曲线计算程序段"
LB1:
标号LB1可以随心所欲地取名
H1 = R * COS((A# - 2 * B0) / 2): PRINT "H1="; H1
计算并显示园曲线弦高H1并显示
B = R * SIN((A# - 2 * B0) / 2): PRINT "B="; B
计算并显示园曲线半宽B并显示
PRINT "AHY="; AHY; "BHY="; BHY: SLEEP
显示AHY及BHY之值:暂仃
FOR S# = HY# TO QZ# + 10 STEP 10: IF S# > QZ# THEN S# = QZ#: PRINT "S#="; S#: SLEEP
让变量S#的值从HY#的值到QZ#的值加10M每循环自动增加10M:假若S#的值增加到大于QZ#的值时则让S#=QZ#:
显示S#:暂仃
S1 = S# - HY#: AY = S1 / R: A1 = (A# - 2 * B0) / 2 – AY
S1代表园弧长:计算对应园心角AY:计算该点A1角
X1 = B - R * SIN(A1): Y1 = R * COS(A1) - H1
在园曲线坐标系中计算该点X1及Y1坐标值
X = AHY + X1 * COS(A# / 2) + Y1 * SIN(A# / 2)
Y = BHY + X1 * SIN(A# / 2) - Y1 * COS(A# / 2)
利用坐标变换公式算出该点在X-0-Y坐标系中的坐标值
JG = ATN(Y / X): JG = INT(JG * 180 / 3.1416 * 1000000) / 1000000
算也该点的十进位度值,保留5位小数
JG1 = INT(JG): JG2 = INT((JG - JG1) * 60): JG3 = INT(((JG - JG1) * 3600 - JG2 * 60) * 100) / 100
转换为度、分秒格式
PRINT "JZZX="; S#; "X="; X; "Y="; Y; "JG="; JG1; JG2; JG3
显示当前里程桩号JZZX:显示该角度的度、分秒值
SLEEP
暂仃,按任意键继续
IF S# = QZ# THEN END
假若计算到QZ点程序END
NEXT S#
回到循环开始
六、 如何在WINXP环境中运行QBASIC程序?
假定你的QBASIC程序“GLJS.BAS”存在D:\DOS目录中
开始→程序→附件→C:\命令提示符→D:\→D:\>CD DOS→D:\DOS\>QBASIC进入了QBASIC程序运行环境→按ESC键→选文件FILE→0PEN→GLYS.BAS→点RUN程序开始运行.
对本程序执行摘记:
屏显JD=? 输入 20287.675回车
屏显R=? 输入 300 回车
如此这般(请参照解释程序)将程序运行结束,你可对照网上下载程序的运行结果,二者是完全一致的,于是,你掌握了一门技术!
七、 计算的成果的使用
使用经纬仪来放线同学们已经学过了。
我没有用过全站仪,根据网上的小文章加我的理解作如下推测,请大家将来在实践中验证。
1、 全站仪定向
① 设ZH点为站点,输入坐标(0,0)和仪器高,点缶下一步。
② 输入定向点(即JD点)的坐标(TS,0)。
③ 仪器描准JD点的镜子→点缶测量→看屏幕该点坐标值→移动镜子微调至JD点位置满意为止。
2、 放样方法(定向完成后)
① 输入要放点的坐标,即我们算好的X,Y值。
② 全站仪会显示该点的角度和距离;转动全站仪使角度误差在(1~2秒)范围以内。
③ 然后拿着镜子移动到显示的距离→用全站仪描镜子→点测量→看显示的角度和距离误差→不断调整→使距离误差≤1—2MM,角度误差≤1—2秒则很理想了。
展开阅读全文