• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2014-08-27 00:13:17伍祥榮
      中國高新技術(shù)企業(yè) 2014年16期
      關(guān)鍵詞:編程技術(shù)

      伍祥榮

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

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

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

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

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

      1跑道縱斷面高程分析

      1.1求各坡段的方程

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

      通過建立平面坐標(biāo)系,定義第一坡段的起點(diǎn)為(x0,y0)=(0,0),終點(diǎn)為(x1,y1),通過兩點(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),通過兩點(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視線高程分析

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

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

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

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

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

      設(shè)跑道長度為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)能通視至少半條跑道長度內(nèi)的高于跑道hm的任何其他點(diǎn),則此范圍內(nèi)的跑道視線高程方程為:

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

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

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

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

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

      程序:

      intmain()

      {

      intmoshi;

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

      if(moshi==1)

      {

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

      struct

      {

      intpc;//坡長

      doublepd;//坡度

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

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

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

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

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

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

      struct

      {

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

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

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

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

      {

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

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

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

      FILE*fp1;//記錄跑道上按步長寫入的點(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)寫入文件

      }

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

      fprintf(fp4,”%lf %lf ”,yzyjd[jd].x,yzyjd[jd].y);//寫入豎曲線和豎曲線右邊直線的交點(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;//記錄未通過視距檢查的起始點(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é)語

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

      參考文獻(xiàn)

      [1]?民用機(jī)場飛行區(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ù)研究
      科技視界(2017年33期)2018-02-03 00:18:53
      數(shù)據(jù)庫基于計(jì)算機(jī)軟件工程的編程技術(shù)
      高職院校學(xué)生如何學(xué)好數(shù)控編程技術(shù)類課程
      復(fù)雜型面數(shù)控加工工藝及編程技術(shù)的分析
      淺析PLC編程技術(shù)在電工電子實(shí)驗(yàn)中的應(yīng)用
      基于計(jì)算機(jī)軟件工程的數(shù)據(jù)庫編程技術(shù)
      C語言編程技術(shù)的分析研究
      古交市| 阆中市| 镶黄旗| 金门县| 通城县| 洪江市| 吉林省| 喀什市| 寿宁县| 嘉禾县| 汉中市| 高雄县| 泰顺县| 定南县| 大庆市| 湄潭县| 五常市| 福建省| 怀柔区| 阜新市| 江永县| 汪清县| 天祝| 利川市| 宁阳县| 乐安县| 亳州市| 大丰市| 呼图壁县| 革吉县| 郴州市| 恩施市| 奉节县| 南昌县| 梅河口市| 临沭县| 安顺市| 象州县| 中阳县| 滨州市| 丽江市|