Eigen学习4:Vector运算计算距离和角度

本文介绍了如何使用Eigen库进行向量运算,包括计算一点到原点的距离、两点之间的距离以及两个向量之间的夹角。通过示例展示了Eigen的norm()和squaredNorm()方法,并给出了具体计算出的数值,如距离和夹角的cos值及角度值。
摘要由CSDN通过智能技术生成
  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() = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoannaJuanCV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值