[發明專利]基于旋轉因子的曲面流場渦特征提取方法有效
| 申請號: | 201310375675.X | 申請日: | 2013-08-26 |
| 公開(公告)號: | CN103413334A | 公開(公告)日: | 2013-11-27 |
| 發明(設計)人: | 李思昆;王懷暉;曾亮;蔡勛;王文珂;徐華勛;王攀;沈恩亞 | 申請(專利權)人: | 中國人民解放軍國防科學技術大學 |
| 主分類號: | G06T7/60 | 分類號: | G06T7/60;G06T7/00 |
| 代理公司: | 國防科技大學專利服務中心 43202 | 代理人: | 郭敏 |
| 地址: | 410073 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 旋轉 因子 曲面 流場渦 特征 提取 方法 | ||
1.一種基于旋轉因子的曲面流場渦特征提取方法,其特征在于包括以下步驟:
第一步:由曲面頂點數據vertexList[M][6]、網格數據faceList[N][3],得到各個頂點的鄰接面片索引vertexNeighberList[M],其中vertexList[M][6]和faceList[N][3]為代表曲面流場的兩個數組;vertexList[M][6]為曲面流場的頂點數據,M為曲面流場中的頂點數目,每一個頂點對應的6個浮點數分別為該頂點的三維坐標值和流場矢量的三個分量;faceList[N][3]為面片數據,N為曲面流場中的面片數目,每個面片對應3個整數,這三個整數為三角形面片三個頂點在vertexList[M][6]數組中的頂點編號;鄰接面片索引數組vertexNeighberList[M]存儲每個頂點的鄰接面片鏈表的首指針,每個鏈表存儲頂點的相鄰面片,鄰接面片鏈表的元素為描述面片信息的結構,其中包括面片號、鏈表中下一元素指針;
第二步:根據vertexList[M][6]、faceList[N][3]得到各個頂點的鄰接頂點索引數組VNList[M];VNList[M]中的元素為各個頂點的鄰接頂點鏈表首指針,其中頂點的鄰接頂點是指與該頂點有一條邊相連的所有頂點,各個頂點對應的鄰接頂點鏈表中存儲該頂點的鄰接頂點信息,鄰接頂點鏈表的元素為描述頂點信息的結構,包括頂點號、下一鄰接頂點指針;其中頂點鄰接頂點是指與該頂點位于同一面片內的頂點;
第三步:根據vertexList[M][6]、faceList[N][3]計算各個頂點法向量數,并將法向量數存到數組vertexNormalList[M][3]中,vertexNormalList[M][3]元素為浮點數,存儲每個頂點法向量的3個分量;各個頂點法向量數計算方法是:
3.1:初始化頂點序號循環變量i3等于0;
3.2:根據序號為i3的頂點的鄰接面片鏈表vertexNeighberList[i3]計算序號為i3的頂點的各個鄰接面片的單位法向量,將所有面片單位法向量的平均向量作為序號為i3的頂點的法向量,存入vertexNormalList[i3]]之中;
3.3:循環變量i3增加1;
3.4:若i3小于M則轉到3.2步,否則轉到第四步;
第四步:根據vertexList[M][6]、faceList[N][3],采用速度與方向的判斷方法,檢測流場中的臨界點,并將臨界點存入臨界點鏈表,criticalPL為臨界點鏈表的首指針,鏈表中元素為描述臨界點信息的結構,該結構包括頂點號、下一個元素指針;
4.1:初始化臨界點鏈表首指針criticalPL為NULL;
4.2:初始化頂點序號循環變量i4=0;
4.3:根據序號為i4的頂點速度大小判斷該頂點是否為臨界點,如果序號為i4的頂點速度值等于0,該頂點即為臨界點,轉4.4;如果該頂點速度大于0,則直接執行4.5步;
4.4:將序號為i4的頂點的頂點號插入到臨界點鏈表最后一項的頂點號域,criticalPL向后移一個元素,轉到4.5步;
4.5:循環變量i4增加1;
4.6:若i4小于M則轉到4.3步,否則轉到4.7步;
4.7:初始化面片序號循環變量i5=0;
4.8:根據4.1步至4.5步的結果判斷序號為i5的面片的三個頂點中是否存在臨界點,如果在4.1步至4.5步中已經檢測到該三個頂點中存在臨界點,則無需檢測該面片,直接跳轉到4.11步;否則執行4.9步;
4.9:采用基于速度方向判斷的方法判斷序號為i5的面片是中否為臨界點,具體判斷方法為:如果該三角面片的三個頂點上的速度值在直角坐標系下按順時針排列順序與三角面片頂點的排列順序相同且相鄰向量之間對應方向的夾角小于180°,則判定三角面片內存在臨界點;如果該面片內存在臨界點,則跳轉到4.10步;如果該面片內不存在臨界點,則直接執行4.11步;
4.10:將該面片中速度最小頂點的頂點號插入到臨界點鏈表的最后一項的頂點號域,criticalPL向后移一個元素;
4.11:循環變量i5增加1;
4.12:若i5小于N則轉到4.8步,否則轉到第五步;
第五步:根據第四步得到的臨界點鏈表,計算每個臨界點旋轉因子,根據旋轉因子判斷臨界點是否為渦核點,刪除非渦核點的臨界點,得到渦核點鏈表:
5.1:初始化臨界點遍歷指針Pr=criticalPL;
5.2:令采樣半徑r為曲面流場中面片平均邊長的5倍;
5.2.1:;建立采樣點鏈表,并將其首指針SVList賦值為NULL;采樣點鏈表存儲Pr所指向臨界點的所有采樣點,采樣點鏈表元素由頂點號、下一個元素的指針組成;
5.2.2:采用采樣點面片擴展搜索方法根據鄰接頂點索引數組VNList[M],搜索Pr所指向臨界點在采樣半徑為r時的所有采樣頂點,并將這些采樣頂點存入采樣點鏈表;采樣點面片擴展搜索方法具體為:
5.2.2.1:設Pr所指向臨界點為C,將臨界點C作為采樣點鏈表的第一項插入到采樣點鏈表中,設置當前面片擴展頂點為采樣點鏈表的第一項,令Pr2為指向采樣點鏈表的第一項的指針;
5.2.2.2:設Pr2指向的采樣點鏈表項的頂點序號為i6,根據鄰接頂點索引數組VNList[i6],找到序號為i6的頂點的所有鄰接頂點;在這些頂點中,與臨界點C的距離小于采樣半徑r的頂點即為臨界點C采樣頂點;將序號為i6的頂點的所有鄰接頂點中的臨界點C采樣頂點依次插入到采樣點鏈表中;每個臨界點C采樣頂點的插入過程為:首先遍歷采樣點鏈表,如果采樣點鏈表中無此臨界點C采樣頂點,插入到鏈表的最后一項之后,并轉至5.2.2.3步;如果采樣點鏈表中有此采樣頂點,則放棄插入,直接執行5.2.2.3步;
5.2.2.3:Pr2后移一個元素;
5.2.2.4:如果Pr2為空,將采樣點鏈表第一項素刪除,轉至5.3步;如果Pr2不為空,則跳轉至5.2.2.2步;
5.3:根據采樣點鏈表采用旋轉因子計算方法計算臨界點C的旋轉因子,具體方法為:
5.3.1:根據5.2步計算的臨界點C的采樣點鏈表統計以下數據:采樣點總數Nt,順時針采樣點數目Ns,逆時針采樣點數目Nn;其中順時針采樣點和逆時針采樣點分別是指:如果采樣點的位置矢量到采樣點矢量的順時針方向角度位于[π/2-ε,π/2+ε]范圍內,則稱該采樣點為順時針采樣點,其中ε為角度判定的閾值,取值為π/8;反之,如果采樣點位置矢量到采樣點矢量的逆時針方向的夾角位于[π/2-ε,π/2+ε]范圍內,則稱該采樣點為逆時針采樣點;所述采樣點的位置矢量是指采樣點位置與臨界點C的位置的差矢量,所述采樣點矢量是指采樣點流場矢量在臨界點C處的切平面上的投影,該切平面與臨界點C的法向量垂直;
5.3.2:計算順時針采樣點百分比Ps=Ns/Nt,逆時針采樣點百分比為Pn=Nn/Nt,則旋轉評定值為Po=max(Ps,Pn),Po為旋轉因子的第一項;
5.3.3:根據臨界點C的采樣點鏈表,計算所有采樣點的位置矢量和頂點矢量的夾角Ai,其中i取值為0,1,…Nt,分別表示Nt個采樣點;則頂點矢量排列順序和位置向量排列順序的匹配程度值其中Ro為旋轉因子的第二項;
5.4:判斷臨界點C是否符合渦核點的標準,也就是如果Po>1-εp且Ro<εr,則臨界點C為渦核點,其中εp和εr為旋轉因子判定閾值;否則臨界點C為非渦核點,從臨界點鏈表中刪除該臨界點;
5.5:Pr后移一個元素;
5.6:如果Pr為空,此時的臨界點鏈表即為渦核點鏈表,轉至第六步;如果Pr不為空則跳轉至5.2.2步;
第六步:檢測所有渦核點的渦區范圍:
6.1:初始化渦核點遍歷指針Pr3的初始值為渦核點鏈表首指針criticalPL;
6.2:根據采樣半徑R,R為r的2倍,利用5.2.2中的采樣點面片擴展搜索方法,搜索Pr3所指向渦核點的周圍所有采樣點,并將這些采樣點作為渦區候選頂點;
6.3:采用5.3步的旋轉因子計算方法計算所有渦區候選頂點的旋轉因子第一項Po;
6.4:如果渦區候選頂點的Po>Ep,其中Ep為渦區判斷閾值,取值為0.5,則將該渦區候選頂點標記為渦區頂點;
6.5:Pr3后移一個元素;
6.6:如果Pr3為空,則轉第七步;否則跳轉至6.2步;
第七步結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科學技術大學,未經中國人民解放軍國防科學技術大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310375675.X/1.html,轉載請聲明來源鉆瓜專利網。





