私はクレートX_R、y_r、いくつかの奇妙な理由でz_rすることはできません。..行列を作成しますか?
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;
}
をEigen::Matrix3d
を使用して回転行列を作成しようとしていますが、正確にそれを行うように見えることはできません?...誰でした私が間違って何をやっているのか詳しく教えてください。私は受け付けており
エラーメッセージは次のとおりです。
error: no matching function for call to 'Eigen::Matrix<double, 3, 3>::Matrix(double, double, double, double, double, double, double, double, double)'
まず私が最初の場所でそれを型変換する理由であるdouble
とint
の組み合わせを使用していたので、私は
"私はできません"を定義して、マトリックスオブジェクトを構築した後でオーバーロードされた
operator()
のマトリックスエントリを設定できます。どうしたの? –また、 '(double)'でコードをあふれさせる必要はありません。 – ForceBru
追加情報を追加しました – Lamda