Я пытаюсь интерполировать цвета по мне sh, используя матрицы Лапласа-Бельтрами в libigl. Я не очень разбираюсь в libigl или в матричной версии Лапласа-Бельтрами.
Я использую код из 205_Laplacian в качестве основы, но я действительно путаюсь с матрицами.
Вот небольшой фрагмент моего кода:
igl::cotmatrix(ColorVals, F, L);
U = V;
SparseMatrix<double> M;
igl::massmatrix(ColorVals, F, igl::MASSMATRIX_TYPE_BARYCENTRIC, M);
// Solve (M-delta*L) U = M*U
const auto & S = (M - 0.001*L);
Eigen::SimplicialLLT<Eigen::SparseMatrix<double > > solver(S);
assert(solver.info() == Eigen::Success);
U = solver.solve(M*U).eval();
ColorVals
- это матрица значений цвета nx3, поэтому она выглядит так же, как матрица положений вершин.