999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談跑道視距檢查的編程技術

2014-08-27 00:13:17伍祥榮
中國高新技術企業 2014年16期

伍祥榮

摘要:文章通過對跑道縱坡數學研究并利用VS2010編程技術解決了跑道視距檢查問題。在已知跑道各段坡度、坡長和變坡豎曲線曲率半徑或者已有道面各分塊高程后,通過建立平面坐標系,分析跑道各坡段方程、連接相鄰坡段之間的豎曲線方程和視線方程后,設計出跑道視距檢查程序。通過試驗,設計出的跑道視距檢查程序不僅能檢查新建跑道視距問題,而且能檢查已有道面跑道視距問題。

關鍵詞:跑道視距;視距檢查;平面坐標系;編程技術

中圖分類號:V351文獻標識碼:A文章編號:1009-2374(2014)24-0095-04

在民用機場飛行區地勢設計中,跑道縱斷面設計對整個機場土石方量影響非常大,特別在西南地區修建機場,跑道縱坡對整個機場的投資影響更為明顯。在縱斷面設計中,通常會根據原地形走勢分段設計縱坡,這就不可避免地需要進行跑道視距檢查。

本文通過分析跑道各個坡段坡度、坡長及變坡豎曲線曲率半徑之間的數學關系,推導出了跑道縱斷面上各點的高程,然后比較跑道縱斷面高程和相應段的視線高程之間的大小,根據大小判斷跑道視距是否滿足要求。

1跑道縱斷面高程分析

1.1求各坡段的方程

在進行跑道縱斷面設計中,通常先設計出每一段的坡度和坡長,即坡度和坡長已知。設第一坡段的坡長和坡度分別為pc1和pd1(升坡為正,降坡為負),……第n坡段的坡長和坡度分別為pcn和pdn。

通過建立平面坐標系,定義第一坡段的起點為(x0,y0)=(0,0),終點為(x1,y1),通過兩點式方程可知第一坡段的平面方程為:

(y-y0)/(x-x0)=(y1-y0)/(x1-x0)

pd1=(y1-y0)/(x1-x0)

x1=pc1

y1=pc1×pd1

經整理:y=pd1×(x-x0)+y0

第n坡段的起點為(xn-1,yn-1),終點為(xn,yn),通過兩點式方程可知第n坡段的平面方程為:

y=pdn×(x-xn-1)+yn-1

xn=pci

yn=(pci×pdi)

1.2求連接各坡段的豎曲線方程

要想求得連接各坡段的豎曲線方程,必先求出豎曲線的圓心坐標,設連接第n-1段跑道和n段坡段的豎曲線半徑為Rn、圓心坐標為(Onx,Ony)。分以下兩種情況:

1.2.1當pdn-1<pdn,即后一坡段的坡段大于前一坡段的坡度時,連接這兩坡段的豎曲線為凹曲線。豎曲線圓心坐標為以下兩條直線的交點:

y=pdn-1(x-xn-2)+yn-2+Rn(1+pdn-12)0.5

y=pdn(x-xn-1)+yn-1+Rn(1+pdn2)0.5

即:

Onx=[pdnxn-1-pdn-1xn-2+Rn(1+pdn-12)0.5-Rn(1+pdn2)0.5+yn-2-yn-1]/(pdn-pdn-1)

Ony=pdn-1{[pdnxn-1-pdn-1xn-2+Rn(1+pdn-12)0.5-Rn(1+pdn2)0.5+yn-2-yn-1]/(pdn-pdn-1)-xn-2}+yn-2+Rn(1+pdn-12)0.5

1.2.2當pdn-1>pdn,即后一坡段的坡段小于前一坡段的坡度時,連接這兩坡段的豎曲線為凸曲線。豎曲線圓心坐標為以下兩條直線的交點:

y=pdn-1(x-xn-2)+yn-2-Rn(1+pdn-12)0.5

y=pdn(x-xn-1)+yn-1-Rn(1+pdn2)0.5

即:

Onx=[pdnxn-1-pdn-1xn-2-Rn(1+pdn-12)0.5+Rn(1+pdn2)0.5+yn-2-yn-1]/(pdn-pdn-1)

Ony=pdn-1{[pdnxn-1-pdn-1xn-2-Rn(1+pdn-12)0.5+Rn(1+pdn2)0.5+yn-2-yn-1]/(pdn-pdn-1)-xn-2}+yn-2-Rn(1+pdn-12)0.5

