#vector-math #graphics #vector-graphics #nalgebra #most #wrapper #matrix

na

na是一个围绕nalgebra的包装器,使得在图形中处理向量数学中常用类型变得更加容易和简洁。

32个版本 (16个破坏性版本)

0.32.2 2023年7月18日
0.31.1 2023年5月25日
0.31.0 2022年5月2日
0.30.1 2022年3月23日
0.13.0 2017年8月16日

数学 中排名第 438

Download history 25/week @ 2024-03-11 25/week @ 2024-03-18 21/week @ 2024-03-25 51/week @ 2024-04-01 6/week @ 2024-04-08 10/week @ 2024-04-15 19/week @ 2024-04-22 18/week @ 2024-04-29 11/week @ 2024-05-06 12/week @ 2024-05-13 26/week @ 2024-05-20 7/week @ 2024-05-27 18/week @ 2024-06-03 21/week @ 2024-06-10 15/week @ 2024-06-17 15/week @ 2024-06-24

每月下载量 69
用于 13 个Crate (5个直接使用)

BSD-3-Clause

49KB
1K SLoC

na

na是一个围绕 nalgebra 的包装器,使得在图形中处理向量数学中常用类型变得更加容易和简洁。

na将最常见的类型Vector*、Point*、Quaternion...缩短为Vec*、Pnt*、Quat...,并将泛型参数默认设置为f32,因此您可以编写

struct Pos(Vec3);

它还包括一些nalgebra中尚未提供的其他功能

  • 矩阵乘法的快速版本(包括包含向量的矩阵)
let m4: Mat4 = ...;
let v4: Vec4 = ...;
let v4_2 = m4.fast_mul(&v4);
  • 矩阵的快速求逆版本

  • GLSL风格的swizzles

let xy = v3.xy()
let xz = v3.xz()
....
  • 用于轻松创建向量的宏
let one = vec3!(1.); //sets all components to 1
let composed = vec3!(v2, z); // creates a Vector3 from a Vector2 and a float
...
  • 易于使用的最常见的类型的特性

    • BaseNum(整数和实数)
    • BaseInt
    • BaseFloat
    • NumVec(任何数字类型的向量)
    • FloatVec
    • NumPnt
    • FloatPnt

依赖项

~3.5MB
~67K SLoC