- 求一点到原点的距离
复制代码
1
2
3
4Vector3d v(x,y,z); double dis1= v.norm(); // 等于 sqrt(x^2+y^2) , 即距离 double dis2 = v.squaredNorm(); // (x^2+y^2)
- 求两点之间的距离
复制代码
1
2
3
4d v1(x1,y1,z1); Vector3d v2(x2,y2,z2); double dis = (v1-v2).norm();
- 两个向量之间的夹角
复制代码
1
2
3
4Vector3d 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; //弧度角
测试:
复制代码
1
2
3
4
5
6
7Eigen::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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复