#matrix #computer-graphics #linear-algebra

cgmatrix

为Rust计算机图形学提供的简单矩阵库

3个不稳定版本

0.2.1 2019年4月10日
0.2.0 2019年4月10日
0.1.0 2019年4月10日

#1693 in 数学

自定义许可证

6KB
110

cgmatrix

为Rust计算机图形学提供的简单矩阵库

关于

cgmatrix是一个矩阵库,旨在与OpenGL和WebGL一起使用。矩阵表示为可以直接传递给OpenGL和WebGL的浮点数组。

使用方法

将cgmatrix添加到您的Cartgo.toml文件中。

[dependencies]
cgmatrix = "0.1"

在您的rust代码中

fn main() {
    let camera = cgmatrix::viewing_matrix([0.0, 0.0, 200.0], [0.0, 1.0, 0.0], [0.0, 0.0, 0.0]);
    let theta = 0.5;
    let mv_matrix = cgmatrix::matmul(cgmatrix::rotate_x(theta), camera);
    println!("{:?}", mv_matrix);
}

API

cgmatrix支持以下方法

矩阵创建

  • zeros()
  • identity()
  • rotate_x(theta)
  • rotate_y(theta)
  • translate(x, y, z)
  • scale(sx, sy, sz)
  • viewing_matrix(eye, up, target)
  • orthogonal_matrix(left, right, top, bottom, near, far)
  • perspective_matrix(fov, aspect, near, far)

矩阵乘法

  • matmul

向量操作

  • cross(v1, v2)
  • normalize(v)

许可证

MIT

无运行时依赖