Processing, 类PVector
用法介绍。
构造函数
PVector()
PVector(x, y, z)
PVector(x, y)
参数
x
x 坐标。y
y 坐标。z
z 坐标。
说明
说明二维或三维向量的类,特别是欧几里得(也称为几何)向量。矢量是具有大小和方向的实体。然而,数据类型存储向量的分量(x,y 表示 2D,x,y,z 表示 3D)。可以通过 mag()
和 heading()
方法访问幅度和方向。
在许多处理示例中,您将看到 PVector
用于说明位置、速度或加速度。例如,如果您考虑一个在屏幕上移动的矩形,在任何给定时刻,它都有一个位置(从原点指向其位置的向量)、一个速度(单位时间对象位置变化的速率,表示为作为矢量)和加速度(物体的速度每单位时间变化的速率,表示为矢量)。由于向量表示值的分组,我们不能简单地使用传统的加法/乘法/等。相反,我们需要做一些"vector" 数学运算,这可以通过PVector
类中的方法轻松实现。
例子
PVector v1, v2;
void setup() {
noLoop();
v1 = new PVector(40, 20);
v2 = new PVector(25, 50);
}
void draw() {
ellipse(v1.x, v1.y, 12, 12);
ellipse(v2.x, v2.y, 12, 12);
v2.add(v1);
ellipse(v2.x, v2.y, 24, 24);
}
方法
- PVector.set()设置向量的分量
- PVector.random2D()制作具有随机方向的新二维单位向量
- PVector.random3D()制作具有随机方向的新 3D 单位向量
- PVector.fromAngle()从一个角度制作一个新的二维单位向量
- PVector.copy()获取向量的副本
- PVector.mag()计算向量的大小
- PVector.magSq()计算向量的大小,平方
- PVector.add()将 x、y 和 z 分量添加到一个向量、一个向量到另一个向量或两个独立向量
- PVector.sub()从一个向量、一个向量与另一个向量或两个独立向量中减去 x、y 和 z 分量
mult()
将向量乘以标量- PVector.div()将向量除以标量
- PVector.dist()计算两点之间的距离
- PVector.dot()计算两个向量的点积
- PVector.cross()计算并返回叉积
- PVector.normalize()将向量归一化为长度为 1
- PVector.limit()限制向量的大小
- PVector.setMag()设置向量的大小
- PVector.heading()计算该向量的旋转角度
- PVector.rotate()将矢量旋转一个角度(仅限 2D)
- PVector.lerp()将向量线性插值到另一个向量
- PVector.angleBetween()计算并返回两个向量之间的角度
- PVector.array()将向量的表示形式返回为浮点数组
相关用法
- Processing PVector.set()用法及代码示例
- Processing PVector.mag()用法及代码示例
- Processing PVector.normalize()用法及代码示例
- Processing PVector.limit()用法及代码示例
- Processing PVector.div()用法及代码示例
- Processing PVector.cross()用法及代码示例
- Processing PVector.random2D()用法及代码示例
- Processing PVector.lerp()用法及代码示例
- 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 Pulse用法及代码示例
注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 PVector。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。