pygame / doc / src / mathbase.xml

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237``` ``` 0 pygame2.math Vector math module for Pygame2 Vector math module for Pygame2 vector_from_polar (p1, p2) -> Vector2 Creates a 2D vector from the passed polar coordinates. vector_from_spherical (p1, p2, p3) -> Vector2 Creates a 3D vector from the passed spherical coordinates. Vector (elements) -> Vector Creates a new Vector with the specified elements or dimension. Creates a new n-dimensional Vector. *elements* can be either a sequence of numbers representing the values for each dimension or a positive integer to create an empty vector with *elements* dimensions. from pygame2.math import Vector # Create a 3D vector with x=1, y=2 and z=3 v1 = Vector ([1, 2, 3]) # Create a vector with 15 dimensions, where each component is set to 0. v2 = Vector (15) Gets the dimensions of the :class:`Vector`. Gets the length of the :class:`Vector`. Gets the length of the :class:`Vector`. Gets or sets the exactness delta of the :class:`Vector`. epsilon represents a small fractional value to come around rounding issues on floating point calculations. It is usually used to soothe rounding differences and thus to allow the system to return an appropriate state, with a small tradeoff for the exactness. **Example:** :: (0.0000000000001 - 0.0000000000009) == 0.0 Given that epsilon is large enough, the above calculation will be true. To get over rounding issues on vector operations with small fractional parts or to make them more exact, the concrete epsilon value can be freely adjusted. Gets or sets the elements of the :class:`Vector`. This will only set a maximum of :attr:`dimension` values. Gets whether the :class:`Vector` is normalized. normalize () -> Vector Creates a normalized representation of this Vector. normalize_ip () -> None Normalizes the Vector in place. slerp () -> Vector lerp () -> Vector dot (v) -> float Calculates the dot product of the Vector and the passed argument. scale_to (length) -> Vector Scales the Vector to match the passed length. reflect () -> Vector Creates a reflected representation of the Vector. reflect_ip () -> None Reflects the Vector in place. distance (v) -> float Calculates the distance between two vectors. distance_squared () -> None Calculates the squared distance between two vectors. Vector2 () -> Vector2 Creates a new Vector2. A simple 2D vector containing only two elements. Gets the dimensions of the :class:`Vector2`. Gets or sets the elements of the :class:`Vector2`. This will only set a maximum of two values. Gets or sets first element of the :class:`Vector2`. Gets or sets second element of the :class:`Vector2`. rotate (angle) -> Vector2 Rotates the Vector2 by the passed degrees. rotate_ip (angle) -> Vector2 Rotates the Vector2 by the passed degrees in place. as_polar () -> float, float Gets the polar coordinate representation of the Vector2. angle_to (v) -> float Calculates the angle (in degrees) between two Vector2 objects. cross (v) -> Vector2 Creates the cross product of the two Vector2 objects. Vector3 () -> Vector3 Creates a new Vector3. A simple 3D vector containing only three elements. Gets the dimensions of the :class:`Vector3`. Gets or sets the elements of the :class:`Vector3`. This will only set a maximum of three values. Gets or sets first element of the :class:`Vector3`. Gets or sets second element of the :class:`Vector3`. Gets or sets third element of the :class:`Vector3`. rotate_x (angle) -> Vector3 Rotates the Vector3 by the passed degrees around the x-axis. rotate_x_ip (angle) -> None Rotates the Vector3 by the passed degrees in place around the x-axis. rotate_y (angle) -> Vector3 Rotates the Vector3 by the passed degrees around the y-axis. rotate_y_ip (angle) -> None Rotates the Vector3 by the passed degrees in place around the y-axis. rotate_z (angle) -> Vector3 Rotates the Vector3 by the passed degrees around the z-axis. rotate_z_ip (angle) -> None Rotates the Vector3 by the passed degrees in place around the z-axis. rotate (angle, axis) -> Vector3 Rotates the Vector3 by the passed degrees around the passed axis vector. rotate_ip (angle, axis) -> Vector3 Rotates the Vector3 by the passed degrees in place around the passed axis vector. angle_to (v) -> float Calculates the angle between two vectors in degrees cross (v) -> Vector3 Calculates the cross product between the two Vector3 instances. as_spherical () -> float, float, float Gets the sperhical coordinate representation of the Vector3. ```
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.