[发明专利]一种基于光线追踪的计算全息遮挡处理算法有效
申请号: | 201810083779.6 | 申请日: | 2018-01-29 |
公开(公告)号: | CN108230378B | 公开(公告)日: | 2020-03-20 |
发明(设计)人: | 李妮;魏辉;刘霜婷 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06T7/50 | 分类号: | G06T7/50;G06T19/20 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 冀学军 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于光线追踪的计算全息遮挡处理算法,属于全息立体显示、虚拟现实领域。首先通过对包围盒进行空间剖分构建KD‑Tree结构,控制KD‑Tree叶节点的大小,把物体之间的遮挡关系转化为KD‑Tree叶节点之间的遮挡关系问题,实现光线追踪过程。若干光线经过对KD‑Tree结构的追踪,根据返回值为非0的叶节点,得到每条光线追踪的可见物点;将不同视点下对应的子全息图按顺序组合得到最终的全息图,同时实现移动视差效果,根据最终的全息图得到给定的该物体的三维立体像图。本发明实现了全息成像中正确的物体遮挡效果,减少了遍历过程中的冗余计算,提高了光线追踪的效率,实现对点云模型进行光线追踪的快速求交计算。 | ||
搜索关键词: | 一种 基于 光线 追踪 计算 全息 遮挡 处理 算法 | ||
【主权项】:
1.一种基于光线追踪的计算全息遮挡处理算法,其特征在于,包括以下步骤:步骤一:针对某三维物体的点云模型,并将点云模型所在的空间包围盒进行剖分,建立KD‑Tree加速结构;模型中的任意一个物点,必定属于KD‑Tree的某一个叶节点,同时KD‑Tree的每个叶节点包含若干物点;步骤二、根据建立的KD‑Tree结构,通过宽度优先遍历转换成线性存储结构,以便在GPU上进行存储和访问,实现光线追踪过程;具体步骤如下:步骤201、针对每条光线,判断该光线是否与当前节点相交,如果是,进入步骤202;否则,交点设为0并返回该交点值;当前节点初始值为根节点;步骤202、查询当前的遍历深度是否大于等于0,如果是,进入步骤203;否则,交点设为0并返回该交点值;步骤203、判断当前节点是否为叶子节点,如果是,进入步骤209;否则,获取当前节点的剖分轴,进入步骤204;步骤204、计算光线进入当前节点的交点在剖分轴上的分量in Value;步骤205、判断剖分轴的位置是否大于分量in Value,如果是,进入步骤206;否则,进入步骤207;步骤206、光线进入左子节点,光线射向右子节点,则把右子节点入栈;进入步骤208;步骤207、光线进入右子节点,光线射向左子节点,则把左子节点入栈;步骤208、遍历深度自增1,将光线进入的子节点作为当前节点,返回步骤203;步骤209、判断当前叶节点是否为空,如果是,进入步骤210;否则,交点设为0并返回该交点值;当前叶节点为空即不包含物点;步骤210、判断当前的遍历深度是否小于等于0,如果是,交点设为0并返回该交点值;否则,进入步骤211;步骤211、判断当前的遍历深度栈是否为空,如果是,则遍历深度减1,回退到当前节点的父节点,返回步骤210;否则,进入步骤212;步骤212、将当前节点的兄弟节点出栈,作为当前遍历节点;并判断光线是否与当前遍历节点相交,如果是,返回步骤202;否则,遍历深度减1,回退到当前节点的父节点,返回步骤210;步骤三、若干光线经过对KD‑Tree结构的追踪,根据返回值为非0的叶节点,得到每条光线追踪的可见物点;返回值为0的交点忽略不计;步骤四、利用若干光线追踪得到的所有可见物点计算全息图;步骤五、根据最终的全息图得到给定的该物体的三维立体像图。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810083779.6/,转载请声明来源钻瓜专利网。
- 上一篇:点云数据的拟合方法和系统
- 下一篇:用于融合点云数据的方法和装置