affine3d affine2d一個demo
阿新 • • 發佈:2018-11-10
https://blog.csdn.net/fana8010/article/details/17253171
#include <Eigen/Dense> #include <iostream> #include <string> int main() { using namespace Eigen; using namespace std; Vector3d p3d(1.,2.,3.); cout << p3d << endl << endl; Affine3d S3d = Translation3d(2.,2.,2.)*Scaling(3.,2.,5.); Vector3d scalled = S3d*p3d; cout << S3d.matrix() << endl << endl; cout << scalled << endl << endl; cout << string(16,'_') << endl; Vector2d p2d = p3d.topRows<2>(); cout << p2d << endl << endl; Affine2d S2d = Translation2d(S3d.translation().topRows<2>()) * S3d.linear().topLeftCorner<2,2>(); Vector2d scalled2d = S2d*p2d; cout << S2d.matrix() << endl << endl; cout << scalled2d << endl << endl; }
Output:
1
2
3
3 0 0 2
0 2 0 2
0 0 5 2
0 0 0 1
5
6
17
________________
1
2
3 0 2
0 2 2
0 0 1
5
6