Class pv.Vector
Represents a two-dimensional vector; a 2-tuple ⟨x,
y⟩. The intent of this class is to simplify vector math. Note that
in performance-sensitive cases it may be more efficient to represent 2D
vectors as simple objects with x and y attributes, rather
than using instances of this class.
Defined in: Vector.js.
Constructor Attributes | Constructor Name and Description |
---|---|
pv.Vector(x, y)
Constructs a pv.Vector for the specified x and y
coordinate.
|
Method Attributes | Method Name and Description |
---|---|
dot(x, y)
Returns the dot product of this vector and the vector v: x * v.x +
y * v.y.
|
|
length()
Returns the magnitude of this vector, defined as sqrt(x * x + y * y).
|
|
minus(x, y)
Returns this vector minus the vector v: ⟨x - v.x, y -
v.y⟩.
|
|
norm()
Returns a normalized copy of this vector: a vector with the same direction,
but unit length.
|
|
perp()
Returns a vector perpendicular to this vector: ⟨-y, x⟩.
|
|
plus(x, y)
Returns this vector plus the vector v: ⟨x + v.x, y +
v.y⟩.
|
|
times(k)
Returns a scaled copy of this vector: ⟨x * k, y * k⟩.
|
Class Detail
pv.Vector(x, y)
Constructs a pv.Vector for the specified x and y
coordinate. This constructor should not be invoked directly; use
pv.vector instead.
- Parameters:
- {number} x
- the x coordinate.
- {number} y
- the y coordinate.
Method Detail
{number}
dot(x, y)
Returns the dot product of this vector and the vector v: x * v.x +
y * v.y. If only one argument is specified, it is interpreted as the
vector v.
- Parameters:
- {number} x
- the x coordinate to dot.
- {number} y
- the y coordinate to dot.
- Returns:
- {number} a dot product.
{number}
length()
Returns the magnitude of this vector, defined as sqrt(x * x + y * y).
- Returns:
- {number} a length.
{pv.Vector}
minus(x, y)
Returns this vector minus the vector v: ⟨x - v.x, y -
v.y⟩. If only one argument is specified, it is interpreted as the
vector v.
- Parameters:
- {number} x
- the x coordinate to subtract.
- {number} y
- the y coordinate to subtract.
- Returns:
- {pv.Vector} a new vector.
{pv.Vector}
norm()
Returns a normalized copy of this vector: a vector with the same direction,
but unit length. If this vector has zero length this method returns a copy of
this vector.
- Returns:
- {pv.Vector} a unit vector.
{pv.Vector}
perp()
Returns a vector perpendicular to this vector: ⟨-y, x⟩.
- Returns:
- {pv.Vector} a perpendicular vector.
{pv.Vector}
plus(x, y)
Returns this vector plus the vector v: ⟨x + v.x, y +
v.y⟩. If only one argument is specified, it is interpreted as the
vector v.
- Parameters:
- {number} x
- the x coordinate to add.
- {number} y
- the y coordinate to add.
- Returns:
- {pv.Vector} a new vector.
{pv.Vector}
times(k)
Returns a scaled copy of this vector: ⟨x * k, y * k⟩.
To perform the equivalent divide operation, use 1 / k.
- Parameters:
- {number} k
- the scale factor.
- Returns:
- {pv.Vector} a scaled vector.