閆曉慧
摘 要 現(xiàn)代飛機(jī)座艙綜合顯示系統(tǒng)中,姿態(tài)畫面的填充是一項(xiàng)非常費(fèi)時(shí)的工作,本文提出一種使用多邊形快速填充姿態(tài)畫面的方法,通過支持繪制多邊形的圖形驅(qū)動(dòng)芯片的配置,來實(shí)現(xiàn)姿態(tài)畫面的快速填充,所繪制的多邊形具有抗鋸齒、反走樣效果。該方法簡(jiǎn)單快速,能夠滿足姿態(tài)畫面的填充速度和顯示效果。
【關(guān)鍵詞】圖形驅(qū)動(dòng)芯片 快速填充 姿態(tài)畫面
1 引言
在飛機(jī)座艙綜合顯示系統(tǒng)中,姿態(tài)畫面是重要的顯示畫面之一。飛機(jī)飛行時(shí),姿態(tài)參數(shù)隨著飛行狀態(tài)的改變而不斷變化,要求顯示系統(tǒng)能提供準(zhǔn)確清晰的畫面,且實(shí)時(shí)更新的。而姿態(tài)指示天地區(qū)域的填充是非常費(fèi)時(shí)的工作。本文針對(duì)支持繪制封閉多邊形的圖形驅(qū)動(dòng)芯片,提出一種直接快速的填充方法,與以往采用水平線或者豎直線掃描方式填充相比,減少了運(yùn)算量和存儲(chǔ)容量。
2 姿態(tài)顯示分析
姿態(tài)顯示畫面一般具有比較固定的圖形特征和變化特點(diǎn),圖形的邊界由四條線段首尾相連而成,有時(shí)要求上下為圓弧形,通常采用半圓覆蓋的方式實(shí)現(xiàn),此處主要描述圖1所示的矩形姿態(tài)顯示畫面。其中AB代表地平線,將整個(gè)封閉區(qū)域分成了天色和地色兩部分,通常褐色代表大地,位于地平線以下;藍(lán)色代表天空,位于地平線以上。當(dāng)飛機(jī)的姿態(tài)發(fā)生變化時(shí),地平線的位置和方向也隨之發(fā)生變化,此時(shí)褐色區(qū)域和藍(lán)色區(qū)域需要進(jìn)行動(dòng)態(tài)重新填充。
下面將動(dòng)態(tài)填充的過程轉(zhuǎn)換為數(shù)學(xué)模型,如圖2所示,矩形姿態(tài)畫面是由坐標(biāo)(OSX,OSY)、(OEX,OSY)、(OEX,OEY)、(OSX,OEY)所圍成區(qū)域;α為傾斜角;R與俯仰角成一定的比例;地平線實(shí)際是以(0,0)為圓心的所有同心園的切線,切線將矩形區(qū)域分成兩個(gè)不同的區(qū)域。根據(jù)不同的斜率K計(jì)算出切線與矩形邊界所在的直線的交點(diǎn)坐標(biāo),即可快速填充天地區(qū)域。
3 快速填充的方法
本文選用支持繪制封閉多邊形的圖形驅(qū)動(dòng)芯片MB86296詳細(xì)介紹該方法的實(shí)現(xiàn)過程。MB86296是一種高性能3D顯卡芯片,其幾何引擎可以通過浮點(diǎn)運(yùn)算實(shí)現(xiàn)精確的數(shù)字化圖形處理,提供高清晰度的圖像,其繪圖功能具有抗鋸齒效果,可通過配置相關(guān)寄存器繪制光滑漂亮的直線及各種封閉多邊形。
3.1 配置寄存器繪制多邊形
0xf101010a //設(shè)置寄存器MDR2
0x00000000
0xf1010114 //設(shè)置寄存器PFBR
0x45000000
0x09e20000 // ClearPolyFlag
0x00000000
0x03000400 //設(shè)置顏色值
Color
0x71e00000 //PolygonBegin
0xXXXXXXXX //x0, y0
0x71ff0001 //SetVertex
0xXXXXXXXX //x1, y1
0x07620002 //DrawVertex
0xXXXXXXXX //x2, y2
0x07620001 //DrawVertex
0xXXXXXXXX //x3, y3
0x07620002 //DrawVertex
0xXXXXXXXX //x4, y4
0x07620001 //DrawVertex2
0xXXXXXXXX //x5, y5
0xf0e10000 //PolygonEnd
3.2 設(shè)置不同的頂點(diǎn)數(shù)同樣可快速繪制三角形和矩形
通過此種方法繪制三角形、矩形及五邊形來快速填充姿態(tài)天地區(qū)域。先判斷俯仰角的大小,與0、±m(xù)in(寬、高)/2這兩個(gè)值作比較,再判斷橫滾角的大小,與0,±90,±180做比較,然后比較斜率K與K1、K2、K3、K4的大小來分情況快速繪制三角形,矩形,五邊形。具體的流程圖如圖3所示。此流程圖僅詳細(xì)描述了一個(gè)分支的快速填充,其他分支相同。
本方法采用了高性能的圖形驅(qū)動(dòng)芯片,僅應(yīng)用了簡(jiǎn)單的計(jì)算,無復(fù)雜的算法,程序運(yùn)行時(shí)間也能保證余量的要求。對(duì)于使用類似圖形驅(qū)動(dòng)芯片的硬件平臺(tái),此方法明顯優(yōu)于以往采用水平線或者豎直線掃描方式填充。
4 結(jié)束語
本文將復(fù)雜的姿態(tài)畫面轉(zhuǎn)化為數(shù)學(xué)模型,通過比較各斜率的大小,確定天色和地色的填充區(qū)域,主要是通過配置MB86296圖形驅(qū)動(dòng)芯片的相關(guān)寄存器,快速繪制多邊形。任意的直線,三角形,四邊形,五邊形都可以繪制,此方法提高了填充速度,減少了存儲(chǔ)空間,能簡(jiǎn)單快速有效的生成全姿態(tài)畫面,且顯示效果能夠滿足人機(jī)功效的要求。
參考文獻(xiàn)
[1]唐波.一種新的全姿態(tài)指示畫面填充算法[J].電光與控制,2008.
[2]賈銀亮.機(jī)載全姿態(tài)指示儀的圖形變換[J].應(yīng)用科學(xué)學(xué)報(bào),2009.
[3]賈銀亮.基于FPGA+DSP的飛機(jī)座艙綜合圖形顯示技術(shù)研究[D].南京航空航天大學(xué)(博士論文),2011.
作者單位
太原航空儀表有限公司 山西省太原市 030006