vmath

class Vector
class Quaternion
class Matrix
vmath.vec(x: float, y: float, z: float) → Vector
vmath.quat(x: float, y: float, z: float, w: float) → Quaternion
vmath.mat(position: Vector, rotation: Quaternion, scale: Vector) → Matrix
vmath.rotate_x(angle: float) → Quaternion
vmath.rotate_y(angle: float) → Quaternion
vmath.rotate_z(angle: float) → Quaternion
vmath.rotate(axis: Vector, angle: float) → Quaternion
vmath.slerp(a: Quaternion, b: Quaternion, t: float) → Quaternion
vmath.random_axis() → Vector
vmath.random_rotation() → Quaternion

Vector

Vector.normal() → Vector
Vector.length() → float
Vector.pack() → bytes

Quaternion

Quaternion.axis() → Vector
Quaternion.angle() → float
Quaternion.inverse() → Quaternion
Quaternion.pack() → bytes

Matrix

Matrix.inverse() → Matrix
Matrix.position() → Vector
Matrix.rotation() → Quaternion
Matrix.scale() → Vector
Matrix.pack() → bytes

Scaling a Vector

Vector * float -> Vector
float * Vector -> Vector
Vector * Vector -> Vector

Rotate a Vector

Quaternion * Vector -> Vector

Rotate a Quaternion

Quaternion * Quaternion -> Quaternion

Apply Transform

Matrix * Matrix -> Matrix
Matrix * Vector -> Vector