У меня есть облако точек изображения глубины, которое было снято камерой на 30 градусов выше горизонтали (повернутой на 30 градусов по оси Z). Я хочу перевести все точки обратно в их положение, как если бы камера находилась под углом 0 градусов, что, как мне кажется, я могу сделать со следующей матрицей вращения:
|cos(30) -sin(30) 0|
|sin(30) cos30 0|
|0 0 1|
Однако, глядя на метод pcl для преобразования облака точек, я обнаружил следующее:
pcl::transformPointCloud (const PointCloud< PointT > &cloud_in,
PointCloud< PointT > &cloud_out, const Eigen::Matrix< Scalar, 4, 4 > &transform)
Но почему это матрица 4x4, а не вращение 3x3 выше?