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

柱面坐標下基于OpenGL的非均勻FDTD網格的生成

2008-01-01 00:00:00周國祥潘保國王春艷
計算機應用研究 2008年5期

摘要:詳細介紹了一種在柱面坐標系下非均勻FDTD(finite difference time domain,時域有限差分)網格的生成算法,并且利用OpenGL技術對其一維、二維、三維網格圖形進行實現。一般地,使用傳統方法進行三維圖像的生成與消隱比較復雜,而采用OpenGL可以非常方便地對以上問題實現快速生成以及高效消隱。

關鍵詞:非均勻FDTD網格;柱面坐標;網格圖形;消隱

中圖分類號:TP391文獻標志碼:A

文章編號:1001-3695(2008)05-1593-03

FDTD方法是一種為麥克斯韋方程提供數值求解的有效方法。它的優點在于能夠有效地模擬電磁場的特征,使求解的問題簡化、減少了計算的數據量、降低了計算誤差、大大提高了計算效率、加快了收斂速度。但在實際應用中,首先要對計算區域進行離散化,為FDTD提供網格坐標。如果該網格坐標過于稠密,將會增加系統計算的開銷,效率低下;如果該網格坐標過于稀疏,將會影響求解的精度。FDTD的計算是否精確和有效很大程度取決于生成的網格坐標和每個網格點上的介質參數。所以,用戶擁有一個性能良好的網格生成系統,是非常重要和有幫助的。

一個實用的網格生成系統應該是這樣的,用戶任意提供一個包含原始數據、用戶要求的輸入文件,網格生成系統可以快速、準確地在繪制出相應的1D、2D、3D圖形,并同時生成相應的介質數據文件和網格坐標文件。這些輸出文件可以作為FDTD程序的輸入數據,而產生的網格是用戶可視、可調的。一個可靠、高效的網格坐標生成算法在網格生成系統中就尤為重要。

1生成網格的基本原則

前面已經提到,如果網格坐標過于稠密或稀疏,都會帶來相應的問題。為了解決這一問題,通常采用非均勻(non-uniform)FDTD法,即在電磁場強度變化大、結構比較復雜的地方,采用高密度的網格來描述;而在電磁場強度變化小,結構簡單的地方使用相對密度比較稀疏的網格來描述。根據電磁學理論,一般在兩種不同的介質交界處,電磁場強度變化大,則需要生成稠密的網格,而在同一種介質中心處,電磁場強度變化小,生成比較稀疏的網格即可。另外,需要注意在ρ、θ、z方向上的任何一個計算域或相鄰的計算域中,任意兩個相鄰的網格尺寸的變化必須很小,整個計算域內的網格尺寸是按照一個給定的比率進行變化。也就是說,計算域內的網格尺寸是漸漸的、平滑的變化,否則,將會導致FDTD在計算上的嚴重失誤。

2生成網格的算法

2.1劃分區間

一般地,用戶提供的是每個物體在計算域中的幾何坐標和介質參數。如果直接使用該坐標進行計算,分別在其上生成網格,則很可能會出現重疊區。如某個物體的ρ方向的區間是[0,2],而另一個物體的ρ方向的區間是[1,3],則此時會出現重疊區間[1,2]。如果仍然在原來給定的兩個區間里各自生成網格,顯然不能滿足電磁學上的需要,而且還會出現網格重疊或毫無規律的網格分布。為此,必須對所有物體的每個方向上的區間進行重新劃分。劃分的原則是將所有的區間之間重疊的部分,提取出來作為一個單獨的區間來考慮。

在實際的一個柱面坐標系統下,需要分別地對ρ、θ和z方向上的網格區間進行劃分。此處,僅以ρ方向來描述網格區間的劃分過程,步驟如下:

a)初始化一維數組G,用來保存區間劃分以后的數據,初始化整型變量n=0保存數組G的長度。

