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