計算設計中經常會使用曲線和曲面做為後續建構幾何圖形的基礎。為了讓這個早期的幾何圖形能夠做為後期幾何圖形的基礎,腳本必須要能夠萃取品質,例如物件整個區域的位置和方位。曲線與曲面兩種都支援這類萃取,這就是所謂的參數化。
一條曲線上所有的點都可以視為在 0 到 1 的範圍內具有唯一的參數。如果我們根據幾個控制點或內插點建立 NurbsCurve,第一個點的參數會是 0,最後一個點的參數會是 1。我們無法事先知道所有中間點的確切參數是多少,這聽起來像是很嚴重的限制,不過透過一系列的公用程式函數,這個狀況會減輕許多。曲面的參數化與曲線類似,但是有兩個分別稱為 u 和 v 的參數,而不是一個。如果我們要建立一個包含以下幾點的曲面:
p1 會有 u = 0 v = 0 的參數,p9 會有 u = 1 v = 1 的參數。
決定用來產生曲線的點時,參數化並不是特別好用,它的主要用途是決定由 NurbsCurve 和 NurbsSurface 建構函式所產生的中間點的位置。
曲線 (Curve) 有一個 PointAtParameter 方法,採用 0 到 1 之間的一個雙精確度引數,並傳回位於該參數的 Point 物件。例如,此腳本會找出參數 0、.1、.2、.3、.4、.5、.6、.7、.8、.9 和 1 的點 (Point):
同樣的,曲面 (Surface) 有一個 PointAtParameter 方法,採用兩個引數:產生的點的 u 和 v 參數。
在萃取曲線和曲面上的各個點時雖然很好用,但是腳本通常需要知道位於某個參數的特定幾何特性,例如曲線或曲面是朝向哪個方向。CoordinateSystemAtParameter 方法不只會找出位置,也會找出位於曲線或曲面的參數處有方向的 CoordinateSystem。例如,以下腳本會沿著一個迴轉的曲面 (Surface) 萃取出有方向的 CoordinateSystem,並使用 CoordinateSystem 的方位產生插在曲面法線方向上的線條:
如先前所述,參數化在整個曲線或曲面的長度不一定都是均勻的,這表示參數 0.5 不一定會永遠對應到曲線或曲面的中點,0.25 不一定會永遠對應到曲線或曲面四分之一的點。若要避開這種限制,曲線還有另外一組參數化指令,可讓您沿著曲線找出位於特定長度的點。