NURBS参数空间与坐标空间的转化

问题描述:已知NURBS曲面,现在想根据xy坐标的情况下,求z的值。由于 NURBS 曲面是参数曲面,在仅知道(xy)坐标的情况下无法直接求出该点的矢高值,而是需要先将物理空间坐标值(xy)转换成对应参数空间坐标(uv),然后再根据(uv)值求解出该点的物理空间坐标(xyz)。由于(xy)(uv)无法求出解析表达式,只能通过迭代求解。

参考文献:

NURBS自由曲面在光机设计和分析中的应用

The NURBS Book 2nd

迭代算法1

距离矢量算法:

首先,建立已知的空间坐标(xy)和待求的参数空间坐标S(uv)之间的距离矢量公式如下:

NURBS参数空间与坐标空间的转化的图1

当距离矢量 r 取得最小值时,r NURBS 曲面在参数坐标所决定的空间点处的切向量的点积应为零

NURBS参数空间与坐标空间的转化的图2

采用牛顿迭代算法求解方程组,对上式两端进行偏微分

NURBS参数空间与坐标空间的转化的图3

所以

NURBS参数空间与坐标空间的转化的图4

式中,δi是参数ui和viNewton迭代改进步长;

NURBS参数空间与坐标空间的转化的图5

Ji为向量的雅可比矩阵,如下

NURBS参数空间与坐标空间的转化的图6

由于雅可比矩阵比较复杂,该算法进行一次迭代需要计算NURBS曲面两次一阶偏导数和四次二阶偏导数

迭代算法2

光线追迹法

由于距离矢量法需要计算曲面的二阶偏导,速度较慢,因此研究了基于光线曲面求交方法的坐标转换方法。

为了求取NURBS曲面上横纵坐标为(x,y)的点的z值,假设有一条光线从点(x,y,0)以方向(0,0,1)出射并与曲面相交,则光线与曲面的交点即为所求的点。

光线矢量定义为两个空间平面的交线,如下图

NURBS参数空间与坐标空间的转化的图7

两个平面分别表示为

NURBS参数空间与坐标空间的转化的图8

Ni为平面的法线向量,是与光线方向垂直的单位向量;

di为原点距平面的距离。

当曲面上点为光线与曲面的交点时应该满足以下判断条件R

NURBS参数空间与坐标空间的转化的图9

根据三维空间的牛顿迭法,上述方程可改写为:

NURBS参数空间与坐标空间的转化的图10

上式中:JR的雅可比矩阵。

NURBS参数空间与坐标空间的转化的图11

Su (u,v)Sv (u,v)为曲面方程分别关于uv的一阶偏导,表示曲面沿着uv向的切线向量。


默认 最新
当前暂无评论,小编等你评论哦!
点赞 1 评论 收藏
关注