私にとってこれはうまくいくはずなので、うまくいかないという事実は、ほぼ間違いなく私が間違っていることを意味します。原則として Transform< double, 3, Affine > は Matrix< double, 4, 4 > と同じですが、それらをうまく一緒に使用することはできません。
Affine3d rotMat( AngleAxisd( 45.0, ( Vector3d() << 0.0, 1.0, 0.0 ).finished() ) );
Matrix4d m;
m << 1.0, 0.0, 0.0, 6.0,
0.0, 1.0, 0.0, 6.0,
0.0, 0.0, 1.0, 6.0,
0.0, 0.0, 0.0, 1.0;
m = m * rotMat;
最後の行で 'no match for operator=' エラーが発生し、インプレース乗算演算子も同じ結果になり、Affine3d で Matrix4d を初期化しようとしても機能しません。Transform クラスを実際に便利な方法で使用する方法を知っている人はいますか?
ありがとう、カム