本文整理汇总了C++中Transform3D::matrix方法的典型用法代码示例。如果您正苦于以下问题:C++ Transform3D::matrix方法的具体用法?C++ Transform3D::matrix怎么用?C++ Transform3D::matrix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transform3D
的用法示例。
在下文中一共展示了Transform3D::matrix方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createTransformIJC
/**Create a transform to a space defined by an origin and two perpendicular unit vectors that
* for the x-y plane.
* The original space is A and the space defined by ijc are B
* The returned transform M_AB converts a point in B to A:
* p_A = M_AB * p_B
*/
Transform3D createTransformIJC(const Vector3D& ivec, const Vector3D& jvec, const Vector3D& center)
{
Transform3D t = Transform3D::Identity();
t.matrix().col(0).head(3) = ivec;
t.matrix().col(1).head(3) = jvec;
t.matrix().col(2).head(3) = cross(ivec, jvec);
t.matrix().col(3).head(3) = center;
return t;
}
示例2:
/**Create from affine matrix
*
*/
Frame3D Frame3D::create(const Transform3D& T)
{
Frame3D retval;
Eigen::Matrix3d R = T.matrix().block<3, 3> (0, 0); // extract rotational part
retval.mAngleAxis = Eigen::AngleAxisd(R); // construct angle axis from R
retval.mPos = T.matrix().block<3, 1> (0, 3); // extract translational part
return retval;
}