pymunk.vec2d
Module¶
This module contain the Vec2d class that is used in all of pymunk when a vector is needed.
The Vec2d class is used almost everywhere in pymunk for 2d coordinates and vectors, for example to define gravity vector in a space. However, pymunk is smart enough to convert tuples or tuple like objects to Vec2ds so you usually do not need to explicitly do conversions if you happen to have a tuple:
>>> import pymunk
>>> space = pymunk.Space()
>>> space.gravity
Vec2d(0.0, 0.0)
>>> space.gravity = 3,5
>>> space.gravity
Vec2d(3.0, 5.0)
>>> space.gravity += 2,6
>>> space.gravity
Vec2d(5.0, 11.0)
More examples:
>>> from pymunk.vec2d import Vec2d
>>> Vec2d(7.3, 4.2)
Vec2d(7.3, 4.2)
>>> Vec2d((7.3, 4.2))
Vec2d(7.3, 4.2)
>>> Vec2d(7.3, 4.2) + Vec2d((1,2))
Vec2d(8.3, 6.2)
-
class
pymunk.vec2d.
Vec2d
(x_or_pair=None, y=None)[source]¶ Bases:
object
2d vector class, supports vector and scalar operators, and also provides some high level functions.
-
__init__
(x_or_pair=None, y=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
angle
¶ Gets or sets the angle (in radians) of a vector
-
angle_degrees
¶ Gets or sets the angle (in degrees) of a vector
-
cross
(other)[source]¶ - The cross product between the vector and other vector
v1.cross(v2) -> v1.x*v2.y - v1.y*v2.x
- Returns
The cross product
-
dot
(other)[source]¶ - The dot product between the vector and other vector
v1.dot(v2) -> v1.x*v2.x + v1.y*v2.y
- Returns
The dot product
-
get_angle_between
(other)[source]¶ Get the angle between the vector and the other in radians
- Returns
The angle
-
get_angle_degrees_between
(other)[source]¶ Get the angle between the vector and the other in degrees
- Returns
The angle (in degrees)
-
get_dist_sqrd
(other)[source]¶ The squared distance between the vector and other vector It is more efficent to use this method than to call get_distance() first and then do a sqrt() on the result.
- Returns
The squared distance
-
get_length_sqrd
()[source]¶ Get the squared length of the vector. It is more efficient to use this method instead of first call get_length() or access .length and then do a sqrt().
- Returns
The squared length
-
int_tuple
¶ Return the x and y values of this vector as ints
-
length
¶ Gets or sets the magnitude of the vector
-
normalize_return_length
()[source]¶ Normalize the vector and return its length before the normalization
- Returns
The length before the normalization
-
normalized
()[source]¶ Get a normalized copy of the vector Note: This function will return 0 if the length of the vector is 0.
- Returns
A normalized vector
-
rotated
(angle_radians)[source]¶ Create and return a new vector by rotating this vector by angle_radians radians.
- Returns
Rotated vector
-
rotated_degrees
(angle_degrees)[source]¶ Create and return a new vector by rotating this vector by angle_degrees degrees.
- Returns
Rotade vector
-
x
¶
-
y
¶
-