1.2.3求豎曲線方程。在已知圓心坐標及圓半徑的情況下,圓的方程為:

(x-Onx)2+(y-Ony)2=Rn2

1.3求豎曲線與其前坡段和后坡段的交點

1.3.1豎曲線與其前坡段的交點。設連接第n-1段坡段和n段坡段的豎曲線On,則On和第n-1段坡段的交點為下列兩直線的交點(xnq,ynq):

y=pdn-1×(x-xn-2)+yn-2

y=(Onx–x)/pdn-1+Ony

xnq=(Ony+Onx/pdn-1+pdn-1xn-2-yn-2)/(pdn-1+1/pdn-1)

ynq=pdn-1×[(Ony+Onx/pdn-1+pdn-1xn-2-yn-2)/(pdn-1+1/pdn-1)-xn-2]+yn-2

1.3.2豎曲線與其后坡段的交點。設連接第n-1段坡段和n段坡段的豎曲線On,則On和第n段坡段的交點為下列兩直線的交點(xnh,ynh):

y=pdn×(x-xn-1)+yn-1

y=(Onx–x)/pdn+Ony

即:

xnh=(Ony+Onx/pdn+pdnxn-1-yn-1)/(pdn+1/pdn)

ynh=pdn×[(Ony+Onx/pdn+pdnxn-1-yn-1)/(pdn+1/pdn)-xn-1]+yn-1

2視線高程分析

通過前面跑道縱斷面高程分析,然后建立一系列方程可以求出跑道縱斷面上各點的高程。

根據《民用機場飛行區技術標準》(MH5001-2013)6.1.6.2條規定,當跑道縱向變坡不能避免時,應具有下列無障礙視線:

——飛行區指標Ⅱ為C、D、E、F的跑道,在高于跑道3m的任何一點能通視至少半條跑道長度內的高于跑道3m的任何其他點;

——飛行區指標Ⅱ為B的跑道,在高于跑道2m的任何一點能通視至少半條跑道長度內的高于跑道2m的任何其他點;

——飛行區指標Ⅱ為A的跑道,在高于跑道1.5m的任何一點能通視至少半條跑道長度內的高于跑道1.5m的任何其他點。

設跑道長度為pdqc,第n段視線檢查的范圍為(a,b),有b=a+pdqc/2,對應于a點的跑道高程為ya,對應于b點的跑道高程為yb,在高于跑道hm的任何一點能通視至少半條跑道長度內的高于跑道hm的任何其他點,則此范圍內的跑道視線高程方程為:

y=2(yb-ya)(x-a)/pdqc+ya+h

3視線高程和跑道縱斷面高程的比較

在已知跑道縱斷面高程和相應需要檢查段視線高程的基礎上,通過比較兩者相應點的高程,如果視線高程高于跑道縱斷面高程則視距檢查符合要求,反之則視距檢查不符合要求。

4程序設計

通過對上述分析過程的整理,采用VS2010編程設計,完整的實現了跑道視距檢查問題。

程序:

intmain()

