曲线测设实验及实习报告全新版Word格式.docx

上传人:b****6 文档编号:17337406 上传时间:2022-12-01 格式:DOCX 页数:26 大小:531.20KB
下载 相关 举报
曲线测设实验及实习报告全新版Word格式.docx_第1页
第1页 / 共26页
曲线测设实验及实习报告全新版Word格式.docx_第2页
第2页 / 共26页
曲线测设实验及实习报告全新版Word格式.docx_第3页
第3页 / 共26页
曲线测设实验及实习报告全新版Word格式.docx_第4页
第4页 / 共26页
曲线测设实验及实习报告全新版Word格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

曲线测设实验及实习报告全新版Word格式.docx

《曲线测设实验及实习报告全新版Word格式.docx》由会员分享,可在线阅读,更多相关《曲线测设实验及实习报告全新版Word格式.docx(26页珍藏版)》请在冰豆网上搜索。

曲线测设实验及实习报告全新版Word格式.docx

组员:

杨永强张文超范龙强赵晨亮子丽天

实习仪器:

全站仪一台,三脚架两个,棱镜两个,卷尺一个

2.2实验内容

1.根据自己设计的数据计算测设要素和主点里程;

2.设置非完整、非对称曲线的主点;

3.根据书上P169页的曲线测设程序框图(图1),编写一般缓和曲线的程序,并进行调试和检核;

4.可以查资料,学习非完整、非对称曲线的计算方法和测设方法,并和自己设计的程序相结合,计算各个放样点的坐标等内容;

5.在内业计算的基础上,选取合适的控制点和位置进行曲线测设;

6.直接根据课本实例,进行相应元素的计算和检核,最后安排具体的实习过程,进行现场曲线放样;

7.书写实习报告书。

计算程序框图及流程:

图5曲线测设的程序框图

3.实验原理

根据实验要求,我们查询资料了解到,非对称线性分为完全非对称线性和非对称完整线性两种,而“完全非对称曲线”的含义就是第一缓和曲线和第二缓和曲线起点处的半径为∞,圆半径为R,第一缓和曲线长ls1,第二缓和曲线长为ls2,ls1≠ls2。

所谓“非完整”的含义是第一缓和曲线和第二缓和曲线的起点半径不是∞,而是R1、R2。

我们这次的实习采用坐标法作为放样方法,而坐标法放样线路中线的整个操作过程中,最重要的一步就是计算线路放样点的坐标。

若已知非完整、非对称曲线的一些要素以及缓和曲线起点Q(半径RQ,桩号lQ,坐标(XQ,YQ)),起点的切线坐标方位角αQ,缓和曲线参数A(其中A是回旋线参数),如果要计算缓和曲线段上任一桩号li的坐标,则必须先求算出半径为∞处(即ZH和HZ)的坐标。

令Q点至ZH点的弧长为l1,则:

l1对应的弦长

又因为:

所以:

ZH点的切线坐标方位角:

取法:

左偏“+”,右偏“-”;

ZH换成HZ时,左偏“-”,右偏“+”)

知道ZH点的坐标,又知道ZH点的切线方向,则可以利用第六章介绍的方法计算缓和曲线段上任一桩号li的坐标。

采用任意设站极坐标法测设曲线:

把由直线段、圆曲线段、缓和曲线段组合而成的曲线归算到统一的导线测量坐标系统中,这样就便于计算放样元素。

当设计给定曲线交点JD的坐标(XJD,YJD),ZH与JD连线的方位角A0及ZH点的里程L0和曲线单元的左右偏情况(用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,编写代码,程序如下:

#include"

stdio.h"

stdlib.h"

math.h"

#definePI3.141592653

voidmain()

{charyn;

floatk,PK;

floatR,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;

inti;

printf("

请输入已知数据:

k,R,l,i,JD\n"

);

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/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=%f\n,\nL=%f\n,\nE=%f\n,\nQ=%f\n"

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=%f\n,\nHY=%f\n,\nQZ=%f\n,\nYH=%f\n,\nHZ=%f\n"

ZH,HY,QZ,YH,HZ);

请输入设计坐标:

Xzh,Yzh,Xjd,Yjd"

scanf("

%f%f%f%f"

Xzh,&

Yzh,&

Xjd,&

Yjd);

请输入设站前视点和后视点坐标:

Xr,Yr,Xh,Yh"

Xr,&

Yr,&

Xh,&

Yh);

do{

请输入曲线上的测设点i的里程:

D"

%f"

D);

if(D>

=ZH&

&

D<

HY)

