本文整理汇总了C++中Mat3::assign方法的典型用法代码示例。如果您正苦于以下问题:C++ Mat3::assign方法的具体用法?C++ Mat3::assign怎么用?C++ Mat3::assign使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mat3
的用法示例。
在下文中一共展示了Mat3::assign方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: mxrox
Mat3 mxrox (double& a, Vec3& v)
{
// Convert eigenvalue a (eigen angle in radians) and eigenvector v
// into a corresponding cosine rotation matrix m.
double q1, q2, q3, q4, q12, q22, q32, q42;
Mat3 result;
// calculate quaternions and their squares
q4 = sin ( 0.5 * a);
q1 = v[0] * q4;
q2 = v[1] * q4;
q3 = v[2] * q4;
q4 = cos (0.5 * a);
q12 = q1 * q1;
q22 = q2 * q2;
q32 = q3 * q3;
q42 = q4 * q4;
// now get the matrix elements
result.assign ((q12 - q22 - q32 + q42), (2.0 * (q1*q2 + q3*q4)),
(2.0 * (q1*q3 - q2*q4)), (2.0 * (q1*q2 - q3*q4)),
(-q12 + q22 - q32 + q42),(2.0 * (q2*q3 + q1*q4)),
(2.0 * (q1*q3 + q2*q4)), (2.0 * (q2*q3 - q1*q4)),
(-q12 - q22 + q32 + q42));
return result;
}