我是靠谱客的博主 执着柜子,最近开发中收集的这篇文章主要介绍Eigen学习4:Vector运算计算距离和角度,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 求一点到原点的距离
Vector3d v(x,y,z);
double dis1= v.norm();              // 等于 sqrt(x^2+y^2) , 即距离
double dis2 = v.squaredNorm();     // (x^2+y^2)
  1. 求两点之间的距离
d v1(x1,y1,z1);
Vector3d v2(x2,y2,z2);
double dis = (v1-v2).norm();
  1. 两个向量之间的夹角
Vector3d v1(x1,y1,z1), v2(x2,y2,z2);
double cosValNew = v1.dot(v2) / (v1.norm()*v2.norm()); //角度cos值
double angleNew = acos(cosValNew) * 180 / M_PI;       //弧度角

测试:

    Eigen::Vector3f a(1,2,3);
    Eigen::Vector3f b(2,3,4);  

    std::cout << "a.norm() = " << a.norm() << std::endl;
    std::cout << "a.squaredNorm() = " << a.squaredNorm() << std::endl;
    std::cout << "(a-b).norm() = " << (a-b).norm() << std::endl;
    double cosValNew = a.dot(b) / (a.norm()*b.norm

最后

以上就是执着柜子为你收集整理的Eigen学习4:Vector运算计算距离和角度的全部内容,希望文章能够帮你解决Eigen学习4:Vector运算计算距离和角度所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部