Результаты использования Eigen для вычисления матрицы на C++ различаются на платформах Linux и Windows.Linux

Ответить
Anonymous
 Результаты использования Eigen для вычисления матрицы на C++ различаются на платформах Linux и Windows.

Сообщение Anonymous »

Я использую Eigen для вычисления матрицы вращения и запускаю один и тот же код C++ на платформах Linux и Windows следующим образом:

Код: Выделить всё

void testEigen()
{
  Eigen::AngleAxisd xRot(0.0, Eigen::Vector3d::UnitX());
  Eigen::AngleAxisd yRot(-M_PI/2, Eigen::Vector3d::UnitY());
  Eigen::AngleAxisd zRot( M_PI/2, Eigen::Vector3d::UnitZ());
  Eigen::Quaternion q = xRot * yRot * zRot;
  auto _rotationMatrix = q.matrix();
  // for (size_t i = 0; i < 3; i++)
  // {
  //   for (size_t j = 0; j < 3; j++)
  //   {
  //     if (std::abs(_rotationMatrix(i, j)) < 1e-13)
  //     {
  //       _rotationMatrix(i, j) = 0.0;
  //     }
  //     if (std::abs((std::abs(_rotationMatrix(i, j)) - 1.0)) < 1e-13)
  //     {
  //       _rotationMatrix(i, j) = _rotationMatrix(i, j) < 0 ? -1.0 : 1.0;
  //     }
  //   }
  // }
  TRACE(4, "angle axisd  x: " 

Подробнее здесь: [url]https://stackoverflow.com/questions/79274002/the-results-of-using-eigen-to-calculate-matrix-in-c-are-different-on-linux-and[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»