一种动态目标的快速射线追踪方法
【专利摘要】本发明公开了一种动态目标的快速射线追踪方法。该方包括:将动态目标的各组件按其运动形式分解为独立的几何部件,并以分解后的各个独立的几何部件作为几何实体初始化预设的射线追踪引擎,建立射线追踪加速数据结构;使用三维几何变换矩阵描述各个独立的几何部件在各时刻的运动,建立对所述动态目标在各个时刻的运动描述;使用预设的射线追踪引擎对入射到所述动态目标上的射线进行动态追踪并获取各时刻的射线追踪结果;根据所述射线追踪结果计算所述动态目标的可见面元、可见边缘以及多次反射路径。通过使用本发明所提供的动态目标的快速射线追踪方法,可以实现对复杂动态目标的可见面元、可见边缘以及多次反射路径的实时/准实时预估。
【专利说明】一种动态目标的快速射线追踪方法
【技术领域】
[0001] 本发明涉及雷达目标电磁仿真【技术领域】,特别涉及一种动态目标的快速射线追踪 方法。
【背景技术】
[0002] 目前基于K-D树(k-dimensional tree)和包围盒层次(BVH)树的中央处理器 (CPU)/图形处理器(GPU)并行加速算法是实现复杂目标或场景快速射线追踪的主要方法。 在现有技术中,对于动态目标或场景的射线追踪而言,在CPU上实现的K-D树和BVH树方法 由于需要在各运动时刻重构目标或场景的加速数据结构,因此射线追踪的效率极低,远不 能满足实际工程的需要。
[0003] 随着GP-GPU技术的不断进步,基于GPU的射线追踪技术日趋成熟。因此,提出一 种更好的动态目标的快速射线追踪方法,以实现对复杂动态目标的可见面元、可见边缘以 及多次反射路径的实时/准实时预估,已经成为本领域中亟待解决的一个技术问题。
【发明内容】
[0004] 有鉴于此,本发明提供一种动态目标的快速射线追踪方法,从而能够实现对复杂 动态目标的可见面元、可见边缘以及多次反射路径的实时/准实时预估。
[0005] 本发明的技术方案具体是这样实现的:
[0006] -种动态目标的快速射线追踪方法,该方法包括:
[0007] A、将动态目标的各组件按其运动形式分解为独立的几何部件,并以分解后的各个 独立的几何部件作为几何实体初始化预设的射线追踪引擎,建立射线追踪加速数据结构;
[0008] B、使用三维几何变换矩阵描述各个独立的几何部件在各时刻的运动,建立对所述 动态目标在各个时刻的运动描述;
[0009] C、使用预设的射线追踪引擎对入射到所述动态目标上的射线进行动态追踪并获 取各时刻的射线追踪结果;
[0010] D、根据所述射线追踪结果计算所述动态目标的可见面元、可见边缘以及多次反射 路径。
[0011] 较佳的,所述预设的射线追踪引擎为:NVIDIA OptiX射线追踪引擎。
[0012] 较佳的,所述步骤A包括:
[0013] 使用三角面元模型描述所述动态目标的几何模型;
[0014] 将所述动态目标的运动分解为整体的运动和活动组件的运动,并将各个活动组件 分离出来形成独立的几何部件,将分离后剩余的组件组成一个独立的几何部件;
[0015] 以分解后的各个独立的几何部件作为几何实体初始化预设的射线追踪引擎,建立 射线追踪加速数据结构。
[0016] 较佳的,所述动态目标的几何模型表示为:
[0017] M = {V, F}
[0018] 其中,V = Ivi: 1彡i彡nv}是顶点表,nv是顶点总数;在直角坐标系下,Vi = (Xi, Yi, Zi),表示所述动态目标的几何模型中的第i个顶点,Xp Yi和Zi分别表示该顶点 在直角坐标系中的三维坐标;F = {fj: 1彡j彡nF}是面元表,nF是面元总数;面元fj = (nvl, nv2, nv3)为三角面元三个顶点的序号;面元fj的外法向矢量七由对应顶点Vj^Vj2和v j3通过下式确定:
【权利要求】
1. 一种动态目标的快速射线追踪方法,其特征在于,该方法包括: A、 将动态目标的各组件按其运动形式分解为独立的几何部件,并以分解后的各个独立 的几何部件作为几何实体初始化预设的射线追踪引擎,建立射线追踪加速数据结构; B、 使用三维几何变换矩阵描述各个独立的几何部件在各时刻的运动,建立对所述动态 目标在各个时刻的运动描述; C、 使用预设的射线追踪引擎对入射到所述动态目标上的射线进行动态追踪并获取各 时刻的射线追踪结果; D、 根据所述射线追踪结果计算所述动态目标的可见面元、可见边缘以及多次反射路 径。
2. 根据权利要求1所述的方法,其特征在于: 所述预设的射线追踪引擎为:NVIDIAOptiX射线追踪引擎。
3. 根据权利要求2所述的方法,其特征在于,所述步骤A包括: 使用三角面元模型描述所述动态目标的几何模型; 将所述动态目标的运动分解为整体的运动和活动组件的运动,并将各个活动组件分离 出来形成独立的几何部件,将分离后剩余的组件组成一个独立的几何部件; 以分解后的各个独立的几何部件作为几何实体初始化预设的射线追踪引擎,建立射线 追踪加速数据结构。
4. 根据权利要求3所述的方法,其特征在于,所述动态目标的几何模型表示为: M= {V,F} 其中,V={vr1彡i彡nv}是顶点表,nv是顶点总数;在直角坐标系下,Vi= (Xi,y。zj, 表示所述动态目标的几何模型中的第i个顶点,Xi、yi和Zi分别表示该顶点在直角坐标系 中的三维坐标;F= {fj: 1彡j彡nF}是面元表,nF是面元总数;面元fj= (nvl,nv2,nv3)为三 角面元三个顶点的序号;面元fj的外法向矢量\由对应顶点Vyvj2和vj3通过下式确定:
5. 根据权利要求4所述的方法,其特征在于,所述各个独立的几何部件的集合通过如 下所述的公式来表示: M= {Mk: 1 ^k^nP} 其中,Mk = {Vk,Fk}是第k个独立的几何部件,nP是从所述动态目标中分解出的独立的 几何部件的数目。夂=(v丨:M 是第k个独立的几何部件的顶点表,< 是第k个独立 的几何部件的顶点总数,K= {以:1 .是第k个独立的几何部件的面元表,< 是第k 个独立的几何部件的面元总数,并且
6. 根据权利要求3所述的方法,其特征在于: 所述射线追踪加速数据结构为K-D树或BVH树。
7. 根据权利要求2所述的方法,其特征在于,所述步骤B包括: 引入齐次坐标,并使用4阶三维几何变换矩阵表示各个独立的几何部件在各时刻的运 动; 计算各个独立的几何部件在各个时刻的三维几何变换矩阵,并将计算得到的三维几何 变换矩阵作用于对应的几何部件,得到各个独立的几何部件在各个时刻的几何模型。
8. 根据权利要求7所述的方法,其特征在于,所述独立的几何部件在各时刻的运动包 括: 平移变换、缩放变换、旋转变换、错切变换和投影变换。
9. 根据权利要求2所述的方法,其特征在于,所述步骤C包括: 生成携带一定负载的射线,并使用预设的射线追踪引擎对所生成的射线进行跟踪,将 跟踪结果缓存在GPU缓存中; 以所述动态目标的几何模型为驱动射线追踪场景,创建射线追踪实例; 使用预设的射线追踪引擎对入射到所述动态目标上的射线进行动态追踪,进行节点加 速遍历和射线-目标的快速求交运算,获取各时刻的射线追踪结果。
10. 根据权利要求2所述的方法,其特征在于,所述步骤D包括: 根据所述射线追踪结果,将与所述动态目标相交的射线的第一个交点所在的面元作为 入射可见面元,并将除入射可见面元外的其他面元均设置为入射不可见; 当组成边缘的两个面元均为入射不可见时,则边缘不可见;否则,边缘可见; 设定射线的源点、入射方向、反射次数以及目标表面的反射特性,利用预设的射线追踪 引擎追踪所述射线在所述动态目标体表面弹跳时的交点,通过多次反射计算获取多次反射 路径。
【文档编号】G06F19/00GK104408292SQ201410602835
【公开日】2015年3月11日 申请日期:2014年11月2日 优先权日:2014年11月2日
【发明者】董纯柱, 侯兆国, 王超, 殷红成 申请人:北京环境特性研究所