Affine Arithmetic Based B-spline Surface Intersection with GPU Acceleration论文笔记

本文探讨了一种使用CUDA加速的仿射算术在B样条曲面求交问题上的应用。通过扩展仿射算术到B样条曲面,结合空间分解策略,提出细化带状相交区域的方法。采用四维参数空间的重叠测试方程组确定相交区域,并利用GPU进行快速分解。进一步,通过条带薄化和点列连接方法生成相交点,提高精度。整个算法提高了求解效率和准确性。
摘要由CSDN通过智能技术生成

本文主要介绍了一种通过GPU加速(CUDA)的基于仿射算术的B样条曲面求交法。

2.1IA(Interval Arithmetic)为区间算术AA (Affine Arithmetic)为仿射算术,它们都是区间分析的有力工具。二者区别在于AA的区间估计范围比IA要小,因而AA更为精确。不过AA运算的效率低速度慢,并且应用于求交上时其最终产生的结果是一个带状区域而非曲线

2.2:在求交领域,常见的方法包括:跟踪法(从起始点出发跟踪)、代数法(消去理论与结式)和分解法(对曲面建立起多面体估计)。目前主流的一种方法是先用分解法来判定分支,之后依靠跟踪法绘制曲线。

本文算法改进:
1.扩展了仿射算术到B样条曲面上。
2.给出了几种级别的空间分解。
3.提出有效方法来细化带状相交区域。

3:给出了仿射算术的表示形式,即仿射形式,并定义了仿射形式与常数的加法数乘和其自身的加减乘除。(问题:如何确定 x i x_i xi的个数与大小)

4.1将仿射形式取代参数值代入B样条曲面的表达形式中(同时覆盖多个节点区间的要将仿射形式进行分解),进而得到一个三维坐标区间,获得一系列的AABB(axis-aligned bounding box)。

4.2:从相交区域中提取交线。将两个曲面的四个参数构成四维空间,对这四个参数提出了一个重叠测试方程组,来对AABB进行重叠测试。对于重叠测试通过的区间进行分解,不断的分解使得区间变小,最终达到需要的最低Level,在两个曲面上分别获得带状的相交区域(条带)。这里利用CUDA给出了一个基于GPU的分解方法。

5
条带薄化:参数域矩形上的四个点,对应于三维曲面上的四个点,对这四个点生成最小AABB,将每个条带上不与另一曲面其他AABB相交的矩形删除,实现了条带薄化。
相交点列生成
利用点列连接方法进行聚类。首先将一个曲面的参数空间分解为一个个与相交区域相同分辨率大小的矩形,之后将相交区域上的矩形看作特征矩形,其他矩形看作非特征矩形,选择一个特征矩形作为种子,不断扩展出类矩形的区域群(存在两个终止条件)。完成一个区域群的构建后,我们从某个与群邻接的特征矩形出发建立新的区域群。
每个区域群确定一个相交点。在曲面P上,对于区域群里的每个矩形确定一个重心 D p D_p Dp,而P上的矩形会对应另一曲面Q上的矩形,从而确定另一个重心 D q D_q Dq。在每个群中,我们找到 ∣ ∣ D p − D q ∣ ∣ ||D_p-D_q|| DpDq最小的那个矩形,将 D p + D q 2 \frac{D_p+D_q}{2} 2Dp+Dq作为交点。通过这种方式,我们会获得三个点列,两个在参数空间上,一个在三维空间中。
提高准确度。通过初始获得的交点 p 1 p_1 p1以及与之相距最近的曲面上的点 d 1 1 d_1^1 d11 d 2 1 d_2^1 d21,获得 p 2 p_2 p2,该点由对应于 d 1 1 d_1^1 d11 d 2 1 d_2^1 d21的两个曲面切面和由两条线 p 1 d 1 1 p_1d_1^1 p1d11 p 1 d 2 1 p_1d_2^1 p1d21决定的平面相交决定。不断重复这一过程,直到符合要求(问题:要求怎么来的)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值