vexel 0.0.1

Linear algebra in Rust
Documentation
  • Coverage
  • 0%
    0 out of 48 items documented0 out of 33 items with examples
  • Size
  • Source code size: 45.68 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 4.37 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 12s Average build duration of successful builds.
  • all releases: 12s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tylercritchlow

Overview

vexel is a linear algebra library for Rust, designed to be used for the Impulse Physics Engine. We are designing it to be fast and simple to use in other use cases as well.

It will provide a variety of features, including:

  • Vector Operations (Add, Sub, Mult, Div, Dot, Cross, Normalize, Length, Lerp, Projection/Rejection, Angle Between Vectors, Swizzling for Vector2, Vector3, Vector4)
  • Matrix Operations (Matrix Multiplication, Transpose, Determinant, Inverse, Identity Matrix, Matrix-Vector Multiplication, Row/Column Access, Matrix Decomposition, LookAt Matrix, Perspective Projection, Orthographic Projection for Mat2, Mat3, Mat4)
  • Utility Functions (Constants like PI, Clamping, Interpolation, Random Generation, Comparison)
  • Transformations (Translation, Rotation, Scaling, Shear, LookAt for camera transformation, Perspective/Orthographic Projection, Quaternion Support e.g. slerp, normalization, conjugation)
  • Quaternion Operations (Normalization, Conjugation, Multiplication, Slerp, From/To Rotation Matrices, From/To Axis-Angle, Dot Product, Angle Between Quaternions)
  • Geometric Operations (Plane Operations, Line/Line Segment Operations, Intersection Tests, Bounding Volumes, Raycasting, Frustum Culling, Distance Between Points/Shapes)
  • Extras (Frustum Culling, Color Space Conversion, Spline Interpolation, Noise Functions)

License

Except where noted (below and/or in individual files), all code in this repository is dual-licensed under either:

at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.