反向射线跟踪的三维路径搜索方法

时间:2011-08-01来源:网络

1)若棱PQ为三维数据库模型中所存储的一条棱,假设绕射点D存在,则g.jpg,由几何绕射理论可知,∠TxDQ=∠RxDP,通过向量内积运算,可以求出λ的值。即可得到:D点的坐标=h.jpg
2)判断D点有效性(两个条件必须同时具备)
①Tx-D,D-Rx之间分别没有建筑物遮挡;
②D点在线段PQ上。
3)如果D点有效,Tx-D-Rx则为一条有效的一次绕射路径;
4)遍历模型中所存储的所有棱,找到所有符合条件的一次绕射路径,将这些路径存储在子目录dpaths>中。

2.3 一次反射加一次绕射
如图3所示,已知源点Tx,场点Rx,棱PQ,面S分别为三维建筑物数据库模型中所存储的一条棱和一个面,搜索一次反射加一次绕射路径的步骤为:

c.jpg


1)作源点Tx的镜像点Tx’;
2)将Tx’作为源点,Rx作为接收点,运用一次绕射的求法求出在棱pq上的衍射点D;
3)连接Tx’D,与平面S的交点即为反射点R;
4)判断R,D的有效性(两个条件必须同时满足):
①R在平面S内,D在线段PQ上;
②两点Tx-R,R-D,D-Rx之间分别都没有建筑物遮挡。
5)若R,D点有效,则Tx-R-D-Rx,则为一条有效的一次反射加一次绕射路径;
6)遍历模型中所存储的所有面和棱,找到所有的这样的路径,存储在子目录rdpaths>中。
2.4 一次绕射加一次反射
如图4所示,已知源点Tx,场点Rx,棱PQ,面S分别为三维建筑物数据库模型中所存储的一条棱和一个面,搜索一次绕射加一次反射路径的步骤与3.3节中所求路径相似,只是所有光路反向,即将Tx,Rx互换位置,先找到Rx的镜像点Rx’,进而找到衍射点D,然后再找到反射点R,若D,R均有效,则Tx—D—R—Rx为一条有效一次绕射加一次反射路径,遍历模型中所存储的所有棱和面,找到所有的这样的路径,存储在子目录drpaths>中。

d.jpg

1 2 3 4 5

关键词: 搜索 方法 路径 三维 跟踪 射线

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版