p5.Vector

2次元または3次元のベクトルを表すクラスです。

ベクトルは異なる方法で考えることができます。一つの見方では、ベクトルは 空間内で指し示す矢印のようなものです。ベクトルは大きさ(長さ)と 方向の両方を持っています。

p5.Vectorオブジェクトは、計算を簡略化するため、しばしば動きを プログラムするのに使用されます。例えば、動く球は位置と速度を持っています。 位置は球が空間のどこにあるかを表します。球の位置ベクトルは 原点から球の中心まで伸びています。速度は球の速さと 動いている方向を表します。球がまっすぐ上に動いている場合、その 速度ベクトルはまっすぐ上を指します。球の速度ベクトルを 位置ベクトルに加えると、球が動きます。例えばpos.add(vel)のようにします。ベクトル計算は p5.Vectorクラス内のメソッドに依存しています。

注意:createVector()は このクラスのインスタンスを作成する推奨される方法です。

実例

シンタックス

p5.Vector([x], [y], [z])

パラメーター

x
Number:

ベクトルのx成分。

y
Number:

ベクトルのy成分。

z
Number:

ベクトルのz成分。

メソッド

toString

ベクトルの文字列表現を返します。

toString()を呼び出すことは、デバッグ中にコンソールに ベクトルを出力するのに便利です。

set

ベクトルのxyz成分を設定します。

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に設定されます。

copy

p5.Vectorオブジェクトのコピーを返します。

add

ベクトルのxyz成分に加算します。

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オブジェクトを返し、 元のオブジェクトは変更しません。

rem

ベクトルのxyz成分に対して モジュロ(剰余)除算を行います。

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オブジェクトを返し、 元のオブジェクトは変更しません。

sub

ベクトルのxyz成分から減算します。

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オブジェクトを返し、 元のオブジェクトは変更しません。

mult

ベクトルのxyz成分を乗算します。

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オブジェクトを返し、 元のオブジェクトは変更しません。

div

ベクトルのxyz成分を除算します。

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オブジェクトを返し、 元のオブジェクトは変更しません。

mag

ベクトルの大きさ(長さ)を計算します。

mag()を使用して、mag(x, y)のように 成分を使用して2Dベクトルの大きさを計算します。

magSq

ベクトルの大きさ(長さ)の二乗を計算します。

Notice any errors or typos? Please let us know. Please feel free to edit src/math/p5.Vector.js and open a pull request!

関連するリファレンス