编辑1:重新表达的问题。
我有2个坐标框架A和B和一个点Pt。框架A是基本框架。框架B相对于框架A进行某种平移和旋转。点Pt在框架B中固定。
每次迭代框架B沿框架A的Z轴旋转“DEG”度。我想在每次旋转后找出点A与点A的坐标。Eigen:协调框架A中一点的坐标,它是协调框架B
这类似于粘在垂直杆一侧的球。杆沿着z轴旋转并且球随着它一起旋转。这里的杆是框架A,球是框架B.我一直在使用Eigen并将A - B的静态转换映射到变量。
// the frame A - Frame B translation and Rotation
Eigen::Vector3f trans = Eigen::Vector3f(xt,yt,zt);
Eigen::Quaternionf quat = Eigen::Quaternionf (xr,yr,zr,wr);
quat.normalize();
Eigen::Transform<float,3,Eigen::Affine> static_transform = Eigen::Translation<float,3>(trans) * quat;
// this the point in the frame A
Eigen::Vector3f newPoint (xp,yp,zp);
我不认为我完全明白你的问题:你有2个坐标系,或者每个迭代有2个坐标系(或者只有'A'变化)?相对于“A”旋转的是什么?另外,每个'B',或者仅仅是第一个'B',都是“Pt”吗?如果“Pt”固定为“B”,“B”固定为“A”,则“Pt”固定为“A”。 – chtz