b)讀入一個未處理物體的ρ方向上的區間,將左端點值與數組G中的元素G(0)到G(n)進行比較。若左端點值已經存在于其中,略過;否則,將左端點值插入數組G中的適當位置,保持其中元素的從小到大的有序性,并置n=n+1。以同樣的方法處理右端點值。

c)如果所有的物體均已處理,結束;否則,轉b)。

經過處理以后,則得到劃分以后的n個區間,即[G(0),G(1)],[G(1),G(2)],…,[G(n-1),G(n)]。

2.2產生網格坐標

經過前面的區間劃分,將原來物體的幾何區間重新劃分,產生一組新的區間,這些區間之間不再有重疊現象,因而可以分別對這些子區間進行網格坐標生成。由于劃分以后每個子區間的兩端總是與不同的子區間或不同的物體相連接,在這些邊界處需要用較稠密的網格,而在子區間的中間部分可以用比較稀疏的網格。也就是說,無論是哪個區間里的網格尺寸都是由靠近邊界處的最小,然后漸大,到中間位置時達到最大,然后又漸小,到另一端點邊界處達到最小。

3網格生成

在以前的研發中,一般均使用微軟API(application programming interface)函數進行繪制網格圖形。繪圖時以線段或圓弧為基礎,繪制速度慢,而且在進行平移、縮放、旋轉等變換時帶來巨大的計算量,導致系統響應速度變慢,顯示效果差。另外,繪圖時網格圖形的線條消隱是主要難點,實體的復雜性以及靈活變換使得可見線段或可見面的判定(visual-line or vi-sual-surface detection)具有一定的局限性。

對于一個三維物體,當沿著投影視線觀察它時,由于物體中各種表面或其他物體的遮擋, 使某些線段或面成為不可見,這些不可見的線段或面就稱為隱藏線或隱藏面。為了使計算機顯示圖像有一定的逼真感,在確定了觀測點及觀察方向后,首先要解決的問題,就是決定顯示對象的哪些部分是可見的,哪些部分為自身或其他物體所遮擋,因而是不可見的,即找出隱藏線和隱藏面。消除這些不可見的部分,只顯示可見的線、面,可以使所顯示的圖形沒有二義性。

自開發第一個三維圖形系統開始,消隱問題一直是各種三維圖形系統的重要問題。到目前為止,已經提出了很多有效的消隱算法,如浮動水平算法、羅伯茨算法、Z緩沖區算法、畫家算法、區域分割算法、掃描線算法等。值得注意的是,沒有一種算法適合于各種復雜多變的應用領域,每一種算法一般都有其各自的特點,很難說哪種算法最好。故不同的領域應采用不同的算法。例如,在實時模擬飛行員的模擬系統中就必須使用快速的消隱算法,甚至用專門的硬件來實現算法。

OpenGL(open graphics library)是由SGI公司于1992年推出的一套獨立于操作系統和硬件環境的開放式三維圖形庫,有著強大的圖形功能和良好的跨平臺移植能力,目前已被廣泛應用于可視化技術、實體造型、CAD/CAM和模擬仿真等諸多領域,成為事實上的圖形標準。OpenGL是一種過程性的圖形API,每臺計算機的系統平臺都有自己的函數,由這些函數實現方法,把窗口或位圖的繪制權交給OpenGL。

OpenGL提供了顏色緩沖區、深度緩存區、模板緩存區和累加緩存區來存儲每個像素的數據。利用深度緩存區能有效地實現圖形消隱,它是OpenGL的特色之一。深度緩存區中存儲了屏幕上每個像素的深度值,即觀察點到窗口每一個像素的距離。如果指定的深度值通過檢測,那么像素新的深度值將替換深度緩存中原有的深度值。這種方法符合人們對客觀事物的感官認識。

在程序初始化時,首先使用glClearDepth 1#將窗口中所有像素的深度值設置為最大值;然后使用glEnable glcDepthTest打開深度檢測開關,完成圖形繪圖后,應使用glDisable glcDepthTest函數禁止深度檢測;最后再使用glDepthFunc cfLEqual設置所作的深度測試的類型,還可以使用glHint htPerspectiveCorrection-Hint,hmNicest設置精細的透視修正。經過了以上的設置后, OpenGL即可繪出具有消隱效果的三維圖形。

