摘要
本文提出了一种快速、稳定的几何算法来求解射线与三角Bézier曲面的交点,我们把这种新方法称为混合裁剪算法(简称HC(hybrid clipping)算法)。若射线只穿过曲面一次,通过降阶逼近算法,我们得到参数域上的一对直线和一对二次曲线,进而可将交点的参数范围限定在一个比原参数域更小的三角域上。结合细分算法,原三角域可以被反复剪裁,直到参数域的直径小于给定的阈值。当射线与曲面的交点个数大于1时,本文利用Descartes符号法则和细分算法将参数域分割成一些子区域,使得每个子区域只包含一个交点。本文从理论上证明了,经过适当的预处理,HC算法在单根的情况下具有三阶的收敛速度。此外,HC算法具有许多优良的性质,如无需初始值以及对初始问题扰动不敏感等。数值实验也表明了HC算法在解决射线与三角Bézier曲面求交问题的有效性。
In this paper, we present a novel geometric method for efficiently and robustly computing intersections between a ray and a triangular Bezier patch defined over a triangular domain, called the hybrid clipping (HC) algorithm. If the ray pierces the patch only once, we locate the parametric value of the intersection to a smaller triangular domain, which is determined by pairs of lines and quadratic curves, by using a multi-degree reduction method. The triangular domain is iteratively clipped into a smaller one by combining a subdivision method, until the domain size reaches a prespecified threshold. When the ray intersects the patch more than once, Descartes' rule of signs and a split step are required to isolate the intersection points. The algorithm can be proven to clip the triangular domain with a cubic convergence rate after an appropriate preprocessing procedure. The proposed algorithm has many attractive properties, such as the absence of an initial guess and insensitivity to small changes in coefficients of the original problem. Experiments have been conducted to illustrate the efficacy of our method in solving ray-triangular Bezier patch intersection problems.
基金
Project supported by the National Natural Science Foundation of China (Nos. 61100105, 61572020, and 61472332), the Natural Science Foundation of Fujian Province of China (No. 2015J01273), and the Fundamental Research Funds for the Central Universities, China (Nos. 20720150002 and 20720140520)