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