2次元または3次元のベクトルを表すクラスです。
ベクトルは異なる方法で考えることができます。一つの見方では、ベクトルは 空間内で指し示す矢印のようなものです。ベクトルは大きさ(長さ)と 方向の両方を持っています。
p5.Vector
オブジェクトは、計算を簡略化するため、しばしば動きを プログラムするのに使用されます。例えば、動く球は位置と速度を持っています。 位置は球が空間のどこにあるかを表します。球の位置ベクトルは 原点から球の中心まで伸びています。速度は球の速さと 動いている方向を表します。球がまっすぐ上に動いている場合、その 速度ベクトルはまっすぐ上を指します。球の速度ベクトルを 位置ベクトルに加えると、球が動きます。例えばpos.add(vel)
のようにします。ベクトル計算は p5.Vector
クラス内のメソッドに依存しています。
注意:createVector()は このクラスのインスタンスを作成する推奨される方法です。
実例
シンタックス
p5.Vector([x], [y], [z])
パラメーター
ベクトルのx成分。
ベクトルのy成分。
ベクトルのz成分。
メソッド
ベクトルの文字列表現を返します。
toString()
を呼び出すことは、デバッグ中にコンソールに ベクトルを出力するのに便利です。
ベクトルのx
、y
、z
成分を設定します。
set()
は、v.set(1, 2, 3)
のように個別の数値、 v.set(v2)
のようにp5.Vectorオブジェクト、 またはv.set([1, 2, 3])
のように数値の配列を使用できます。
成分に値が提供されない場合、0に設定されます。例えば、 v.set(4, 5)
はv.x
を4に、v.y
を5に、v.z
を0に設定します。 引数なしでset()
を呼び出す(v.set()
のように)と、 ベクトルのすべての成分が0に設定されます。
ベクトルのx
、y
、z
成分に加算します。
add()
は、v.add(1, 2, 3)
のように個別の数値、 v.add(v2)
のように別のp5.Vectorオブジェクト、 またはv.add([1, 2, 3])
のように数値の配列を使用できます。
成分に値が提供されない場合、変更されません。例えば、 v.add(4, 5)
はv.x
に4を、v.y
に5を加え、v.z
には0を加えます。 引数なしでadd()
を呼び出す(v.add()
のように)と、 何の効果もありません。
add()
の静的バージョン(p5.Vector.add(v2, v1)
のように)は、 新しいp5.Vectorオブジェクトを返し、 元のオブジェクトは変更しません。
ベクトルのx
、y
、z
成分に対して モジュロ(剰余)除算を行います。
rem()
は、v.rem(1, 2, 3)
のように個別の数値、 v.rem(v2)
のように別のp5.Vectorオブジェクト、 またはv.rem([1, 2, 3])
のように数値の配列を使用できます。
1つの値のみが提供された場合(v.rem(2)
のように)、すべての成分が その値で剰余演算されます。2つの値が提供された場合(v.rem(2, 3)
のように)、 v.z
は変更されません。引数なしでrem()
を呼び出す (v.rem()
のように)と、何の効果もありません。
rem()
の静的バージョン(p5.Vector.rem(v2, v1)
のように)は、 新しいp5.Vectorオブジェクトを返し、 元のオブジェクトは変更しません。
ベクトルのx
、y
、z
成分から減算します。
sub()
は、v.sub(1, 2, 3)
のように個別の数値、 v.sub(v2)
のように別のp5.Vectorオブジェクト、 またはv.sub([1, 2, 3])
のように数値の配列を使用できます。
成分に値が提供されない場合、変更されません。例えば、 v.sub(4, 5)
はv.x
から4を、v.y
から5を引き、v.z
からは0を引きます。 引数なしでsub()
を呼び出す(v.sub()
のように)と、 何の効果もありません。
sub()
の静的バージョン(p5.Vector.sub(v2, v1)
のように)は、 新しいp5.Vectorオブジェクトを返し、 元のオブジェクトは変更しません。
ベクトルのx
、y
、z
成分を乗算します。
mult()
は、v.mult(1, 2, 3)
のように個別の数値、 v.mult(v2)
のように別のp5.Vectorオブジェクト、 またはv.mult([1, 2, 3])
のように数値の配列を使用できます。
1つの値のみが提供された場合(v.mult(2)
のように)、すべての成分が 2倍になります。成分に値が提供されない場合、変更されません。例えば、 v.mult(4, 5)
はv.x
を4倍、v.y
を5倍し、 v.z
は1倍(変更なし)になります。引数なしでmult()
を呼び出す (v.mult()
のように)と、何の効果もありません。
mult()
の静的バージョン(p5.Vector.mult(v, 2)
のように)は、 新しいp5.Vectorオブジェクトを返し、 元のオブジェクトは変更しません。
ベクトルのx
、y
、z
成分を除算します。
div()
は、v.div(1, 2, 3)
のように個別の数値、 v.div(v2)
のように別のp5.Vectorオブジェクト、 またはv.div([1, 2, 3])
のように数値の配列を使用できます。
1つの値のみが提供された場合(v.div(2)
のように)、すべての成分が 2で割られます。成分に値が提供されない場合、変更されません。例えば、 v.div(4, 5)
はv.x
を4で、v.y
を5で割り、 v.z
は1で割ります(変更なし)。引数なしでdiv()
を呼び出す (v.div()
のように)と、何の効果もありません。
div()
の静的バージョン(p5.Vector.div(v, 2)
のように)は、 新しいp5.Vectorオブジェクトを返し、 元のオブジェクトは変更しません。
ベクトルの大きさ(長さ)の二乗を計算します。