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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。