当前位置: 首页 > news >正文

保定专门做网站的公司插画设计网站

保定专门做网站的公司,插画设计网站,邢台企业做网站费用,php做网站导购本文参考#xff1a;计算机视觉life 仅作笔记用 书接上回#xff0c;上回不清不楚的介绍了旋转矩阵旋转向量和四元组 现在回顾一下重点#xff1a; 本着绕谁谁不变的变则 假设绕z轴旋转θ#xff0c;旋转矩阵为#xff1a; 再回顾一下旋转向量的表示以及这个基本记不…本文参考计算机视觉life 仅作笔记用 书接上回上回不清不楚的介绍了旋转矩阵旋转向量和四元组 现在回顾一下重点 本着绕谁谁不变的变则 假设绕z轴旋转θ旋转矩阵为 再回顾一下旋转向量的表示以及这个基本记不住的罗德里格斯公式记不住也没事 一个例子 已知旋转矩阵定义是沿着Z轴旋转45°。请按照该定义初始化旋转向量、旋转矩阵、四元数、欧拉角。请编程实现 1、以上四种表达方式的相互转换关系并输出并参考给出的结果验证是否正确。 2、假设平移向量为1,2,3,请输出旋转矩阵和该平移矩阵构成的欧式变换矩阵并根据欧式变换矩阵提取旋转向量及平移向量。 #include iostream #include Eigen/Denseusing namespace Eigen;int main() {// 初始化旋转参数double angle M_PI/4; // 45°转换为弧度Vector3d axis Vector3d::UnitZ(); // Z轴// 初始化旋转向量Vector3d rotation_vector angle * axis;// 初始化旋转矩阵Matrix3d rotation_matrix;// AngleAxisd(angle, axis) 创建了一个表示绕着给定轴 axis 旋转 angle 弧度的旋转向量。//在Eigen库中AngleAxisd 类表示一个旋转向量它由一个旋转轴和一个旋转角度组成。//它的构造函数可以接受旋转角度和旋转轴作为参数也可以接受一个旋转矩阵作为参数并从中提取旋转轴和旋转角度。//调用 toRotationMatrix() 方法将该旋转向量转换为对应的旋转矩阵。rotation_matrix AngleAxisd(angle, axis).toRotationMatrix();// 初始化四元数Quaterniond quaternion(rotation_matrix);// 初始化欧拉角Vector3d euler_angles rotation_matrix.eulerAngles(2, 1, 0); // ZYX顺序// 输出四种表达方式 // 旋转向量std::cout Rotation Vector: rotation_vector.transpose() std::endl; // .transpose()方法被用于将向量和矩阵输出成为行向量的形式以方便显示在控制台上。// 旋转矩阵std::cout Rotation Matrix:\n rotation_matrix std::endl;// coeffs()方法用于获取四元数对象的系数返回一个四维向量。std::cout Quaternion: quaternion.coeffs() std::endl;// 欧拉角std::cout Euler Angles (ZYX): euler_angles.transpose() std::endl;// 假设平移向量为1,2,3Vector3d translation_vector(1, 2, 3);// 构造欧式变换矩阵Matrix4d euclidean_transform_matrix Matrix4d::Identity(); // 创建一个4x4的单位矩阵的静态方法// 将旋转矩阵赋值给欧几里德变换矩阵的左上角的3x3子矩阵即旋转部分euclidean_transform_matrix.block3,3(0,0) rotation_matrix;// 将平移向量赋值给欧几里德变换矩阵的右上角的3x1子矩阵即平移部分euclidean_transform_matrix.block3,1(0,3) translation_vector;/* 在Eigen库中AngleAxisd()是用于创建一个旋转向量Angle-Axis的构造函数。Angle-Axis旋转表示通过一个旋转轴和一个旋转角度来描述旋转。具体来说AngleAxisd()的使用方法如下Eigen::AngleAxisd angle_axis(angle, axis);在这段代码中AngleAxisd(rotation_matrix)创建了一个AngleAxisd类型的对象该对象代表了由旋转矩阵rotation_matrix表示的旋转。然后.axis()方法用于获取该旋转向量的旋转轴而.angle()方法用于获取旋转角度。接着AngleAxisd(rotation_matrix).axis() * AngleAxisd(rotation_matrix).angle()部分将旋转向量的轴乘以旋转角度这将得到一个旋转向量其方向由旋转轴决定大小由旋转角度决定。这个旋转向量被赋值给了extracted_rotation_vector。*/// 从欧式变换矩阵分解出旋转向量和平移向量Vector3d extracted_rotation_vector AngleAxisd(rotation_matrix).axis() * AngleAxisd(rotation_matrix).angle();/* block3,1(0,3)是Eigen库中的一个函数用于从矩阵中提取特定的块。在这里block3,1(0,3)表示提取了从第0行开始第3列开始的一个3x1的块即欧氏变换矩阵的前三个元素0, 1, 2行3列这通常是表示平移向量的部分。*/ Vector3d extracted_translation_vector euclidean_transform_matrix.block3,1(0,3);// 输出欧式变换矩阵、提取的旋转向量和平移向量// 欧式变换矩阵std::cout \nEuclidean Transformation Matrix:\n euclidean_transform_matrix std::endl;// 旋转向量std::cout Extracted Rotation Vector: extracted_rotation_vector.transpose() std::endl;// 平移向量std::cout Extracted Translation Vector: extracted_translation_vector.transpose() std::endl;return 0; } 多看几遍代码俺就算基本入第一道门了。。。
http://www.w-s-a.com/news/680030/

相关文章:

  • 惠州 商城网站建设石家庄新闻广播在线收听
  • 洪山网站建设域名购买之后怎么做网站
  • 北京网站建设公司服务哪家好wap是什么意思?
  • 怎么看公司网站做的好不好哦wordpress页面目录下
  • 做装修业务呢有多少网站平台搭建是什么
  • 潍坊优化网站排名淘宝做网站被骗
  • 建设专业网站的利弊免费logo设计生成器下载
  • 怎么在备案号添加网站网页设计动画网站
  • 网站开发 只要wordpress滑动注册
  • 跨境电商运营主要做什么静态网站如何做优化
  • 南充网站建设网站网站备案安全责任书是谁盖章
  • 怎么将网站设置为首页网站子目录怎么做
  • 做网站交互wordpress信息导出
  • 如何自己做企业网站做外贸登录国外网站
  • 郑州炫彩网站建设网站集约化建设调研报告
  • 2016年两学一做教育网站优良的定制网站建设制作商
  • 自己做网站需要哪些流程网站建设服务费如何做会计分录
  • 莆田建站培训用手机制作游戏的app软件
  • 中山建网站找哪家wordpress采集图片插件
  • 网站首页做后台链接有什么好用的模拟建站软件
  • 宁波有没有开发网站的公司网站上线除了备案还需要什么
  • 网站备案授权wordpress默认主体设置
  • 厦门微信网站广州推广策划公司
  • 集团公司网站开发asp网站怎么运行
  • 广州短视频网站开发东莞市建设信息网
  • 建设网站如果赚钱电脑可以做服务器部署网站吗
  • 网站建设的编程专门做面包和蛋糕的网站
  • 档案网站建设比较分析南京建站公司
  • 哪个网站可以做店招傻瓜式wordpress
  • 网站开发项目经理职责青岛模版网站建设