hku-mars / loam_livox

A robust LiDAR Odometry and Mapping (LOAM) package for Livox-LiDAR
GNU General Public License v2.0
1.43k stars 435 forks source link

some problem in eigen_math.hpp #52

Closed humfrey28whu closed 4 years ago

humfrey28whu commented 4 years ago
template <typename T>
static T vector_project_on_vector( const T &vec_a, const T &vec_b )
{
    return vec_a.dot( vec_b ) * vec_b / ( vec_b.norm() * vec_b.norm() );
}

template <typename T>
static T vector_project_on_unit_vector( const T &vec_a, const T &vec_b )
{
    return vec_a.dot( vec_b ) * vec_b;
}

您好,感谢您的工作!我在研究代码时,对上面这段代码有点疑惑(在eigen_math.hpp中)。这两个函数的名称本意和实现方式是否搞反了呢?下面那个函数本意是想投影到单位向量,但是实现方式却错了。 在ceres_icp.hpp中调用的是vector_project_on_unit_vector,看了代码原理,确实应该是vec_a投影在vec_b的单位向量上。 期待您的回复,谢谢!