呂 娜,紀 紅
(1. 長春電子科技學院光電科學學院,吉林 長春 130012;2. 北華大學計算機科學技術學院,吉林 吉林 132000)
目前計算機軟硬件的發(fā)展速度較快,圖形處理能力迅速提升,在此背景下,人們對可視化軟件仿真效果的需求逐漸增多,且要求也越發(fā)嚴格[1]?;诠こ碳夹g領域,可視化技術能夠完成虛擬樣機、飛行、測試等工作,可視化軟件仿真技術可保證工程設計人員能夠及時識別設計中存在的異常問題[2]??梢暬浖抡婕夹g的應用目的是:為用戶提供多視點、多樣化分析仿真過程的人機交互界面,使界面的操作效果更直觀[3-5]。
偏微分方程是目前科學研究領域、工程技術研究領域常用的數(shù)學工具。比如固體穩(wěn)恒、非穩(wěn)恒的熱傳導問題處理、可滲透介質中流動與擴散等問題在求解時,經(jīng)常使用橢圓型方程、拋物型方程。聲波、電磁波等傳播問題分析也經(jīng)常使用雙曲型方程[6]。偏微分方程的數(shù)值求解屬于數(shù)值分析的核心環(huán)節(jié),偏微分方程數(shù)值求解問題在科學研究領域占據(jù)不可撼動的地位。本文將四階偏微分方程數(shù)值解法應用于可視化軟件仿真研究中,主要使用MATLAB編程求解四階偏微分方程,獲取仿真目標可視化三維圖形繪制的屬性值,繪制仿真目標的可視化三維圖形,完成仿真目標在可視化軟件的仿真研究。
設置仿真目標在可視化軟件中繪制可視化仿真圖像時,其屬性精確值求解的一類非線性四階偏微分方程是
(ku+λu3)xx+μutt+cuxuxx+uxtt=
fuuxxx+guuxxxxhuxuxxxx
(1)
式中,k、λ、μ、c、f、g、h屬于固定不變的數(shù)值。
設置u(x,t)=φ(x,t)+R,將其導進式(1)后存在
(2)
將上式約簡,則
(3)
此時將式(3)轉換成:
-kΦxx+2λφxΦx+2λφΦxx-Φtt+kΦxx+λφxxxxΦ=0
(4)
對式(1)求解時,主要從2個角度分析:
1)角度1
如果λ≠0,則方程Φ=0,則φ-φx=0。此時屬性精確值的解組設計為:φ(x,t)=A(t)ex,其中,A(t)屬于隨機函數(shù)。
2)角度2
如果λ=0,k≠0,那么上式轉換成
-kΦxx-Φtt+kΦxxx=0
(5)
此時介紹三種屬性精確值的求解過程:
如果Φ=φ-φx,φ-φx=cx+dt,則屬性精確值的基本解組是φ(x,t)=A(t)ex+cx+dt,其中,c、d屬于固定不變的數(shù)值。
如果Φ=φ-φx,φ-φx=x2-kt2,則屬性精確值的基本解組是φ(x,t)=A(t)ex+x2-kt2。
如果Φ=φ-φx,Φ=φ-φx=x3-3k(x-1)t2,則屬性精確值的基本解組是φ(x,t)=A(t)ex+x2-3k(x-1)t2。
目前初等函數(shù)學習過程中,需要先繪制函數(shù)圖形,通過圖形可以實現(xiàn)函數(shù)的直觀性。但針對偏微分方程來講,此類方程的圖形繪制存在一定難度,特別是不存在解析解的偏微分方程,圖形繪制的難度更加顯著[7]。偏微分方程屬于數(shù)學物理方程的核心方程。因此,本文使用MATLAB數(shù)值解法求解2.1小節(jié)所建立仿真目標屬性求解的四階偏微分方程后,結合獲取的屬性精確信息數(shù)值制作為三維可視化仿真圖像。
MATLAB具有工程與科學數(shù)據(jù)可視化仿真需要應用的所有圖形工具與功能,其核心功能分別是三維繪圖函數(shù)設計、交互圖形設計。此類設計功能使用后,便可輸出各種圖形格式。除此之外,MATLAB還具有用于可視化仿真的函數(shù),此類函數(shù)類型主要微分三維標量、三維繪圖函數(shù)等[8-10]。MATLAB的微分方程工具箱針對平時常用的偏微分方程都具有較好的求解能力,屬于實用性顯著的數(shù)值運算工具[11]。特別是邊界條件難度不大的前提下,用戶即使不會編程技術,也可以在圖形窗口,獲取方程的數(shù)值解完成可視化仿真設計[12]。
使用MATLAB求解偏微分方程時,需要設計屬性精確值求解的邊界條件:
1)邊界條件1-Dirichlet 邊界條件
hu=r
(6)
2)邊界條件2-Generalized Neumann 邊界條件
n·(c?u)+qu=g
(7)
式中,邊界外法向單位向量是n;邊界中仿真目標屬性精確值的復函數(shù)是q、r。針對仿真目標屬性值求解問題來講,g的數(shù)值是0。針對非線性問題來講,g、q、h與u存在緊密聯(lián)系。針對拋物型方程與雙曲類方程來講,g、q、h、r與時間存在緊密聯(lián)系。
偏微分方程工具箱具備操作界面,且此界面簡單易懂,使用此工具箱的指令便可實現(xiàn)任務的靈活、快速處理。例如快速繪制復雜的幾何圖形,設置不標準的邊界條件等[13]。差異的指令需要使用差異的數(shù)據(jù),所以想要準確使用指令便需要分析數(shù)據(jù)結構與指令之間的關聯(lián)性。
圖1是求解四階偏微分方程的流程圖。如圖1所示,指令都以矩形框顯示,矩陣、M文件都以圓形框顯示。
圖1 四階偏微分方程求解流程圖
在求解過程中,仿真目標的四階偏微分方程的矩陣、公式、空間矩陣都可以用幾何區(qū)域模式顯示,幾何區(qū)域模式的應用指令是Decsg,而屬性精確值求解過程中需要分解幾何區(qū)域時,分解的幾何區(qū)域結構主要分為幾何矩陣、幾何M文件,此操作也應用指令Decsg完成,并在圖形用戶界面反饋給用戶[14]。
MATLAB在設計式(6)條件與式(7)條件時,需要使用矩陣模式、M文件模式描述相關變量,矩陣在圖形用戶界面輸出,M文件需要使用指令Wbound設計。
MATLAB在求解仿真目標的四階偏微分方程時,使用系數(shù)矩陣或者系數(shù)M文件代表各個方程的k、λ、μ、c、f、g、h。
運用MATLAB求解式(1)時,仿真目標的全部信息都會變換成網(wǎng)格數(shù)據(jù)分布在自己所屬的網(wǎng)格區(qū)間內,將網(wǎng)格區(qū)間劃分為多個子區(qū)域,這一操作需要使用指令Initmesh完成,然后使用指令Refinemesh將仿真目標網(wǎng)格數(shù)據(jù)進行精細化處理。
運用MATLAB求解四階偏微分方程時,求解結果為解矢量,其為各個獨立變量在網(wǎng)格節(jié)點中的數(shù)值。解矢量可通過指令Assempde完成提取。主要結合網(wǎng)格、邊界條件與方程系數(shù)求解四階偏微分方程,因為解矢量與對應的數(shù)據(jù)網(wǎng)絡存在緊密聯(lián)系,二者缺一不可。
結合四階偏微分方程數(shù)值解的獲取,仿真目標可視化圖像繪制步驟如下:
1)建立參數(shù)域
構建仿真目標的三維圖形參數(shù)域,所輸入的已知參數(shù)屬于仿真目標的散亂數(shù)據(jù)點,此類數(shù)據(jù)點不存在規(guī)律性,把它投影在二維平面中,結合坐標值設置四階偏微分方程的參數(shù)域,并對其實施網(wǎng)格分解。
2)設計初始曲面
初始曲面屬于一種拓撲結構,圖形凹凸且光滑性較差。設計參數(shù)域之后,各個網(wǎng)格點僅存在橫、縱坐標,但不具有屬性值l。求解過程中都是根據(jù)目前時間段的屬性估計后續(xù)時刻屬性,所以必須設置各個網(wǎng)格點的初始值,因為網(wǎng)格點的屬性值需要在初始值的基礎上執(zhí)行加權平均操作才可獲取,所以將已知點設成控制點,屬性固定化,剩下網(wǎng)格點的屬性值需要結合控制點的具體情況設置。為了優(yōu)化操作效率,需要保證網(wǎng)格點初始值更為精確化。本文使用Voronoi圖區(qū)域賦值法,將各個控制點Voronoi圖內部的網(wǎng)格點設成此控制點的值。求解四階偏微分方程時,網(wǎng)格點的屬性值存在不可變動特征[15-17]。
3)屬性值求解
設計初始曲面之后,求解四階偏微分方程的穩(wěn)定解,求解時,若初始曲面某個網(wǎng)格屬于已知點,代表控制點,此網(wǎng)格點的屬性便無須求解,控制點的屬性固定,不會出現(xiàn)變動,此模式條件下設計的曲面主要插值在控制點。如果目前時刻求解結果和后續(xù)時刻求解結果的最大誤差較小,便表示求解的屬性值屬于穩(wěn)定解,利用此屬性解,使用指令 Pdeintrp 和 Pdeprtni 完成函數(shù)變換,通過Plot指令在初始曲面基礎之上繪制三維可視化圖像,從而實現(xiàn)仿真目標的可視化圖像繪制[18,19]。
為了測試本文方法的仿真效果,使用Visual J++6.0工具,通過MATLAB編程設定實驗測試環(huán)境。本文方法使用MATLAB數(shù)值解法求解某仿真目標的四階偏微分方程時,若φ(x,t)=A(t)ex+x2-3k(x-1)t2為仿真目標四階偏微分方程的屬性解,A(t)=sin(t)+cos(t),x=-2,t=[-10,10]時,函數(shù)A(t)的波形圖如圖2所示。
圖2 四階偏微分方程的數(shù)值解波形圖
如圖2所示,x=-2,t=[-10,10]時,此條件下A(t)函數(shù)的波動不穩(wěn)定,x=[-1,1],t=50時,A(t)函數(shù)的波動穩(wěn)定,為此,在后續(xù)實驗中,設置條件,x=[-1,1],t=50。
設置邊界條件1中hu的值依次是為0.55、1.05,則求解仿真目標四階偏微分方程時,數(shù)值擬合與絕對誤差的結果如圖3、圖4所示。
圖3 數(shù)值擬合效果
圖4 絕對誤差
如圖3、圖4所示,若φ(x,t)=A(t)ex+x2-3k(x-1)t2為仿真目標四階偏微分方程的屬性解,邊界條件1中hu的值是0.55時,四階偏微分方程數(shù)值解高度擬合,數(shù)值解絕對誤差極小,由此驗證,本文方法在求解仿真目標四階偏微分方程數(shù)值解時,hu=0.55,此時具有求解數(shù)值精準度高的優(yōu)勢。
本文方法應用后,仿真目標屬性信息求解的可視化軟件仿真界面如圖5所示。
圖5 本文方法應用下可視化軟件仿真界面
如圖5所示,用戶點擊繪圖后便可得到三維圖像結果如圖中左下方三維函數(shù)圖所示。使用此函數(shù)表達的屬性信息進行三維圖像重構,其中網(wǎng)格點信息如圖6所示,可視化仿真效果圖如圖7所示。
圖6 仿真目標網(wǎng)格化示意圖
圖7 可視化仿真效果圖
如圖6、圖7所示,本文方法能夠使用四階偏微分方程數(shù)值求解的模式,提取仿真目標的網(wǎng)格點屬性值,實現(xiàn)仿真目標的可視化圖像繪制,繪制后的可視化仿真圖像畫面光滑,原因是本文方法能夠結合仿真目標的參數(shù)域設計匹配的非線性四階偏微分方程,準確提取仿真目標的屬性精確信息,從而優(yōu)化仿真目標可視化圖像繪制效果。
求解偏微分方程是目前科學與工程計算的重要環(huán)節(jié),很多大型計算任務都必須使用偏微分方程數(shù)值解的形式分析問題。MATLAB是一種集技術研發(fā)、數(shù)據(jù)可視化等技術于一身的編程技術,所以本文提出基于四階偏微分方程數(shù)值解法的可視化軟件仿真方法,構建仿真目標的四階偏微分方程之后,使用基于MATLAB數(shù)值解法的偏微分方程求解與可視化仿真顯示方法,完成仿真目標屬性數(shù)據(jù)提取,從而制作為仿真目標的三維圖像,完成可視化仿真。在實驗中,本文方法被證實具有可用性,但數(shù)學分析技術都需要分析大量數(shù)據(jù),操作過程難免煩瑣,在日后的研究工作中,會引入機器學習類技術優(yōu)化其應用效率。