CN115453753A - 基于nurbs表面的光学系统高精度光线追迹方法及装置 - Google Patents
基于nurbs表面的光学系统高精度光线追迹方法及装置 Download PDFInfo
- Publication number
- CN115453753A CN115453753A CN202211170391.2A CN202211170391A CN115453753A CN 115453753 A CN115453753 A CN 115453753A CN 202211170391 A CN202211170391 A CN 202211170391A CN 115453753 A CN115453753 A CN 115453753A
- Authority
- CN
- China
- Prior art keywords
- nurbs
- bvh
- bounding box
- precision
- optical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0012—Optical design, e.g. procedures, algorithms, optimisation routines
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Image Generation (AREA)
Abstract
本发明涉及一种基于NURBS表面的光学系统高精度光线追迹方法及装置。该方法及装置包括:通过正向和逆向构造方式,生成基于NURBS的光机面形表达;根据光线规模,制定光线包分配和并行计算策略;利用光机面形节点信息,构造一级BVH包围盒;对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;采用拟牛顿法迭代求解出光线与光机面形交点高精度值。该方法及装置基于NURBS数学表征方法,结合规模化光线分包策略、并行运算策略、特定离散采样方案等,通过设计分级的BVH加速数据结构,在获取优异的迭代初值下,通过拟牛顿法,实现高精度追迹精度,同时有效提升交互效率。
Description
技术领域
本发明涉及非序列光线追迹领域,具体而言,涉及一种基于NURBS表面的光学系统高精度光线追迹方法及装置。
背景技术
在非序列光线追迹领域,光线追迹精度和效率是两个至关重要的指标,体现在分析用几何模型来说,主要表现为光线与几何模型求交精度与效率。不同于计算机图形学领域渲染追迹过程,光学系统对光线追迹求交精度十分严苛,对于光学元件求交精度,将至少达到亚纳米甚至更高精度要求。
通常下精度和效率是相互矛盾的,随着计算机的快速发展,计算机辅助几何设计(Computer Aided Geometric Design,简称CAGD)应用愈发成熟和广泛。在几何造型上,两种最常用表示方法(主要针对曲线和曲面)包括隐式和参数表示。其中参数表示方法在CAGD设计上表现出更直接、更自然等优势,同时对于有界几何,参数表示方法更方便。NURBS作为参数表示的代表,已成为表示曲线和曲面的标准,同时已有相关研究机构采用NURBS完成自由曲面成像设计光学元件建模和优化工作(如美国麻省理工林肯实验室Michael P.Chrisp等)。因此,采用NURBS进行光学系统中光机模型统一表征方法已成为一种趋势。
但同时,规模化光线、非序列、高精度、高效率等要求为以非序列光线追迹为主的光学软件分析过程带来一定挑战,因此如何在NURBS作为光学系统模型统一表征情况下,解决光学系统中光机表面与规模光线交互精度和效率问题至关重要。
发明内容
本发明实施例提供了一种基于NURBS表面的光学系统高精度光线追迹方法及装置,以至少解决现有光学系统中光机表面与规模光线交互精度低的技术问题。
根据本发明的一实施例,提供了一种基于NURBS表面的光学系统高精度光线追迹方法,包括以下步骤:
通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
根据光线规模,制定光线包分配和并行计算策略;
利用光机面形节点信息,构造一级BVH包围盒;
对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;
采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
进一步地,通过正向和逆向构造方式,生成基于NURBS的光机面形表达包括:
采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面;
对于自由形状的光机面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类,针对不同的几何外轮廓形状设置不同离散采样方法。
进一步地,根据光线规模,制定光线包分配和并行计算策略包括:
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略。
进一步地,利用光机面形节点信息,构造一级BVH包围盒包括:
利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元。
进一步地,利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元包括:
构造配合光线包使用的包围体层次加速数据结构,包围体层次加速数据结构根据NURBS节点信息,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构;
首先通过测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,遍历求交测试顺序为O(logn),对于与一级BVH包围盒有交点的光线,进行曲面细化后的二级BVH包围盒相交测试。
进一步地,对曲面元进行细化,生成包含子曲面元的二级BVH包围盒包括:
对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个初始值。
进一步地,对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个初始值包括:
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面。
进一步地,得到的一个初始值为用于后续数值迭代求精确解的初始猜测参数值,初始猜测参数值被定义为细化的子曲面参数域的参数区间的中心。
进一步地,采用拟牛顿法迭代求解出光线与光机面形交点高精度值包括:
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,拟牛顿法为每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵。
根据本发明的另一实施例,提供了一种基于NURBS表面的光学系统高精度光线追迹装置,包括:
光机面形表达单元,用于通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
策略制定单元,用于根据光线规模,制定光线包分配和并行计算策略;
一级BVH包围盒构建单元,用于利用光机面形节点信息,构造一级BVH包围盒;
二级BVH包围盒生成单元,用于对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;
迭代单元,用于采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的基于NURBS表面的光学系统高精度光线追迹方法。
本发明实施例中的基于NURBS表面的光学系统高精度光线追迹方法及装置,基于NURBS数学表征方法,结合规模化光线分包策略、并行运算策略、特定离散采样方案等,通过设计分级的BVH加速数据结构,在获取优异的迭代初值下,通过拟牛顿法,实现高精度追迹精度,同时有效提升交互效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明基于NURBS表面的光学系统高精度光线追迹方法的步骤流程图;
图2为本发明基于NURBS表面的光学系统高精度光线追迹方法的技术流程图;
图3为本发明基于NURBS表面的光学系统高精度光线追迹方法中光学面形类型示意图;
图4为本发明基于NURBS表面的光学系统高精度光线追迹方法中示例性关联包围体的NURBS曲线示意图;
图5为本发明基于NURBS表面的光学系统高精度光线追迹装置的模块图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明一实施例,提供了一种基于NURBS表面的光学系统高精度光线追迹方法,参见图1,包括以下步骤:
S100:通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
S200:根据光线规模,制定光线包分配和并行计算策略;
S300:利用光机面形节点信息,构造一级BVH包围盒;
S400:对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;
S500:采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
本发明实施例中的基于NURBS表面的光学系统高精度光线追迹方法,基于NURBS数学表征方法,结合规模化光线分包策略、并行运算策略、特定离散采样方案等,通过设计分级的BVH加速数据结构,在获取优异的迭代初值下,通过拟牛顿法,实现高精度追迹精度,同时有效提升交互效率。
其中,通过正向和逆向构造方式,生成基于NURBS的光机面形表达包括:
采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面;
对于自由形状的光机面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类,针对不同的几何外轮廓形状设置不同离散采样方法。
其中,根据光线规模,制定光线包分配和并行计算策略包括:
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略。
其中,利用光机面形节点信息,构造一级BVH包围盒包括:
利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元。
其中,利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元包括:
构造配合光线包使用的包围体层次加速数据结构,包围体层次加速数据结构根据NURBS节点信息,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构;
首先通过测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,遍历求交测试顺序为O(logn),对于与一级BVH包围盒有交点的光线,进行曲面细化后的二级BVH包围盒相交测试。
其中,对曲面元进行细化,生成包含子曲面元的二级BVH包围盒包括:
对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个初始值。
其中,对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个初始值包括:
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面。
其中,得到的一个初始值为用于后续数值迭代求精确解的初始猜测参数值,初始猜测参数值被定义为细化的子曲面参数域的参数区间的中心。
其中,采用拟牛顿法迭代求解出光线与光机面形交点高精度值包括:
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,拟牛顿法为每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵。
下面以具体实施例,对本发明的基于NURBS表面的光学系统高精度光线追迹方法进行详细说明:
本发明的目的是为了解决现有光学系统中光机表面与规模光线交互精度问题,同时进一步提升计算效率。本发明基于NURBS数学表征方法,结合规模化光线分包策略、并行运算策略、特定离散采样方案等,通过设计分级的BVH加速数据结构,在获取优异的迭代初值下,通过拟牛顿法,实现高精度追迹精度,同时有效提升交互效率。
本发明的一种基于NURBS表面的光学系统高精度光线追迹方法,技术方案包含以下内容:
1.通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
2.根据光线规模,制定光线包分配和并行计算策略;
3.利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元;
4.对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个较好初始值;
5.采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
本发明采用多构造算法和多重优化策略,制定多级加速结构,同时改进了传统牛顿迭代法,有效解决复杂光学系统中光机表面与大规模光线交互精度问题,同时提升交互计算效率。具体包括:
采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面。对于自由形状的光机面形,尤其是光学面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类,针对不同的几何外轮廓形状设置不同离散采样方法。
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略,确保处理器核心实时利用率,避免由于不同核心线程内光线求交时间存在差异导致的线程等待问题。
构造配合光线包使用的包围体层次(Bounding Volume Hierarchy,BVH)加速数据结构,该结构根据NURBS节点信息构建,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构,首先通过测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,由于结构的深度与曲面数量成对数,因此遍历求交测试顺序为O(logn),而不是O(n),显著简化求交过程。对于与一级BVH包围盒有交点的光线,进一步进行曲面细化后的二级BVH包围盒相交测试。
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面,有效解决了NURBS由于P和q独立于控制多边形特性导致计算时间长问题,同时不丢失精度。同时这里还给出一个初始猜测参数值,用于后续数值迭代求精确解,这个初始猜测参数值被定义为细化的子曲面参数域的参数区间的中心。
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,此方法属于牛顿迭代法的改进算法,继承了牛顿迭代法的优势,但不同于牛顿迭代法每次迭代都需要求解系数矩阵,而是每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵,有效提高了计算效率。
参照图2,首先采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面。对于自由形状的光机面形,尤其是光学面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类。图3列出了主要且常用的几何光学范畴的光学面形,针对不同的几何外轮廓形状设置不同离散采样方法,以圆柱高次非球面透镜为例,选取极坐标方式进行面形离散采样,首先在二维空间构造拟合曲线,设定采样点数量N、半口径R,完成二维空间离散采样,通过对曲线应用NURBS旋转算法来获得NURBS旋转曲面。其中:
正向构造方式是指在数学上,NURBS曲面由控制点、节点向量、权重、曲面的阶次来定义,因此,给定这部分数据即可在程序层定义NURBS曲面。
逆向构造方式是指在控制点、节点向量、权重信息未知的情况下,通过给定拟合点、曲线或曲面的阶次等信息,反向生成控制点、节点向量和权重,完成NURBS曲面拟合。
在追迹过程中区分光学和机械元件,主要是指光学系统中机械元件受限于现实加工工艺等情况,无需达到光学元件面形精度水平,在这里进行区分开来,通过设置不同精度,将有效提高追迹速度。
针对不同的几何外轮廓设置不同离散采样方法,具体包括:回转类光学元件,采用极坐标方式,首先在二维空间内进行离散采样,再通过旋转拟合曲线生成NURBS拟合曲面,在面形曲率较大的区域,进行高密度采样;对于拉伸类光学元件,采用笛卡尔坐标方式,首先在二维空间内进行离散采样,再通过拉伸拟合曲线生成NURBS拟合曲面,在面形曲率较大的区域,进行高密度采样;对于非回转或拉伸类元件,采用笛卡尔坐标方式,直接在三维空间进行离散采样,配合标记和识别的面形种类,有针对性的在面形曲率较大的区域,进行高密度采样,确保采样高精度。
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略,确保处理器核心实时利用率,避免由于不同核心线程内光线求交时间存在差异导致的线程等待问题。
构造配合光线包使用的BVH加速数据结构,该结构根据NURBS节点信息构建,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构,例如利用各曲面元所有控制顶点中x、y、z坐标的最大值组成向量Vmax=(xmax,ymax,zmax),最小值组成向量Vmin=(xmin,ymin,zmin);再以这两个向量作为对角向量,得到各曲面元的BVH包围盒。通过首先测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,由于结构的深度与曲面数量成对数,因此遍历求交测试顺序为O(logn),而不是O(n),显著简化求交过程。对于与一级BVH包围盒有交点的光线,进一步进行曲面细化后的二级BVH包围盒相交测试。
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,这里,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面,有效解决了NURBS由于P和q独立等全局特性导致计算时间长问题,同时不丢失精度。同时这里还给出一个初始猜测参数值,用于后续数值迭代求精确解,这个初始猜测参数值被定义为细化后的子曲面参数域的参数区间的中心,如图4所示,通过增加表面的非空节点数量,参数区间变得更小,并获得更好的初始猜测参数值。
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,此方法属于牛顿迭代法的改进算法,继承了牛顿迭代法的优势,但不同于牛顿迭代法每次迭代都需要求解系数矩阵,而是每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵,有效提高了计算效率。
与现有技术相比,本发明的有益效果至少为:
本发明基于NURBS表面,提出了一种光学系统高精度光线追迹方法,对于自由形状光学面形,提出通过光学面形识别,采取特定离散采样方式,有效提高NURBS拟合全局精度;通过制定光线分包和并行计算策略,结合设定特殊的两级BVH加速结构,得到良好的迭代初值的同时提高了交互效率;改进传统的牛顿法,采取拟牛顿法进行迭代求精确解,在牛顿法二次收敛速度上进一步提升迭代效率。
实施例2
根据本发明的另一实施例,提供了一种基于NURBS表面的光学系统高精度光线追迹装置,参见图5,包括:
光机面形表达单元201,用于通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
策略制定单元202,用于根据光线规模,制定光线包分配和并行计算策略;
一级BVH包围盒构建单元203,用于利用光机面形节点信息,构造一级BVH包围盒;
二级BVH包围盒生成单元204,用于对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;
迭代单元205,用于采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
本发明实施例中的基于NURBS表面的光学系统高精度光线追迹装置,基于NURBS数学表征方法,结合规模化光线分包策略、并行运算策略、特定离散采样方案等,通过设计分级的BVH加速数据结构,在获取优异的迭代初值下,通过拟牛顿法,实现高精度追迹精度,同时有效提升交互效率。
下面以具体实施例,对本发明的基于NURBS表面的光学系统高精度光线追迹装置进行详细说明:
本发明的目的是为了解决现有光学系统中光机表面与规模光线交互精度问题,同时进一步提升计算效率。本发明基于NURBS数学表征方法,结合规模化光线分包策略、并行运算策略、特定离散采样方案等,通过设计分级的BVH加速数据结构,在获取优异的迭代初值下,通过拟牛顿法,实现高精度追迹精度,同时有效提升交互效率。
本发明采用多构造算法和多重优化策略,制定多级加速结构,同时改进了传统牛顿迭代法,有效解决复杂光学系统中光机表面与大规模光线交互精度问题,同时提升交互计算效率。具体包括:
采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面。对于自由形状的光机面形,尤其是光学面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类,针对不同的几何外轮廓形状设置不同离散采样方法。
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略,确保处理器核心实时利用率,避免由于不同核心线程内光线求交时间存在差异导致的线程等待问题。
构造配合光线包使用的包围体层次(Bounding Volume Hierarchy,BVH)加速数据结构,该结构根据NURBS节点信息构建,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构,首先通过测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,由于结构的深度与曲面数量成对数,因此遍历求交测试顺序为O(logn),而不是O(n),显著简化求交过程。对于与一级BVH包围盒有交点的光线,进一步进行曲面细化后的二级BVH包围盒相交测试。
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面,有效解决了NURBS由于P和q独立于控制多边形特性导致计算时间长问题,同时不丢失精度。同时这里还给出一个初始猜测参数值,用于后续数值迭代求精确解,这个初始猜测参数值被定义为细化的子曲面参数域的参数区间的中心。
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,此方法属于牛顿迭代法的改进算法,继承了牛顿迭代法的优势,但不同于牛顿迭代法每次迭代都需要求解系数矩阵,而是每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵,有效提高了计算效率。
参照图2,首先采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面。对于自由形状的光机面形,尤其是光学面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类。图3列出了主要且常用的几何光学范畴的光学面形,针对不同的几何外轮廓形状设置不同离散采样方法,以圆柱高次非球面透镜为例,选取极坐标方式进行面形离散采样,首先在二维空间构造拟合曲线,设定采样点数量N、半口径R,完成二维空间离散采样,通过对曲线应用NURBS旋转算法来获得NURBS旋转曲面。其中:
正向构造方式是指在数学上,NURBS曲面由控制点、节点向量、权重、曲面的阶次来定义,因此,给定这部分数据即可在程序层定义NURBS曲面。
逆向构造方式是指在控制点、节点向量、权重信息未知的情况下,通过给定拟合点、曲线或曲面的阶次等信息,反向生成控制点、节点向量和权重,完成NURBS曲面拟合。
在追迹过程中区分光学和机械元件,主要是指光学系统中机械元件受限于现实加工工艺等情况,无需达到光学元件面形精度水平,在这里进行区分开来,通过设置不同精度,将有效提高追迹速度。
针对不同的几何外轮廓设置不同离散采样方法,具体包括:回转类光学元件,采用极坐标方式,首先在二维空间内进行离散采样,再通过旋转拟合曲线生成NURBS拟合曲面,在面形曲率较大的区域,进行高密度采样;对于拉伸类光学元件,采用笛卡尔坐标方式,首先在二维空间内进行离散采样,再通过拉伸拟合曲线生成NURBS拟合曲面,在面形曲率较大的区域,进行高密度采样;对于非回转或拉伸类元件,采用笛卡尔坐标方式,直接在三维空间进行离散采样,配合标记和识别的面形种类,有针对性的在面形曲率较大的区域,进行高密度采样,确保采样高精度。
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略,确保处理器核心实时利用率,避免由于不同核心线程内光线求交时间存在差异导致的线程等待问题。
构造配合光线包使用的BVH加速数据结构,该结构根据NURBS节点信息构建,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构,例如利用各曲面元所有控制顶点中x、y、z坐标的最大值组成向量Vmax=(xmax,ymax,zmax),最小值组成向量Vmin=(xmin,ymin,zmin);再以这两个向量作为对角向量,得到各曲面元的BVH包围盒。通过首先测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,由于结构的深度与曲面数量成对数,因此遍历求交测试顺序为O(logn),而不是O(n),显著简化求交过程。对于与一级BVH包围盒有交点的光线,进一步进行曲面细化后的二级BVH包围盒相交测试。
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,这里,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面,有效解决了NURBS由于P和q独立等全局特性导致计算时间长问题,同时不丢失精度。同时这里还给出一个初始猜测参数值,用于后续数值迭代求精确解,这个初始猜测参数值被定义为细化后的子曲面参数域的参数区间的中心,如图4所示,通过增加表面的非空节点数量,参数区间变得更小,并获得更好的初始猜测参数值。
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,此方法属于牛顿迭代法的改进算法,继承了牛顿迭代法的优势,但不同于牛顿迭代法每次迭代都需要求解系数矩阵,而是每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵,有效提高了计算效率。
与现有技术相比,本发明的有益效果至少包括:
本发明基于NURBS表面,提出了一种光学系统高精度光线追迹装置,对于自由形状光学面形,提出通过光学面形识别,采取特定离散采样方式,有效提高NURBS拟合全局精度;通过制定光线分包和并行计算策略,结合设定特殊的两级BVH加速结构,得到良好的迭代初值的同时提高了交互效率;改进传统的牛顿法,采取拟牛顿法进行迭代求精确解,在牛顿法二次收敛速度上进一步提升迭代效率。
实施例3
一种存储介质,存储介质存储有能够实现上述任意一项基于NURBS表面的光学系统高精度光线追迹方法的程序文件。
实施例4
一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的基于NURBS表面的光学系统高精度光线追迹方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的系统实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,包括以下步骤:
通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
根据光线规模,制定光线包分配和并行计算策略;
利用光机面形节点信息,构造一级BVH包围盒;
对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;
采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
2.根据权利要求1所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述通过正向和逆向构造方式,生成基于NURBS的光机面形表达包括:
采用正向构造方式,生成基于NURBS表征的初等解析几何光机面形,包含:平面、球面、圆柱面、圆锥面、圆环面、椭球面;
对于自由形状的光机面形,采用逆向构造方式,同时在追迹过程中区分光学和机械元件,并标记和识别光学面形种类,针对不同的几何外轮廓形状设置不同离散采样方法。
3.根据权利要求1所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述根据光线规模,制定光线包分配和并行计算策略包括:
对大规模光线进行数量区间分类,相应设置光线包规模,采用并行动态分发光线包策略。
4.根据权利要求1所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述利用光机面形节点信息,构造一级BVH包围盒包括:
利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元。
5.根据权利要求4所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述利用光机面形节点信息,构造一级BVH包围盒,排除一部分无交点曲面元包括:
构造配合光线包使用的包围体层次加速数据结构,包围体层次加速数据结构根据NURBS节点信息,利用NURBS曲面强凸包特性,构造包含各分段曲面片的一级BVH包围盒结构;
首先通过测试与一级BVH结构的相交情况来简化求交测试过程,快速排除与光线不相交的BVH内曲面元,遍历求交测试顺序为O(logn),对于与一级BVH包围盒有交点的光线,进行曲面细化后的二级BVH包围盒相交测试。
6.根据权利要求1所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述对曲面元进行细化,生成包含子曲面元的二级BVH包围盒包括:
对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个初始值。
7.根据权利要求6所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述对曲面元进行细化,生成包含子曲面元的二级BVH包围盒,同时得到一个初始值包括:
对有交点的一级BVH包围盒内的曲面片进行细化,制定细分策略,确定插入非空节点跨度的节点数,将曲面片细分为多个子面片,每个节点最大重复度分别设置为u和v参数方向的p+1和q+1,p和q为u和v方向的曲面次数,将每个子曲面转换为有理Bezier曲面。
8.根据权利要求7所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,得到的一个初始值为用于后续数值迭代求精确解的初始猜测参数值,初始猜测参数值被定义为细化的子曲面参数域的参数区间的中心。
9.根据权利要求1所述的基于NURBS表面的光学系统高精度光线追迹方法,其特征在于,所述采用拟牛顿法迭代求解出光线与光机面形交点高精度值包括:
在得到良好初始参数值的情况下,采用拟牛顿法进行数值迭代求解,拟牛顿法为每次迭代只需在前一次迭代系数矩阵上加一个修正矩阵。
10.一种基于NURBS表面的光学系统高精度光线追迹装置,其特征在于,包括:
光机面形表达单元,用于通过正向和逆向构造方式,生成基于NURBS的光机面形表达;
策略制定单元,用于根据光线规模,制定光线包分配和并行计算策略;
一级BVH包围盒构建单元,用于利用光机面形节点信息,构造一级BVH包围盒;
二级BVH包围盒生成单元,用于对曲面元进行细化,生成包含子曲面元的二级BVH包围盒;
迭代单元,用于采用拟牛顿法迭代求解出光线与光机面形交点高精度值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211170391.2A CN115453753A (zh) | 2022-09-23 | 2022-09-23 | 基于nurbs表面的光学系统高精度光线追迹方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211170391.2A CN115453753A (zh) | 2022-09-23 | 2022-09-23 | 基于nurbs表面的光学系统高精度光线追迹方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115453753A true CN115453753A (zh) | 2022-12-09 |
Family
ID=84307516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211170391.2A Pending CN115453753A (zh) | 2022-09-23 | 2022-09-23 | 基于nurbs表面的光学系统高精度光线追迹方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115453753A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310048A (zh) * | 2023-03-29 | 2023-06-23 | 上海慕灿信息科技有限公司 | 一种基于曲率细分计算光线跟踪与nurbs曲面交点的方法 |
CN117893655A (zh) * | 2023-04-18 | 2024-04-16 | 上海慕灿信息科技有限公司 | 一种提升裁剪点搜索速度和gpu速度的方法 |
CN118114492A (zh) * | 2024-03-11 | 2024-05-31 | 上海芯钬量子科技有限公司 | 面向微结构阵列模型的光线追迹仿真加速方法及系统 |
CN118194605A (zh) * | 2024-05-14 | 2024-06-14 | 中国科学院长春光学精密机械与物理研究所 | 基于自适应硬件配置的智能光线求交系统及方法 |
CN118313025A (zh) * | 2024-06-05 | 2024-07-09 | 中国科学院长春光学精密机械与物理研究所 | 基于中间层组件的cad组件与求交引擎组件切换方法 |
CN118502113A (zh) * | 2024-07-18 | 2024-08-16 | 中国科学院长春光学精密机械与物理研究所 | 基于评价函数的nurbs表面面形优化方法 |
-
2022
- 2022-09-23 CN CN202211170391.2A patent/CN115453753A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116310048A (zh) * | 2023-03-29 | 2023-06-23 | 上海慕灿信息科技有限公司 | 一种基于曲率细分计算光线跟踪与nurbs曲面交点的方法 |
CN116310048B (zh) * | 2023-03-29 | 2024-01-26 | 上海慕灿信息科技有限公司 | 一种基于曲率细分计算光线跟踪与nurbs曲面交点的方法 |
CN117893655A (zh) * | 2023-04-18 | 2024-04-16 | 上海慕灿信息科技有限公司 | 一种提升裁剪点搜索速度和gpu速度的方法 |
CN117893655B (zh) * | 2023-04-18 | 2024-09-06 | 上海慕灿信息科技有限公司 | 一种提升裁剪点搜索速度和gpu速度的方法 |
CN118114492A (zh) * | 2024-03-11 | 2024-05-31 | 上海芯钬量子科技有限公司 | 面向微结构阵列模型的光线追迹仿真加速方法及系统 |
CN118194605A (zh) * | 2024-05-14 | 2024-06-14 | 中国科学院长春光学精密机械与物理研究所 | 基于自适应硬件配置的智能光线求交系统及方法 |
CN118313025A (zh) * | 2024-06-05 | 2024-07-09 | 中国科学院长春光学精密机械与物理研究所 | 基于中间层组件的cad组件与求交引擎组件切换方法 |
CN118313025B (zh) * | 2024-06-05 | 2024-08-06 | 中国科学院长春光学精密机械与物理研究所 | 基于中间层组件的cad组件与求交引擎组件切换方法 |
CN118502113A (zh) * | 2024-07-18 | 2024-08-16 | 中国科学院长春光学精密机械与物理研究所 | 基于评价函数的nurbs表面面形优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115453753A (zh) | 基于nurbs表面的光学系统高精度光线追迹方法及装置 | |
Khan et al. | Surface remeshing: A systematic literature review of methods and research directions | |
Cheng et al. | A Survey of Methods for Moving Least Squares Surfaces. | |
Guo et al. | Meshless thin-shell simulation based on global conformal parameterization | |
JP2002352273A (ja) | 対話式にグラフィクスオブジェクトを編集するシステムおよび方法 | |
CN109344459B (zh) | 一种蒙特卡罗程序的可视建模与转换方法及系统 | |
JP2002324250A (ja) | コンピュータ実現ツールを用いてグラフィクスオブジェクトを編集する方法 | |
Frisken et al. | Designing with distance fields | |
JP2002334347A (ja) | グラフィクスモデルの適応的サンプル距離フィールドを三角形モデルに変換する方法 | |
JP2002329218A (ja) | コンピュータ実現ツールを用いてグラフィクスオブジェクトのサーフェスを編集する方法 | |
JP2002324251A (ja) | グラフィクスオブジェクトを編集する方法 | |
Zhu et al. | A review of 3D point clouds parameterization methods | |
Vyatkin | Method of binary search for image elements of functionally defined objects using graphics processing units | |
JP2020533685A (ja) | Quador:格子用の回転二次曲面ビーム | |
Jahanshahloo et al. | Reconstruction of 3D shapes with B-spline surface using diagonal approximation BFGS methods | |
Wang et al. | On volumetric shape reconstruction from implicit forms | |
CN115330971B (zh) | 一种面向渲染性能优化的几何模型轻量化方法 | |
Capouellez et al. | Algebraic smooth occluding contours | |
De Araújo et al. | Adaptive polygonization of implicit surfaces | |
Xiao et al. | Robust morphing of point‐sampled geometry | |
CN116310108A (zh) | 基于莫顿码的三维几何模型面元空间划分及bvh树构建方法 | |
JP2002324252A (ja) | グラフィクスオブジェクトをモデル化する方法 | |
JP2002352270A (ja) | モデルの適応的サンプル距離フィールドを訂正する方法 | |
Shao et al. | A multi-GPU accelerated virtual-reality interaction simulation framework | |
KR100433947B1 (ko) | 형상 기반의 삼각망 생성 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |