three.js Curve

2023-02-16 17:32 更新

用于創(chuàng)建包含插值方法的Curve對象的抽象基類。

構造函數(shù)

Curve()

創(chuàng)建一個 Curve.

屬性

.arcLengthDivisions : Integer

確定.GetLength計算曲線的累積分段長度時的分段量。 為確保.getSpacedPoints等方法時的精度,如果曲線非常大,建議增加.arcLengthDivisions。默認值為200

方法

.getPoint ( t : Float, optionalTarget : Vector ) : Vector

t - 曲線上的位置。必須在[0,1]范圍內(nèi)optionalTarget — (可選) 如果需要, 結果將復制到此向量中,否則將創(chuàng)建一個新向量。返回曲線上給定位置的點。

.getPointAt ( u : Float, optionalTarget : Vector ) : Vector

u - 根據(jù)弧長在曲線上的位置。必須在范圍[0,1]內(nèi)。optionalTarget — (可選) 如果需要, (可選) 如果需要, 結果將復制到此向量中,否則將創(chuàng)建一個新向量。根據(jù)弧長返回曲線上給定位置的點。

.getPoints ( divisions : Integer ) : Array

divisions -- 要將曲線劃分為的分段數(shù)。默認是 5.使用getPoint(t)返回一組divisions+1的點

.getSpacedPoints ( divisions : Integer ) : Array

divisions -- 要將曲線劃分為的分段數(shù)。默認是 5.使用getPointAt(u)返回一個分段+1的等距點的數(shù)組。

.getLength () : Float

獲取總曲線弧長。

.getLengths ( divisions : Integer ) : Array

獲取累積段長度的列表。

.updateArcLengths () : undefined

更新累積段距離緩存。

.getUtoTmapping ( u : Float, distance : Float ) : Float

給定范圍(0..1)內(nèi)的u,返回范圍(0..1)內(nèi)的t, 然后可以用t來使用 .getPoint給出與曲線末端等距的點。

.getTangent ( t : Float, optionalTarget : Vector ) : Vector

t -在曲線上的點,必須在范圍 [ 0, 1 ].optionalTarget — (可選) 如果需要, (可選) 如果需要, 結果將復制到此向量中,否則將創(chuàng)建一個新向量。返回t處的單位向量切線。如果派生曲線未實現(xiàn)其 切線求導,將使用相距一個小三角形的兩個點來求與其實際梯度的近似值

.getTangentAt ( u : Float, optionalTarget : Vector ) : Vector

u - 根據(jù)弧長在曲線上的位置,必須在范圍[ 0, 1 ]。optionalTarget —(可選) 如果需要, (可選) 如果需要, 結果將復制到此向量中,否則將創(chuàng)建一個新向量。返回一個點處的切線,該點與 .getTangent中給定的曲線的端點距離相等

.computeFrenetFrames ( segments : Integer, closed : Boolean ) : Object

生成Frenet幀。需要三維空間中的曲線定義。用于TubeGeometry或ExtradeGeometry等幾何圖形。

.clone () : Curve

創(chuàng)建此實例的克隆。

.copy ( source : Curve ) : this

將另一個Curve對象復制到此實例。

.toJSON () : Object

返回此實例的JSON對象表示形式。

.fromJSON ( json : Object ) : this

將給定的JSON數(shù)據(jù)復制到此實例。

源碼

src/extras/core/Curve.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號