国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談跑道視距檢查的編程技術(shù)

2014-08-27 00:13:17伍祥榮
關(guān)鍵詞:編程技術(shù)

伍祥榮

摘要:文章通過(guò)對(duì)跑道縱坡數(shù)學(xué)研究并利用VS2010編程技術(shù)解決了跑道視距檢查問(wèn)題。在已知跑道各段坡度、坡長(zhǎng)和變坡豎曲線曲率半徑或者已有道面各分塊高程后,通過(guò)建立平面坐標(biāo)系,分析跑道各坡段方程、連接相鄰坡段之間的豎曲線方程和視線方程后,設(shè)計(jì)出跑道視距檢查程序。通過(guò)試驗(yàn),設(shè)計(jì)出的跑道視距檢查程序不僅能檢查新建跑道視距問(wèn)題,而且能檢查已有道面跑道視距問(wèn)題。

關(guān)鍵詞:跑道視距;視距檢查;平面坐標(biāo)系;編程技術(shù)

中圖分類號(hào):V351文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-2374(2014)24-0095-04

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

本文通過(guò)分析跑道各個(gè)坡段坡度、坡長(zhǎng)及變坡豎曲線曲率半徑之間的數(shù)學(xué)關(guān)系,推導(dǎo)出了跑道縱斷面上各點(diǎn)的高程,然后比較跑道縱斷面高程和相應(yīng)段的視線高程之間的大小,根據(jù)大小判斷跑道視距是否滿足要求。

1跑道縱斷面高程分析

1.1求各坡段的方程

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

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

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

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

x1=pc1

y1=pc1×pd1

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

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

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

xn=pci

yn=(pci×pdi)

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

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

1.2.1當(dāng)pdn-1<pdn,即后一坡段的坡段大于前一坡段的坡度時(shí),連接這兩坡段的豎曲線為凹曲線。豎曲線圓心坐標(biāo)為以下兩條直線的交點(diǎn):

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當(dāng)pdn-1>pdn,即后一坡段的坡段小于前一坡段的坡度時(shí),連接這兩坡段的豎曲線為凸曲線。豎曲線圓心坐標(biāo)為以下兩條直線的交點(diǎn):

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求豎曲線方程。在已知圓心坐標(biāo)及圓半徑的情況下,圓的方程為:

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

1.3求豎曲線與其前坡段和后坡段的交點(diǎn)

1.3.1豎曲線與其前坡段的交點(diǎn)。設(shè)連接第n-1段坡段和n段坡段的豎曲線On,則On和第n-1段坡段的交點(diǎn)為下列兩直線的交點(diǎn)(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豎曲線與其后坡段的交點(diǎn)。設(shè)連接第n-1段坡段和n段坡段的豎曲線On,則On和第n段坡段的交點(diǎn)為下列兩直線的交點(diǎ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視線高程分析

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

根據(jù)《民用機(jī)場(chǎng)飛行區(qū)技術(shù)標(biāo)準(zhǔn)》(MH5001-2013)6.1.6.2條規(guī)定,當(dāng)跑道縱向變坡不能避免時(shí),應(yīng)具有下列無(wú)障礙視線:

——飛行區(qū)指標(biāo)Ⅱ?yàn)镃、D、E、F的跑道,在高于跑道3m的任何一點(diǎn)能通視至少半條跑道長(zhǎng)度內(nèi)的高于跑道3m的任何其他點(diǎn);

——飛行區(qū)指標(biāo)Ⅱ?yàn)锽的跑道,在高于跑道2m的任何一點(diǎn)能通視至少半條跑道長(zhǎng)度內(nèi)的高于跑道2m的任何其他點(diǎn);

——飛行區(qū)指標(biāo)Ⅱ?yàn)锳的跑道,在高于跑道1.5m的任何一點(diǎn)能通視至少半條跑道長(zhǎng)度內(nèi)的高于跑道1.5m的任何其他點(diǎn)。

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

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

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

在已知跑道縱斷面高程和相應(yīng)需要檢查段視線高程的基礎(chǔ)上,通過(guò)比較兩者相應(yīng)點(diǎn)的高程,如果視線高程高于跑道縱斷面高程則視距檢查符合要求,反之則視距檢查不符合要求。

4程序設(shè)計(jì)

通過(guò)對(duì)上述分析過(guò)程的整理,采用VS2010編程設(shè)計(jì),完整的實(shí)現(xiàn)了跑道視距檢查問(wèn)題。

程序:

intmain()

{

intmoshi;

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

if(moshi==1)

{

intbpds;//聲明變坡段數(shù)

struct

{

intpc;//坡長(zhǎng)

doublepd;//坡度

}pdpc[100];//記錄坡度和坡長(zhǎng)

cin>>bpds;//輸入變坡段數(shù)

intnum=0;//總坡長(zhǎng)統(tǒng)計(jì)

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

intbc;//跑道高程和視線高程比較時(shí)所取的步長(zhǎng)

doublexdg;//相對(duì)于跑道的物體高

struct

{

intx;//橫坐標(biāo)

doubley;//縱坐標(biāo)

}pcdd[100];//坡長(zhǎng)端點(diǎn)坐標(biāo)

FILE*fp2;//記錄坡長(zhǎng)端點(diǎn)坐標(biāo)文 struct

{

intx;//橫坐標(biāo)

doubley;//縱坐標(biāo)

}pdgc[10000];//跑道高程坐標(biāo)

FILE*fp1;//記錄跑道上按步長(zhǎng)寫(xiě)入的點(diǎn)縱橫坐標(biāo)

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;//橫坐標(biāo)

doubley;//縱坐標(biāo)

}yxzb[50];//豎曲線圓心坐標(biāo)

FILE*fp3;//記錄豎曲線圓心縱橫坐標(biāo)

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);//將豎曲線圓心坐標(biāo)寫(xiě)入文件

}

