Vec2

A 2D vector representing Cartesian coordinates.

Constructor

  • Vec2() Vec2
  • Vec2(value: SupportsFloat) Vec2
  • Vec2(x: SupportsFloat, y: SupportsFloat) Vec2

A 2D vector representing Cartesian coordinates.

Properties


NameDescriptionType
DOWNVec2(0.000000, 1.000000)ClassVar[Vec2]
LEFTVec2(-1.000000, 0.000000)ClassVar[Vec2]
RIGHTVec2(1.000000, 0.000000)ClassVar[Vec2]
UPVec2(0.000000, -1.000000)ClassVar[Vec2]
ZEROVec2(0.000000, 0.000000)ClassVar[Vec2]
angleReturn the vector angle in radians.float
lengthReturn the magnitude of this Vec2.float
length_squaredReturn the squared magnitude of this Vec2.float
xThe x component of the vector.float
xxReturn a Vec2 with both components set to x.Vec2
xyAccess or assign the (x, y) components as a Vec2.Vec2
yThe y component of the vector.float
yxAccess or assign the (y, x) components as a Vec2.Vec2
yyReturn a Vec2 with both components set to y.Vec2

Methods


Copy

copy() Vec2

Return a copy of this Vec2.

Returns

Vec2 : A duplicated vector with the same components.

Distance Squared To

distance_squared_to(other: Vec2) float

Compute the squared distance to another Vec2.

Args

  • other : Comparison vector.

Returns

float : Squared distance between the vectors.

Distance To

distance_to(other: Vec2) float

Compute the Euclidean distance to another Vec2.

Args

  • other : Comparison vector.

Returns

float : Distance between the vectors.

Is Zero

is_zero(tolerance: SupportsFloat = 1e-08) bool

Determine whether this Vec2 is effectively zero.

Args

  • tolerance : Largest allowed absolute component magnitude.

Returns

bool : True if both components are within the tolerance.

Move Toward

move_toward(target: Vec2, delta: SupportsFloat) None

Move this Vec2 toward a target Vec2 by a specified delta.

Args

  • target : The target vector to move towards.
  • delta : The maximum distance to move.

Moved Toward

moved_toward(target: Vec2, delta: SupportsFloat) Vec2

Return a new Vec2 moved toward a target Vec2 by a specified delta.

Args

  • target : The target vector to move towards.
  • delta : The maximum distance to move.

Returns

Vec2 : A new vector moved toward the target.

Normalize

normalize() None

Normalize this Vec2 in place.

Normalized

normalized() Vec2

Return a new normalized Vec2.

Returns

Vec2 : A new vector with unit length.

Project

project(other: Vec2) Vec2

Project this Vec2 onto another Vec2.

Args

  • other : The vector to project onto.

Returns

Vec2 : Projection of this vector onto the other vector.

Reflect

reflect(other: Vec2) Vec2

Reflect this Vec2 across another Vec2.

Args

  • other : The vector used as the reflection normal.

Returns

Vec2 : Reflected vector.

Reject

reject(other: Vec2) Vec2

Compute the rejection of this Vec2 from another Vec2.

Args

  • other : The vector defining the projection axis.

Returns

Vec2 : Component of this vector orthogonal to the other vector.

Rotate

rotate(radians: SupportsFloat) None

Rotate this Vec2 in place.

Args

  • radians : Rotation angle in radians.

Rotated

rotated(radians: SupportsFloat) Vec2

Return a new Vec2 rotated by a specified angle.

Args

  • radians : Rotation angle in radians.

Returns

Vec2 : A new vector rotated by the given angle.

Scale To Length

scale_to_length(length: SupportsFloat) None

Scale this Vec2 to a specific magnitude.

Args

  • length : Target vector length.

Scaled To Length

scaled_to_length(length: SupportsFloat) Vec2

Return a new Vec2 scaled to a specific magnitude.

Args

  • length : Target vector length.

Returns

Vec2 : A new vector scaled to the specified length.

To Polar

to_polar() PolarCoordinate

Convert this Vec2 to polar coordinates.

Returns

PolarCoordinate : Polar representation with angle and length.