Я пытаюсь сместить геометрию на Eigen
, используя информацию о переводе, полученную из внешней библиотеки в виде Vector3d
. Меня не волнует ротация.
Я перепробовал все, что позволяли мои ограниченные знания Eigen
. Мой текущий код выглядит так:
void Mesh::displace(const Vector3d& v)
{
Transform<double, 3, Affine> t = Transform<double, 3, Affine>::Identity();
t.translate(v);
}
Теперь мне очень тяжело применить этот перевод к моим m_vertices
столбцам MatrixXd
, 3 by N
, где 3
представляет x, y, z
, а N
представляет вершины.
Матрица преобразования в конечном итоге выглядит следующим образом (X
s представляет переводящую часть преобразования):
1, 0, 0, X,
0, 1, 0, X,
0, 0, 1, X,
0, 0, 0, 1
Исходя из этого, я почти уверен, что до этого момента все было в порядке.
Я сделал несколько попыток применить перевод, но те, которые скомпилировали, потерпели крах во время выполнения.