CloudCompare点云网格处理软件 8——点云网格距离测量_哔哩哔哩_bilibili



恢复到之前的位置:





恢复后的点云

将Z的哪里改成6:

然后将Z哪里改成2,看看区别:

从上面的结论可以看出:

xyz 旋转:

恢复到前面的状态


- // 计算两个向量之间的罗德里格斯 矩阵 欧拉角
- int Algorithm::getMatrix_2_Vectors(Eigen::Vector3d &v1, Eigen::Vector3d &v2, Eigen::Matrix3d &Matrix3d, Eigen::Vector3d &euler)
- {
- // 计算矩阵
- Matrix3d = Eigen::Quaterniond::FromTwoVectors(v1, v2).toRotationMatrix();
- // 两个向量-》矩阵-》欧拉角(x y z )
- euler = Eigen::Quaterniond::FromTwoVectors(v1, v2).toRotationMatrix().eulerAngles(0,1,2);
-
- return 0;
- }
-

-
- int Algorithm::RotateAnypoint(pcl::PointCloud
::Ptr &cloud, - Eigen::Vector4f ¢er,
- Eigen::Vector4f & angle,
- int axis,
- Eigen::Vector3f &roate_axis,
- pcl::PointCloud
::Ptr &out_cloud) - {
- if(cloud->size()<1)
- {
- return EXIT_FAILURE;
- }
- Eigen::Matrix4f T0 = Eigen::Matrix4f::Identity();
- Eigen::Matrix4f T1 = Eigen::Matrix4f::Identity();
-
- T0.col(3).head<3>()=-center.head(3);
- cout<<"T0 "<
- T1.col(3).head<3>()=center.head(3);
-
-
-
- // 定义旋转矩阵
- Eigen::Isometry3f T=Eigen::Isometry3f::Identity();
- if(axis==1) // 1 0 0
- {
- Eigen::AngleAxisf M(angle[0], Eigen::Vector3f::UnitX()); // 轴角表达公式
- T.rotate(M);
- }else if(axis==2) // 010
- {
- Eigen::AngleAxisf M(angle[1], Eigen::Vector3f::UnitY()); // 轴角表达公式
- T.rotate(M);
- }else if(axis==3) // 0 0 1
- {
- Eigen::AngleAxisf M(angle[2], Eigen::Vector3f::UnitZ()); // 轴角表达公式
- T.rotate(M);
- }
- else if(axis==4) // 任一轴
- {
- Eigen::AngleAxisf M(angle[3],Eigen::Vector3f(0, 1, 1));
- T.rotate(M);
- }
- else if(axis==5)
- {
- Eigen::AngleAxisf m_x(angle[0], Eigen::Vector3f::UnitZ());
- Eigen::AngleAxisf m_y(angle[1], Eigen::Vector3f::UnitZ());
- Eigen::AngleAxisf m_z(angle[2], Eigen::Vector3f::UnitZ());
- T.rotate(m_x*m_y*m_z);
- }
-
- Eigen::Matrix4f finanlTransform=T1*T.matrix()*T0;
-
-
相关阅读:
KVM虚拟机热扩容
中高级Java程序员,你不得不掌握的基本功,挑战20k+
Android原生实现控件Ripple方案(API28及以上)
一个好的聆听者
13、【创业必备企业架构,可开发任意项目】SpringCloud大型企业分布式微服务云架构源码之MySQL 分组
刷题笔记28——一直分不清的Kruskal、Prim、Dijkstra算法
springboot+vue云 农产品中心门户系统
Python语言例题集(006)
ComSec作业三:RSA
Oracle Audit Vault部署
-
原文地址:https://blog.csdn.net/weixin_39354845/article/details/134299996