我試圖創建一個使用Eigen::Matrix3d
旋轉矩陣,但似乎無法準確地做到這一點..創建矩陣?
void rot(double x,double y,double z)
{
Eigen::Matrix3d x_r ((double)1,(double)0,(double)0,
(double)0,cos(x),-sin(x),
(double)0,sin(x),cos(x));
Eigen::Matrix3d y_r (cos(y),(double)0,sin(y),
(double)0,(double)1,(double)0,
-sin(y),(double)0,cos(y));
Eigen::Matrix3d z_r (cos(z),-sin(z),(double)0,
sin(z),cos(z),(double)0,
(double)0,(double)0,(double)1) ;
Eigen::Matrix3d rot = z_r*y_r*x_r;
}
我不能箱x_r,y_r,z_r一些奇怪的原因是什麼?..可能有人詳細說明我做錯了什麼?
我收到錯誤消息:
error: no matching function for call to 'Eigen::Matrix<double, 3, 3>::Matrix(double, double, double, double, double, double, double, double, double)'
首先,我以爲我是因爲我用的double
和int
這就是爲什麼我在首位類型強制轉換它的組合..
定義「我不行」。有什麼問題? –
另外,不需要用'(雙)'代碼氾濫代碼 – ForceBru
增加的附加信息 – Lamda