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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。