{

intmoshi;

cin>>moshi;(輸入視距檢查模式,1為新建工程;2為既有工程)

if(moshi==1)

{

intbpds;//聲明變坡段數

struct

{

intpc;//坡長

doublepd;//坡度

}pdpc[100];//記錄坡度和坡長

cin>>bpds;//輸入變坡段數

intnum=0;//總坡長統計

intbj[50];//聲明豎曲線半徑

intbc;//跑道高程和視線高程比較時所取的步長

doublexdg;//相對于跑道的物體高

struct

{

intx;//橫坐標

doubley;//縱坐標

}pcdd[100];//坡長端點坐標

FILE*fp2;//記錄坡長端點坐標文 struct

{

intx;//橫坐標

doubley;//縱坐標

}pdgc[10000];//跑道高程坐標

FILE*fp1;//記錄跑道上按步長寫入的點縱橫坐標

intp=0;

intb=0;

for(intq=0;q

{

while(pcdd[q].x<=p&&p<=pcdd[q+1].x&&p<=num)

{

pdgc[b].x=p;

pdgc[b].y=(pcdd[q+1].y-pcdd[q].y)/(pcdd[q+1].x-pcdd[q].x)*(p-pcdd[q].x)+pcdd[q].y;

p=p+bc;

b=b+1;

}

}

struct

{

doublex;//橫坐標

doubley;//縱坐標

}yxzb[50];//豎曲線圓心坐標

FILE*fp3;//記錄豎曲線圓心縱橫坐標

for(intjd=0;jd

{

if(pdpc[jd+1].pd<=pdpc[jd+2].pd)

if(pdpc[jd+1].pd==pdpc[jd+2].pd)

else

{

yxzb[jd].x=(pcdd[jd].x*pdpc[jd+1].pd-pcdd[jd+1].x*pdpc[jd+2].pd+pcdd[jd+1].y-pcdd[jd].y+bj[jd]*(pow((1.0000+pow(pdpc[jd+2].pd,2.0)),0.5)-pow((1.0000+pow(pdpc[jd+1].pd,2.0)),0.5)))/(pdpc[jd+1].pd-pdpc[jd+2].pd);

yxzb[jd].y=pcdd[jd].y+pdpc[jd+1].pd*(yxzb[jd].x-pcdd[jd].x)+bj[jd]*pow((1.0000+pow(pdpc[jd+1].pd,2.0)),0.5);

}

else

{

yxzb[jd].x=(pcdd[jd].x*pdpc[jd+1].pd-pcdd[jd+1].x*pdpc[jd+2].pd+pcdd[jd+1].y-pcdd[jd].y+bj[jd]*(pow((1.0000+pow(pdpc[jd+1].pd,2.0)),0.5)-pow((1.0000+pow(pdpc[jd+2].pd,2.0)),0.5)))/(pdpc[jd+1].pd-pdpc[jd+2].pd);

yxzb[jd].y=pcdd[jd].y+pdpc[jd+1].pd*(yxzb[jd].x-pcdd[jd].x)-bj[jd]*pow((1.0000+pow(pdpc[jd+1].pd,2.0)),0.5);

} fprintf(fp3,”%lf %lf ”,yxzb[jd].x,yxzb[jd].y);//將豎曲線圓心坐標寫入文件

}

struct

{

doublex;//橫坐標

doubley;//縱坐標

}yzzjd[100];//豎曲線與直線的左交點坐標

struct

{

doublex;//橫坐標

doubley;//縱坐標

}yzyjd[100];//豎曲線與直線的右交點坐標

FILE*fp4;//記錄豎曲線與直線交點的縱橫坐標

for(intjd=0;jd

{

yzzjd[jd].x=(yxzb[jd].y+yxzb[jd].x/pdpc[jd+1].pd+pdpc[jd+1].pd*pcdd[jd].x-pcdd[jd].y)/(pdpc[jd+1].pd+1/pdpc[jd+1].pd);//豎曲線與左邊直線的交點橫坐標

yzzjd[jd].y=pcdd[jd].y+pdpc[jd+1].pd*yzzjd[jd].x-pdpc[jd+1].pd*pcdd[jd].x;//豎曲線與左邊直線的交點縱坐標

yzyjd[jd].x=(yxzb[jd].y+yxzb[jd].x/pdpc[jd+2].pd+pdpc[jd+2].pd*pcdd[jd+1].x-pcdd[jd+1].y)/(pdpc[jd+2].pd+1/pdpc[jd+2].pd);//豎曲線與右邊直線的交點橫坐標

yzyjd[jd].y=pcdd[jd+1].y+pdpc[jd+2].pd*yzyjd[jd].x-pdpc[jd+2].pd*pcdd[jd+1].x;//豎曲線與右邊直線的交點縱坐標

fprintf(fp4,”%lf %lf ”,yzzjd[jd].x,yzzjd[jd].y);//寫入豎曲線和豎曲線左邊直線的交點坐標

fprintf(fp4,”%lf %lf ”,yzyjd[jd].x,yzyjd[jd].y);//寫入豎曲線和豎曲線右邊直線的交點坐標

doublejhz=bc*ceil(yzzjd[jd].x/bc);

doublejhy=bc*floor(yzyjd[jd].x/bc);

intgzz=(int)ceil(yzzjd[jd].x/bc);

while(jhz<=jhy)

{

if(pdpc[jd+1].pd

pdgc[gzz].y=yxzb[jd].y-pow((pow(bj[jd],2.0)-pow((jhz-yxzb[jd].x),2.0)),0.5);//對兩直線之間的凹圓弧高程重新賦值

else

pdgc[gzz].y=yxzb[jd].y+pow((pow(bj[jd],2.0)-pow((jhz-yxzb[jd].x),2.0)),0.5);//對兩直線之間的凸圓弧高程重新賦值

jhz=jhz+bc;

gzz++;

}

}

intbb=0;

intqq=num/bc;

for(intq=0;q

{

fprintf(fp1,”%8d %lf ”,pdgc[q].x,pdgc[q].y);

}

intpp=qq/2;

struct

{

intx;//橫坐標

doubley;//縱坐標

}sxgc[10000];//視線高程坐標

FILE*fp5;//記錄視線高程的縱橫坐標

FILE*fp6;//記錄未通過視距檢查的起始點橫坐標

for(intq=0;q<=qq/2;q++)//視線高程和跑道高程相比較

{

intzhzb=pdgc[q].x;

for(intsy=0;sy<=qq/2;sy++)

{

sxgc[sy].x=zhzb;

sxgc[sy].y=2*(pdgc[pp].y-pdgc[q].y)*(sxgc[sy].x-pdgc[q].x)/num+pdgc[q].y+xdg;

zhzb=zhzb+bc;

fprintf(fp5,”%8d %lf ”,sxgc[sy].x,sxgc[sy].y);

}

inttu=q;

for(intsk=0;sk<=qq/2;sk++)

{

if(sxgc[sk].y

{

cout<

fprintf(fp6,”%d %d ”,q*bc,num/2+q*bc);

break;

}

tu++;

}

cout<<”正在進行檢查,請稍候......”<

pp++;

}

fclose(fp1);

fclose(fp2);

fclose(fp3);

fclose(fp4);

fclose(fp5);

fclose(fp6);

getch();

}

else

{

省略既有跑道高程的視距檢查

}

return0;

}

圖1跑道縱坡示意圖

5結語

通過對跑道縱斷面高程和相應段視線高程逐一比較,能準確的判斷跑道視距是否滿足規范要求,為跑道縱斷面的科學設計奠定了基礎。

參考文獻

[1]?民用機場飛行區技術標準(MH5001-2013)[S].

主站蜘蛛池模板: 国产精品视频公开费视频| 亚洲天堂首页| 免费a级毛片18以上观看精品| 女人18一级毛片免费观看| 亚洲福利视频一区二区| 亚洲欧美日韩中文字幕一区二区三区| 九九香蕉视频| 国产色婷婷| 国产一区二区三区在线观看免费| 国产精品无码久久久久久| 亚洲看片网| 亚洲综合色在线| 99一级毛片| 欧美精品1区| 国产成人精品一区二区免费看京| 成人福利免费在线观看| 婷婷伊人久久| 亚洲激情区| 亚洲国产日韩欧美在线| 无码在线激情片| 精品国产成人三级在线观看| 午夜福利免费视频| 久久久亚洲色| 久无码久无码av无码| www.狠狠| 亚洲一级毛片免费观看| 久久精品视频亚洲| 一级毛片免费观看不卡视频| 制服丝袜在线视频香蕉| 欧美.成人.综合在线| 亚洲制服丝袜第一页| 精久久久久无码区中文字幕| 日韩精品少妇无码受不了| 亚洲精品无码专区在线观看| 99精品伊人久久久大香线蕉| 真实国产乱子伦视频| 国内精品久久久久久久久久影视| 秋霞国产在线| 国产日韩精品一区在线不卡| 日韩经典精品无码一区二区| 极品私人尤物在线精品首页| 国产精品观看视频免费完整版| 刘亦菲一区二区在线观看| 国产成人一区| 国产成人精品高清不卡在线| 中文成人在线| 亚洲欧美成aⅴ人在线观看| 国产av无码日韩av无码网站| 在线亚洲精品福利网址导航| 天堂av高清一区二区三区| 精品亚洲欧美中文字幕在线看 | 亚洲色婷婷一区二区| 99久视频| 网久久综合| 很黄的网站在线观看| 五月丁香伊人啪啪手机免费观看| 欧美a在线| 久精品色妇丰满人妻| 亚洲AV一二三区无码AV蜜桃| 青青草原国产一区二区| 欧美va亚洲va香蕉在线| 国产国产人成免费视频77777| 色天堂无毒不卡| 99精品在线视频观看| 天天综合网色| 久热re国产手机在线观看| 91精品人妻互换| 青青草91视频| 亚洲视频无码| a级毛片毛片免费观看久潮| 九九九精品视频| 午夜天堂视频| 国产浮力第一页永久地址| 蜜臀AVWWW国产天堂| 干中文字幕| 亚洲 欧美 偷自乱 图片| 欧美日韩免费| 亚洲综合专区| 精品国产美女福到在线不卡f| 亚洲男人天堂2020| 日韩精品毛片人妻AV不卡| 久久大香香蕉国产免费网站 |