在進行FDTD網格圖形繪制時,要繪制的網格是由多個物體(或分割以后的區域)組成的,所以需要逐個對每個物體進行繪制。可以通過glNewList創建OpenGL顯示列表(display list),它是由一組OpenGL函數語句組成。在對圖形進行平移、旋轉、縮放等操作時可以使用glCallList函數調用顯示列表,即依次執行列表中的函數語句。這種設計可以改善程序的運行性能,尤其是網絡性能。

考慮到直接繪制網格線難以實現消隱的效果,因為直線不具有二維面積這一屬性,所以它不能對后面的網格線進行遮蓋。這樣,雖然OpenGL在繪制網格圖形時可以實現消隱的效果,但是因處在前面的網格線無法遮蓋住后側的網格線,生成的圖形看起來仍然很不美觀。為了解決這一問題,本文采取以下策略:先使用一種比較淺的顏色把物體的各個表面繪制出來,然后再在每個面上來繪制它的網格線。這樣處在后側的網格線將會被前側的淺色的物體表面完全遮蓋住,而且又不影響前側的網格線的顯示。這樣就可以非常方便地解決了前面出現的問題。

下面先來看看如何繪制物體的各個面。在柱面坐標系下的物體,一般地,有圖1所示的幾種情況。對于圖1(a)類型的物體,一共有上、下兩個圓面以及側面。對于圓面,可以首先把圓周平均分成n等份(n越大,圖像越精細,計算量就越大),任取相鄰的兩個點以及圓心使用bmTriangles方法繪制三角形面,當所有的三角形面繪制完畢,則近似的圓面就繪制成功。對于側面,在側面的一端的圓周上采用和前面一樣的方法任取兩個相鄰的點,然后將它們在另一端圓周上的作正投影得到對應的兩個點,將這四個點使用bmQuads方法繪制四邊形面,當把所有相鄰的點都取出做四邊形面,則近似的側面就繪制成功,如圖2所示。對于圖1(b)類型的物體,比起圖1(a)類型的物體僅僅多了兩個矩形的側面而已,所以只需要使用bmQuads方法把這兩個矩形面繪制出來即可;對于類型圖1(c)的物體,與類型圖1(a)不一樣的是上面是一個圓環,此時不能像圖1(a)中那樣使用一系列的三角形面來代替圓面,而只能使用一系列的四邊形面來代替,如圖3所示;對于類型圖1(d)的物體,方法完全類似。

再來看看如何繪制物體的網格線。在柱面坐標系下,網格線不外乎是直線和圓弧。對于直線,可以使用bmLines方法繪制出。對于圓弧,既可以使用OpenGL內的專門用來繪制圓弧的函數來進行繪制,也可以使用bmLineStrip方法繪制首尾相連的折線段來代替。

4結束語

在一個電磁場非均勻FDTD網格自動生成系統中,生成網格坐標的算法以及繪制網格的方法是至關重要的。生成網格坐標算法的優劣在于能否提供正確有效并且快速高效的網格點坐標;繪制網格的方法的優劣在于能否加快非均勻FDTD網格圖形的繪制過程,實現圖形的高效消隱、提高后續的電磁場FDTD仿真及模擬計算的精確度。按照本文的思路,筆者已經設計出相關軟件,事實證明文中的方法生成的網格坐標正確可靠,繪制的網格圖形快速高效(圖4)。

參考文獻:

[1]周國祥,楊明武,侯整風.在直角坐標系下一種快速有效產生非均勻FDTD網格的算法[J].微波學報,2002,18(2):67-70.

[2]CHEN Yin-chao,MITTRA R,HARMS P.FDTD algorithm for solving Maxwell’s equations in rotationally symmetrical geometries[J].IEEE Trans on Microwave Theory and Techniques,1999,44(6):832-839.

