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向的切線向量。


登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1