本文整理汇总了C++中mat3::col方法的典型用法代码示例。如果您正苦于以下问题:C++ mat3::col方法的具体用法?C++ mat3::col怎么用?C++ mat3::col使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mat3
的用法示例。
在下文中一共展示了mat3::col方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: reflect_cols
// Apply Householder reflection represented by u to column vectors of M
void reflect_cols(mat3 &M, vec3 &u)
{
for (int i=0; i < 3; ++i)
{
nv_scalar s = dot(u , M.col(i));
for (int j=0; j < 3; ++j)
M(j,i) -= u[j]*s;
}
}
示例2: do_rank1
// Find orthogonal factor Q of rank 1 (or less) M
void do_rank1(mat3 & M, mat3& Q)
{
vec3 v1, v2;
nv_scalar s;
int col;
Q = mat3_id;
/* If rank(M) is 1, we should find a non-zero column in M */
col = find_max_col(M);
if ( col < 0 )
return; /* Rank is 0 */
v1 = M.col(col);
make_reflector(v1, v1);
reflect_cols(M, v1);
v2[0] = M[2][0]; v2[1] = M[2][1]; v2[2] = M[2][2];
make_reflector(v2, v2); reflect_rows(M, v2);
s = M[2][2];
if (s < nv_zero)
Q(2,2) = -nv_one;
reflect_cols(Q, v1); reflect_rows(Q, v2);
}