第 3 章:矩阵和线性代数
Libigl 严重依赖 Eigen 库来实现密集和稀疏线性代数例程。除了几何处理例程之外,libigl 还具有引导 Eigen 的线性代数例程,使其感觉更类似于 Matlab 等高级代数库。
一、切片Slice
Matlab 中一个非常熟悉且功能强大的例程是数组切片。这允许读取或写入可能不连续的子矩阵。让我们考虑一下 Matlab 代码:
B = A(R,C);
如果 A
是 m×n�×� 矩阵,并且 R
是 j� 行索引长列表(介于 1 和 m� 是一个 k� 长列索引列表,那么结果 B
将是 j×k�×� 根据 R
和 C
从 A
绘制元素的矩阵。在 libigl 中, slice
函数提供了相同的功能(示例 301):
VectorXi R,C;
MatrixXd A,B;
...
igl::slice(A,R,C