一种基于制造技术

技术编号:39427061 阅读:10 留言:0更新日期:2023-11-19 16:13
本发明专利技术公开了一种基于

【技术实现步骤摘要】
一种基于KD树加速光线与未裁剪曲面交点计算的方法


[0001]本专利技术涉及光线跟踪裁剪
NURBS
曲面
,尤其涉及一种基于简化版
KD
树加速光线与未裁剪曲面交点计算的方法


技术介绍

[0002]光线跟踪是计算机图形学中广泛使用的方法,用于在三维场景中追踪光线并计算它们与物体表面的交点

由于光线跟踪可以提供高质量的图像,因此它已经成为了许多三维应用程序的标准之一

[0003]修剪后的
NURBS
曲面是几何建模领域一种最常用的建模方式,且使用该方法建模的数量近些年来迅速增长;
[0004]光线跟踪已成为一种发展迅速的生成几何模型的计算机真实图形图像的方法

[0005]经检索,申请号
CN116310048A
的中国专利,公开了一种基于曲率细分计算光线跟踪与
NURBS
曲面交点的方法,其提出了如果能够实现对
NURBS
曲面进行光线跟踪,以此精确地显示出造型系统所能生成的任何形体的问题,并对光线跟踪
NRUBS
曲线和
NURBS
曲面的流程2中的曲面细分算法进行改进来加速求得光线跟踪与
NURBS
曲线和曲面求交点的流程

[0006]然而,
NURBS
曲面是一种强大的数学工具,可以统一表示平面

二次面

βr/>样条和
B
é
zier
等各种形式的曲面,
3D
模型用裁剪过的
NURBS
曲面表示时通常由一组基础
NURBS
曲面和一组裁剪曲线表示,使用裁剪后的
NURBS
曲面表示几何模型已成为行业的标准,在部分应用程序,如
CAD
中,曲面的渲染通常通过曲面细分和
z
缓冲区渲染来解决,然而,这种渲染方法容易出现可见的伪影,因为固定的渲染会导致三角形边缘的突出显示;
[0007]此外,三角形网格可能会变得非常大且占用大量内存

因此
NURBS
曲面的光线追踪计算由于其计算复杂计算量大等原因,在实际应用中难以实现实时性,因此尚未在工业中得到广泛使用


技术实现思路

[0008]本专利技术的目的是为了解决现有技术中存在的缺陷,而提出的基于
KD
树加速光线与未裁剪曲面交点计算的方法

[0009]为了实现上述目的,本专利技术采用了如下技术方案:
[0010]一种基于
KD
树加速光线与未裁剪曲面交点计算的方法,包括以下步骤:
[0011]步骤
S1
:将环形曲线修剪为曲线段和曲线单元;
[0012]步骤
S2
:基于步骤
S1
获得的曲线集合建立空间层次结构,其中,最外层对应为
kd
树,内层由包含曲线集的
kd
树叶子组成,每个曲线集都包含一个曲线单元数组;
[0013]步骤
S3
:通过优先级队列算法对在曲线集上构建的
kd
树进行重叠的最小化处理来降低计算成本;
[0014]步骤
S4
:对
kd
树中全部的叶子节点进行细分来优化计算成本;
[0015]步骤
S5
:通过空白区域分割来降低曲线集全叶的评估成本

[0016]进一步地,在步骤
S2
中,
kd
树由上而下构造,将空叶子分为在曲线内部或外部,叶子的完整信息包含全部的修剪曲线单元和初始奇偶性,所有全叶节点的表面积表示通过奇偶测试的概率,其中:
[0017]对于已构建的
kd
树,搜索的成本为:
[0018][0019]其中,
SA

2D
空间的表面积,
SA
leaf,i
是第
i
个叶子边界框的表面积,
|N
leaf,i
|
是叶子中包含曲线的数量,
C
test
是水平射线和曲线相交测试的成本,
SA
inner,i
是内部节点的表面积,
C
trav
是遍历树内部节点的成本,
C
test

C
trav
包括对数据的访问时间,因此在计算机体系结构可以最小化
kd
树消耗的内存,但在
GPU
上很难评估缓存

[0020]进一步地,在步骤
S3
,曲线集仅按最大重叠面积进一步细分,使用的成本函数减少为与其他曲线集重叠的表面积之和
A
ij
,具体方式为:
[0021]C(S
i
)


j≠i
A
ij
[0022]优先级队列选择具有最高成本的曲线集进行细分,如果任何进一步的曲线集细分会导致更小的总重叠区域,细分过程将被终止

[0023]进一步地,在步骤
S4
中,构建
kd
树之后,对全叶节点进行细分的条件具体为:
[0024]存在叶子包含两条或更多曲线
/
曲线集;
[0025]存在叶子表面积很大,会增加奇偶测试使用的可能性,进而增加使用成本

[0026]进一步地,在步骤
S4
中,叶子
L
可以使用沿着边界框较长边的空间中值进一步细分,与
L
关联的曲线
/
曲线集根据它们与新创建的左子节点和右子节点的边界框的交集分布到两个子节点,进行细化的条件具体为:
[0027]第一个条件:基于
L
相对于整个
kd
树表面积的相对表面积,使用阈值比率
r
SA

0.0006

[0028]第二个条件:基于长度,如果
L
边界框的长边相对于整个
kd
树边界框的对角线太小,则无法对叶子进行细分,使用阈值长度比
r
l

0.025
,其中,
r
SA

r
l
的值是通过对测试场景进行广泛搜索而确定的

[0029]进一步地,在步骤
S5
中,通过找到叶子的最大空白区域,具体为:
[0030]如果该区域与整个叶子的表面积相比足够大,则插入新的内本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种基于
KD
树加速光线与未裁剪曲面交点计算的方法,其特征在于,包括以下步骤:步骤
S1
:将环形曲线修剪为曲线段和曲线单元;步骤
S2
:基于步骤
S1
获得的曲线集合建立空间层次结构,其中,最外层对应为
kd
树,内层由包含曲线集的
kd
树叶子组成,每个曲线集都包含一个曲线单元数组;步骤
S3
:通过优先级队列算法对在曲线集上构建的
kd
树进行重叠的最小化处理来降低计算成本;步骤
S4
:对
kd
树中全部的叶子节点进行细分来优化计算成本;步骤
S5
:通过空白区域分割来降低曲线集全叶的评估成本
。2.
根据权利要求1所述的基于
KD
树加速光线与未裁剪曲面交点计算的方法,其特征在于,在步骤
S2
中,
kd
树由上而下构造,将空叶子分为在曲线内部或外部,叶子的完整信息包含全部的修剪曲线单元和初始奇偶性,所有全叶节点的表面积表示通过奇偶测试的概率,其中:对于已构建的
kd
树,搜索的成本为:其中,
SA

2D
空间的表面积,
SA
leaf,i
是第
i
个叶子边界框的表面积,
|N
leaf,i
|
是叶子中包含曲线的数量,
C
test
是水平射线和曲线相交测试的成本,
SA
inner,i
是内部节点的表面积,
C
trav
是遍历树内部节点的成本,
C
test

C
trav
包括对数据的访问时间,因此在计算机体系结构可以最小化
kd
树消耗的内存,但在
GPU
上很难评估缓存
。3.
根据权利要求2所述的基于
KD
树加速光线与未裁剪曲面交点计算的方法,其特征在于,在步骤
S3
,曲线集仅按最大重叠面积进一步细分,使用的成本函数减少为与其他曲线集重叠的表面积之和

【专利技术属性】
技术研发人员:袁从敏杨修齐
申请(专利权)人:上海慕灿信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1