Processing, 類PVector
中的lerp()
用法介紹。
用法
.lerp(v, amt)
.lerp(v1, v2, amt)
.lerp(x, y, z, amt)
參數
v
(PVector)
到 lerp 的向量amt
(float)
插值量; 0.0(舊向量)和 1.0(新向量)之間的某個值。 0.1 非常接近舊向量; 0.5 介於兩者之間。v1
(PVector)
開始的向量v2
(PVector)
到 lerp 的向量x
(float)
要適應的 x 分量y
(float)
要 lerp 的 y 分量z
(float)
要 lerp 到的 z 分量
返回
PVector
說明
計算從一個向量到另一個向量的線性插值。 (就像常規的 lerp()
一樣,但對於向量。)
請注意,此方法有一個static
版本和兩個non-static
版本。靜態版本 lerp(v1, v2, amt)
被賦予兩個向量以進行插值並返回一個新的 PVector 對象。通過直接引用 PVector 類來使用靜態版本。 (參見上麵的中間示例。)非靜態版本 lerp(v, amt)
和 lerp(x, y, z, amt)
不會創建新的 PVector,而是轉換調用它們的 PVector
的值。這些非靜態版本執行相同的操作,但前者采用另一個向量作為輸入,而後者采用三個浮點值。 (分別參見上麵的頂部和底部示例。)
例子
// Non-static (lerp on a specific vector)
PVector current;
PVector target;
void setup() {
current = new PVector(0.0, 0.0);
target = new PVector(100.0, 100.0);
current.lerp(target, 0.5);
println(current); // Prints "[ 50.0, 50.0, 0.0 ]"
}
// Static (return a new vector)
PVector start;
PVector end;
PVector middle;
void setup() {
start = new PVector(0.0, 0.0);
end = new PVector(100.0, 100.0);
middle = PVector.lerp(start, end, 0.5);
println(middle); // Prints "[ 50.0, 50.0, 0.0 ]"
}
// Non-static (lerp on a specific vector)
PVector v;
void setup() {
v = new PVector(0.0, 0.0);
}
void draw() {
v.lerp(mouseX, mouseY, 0.0, 0.1);
ellipse(v.x, v.y, 20, 20);
}
有關的
相關用法
- Processing PVector.limit()用法及代碼示例
- Processing PVector.set()用法及代碼示例
- Processing PVector.mag()用法及代碼示例
- Processing PVector.normalize()用法及代碼示例
- Processing PVector.div()用法及代碼示例
- Processing PVector.cross()用法及代碼示例
- Processing PVector.random2D()用法及代碼示例
- Processing PVector.heading()用法及代碼示例
- Processing PVector.dot()用法及代碼示例
- Processing PVector.magSq()用法及代碼示例
- Processing PVector.dist()用法及代碼示例
- Processing PVector.angleBetween()用法及代碼示例
- Processing PVector.fromAngle()用法及代碼示例
- Processing PVector.random3D()用法及代碼示例
- Processing PVector.z用法及代碼示例
- Processing PVector.y用法及代碼示例
- Processing PVector.x用法及代碼示例
- Processing PVector.setMag()用法及代碼示例
- Processing PVector.array()用法及代碼示例
- Processing PVector.rotate()用法及代碼示例
- Processing PVector.add()用法及代碼示例
- Processing PVector.sub()用法及代碼示例
- Processing PVector.copy()用法及代碼示例
- Processing PVector用法及代碼示例
- Processing Pulse用法及代碼示例
注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 PVector.lerp()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。