问题标签 [nalgebra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multidimensional-array - 有没有一种好方法可以在 ndarray 中进行 rust 的重叠复制?
这是我尝试过的
由于借用规则(playround link),这显然失败了:
这a
就是我所拥有的,b
也是我想要得到的。
在 numpy 中,它就像a[:, :2] = a[:, 1:]
.
PS也许在nalgebra
板条箱中有一个简单的解决方案?
rust - 如何旋转对象以使其始终面向鼠标位置?
我正在使用 ggez 与一些朋友一起制作游戏,并且我试图让我们的角色始终旋转以面对指针。到目前为止,我知道我需要以弧度获得角度值(f32),我想我可以使用 atan2 来获得这个(?)但是,我只是没有得到我想要的行为。
这是我的代码:(顺便说一句,move_data 是一个保存玩家角色值的结构,例如位置、速度、角度和旋转速度)。
我认为我已经接近了,因为我已经能够用它来旋转角色,但只能以一种“不完整”的方式。当我将鼠标移到那里时,玩家角色(pc)大多只能面向左上角。否则,如果指针在 pc 的右侧和/或下方,它会以非常缓慢和轻微的方式旋转,并停止面向指针。不知道这个描述有没有道理。
我认为问题在于我不完全确定 atan2 首先在做什么(我只记得一些基本的三角函数),而且我也不确定我是否正确使用它,所以我不完全知道我的代码在做什么。(这是我用于 atan2 的文档:https ://doc.rust-lang.org/std/primitive.f64.html#method.atan2 )
经过多次试验和错误后,我才到此为止,尽可能多地使用谷歌搜索(大多数 Unity 教程结果在寻找基于我的代码的算法时出现),我还在非官方的 Rust 社区 Discord 服务器中询问过,但到目前为止没有任何效果。
我之前也有这段代码,但也找不到如何让它工作。
rust - nalgebra:为通用 MatrixMN 实现函数
我正在尝试为通用方形 MatrixMN 实现 exp 函数
但我不断收到这样的错误。
有没有更好的方法将泛型矩阵传递给函数?
我也试过这样的东西
但无法为 M 提出好的特征。
c++ - 如何正确从 nalgebra::Matrix 转换为 Eigen::MatrixXf?
我有一个DLL
写好的C++
,我需要调用一个print_matrix(Eigen::MatrixXf *m)
从 Rust 程序调用的函数。
我创建了一个 4x3 矩阵,并且有问题的函数将指针作为其输入参数。
锈代码:
C++ 代码:
我的输出如下所示:
但我不明白为什么m->rows() = 12
and this 的输出等于 rows * cols (4 * 3)
.
你知道为什么会这样吗?谢谢!
rust - 如何从 nalgebra 板条箱中获取 (1.0, 1.0, 1.0) Vector3?
我正在尝试Vector3
从nalgebra
带有 components 的板条箱中创建一个(1.0, 1.0, 1.0)
。我无法从文档中找到我需要的东西,而且我的 IDE 的建议也无济于事。
rust - 为什么 Rust 在构造 nalgebra::MatrixN 时无法找出正确的 `from_iterator`?
我有一个结构定义为:
在我的单元测试模块中,我想构造一个实例Filter
:
调用MatrixN::from_iterator()
导致编译错误。类似的错误发生在调用::zeros()
:
我不清楚为什么 Rust 无法找出正确from_iterator
的使用方法。是因为我必须DefaultAllocator
在定义中指定Filter
吗?如果是这样,最干净的解决方法是什么?
rust - 从 SliceStorage 和 SliceStorageMut 中提取原始切片
我正在开发一些软件,我在其中管理一个浮动缓冲区,Vec<T>
其中T
是 anf32
或f64
. 我有时需要将此缓冲区或其中的部分解释为数学向量。为此,我正在MatrixSlice
和朋友们在nalgebra
.
我可以创建一个DVectorSliceMut
,例如,以下方式
但是,有时我需要稍后从DVectorSliceMut
具有原始生命周期的 中提取原始切片'a
。有没有办法做到这一点?
StorageMut
trait 有一个as_mut_slice
成员函数,但返回切片的生命周期是对Storage
实现者的引用的生命周期,而不是原始切片的生命周期。DVectorSliceMut
我可以接受必要时消耗的解决方案。
更新:从v0.28.0开始,方法into_slice
和into_slice_mut
已分别添加到SliceStorage
和SliceStorageMut
特征中。nalgebra
rust - 如何通过从动态矩阵视图复制来创建代数静态矩阵?
我正在尝试na::Matrix2x3
通过从 a 的前两行复制来创建 a na::Matrix3
。结果将存储在结构中。
我不知道该怎么做,文档很混乱。我尝试了clone()
, into()
,from(...)
等,但似乎没有任何效果。
这是我尝试使用.clone()
(游乐场)的可重现示例:
这似乎可行,但由于它首先将矩阵初始化为零,因此很浪费:
在 Eigen (C++) 中,我会这样做:
rust - 是否可以通过 rust 中的 pyo3 将代数矩阵类型暴露给 python
我能够使用 pyo3 将用 Rust 编写的简单函数公开给 python,但看不到公开复杂的“特征”/矩阵类型的方法。有谁知道这是否可能?
库文件