1、组员:杨永强 张文超 范龙强 赵晨亮 子丽天实习仪器:全站仪一台,三脚架两个,棱镜两个,卷尺一个 2.2实验内容1. 根据自己设计的数据计算测设要素和主点里程;2. 设置非完整、非对称曲线的主点;3. 根据书上P169页的曲线测设程序框图(图1),编写一般缓和曲线的程序,并进行调试和检核;4. 可以查资料,学习非完整、非对称曲线的计算方法和测设方法,并和自己设计的程序相结合,计算各个放样点的坐标等内容;5. 在内业计算的基础上,选取合适的控制点和位置进行曲线测设;6. 直接根据课本实例,进行相应元素的计算和检核,最后安排具体的实习过程,进行现场曲线放样;7.书写实习报告书。计算程序框图及流程:
2、图5 曲线测设的程序框图3.实验原理根据实验要求,我们查询资料了解到,非对称线性分为完全非对称线性和非对称完整线性两种,而“完全非对称曲线”的含义就是第一缓和曲线和第二缓和曲线起点处的半径为,圆半径为R,第一缓和曲线长ls1,第二缓和曲线长为ls2,ls1ls2。所谓“非完整”的含义是第一缓和曲线和第二缓和曲线的起点半径不是,而是R1、R2。我们这次的实习采用坐标法作为放样方法,而坐标法放样线路中线的整个操作过程中,最重要的一步就是计算线路放样点的坐标。若已知非完整、非对称曲线的一些要素以及缓和曲线起点Q(半径RQ,桩号lQ,坐标(XQ,YQ),起点的切线坐标方位角Q,缓和曲线参数A(其中A是
3、回旋线参数),如果要计算缓和曲线段上任一桩号li的坐标,则必须先求算出半径为处(即ZH和HZ)的坐标。令Q点至ZH点的弧长为l1,则:l1对应的弦长。又因为: 所以:ZH点的切线坐标方位角:(取法:左偏“+”,右偏“-”;ZH换成HZ时,左偏“-”,右偏“+”)知道ZH点的坐标,又知道ZH点的切线方向,则可以利用第六章介绍的方法计算缓和曲线段上任一桩号li的坐标。采用任意设站极坐标法测设曲线:把由直线段、圆曲线段、缓和曲线段组合而成的曲线归算到统一的导线测量坐标系统中,这样就便于计算放样元素。当设计给定曲线交点JD的坐标(XJD,YJD),ZH与JD连线的方位角A0及ZH点的里程L0和曲线单元
4、的左右偏情况(用i表示,i=-1表示左偏,i=+1表示右偏),那么只要输入曲线上任意一点的里程LP,就可以求出曲线单元上任意一点的设计坐标,有了统一的坐标,即可求出仪器架在导线点或其他任一点上测设曲线的放样元素了。4.计算过程1.假定该曲线的已知条件如下:若Q点为曲线的起点,Q,点为曲线的终点,且Q点的坐标为Q(19787.34,28563.378),中间圆曲线部分的半径R为200m,第一部分缓和曲线的回旋线参数为A1=80,Q点处的半径R1=500m,第二部分缓和曲线的回旋线参数A2=100,Q,点处的半径R2=600m,已知Q点的里程为1000.00m。计算过程如下:2.按照图5,编写代码
5、,程序如下:#include stdio.hstdlib.hmath.h#define PI 3.141592653 void main() char yn; float k,PK; float R,l,JD,T,L,E,Q,ZH,HY,QZ,YH,HZ,D,Xzh,Yzh,Xjd,Yjd,x,y,X0,Y0,m,X,Y,A,a,jiao,S,Xr,Yr,Xh,Yh; int i; printf(请输入已知数据:k,R,l,i,JDn); scanf(%f%f%f%d%f,&k,&R,&l,&i,&JD); PK=l*180/2/R/PI;T=l/2-l*l*l/240/R/R+(R+l*l/
6、24/R)*tan(k*PI/360); L=R*k*PI/180+l;E=(R+l*l/24/R)/cos(k*PI/360)-R; Q=2*T-L;nT=%fn,nL=%fn,nE=%fn,nQ=%fn,T,L,E,Q); fflush(stdin); getchar();ZH=JD-T;HY=ZH+l;QZ=HY+(k*PI/180-2*PK*PI/180)*R/2;YH=HY+(k*PI/180-2*PK*PI/180)*R; HZ=YH+l;nZH=%fn,nHY=%fn,nQZ=%fn,nYH=%fn,nHZ=%fn,ZH,HY,QZ,YH,HZ);请输入设计坐标:Xzh,Yzh,
7、Xjd,Yjdscanf(%f%f%f%fXzh,&Yzh,&Xjd,&Yjd);请输入设站前视点和后视点坐标:Xr,Yr,Xh,YhXr,&Yr,&Xh,&Yh); do 请输入曲线上的测设点i的里程:D%fD); if(D=ZH&D0)A=A;else A=A+2*PI; X0=Xjd+T*cos(A+PI); Y0=Yjd+T*sin(A+PI); x=D-ZH-(D-ZH)*(D-ZH)* (D-ZH)*(D-ZH)*(D-ZH)/40/R/R/l/l; y=(D-ZH)*(D-ZH)* (D-ZH)/6/R/l; m=(D-ZH)*(D-ZH)/2/R/l; X=X0+x*cos(A
8、)-i*y*sin(A); Y=Y0+x*sin(A)+i*y*cos(A); a=A+i*m; double v1,v2,v3,v4,d1; v1=(Y-Yr)/(X-Xr); v2=atan(v1); if(v20) v2=v2; else v2=v2+2*PI; v3=(Yh-Yr)/(Xh-Xr); v4=atan(v3); if(v40) v4=v4; else v4=v4+2*PI; jiao=(v2-v4)*180/PI;d1=(Y-Yr)*(Y-Yr)+(X-Xr)*(X-Xr); S=sqrt(d1); else if(D=HY&YH) double e=(Yjd-Yzh)/
9、(Xjd-Xzh); A=atan(e); if(A0) A=A; else A=A+2*PI; x=D-ZH-(D-ZH-0.5*l)*(D-ZH-0.5*l)*(D-ZH-0.5*l)/6/R/R-l*l*l/240/R/R; y=(D-ZH-0.5*l)*(D-ZH-0.5*l)/2/R-(D-ZH-0.5*l)*(D-ZH-0.5*l)*(D-ZH-0.5*l)*(D-ZH-0.5*l)/24/R/R/R+l*l/24/R;m=(D-ZH-0.5*l)*180/R/PI;if(v2else v2=v2+2*PI;=YH&=HZ) double e=(Yjd-Yzh)/(Xjd-Xzh)
10、; double B=atan(e); if(B0) B=B; else B=B+2*PI; A=B+k*PI/180+PI; X0=Xjd+T*cos(A-PI); Y0=Yjd+T*sin(A-PI);x=L-D+ZH-(L-D+ZH)*(L-D+ZH)* (L-D+ZH)*(L-D+ZH)*(L-D+ZH)/40/R/R/l/l; y=(L-D+ZH)*(L-D+ZH)* (L-D+ZH)/6/R/l; m=(L-D+ZH)*(L-D+ZH)/2/R/l; X=X0+x*cos(A)+i*y*sin(A); Y=Y0+x*sin(A)-i*y*cos(A); a=A-i*m; else
11、v2=v2+2*PI;0) v4=v4; v4=v4+2*PI; double v1,v2; v1=(Y-Yzh)/(X-Xzh);nX=%fn,nY=%fn,njiao=%fn,nS=%fn,X,Y,jiao,S);继续Y/N yn=getchar(); while(yn=Y|yn=y 5.运行结果运行结果截图如下:但是里程数只能计算至YH=1091.920m处,因为YH点后的曲线同前半部分的曲线要素不一致,则需重新计算各个要素,才能将所有待放样点的坐标求出。计算第二缓和曲线要素的步骤如下:3. 将以上各点的数据带入程序中求的缓和曲线2上点的放样参数,因此将各个放样点的数据导出。需要注意的是
12、:本程序为任意设站的放样方法,因此全站仪在测量范围以内的话不需要搬站,直接可以将待定点放样得出。5.小结所谓非完整、非对称缓和曲线,通俗的说就是曲线由不同半径的曲线依次组成,并且不对称,或者说只是曲线的一部分,此程序大部分代码来源于以前同学,我做了很深入的学习,感觉收获颇多,我自己用VB编写的程序在后边实习部分会有说明,并且电子档已经发给老师。不管怎么说,又一次的深刻的感觉到了学好一门语言是多么的重要!第二部分 圆曲线和缓和曲线的实地放样采用偏角法或切线支距法放样一段完整的圆曲线和缓和曲线。待放样的曲线可选择p169页6.5.3.3算例。1.实习目的及要求1.学会曲线要素计算方法;2.学会编写
13、偏角法、极坐标法对缓和曲线要素计算程序;3.实地放样非缓和曲线;2.前期实习准备和相关安排2.1实习人员及仪器2.2实习内容1. 根据自己设计的软件计算测设要素和主点里程;2. 根据书上P169页的曲线测设程序框图(图5),编写一般缓和曲线的程序,并进行调试和检核;3. 直接根据课本实例,进行相应元素的计算和检核,最后安排具体的实习过程,进行现场曲线放样;2.3放样元素计算软件设计2.3.1放样元素计算原理及过程1. 单圆曲线主点元素计算如图6所示,已知路线中线交点(JD)的偏角为 和圆曲线的半径为R,要计算的圆曲线元素有:切线长T、曲线长L、外矢距E和切线长度与曲线长度之差(切曲差)q。 各
14、元素按照下式计算。切线长: 曲线长:外矢距: 切曲线:图6 偏角法测设圆曲线2. 单圆曲线圆曲线主点里程计算根据交点的里程和曲线测设元素,就可计算出各主点的里程。ZY点里程 = JD点里程 T QZ点里程 = ZY点里程 + LQZ点里程 = YZ点里程 L/2 JD点里程 = QZ点里程 + D/2(校核)3.单圆曲线主点放样步骤:1)仪器安于JD点,瞄准线路前进方向的后方,沿视线方向量切线长T,即得ZY点;2)同理瞄准前进方向,在视线上量T可得YZ点;3)后视YZ(ZY)转拨(180-)/2,沿视线方向量出E,即得QZ;4)在ZY(或YZ)上安置仪器,检查JDZYYZ是否为/2,和JDZY
15、QZ是否为/4。3. 带有缓和圆曲线主点测设有缓和曲线(如图7所示)的主点由原来的三个增加到五个:ZH(直缓点)、HY(缓圆点)、QZ(曲中点)、YH(圆缓点)、HZ(缓直点)外 点: 切曲差:其中:,R线路转向角和圆曲线半径l0缓和曲线长度m加设缓和曲线后使切线增加的距离P加设缓和曲线后圆曲线相对于切线的内移值图7 偏角法测设缓和曲线0HY点(或YH点)的缓和曲线角度(缓和曲线角,过HY点切线与过ZH点的切线的交角) 缓和曲线偏角 缓和曲线反偏角 b0 = 0 0 切垂距 缓和曲线的切线角 圆曲线内移值 4. 带有缓和圆曲线主点里程计算:ZH点里程=JD里程-T HY里程=ZH点里程+l0
16、QZ里程=HY点里程+l/2 YH里程=HY里程+l HZ里程=YH里程+l0 JD里程=QZ点里程+q/2(检核用)5测设步骤:1)以R、l0为引数,查表得HY、YH点坐标值x0、y02)将仪器置于JD点,沿切线方向量出切线长T得ZH和HZ两点3)将仪器转动(90-/2)量E得QZ点4)根据x0、y0由JD沿切线方向分别量T- x0得(HY)、(YH)点,过该两点作切线的垂线,在线上量出y0,即得HY和YH点。2.3.2 软件设计程序1. 主程序部分Public Type Angle Degree As Integer Minutes As Integer Seconds As Single
17、End TypePublic Type Detail Ang As Angle pn As StringConst PI As Double = 3.14159265358979Const Ro As Double = 180# * 3600# / PIPublic R As DoublePublic Alpha As DoublePublic L0 As DoublePublic c As IntegerPublic QZ As DoublePublic JD As DoublePublic ZH As DoublePublic HY As DoublePublic YH As Double
18、Public HZ As DoublePublic T As DoublePublic L As DoublePublic E As DoublePublic q As DoublePublic X0 As DoublePublic Y0 As DoublePublic DetailH() As DetailPublic DetailY() As DetailPublic UB As IntegerPublic BT As DoublePublic I0 As DoublePublic HYBS As DoublePublic Function Radian(deg, min, sec) As
19、 Double Dim Rad As Double Rad = (deg * 360000# + min * 6000# + sec * 100#) Rad = Rad / Ro / 100 Radian = RadEnd FunctionPublic Function SecToAng(sec As Double) As Angle Dim Ang As Angle Dim deg_1 As Double deg_1 = sec / 3600# Ang.Degree = Int(deg_1) Ang.Minutes = Int(deg_1 - Ang.Degree) * 60#) Ang.S
20、econds = (deg_1 - Ang.Degree - Ang.Minutes / 60#) * 3600# Ang.Seconds = Format(Ang.Seconds, 0.0000) SecToAng = AngPublic Sub SetDetailsValue(details() As Detail, pn As String, Ang As Double) details(UB).Ang = SecToAng(Ang) details(UB).pn = pnEnd SubPublic Sub MainPtCalcu() Dim M As Double Dim p As D
21、ouble BT = L0 / (2# * R) M = L0 / 2# - L0 * L0 * L0 / (240# * R * R) p = L0 * L0 / (24# * R) I0 = L0 / (6# * R) T = M + (R + p) * Tan(Alpha / 2#) L = Alpha * R + L0 E = (R + p) / Cos(Alpha / 2#) - R q = 2 * T - L X0 = L0 - L0 * L0 * L0 / (40# * R * R) Y0 = L0 * L0 / (6# * R) ZH = JD - T HY = ZH + L0
22、 QZ = ZH + L / 2# HZ = QZ + L / 2# YH = HZ - L0Public Sub DetailCalcu() Dim i As Integer Dim j As Double Dim k As Integer Dim ii As Double Dim PTmp As Double Dim LTmp As Double Dim LTmp2 As Double Dim Delta As Double Dim Delta0 As Double Dim pn As Double UB = 0 j = ZH 100 PTmp = ZH + c LTmp = c 缓和曲线
23、计算 While PTmp j Then j = PTmp 100 ReDim Preserve DetailH(UB) LTmp2 = j * 100# - ZH ii = LTmp2 * LTmp2 * Ro / (6# * R * L0) SetDetailsValue DetailH(), (UB + 1) & & Format(j * 100, 0.00), ii 百米桩 If PTmp / 100 UB = UB + 1 End If ii = LTmp * LTmp * Ro / (6# * R * L0) pn = PTmp Format(pn, ), ii PTmp = PTmp + c LTmp = LTmp + c Wend LTmp = HY - ZH Format(HY, 圆曲线计算 Delta = c / (2# * R) * Ro PTmp = (PTmp c) * c Delta0 = (PTmp - HY) * Ro / (2# * R) HYBS = PI * 2# * Ro - (BT * Ro - I0 * Ro + Delta0) ReDim Preserve DetailY(UB) SetDetailsValue DetailY(), (UB + 1) &), 0 ii = 0 UB = UB +
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1