{doublee1=Yjd-Yzh;

doublee2=Xjd-Xzh;

doublee3=e1/e2;

A=atan(e3);

if(A>

0)A=A;

elseA=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)-i*y*sin(A);

Y=Y0+x*sin(A)+i*y*cos(A);

a=A+i*m;

doublev1,v2,v3,v4,d1;

v1=(Y-Yr)/(X-Xr);

v2=atan(v1);

if(v2>

0)v2=v2;

else

v2=v2+2*PI;

v3=(Yh-Yr)/(Xh-Xr);

v4=atan(v3);

if(v4>

0)v4=v4;

elsev4=v4+2*PI;

jiao=(v2-v4)*180/PI;

d1=(Y-Yr)*(Y-Yr)+(X-Xr)*(X-Xr);

S=sqrt(d1);

}

elseif(D>

=HY&

YH)

{doublee=(Yjd-Yzh)/(Xjd-Xzh);

A=atan(e);

if(A>

0)A=A;

elseA=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(v2>

elsev2=v2+2*PI;

=YH&

=HZ)

{doublee=(Yjd-Yzh)/(Xjd-Xzh);

doubleB=atan(e);

if(B>

0)B=B;

elseB=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;

elsev2=v2+2*PI;

0)

v4=v4;

v4=v4+2*PI;

doublev1,v2;

v1=(Y-Yzh)/(X-Xzh);

\nX=%f\n,\nY=%f\n,\njiao=%f\n,\nS=%f\n"

X,Y,jiao,S);

继续Y/N"

yn=getchar();

while(yn=='

Y'

||yn=='

y'

}

5.运行结果

运行结果截图如下:

但是里程数只能计算至YH=1091.920m处,因为YH点后的曲线同前半部分的曲线要素不一致,则需重新计算各个要素,才能将所有待放样点的坐标求出。

计算第二缓和曲线要素的步骤如下:

3.将以上各点的数据带入程序中求的缓和曲线2上点的放样参数,因此将各个放样点的数据导出。

需要注意的是:

本程序为任意设站的放样方法,因此全站仪在测量范围以内的话不需要搬站,直接可以将待定点放样得出。

5.小结

所谓非完整、非对称缓和曲线,通俗的说就是曲线由不同半径的曲线依次组成,并且不对称,或者说只是曲线的一部分,此程序大部分代码来源于以前同学,我做了很深入的学习,感觉收获颇多,我自己用VB编写的程序在后边实习部分会有说明,并且电子档已经发给老师。

不管怎么说,又一次的深刻的感觉到了学好一门语言是多么的重要!

第二部分圆曲线和缓和曲线的实地放样

采用偏角法或切线支距法放样一段完整的圆曲线和缓和曲线。

待放样的曲线可选择p169页6.5.3.3算例。

1.实习目的及要求

1.学会曲线要素计算方法;

2.学会编写偏角法、极坐标法对缓和曲线要素计算程序;

3.实地放样非缓和曲线;

2.前期实习准备和相关安排

2.1实习人员及仪器

2.2实习内容

1.根据自己设计的软件计算测设要素和主点里程;

2.根据书上P169页的曲线测设程序框图(图5),编写一般缓和曲线的程序,并进行调试和检核;

3.直接根据课本实例,进行相应元素的计算和检核,最后安排具体的实习过程,进行现场曲线放样;

2.3放样元素计算软件设计

2.3.1放样元素计算原理及过程

1.单圆曲线主点元素计算

如图6所示,已知路线中线交点(JD)的偏角为α和圆曲线的半径为R,要计算的圆曲线元素有:

切线长T、曲线长L、外矢距E和切线长度与曲线长度之差(切曲差)q。

各元素按照下式计算。

切线长:

曲线长:

外矢距:

切曲线:

图6偏角法测设圆曲线

2.单圆曲线圆曲线主点里程计算

根据交点的里程和曲线测设元素,就可计算出各主点的里程。

ZY点里程=JD点里程–TQZ点里程=ZY点里程+L

QZ点里程=YZ点里程–L/2JD点里程=QZ点里程+D/2(校核)

3.单圆曲线主点放样步骤:

1)仪器安于JD点,瞄准线路前进方向的后方,沿视线方向量切线长T,即得ZY点;

2)同理瞄准前进方向,在视线上量T可得YZ点;

3)后视YZ(ZY)转拨β=(180º

-α)/2,沿视线方向量出E,即得QZ;

4)在ZY(或YZ)上安置仪器,检查∠JDZYYZ是否为α/2,和∠JDZYQZ是否为α/4。