[3]YEE K S. Numerical solution of initial boundary value problems involving Maxwell’s equations in isotropic media[J].IEEE Trans on Antennas and Propagation,1966,14(3):302-307.

[4]ZHOU Guo-xiang,CHEN Yin-chao.Efficient non-uniform orthogonal mesh generation algorithm for cylindrical finite difference time applications [J].Chinese Journal of Electronics,2001,10(3):292-295.

[5]ZHOU Guo-xiang,YANG Zi-jiang.Extended BOR-FDTD analysis for horn antennas[J].Chinese Journal of Electronics,2005,14(4):735-738.

[6]SHEN G,ZHOU Guo-xiang.Analysis and design of cylindrical mult: layered MICs using a unified non-uniform FDTD algorithm [J].Microwave Optical Technology Letters,2002,33(4):254-262.

[7]YU W,MITTRA R.A conformal FDTD software package modeling antennas and microstrip circuit component[J].IEEE Trans on Antennas and Propagation,2000,42(5):28-39.

[8]周國祥,程萍,蔣經國,等.直角坐標系下非均勻FDTD網格生成系統[J].微波學報,2005,21(2):56-59.

[9]YANG M,CHEN Yin-chao,BEKER B.Dual frequency U-shaped planar microstrip antenna for mobile telephone communications[J]. Recent Research Development of Microwave Theory and Techniques,2002,2:279-294.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产伦片中文免费观看| 乱人伦99久久| 国精品91人妻无码一区二区三区| a毛片基地免费大全| 国产人在线成免费视频| 操国产美女| 毛片三级在线观看| 亚洲精品色AV无码看| 99热这里只有精品免费| 色婷婷成人| 国产成人综合久久精品下载| 91精品国产综合久久香蕉922 | 欧美97欧美综合色伦图| 日韩小视频网站hq| 亚洲成年人网| 爱做久久久久久| 国产福利一区视频| 日本不卡视频在线| 激情综合图区| 国产免费精彩视频| 久久综合色天堂av| 欧美一区二区啪啪| 亚洲中文久久精品无玛| 无码一区二区三区视频在线播放| 免费国产小视频在线观看| 久久永久视频| 好吊日免费视频| 婷婷亚洲视频| 国产不卡网| 狠狠做深爱婷婷久久一区| 欧美性精品| 在线播放精品一区二区啪视频| 毛片大全免费观看| 在线色综合| 亚洲伊人电影| 精品国产自在现线看久久| 在线观看无码a∨| 福利在线不卡一区| 真实国产乱子伦高清| 成人一区在线| 欧美一区二区精品久久久| 日韩在线欧美在线| www亚洲天堂| 97精品久久久大香线焦| 久久99热这里只有精品免费看| 大乳丰满人妻中文字幕日本| 美女啪啪无遮挡| 国产xx在线观看| 凹凸精品免费精品视频| 999精品视频在线| 波多野吉衣一区二区三区av| 亚洲国产成人精品一二区| 欧美a级完整在线观看| 国产色婷婷| 色吊丝av中文字幕| 亚洲精品成人7777在线观看| 精品福利网| 亚洲国产精品人久久电影| 男女性色大片免费网站| 亚洲中字无码AV电影在线观看| 国产精品网曝门免费视频| 99热最新网址| 欧美一级99在线观看国产| 国产网站一区二区三区| 四虎影视无码永久免费观看| 国产精品不卡永久免费| 国产丰满大乳无码免费播放| 国产欧美日韩综合一区在线播放| 亚洲毛片一级带毛片基地| 波多野结衣无码中文字幕在线观看一区二区 | 国产麻豆另类AV| 日韩毛片免费视频| 国产精品美人久久久久久AV| 无码日韩精品91超碰| 日本成人精品视频| 秋霞午夜国产精品成人片| 少妇精品在线| 国产一级毛片在线| 伊人久久综在合线亚洲91| 91丝袜在线观看| 久久人人爽人人爽人人片aV东京热| 综合五月天网|