struct

{

doublex;//橫坐標(biāo)

doubley;//縱坐標(biāo)

}yzzjd[100];//豎曲線與直線的左交點(diǎn)坐標(biāo)

struct

{

doublex;//橫坐標(biāo)

doubley;//縱坐標(biāo)

}yzyjd[100];//豎曲線與直線的右交點(diǎn)坐標(biāo)

FILE*fp4;//記錄豎曲線與直線交點(diǎn)的縱橫坐標(biāo)

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);//豎曲線與左邊直線的交點(diǎn)橫坐標(biāo)

yzzjd[jd].y=pcdd[jd].y+pdpc[jd+1].pd*yzzjd[jd].x-pdpc[jd+1].pd*pcdd[jd].x;//豎曲線與左邊直線的交點(diǎn)縱坐標(biāo)

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);//豎曲線與右邊直線的交點(diǎn)橫坐標(biāo)

yzyjd[jd].y=pcdd[jd+1].y+pdpc[jd+2].pd*yzyjd[jd].x-pdpc[jd+2].pd*pcdd[jd+1].x;//豎曲線與右邊直線的交點(diǎn)縱坐標(biāo)

fprintf(fp4,”%lf %lf ”,yzzjd[jd].x,yzzjd[jd].y);//寫(xiě)入豎曲線和豎曲線左邊直線的交點(diǎn)坐標(biāo)

fprintf(fp4,”%lf %lf ”,yzyjd[jd].x,yzyjd[jd].y);//寫(xiě)入豎曲線和豎曲線右邊直線的交點(diǎn)坐標(biāo)

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);//對(duì)兩直線之間的凹圓弧高程重新賦值

else

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

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;//橫坐標(biāo)

doubley;//縱坐標(biāo)

}sxgc[10000];//視線高程坐標(biāo)

FILE*fp5;//記錄視線高程的縱橫坐標(biāo)

FILE*fp6;//記錄未通過(guò)視距檢查的起始點(diǎn)橫坐標(biāo)

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<<”正在進(jìn)行檢查,請(qǐng)稍候......”<

pp++;

}

fclose(fp1);

fclose(fp2);

fclose(fp3);

fclose(fp4);

fclose(fp5);

fclose(fp6);

getch();

}

else

{

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

}

return0;

}

圖1跑道縱坡示意圖

5結(jié)語(yǔ)

通過(guò)對(duì)跑道縱斷面高程和相應(yīng)段視線高程逐一比較,能準(zhǔn)確的判斷跑道視距是否滿足規(guī)范要求,為跑道縱斷面的科學(xué)設(shè)計(jì)奠定了基礎(chǔ)。

參考文獻(xiàn)

[1]?民用機(jī)場(chǎng)飛行區(qū)技術(shù)標(biāo)準(zhǔn)(MH5001-2013)[S].

猜你喜歡
編程技術(shù)
復(fù)雜零件的數(shù)控加工工藝及編程技術(shù)分析
對(duì)新時(shí)期機(jī)械數(shù)控加工編程技術(shù)的探究
計(jì)算機(jī)圖像處理與變成技術(shù)在檢驗(yàn)中的應(yīng)用
基于Android下電子書(shū)閱讀器的技術(shù)研究
科技視界(2017年33期)2018-02-03 00:18:53
數(shù)據(jù)庫(kù)基于計(jì)算機(jī)軟件工程的編程技術(shù)
高職院校學(xué)生如何學(xué)好數(shù)控編程技術(shù)類課程
復(fù)雜型面數(shù)控加工工藝及編程技術(shù)的分析
淺析PLC編程技術(shù)在電工電子實(shí)驗(yàn)中的應(yīng)用
基于計(jì)算機(jī)軟件工程的數(shù)據(jù)庫(kù)編程技術(shù)
C語(yǔ)言編程技術(shù)的分析研究
濮阳市| 闵行区| 米易县| 修文县| 金溪县| 句容市| 邮箱| 永春县| 桂东县| 鸡泽县| 新沂市| 盐津县| 麻江县| 哈密市| 土默特右旗| 汉沽区| 芦溪县| 全椒县| 绥化市| 鄂托克旗| 太仆寺旗| 荃湾区| 伊宁市| 南华县| 溆浦县| 克什克腾旗| 齐齐哈尔市| 吕梁市| 昂仁县| 句容市| 台江县| 苏尼特右旗| 定结县| 锡林浩特市| 仁化县| 湛江市| 郑州市| 白山市| 突泉县| 通道| 社旗县|