3.带有缓和圆曲线主点测设

有缓和曲线(如图7所示)的主点由原来的三个增加到五个:

ZH(直缓点)、HY(缓圆点)、QZ(曲中点)、YH(圆缓点)、HZ(缓直点)

外点:

切曲差:

其中:

α,R—线路转向角和圆曲线半径

l0——缓和曲线长度

m——加设缓和曲线后使切线增加的距离

P——加设缓和曲线后圆曲线相对于切线的内移值

图7偏角法测设缓和曲线

β0——HY点(或YH点)的缓和曲线角度(缓和曲线角,过HY点切线与过ZH点的切线的交角)

缓和曲线偏角

缓和曲线反偏角b0=β0δ0

切垂距

缓和曲线的切线角

圆曲线内移值

4.带有缓和圆曲线主点里程计算:

ZH点里程=JD里程-THY里程=ZH点里程+l0

QZ里程=HY点里程+l/2YH里程=HY里程+l

HZ里程=YH里程+l0JD里程=QZ点里程+q/2(检核用)

5.测设步骤:

1)以R、l0为引数,查表得HY、YH点坐标值x0、y0

2)将仪器置于JD点,沿切线方向量出切线长T得ZH和HZ两点

3)将仪器转动(90°

-α/2)量E得QZ点

4)根据x0、y0由JD沿切线方向分别量T-x0得(HY)′、(YH)′点,过该两点作切线的垂线,在线上量出y0,即得HY和YH点。

2.3.2软件设计程序

1.主程序部分

PublicTypeAngle

DegreeAsInteger

MinutesAsInteger

SecondsAsSingle

EndType

PublicTypeDetail

AngAsAngle

pnAsString

ConstPIAsDouble=3.14159265358979

ConstRoAsDouble=180#*3600#/PI

PublicRAsDouble

PublicAlphaAsDouble

PublicL0AsDouble

PubliccAsInteger

PublicQZAsDouble

PublicJDAsDouble

PublicZHAsDouble

PublicHYAsDouble

PublicYHAsDouble

PublicHZAsDouble

PublicTAsDouble

PublicLAsDouble

PublicEAsDouble

PublicqAsDouble

PublicX0AsDouble

PublicY0AsDouble

PublicDetailH()AsDetail

PublicDetailY()AsDetail

PublicUBAsInteger

PublicBTAsDouble

PublicI0AsDouble

PublicHYBSAsDouble

PublicFunctionRadian(deg,min,sec)AsDouble

DimRadAsDouble

Rad=(deg*360000#+min*6000#+sec*100#)

Rad=Rad/Ro/100

Radian=Rad

EndFunction

PublicFunctionSecToAng(secAsDouble)AsAngle

DimAngAsAngle

Dimdeg_1AsDouble

deg_1=sec/3600#

Ang.Degree=Int(deg_1)

Ang.Minutes=Int((deg_1-Ang.Degree)*60#)

Ang.Seconds=(deg_1-Ang.Degree-Ang.Minutes/60#)*3600#

Ang.Seconds=Format(Ang.Seconds,"

0.0000"

SecToAng=Ang

PublicSubSetDetailsValue(details()AsDetail,pnAsString,AngAsDouble)

details(UB).Ang=SecToAng(Ang)

details(UB).pn=pn

EndSub

PublicSubMainPtCalcu()

DimMAsDouble

DimpAsDouble

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

QZ=ZH+L/2#

HZ=QZ+L/2#

YH=HZ-L0

PublicSubDetailCalcu()

DimiAsInteger

DimjAsDouble

DimkAsInteger

DimiiAsDouble

DimPTmpAsDouble

DimLTmpAsDouble

DimLTmp2AsDouble

DimDeltaAsDouble

DimDelta0AsDouble

DimpnAsDouble

UB=0

j=ZH\100

PTmp=ZH+c

LTmp=c

'

缓和曲线计算

WhilePTmp<

HY

IfPTmp\100>

jThen

j=PTmp\100

ReDimPreserveDetailH(UB)

LTmp2=j*100#-ZH

ii=LTmp2*LTmp2*Ro/(6#*R*L0)

SetDetailsValueDetailH(),(UB+1)&

"

&

Format(j*100,"

0.00"

),ii'

百米桩

IfPTmp/100>

UB=UB+1

EndIf

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)

ReDimPreserveDetailY(UB)

SetDetailsValueDetailY(),(UB+1)&

),0

ii=0

UB=UB+

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

当前位置:首页 > 高中教育 > 英语

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

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