反向射線跟蹤的三維路徑搜索方法
1)若棱PQ為三維數(shù)據(jù)庫模型中所存儲(chǔ)的一條棱,假設(shè)繞射點(diǎn)D存在,則


2)判斷D點(diǎn)有效性(兩個(gè)條件必須同時(shí)具備)
①Tx-D,D-Rx之間分別沒有建筑物遮擋;
②D點(diǎn)在線段PQ上。
3)如果D點(diǎn)有效,Tx-D-Rx則為一條有效的一次繞射路徑;
4)遍歷模型中所存儲(chǔ)的所有棱,找到所有符合條件的一次繞射路徑,將這些路徑存儲(chǔ)在子目錄dpaths>中。本文引用地址:http://m.ptau.cn/article/155976.htm
2.3 一次反射加一次繞射
如圖3所示,已知源點(diǎn)Tx,場點(diǎn)Rx,棱PQ,面S分別為三維建筑物數(shù)據(jù)庫模型中所存儲(chǔ)的一條棱和一個(gè)面,搜索一次反射加一次繞射路徑的步驟為:
1)作源點(diǎn)Tx的鏡像點(diǎn)Tx’;
2)將Tx’作為源點(diǎn),Rx作為接收點(diǎn),運(yùn)用一次繞射的求法求出在棱pq上的衍射點(diǎn)D;
3)連接Tx’D,與平面S的交點(diǎn)即為反射點(diǎn)R;
4)判斷R,D的有效性(兩個(gè)條件必須同時(shí)滿足):
①R在平面S內(nèi),D在線段PQ上;
②兩點(diǎn)Tx-R,R-D,D-Rx之間分別都沒有建筑物遮擋。
5)若R,D點(diǎn)有效,則Tx-R-D-Rx,則為一條有效的一次反射加一次繞射路徑;
6)遍歷模型中所存儲(chǔ)的所有面和棱,找到所有的這樣的路徑,存儲(chǔ)在子目錄rdpaths>中。
2.4 一次繞射加一次反射
如圖4所示,已知源點(diǎn)Tx,場點(diǎn)Rx,棱PQ,面S分別為三維建筑物數(shù)據(jù)庫模型中所存儲(chǔ)的一條棱和一個(gè)面,搜索一次繞射加一次反射路徑的步驟與3.3節(jié)中所求路徑相似,只是所有光路反向,即將Tx,Rx互換位置,先找到Rx的鏡像點(diǎn)Rx’,進(jìn)而找到衍射點(diǎn)D,然后再找到反射點(diǎn)R,若D,R均有效,則Tx—D—R—Rx為一條有效一次繞射加一次反射路徑,遍歷模型中所存儲(chǔ)的所有棱和面,找到所有的這樣的路徑,存儲(chǔ)在子目錄drpaths>中。
評論