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

青岛博海建设集团有限公司网站外贸网站源码

青岛博海建设集团有限公司网站,外贸网站源码,ftp和网站后台,岳阳网站制作公司个人观点,仅供参考,如有错误可太刺激了 四元数的简单概念和使用 欧拉角通常用于表示一个物体的旋转状态,而不是表示旋转过程。 欧拉角描述的是物体相对于某个参考坐标系的朝向或旋转状态,通常以不同的轴(例如&#x…

个人观点,仅供参考,如有错误可太刺激了

四元数的简单概念和使用

欧拉角通常用于表示一个物体的旋转状态,而不是表示旋转过程

欧拉角描述的是物体相对于某个参考坐标系的朝向或旋转状态,通常以不同的轴(例如,绕X轴、Y轴和Z轴)的旋转角度来表示。这可以让你知道物体是如何朝向的,但它不提供旋转的完整信息。 当你用三个欧拉角表示一个旋转状态时,绕三个轴旋转的顺序不同,会得到不同的旋转结果。这些性质,就导致了以下这些问题:

欧拉角存在的问题

  1. 万向锁(Gimbal Lock): Gimbal Lock 是一个常见的问题,会导致旋转自由度的丢失
  2. 非唯一性: 欧拉角表示不是唯一的,相同的旋转可以用多种不同的欧拉角组合来表示,这很扯淡
  3. 不连续性: 欧拉角旋转可能会导致不连续性,特别是在插值时,会导致角度的突然跳跃,使得动画过渡不平滑
  4. 旋转顺序依赖: 欧拉角旋转的结果依赖于旋转轴的顺序,因此必须明确定义旋转顺序
  5. 数学计算复杂性: 进行欧拉角旋转计算需要需要复杂的矩阵运算

四元数的优点:

  1. 一个四元数通常需要存储4个分量(w、x、y、z),而旋转矩阵通常需要存储9个分量(3x3矩阵)。由于存储空间较小,四元数在内存中占用更少的空间。
  2. 计算效率: 四元数的乘法运算相对于矩阵乘法来说计算更快,因为四元数只涉及4个分量的乘法和加法,而矩阵涉及9个分量的乘法和加法。这在计算机图形和游戏中非常重要,因为需要频繁执行旋转操作。
  3. 插值: 四元数在插值(如球形线性插值)方面表现更好。插值旋转矩阵涉及到矩阵分解和插值,而四元数的插值通常更简单和高效。
  4. 避免万向锁: 四元数在避免万向锁问题上更稳定。欧拉角旋转和旋转矩阵都可能在特定情况下遇到万向锁问题,而四元数通常不会。
  5. 四元数既可以表示朝向,也能表示变换到当前朝向的旋转变换

怎么理解优点5:也能表示变换到当前朝向的旋转变换?

案例: 一个游戏对象,在世界空间中以某个姿态摆放着,已知该物体的面朝方向的欧拉角表示为 forward = (roll, pitch, yaw),求其 Up 向量和 Right 向量

  • 一般计算方法:非常简单且好理解,用叉乘
    glm::vec3 forward = getObjectTransform().Rotation; // 物体的朝向
    glm::vec3 worldUp = glm::vec3(0.0f, 1.0f, 0.0f); glm::vec3 RightInWorld = glm::normalize(glm::cross(worldUp, forward)); 
    glm::vec3 UpInWorld = glm::normalize(glm::cross(forward, Right)); 
    
  • 用四元数计算: 因为当前朝向的四元数同时也代表了物体的局部坐标空间中物体朝向变换到世界空间中的当前朝向的旋转变换,因此把该四元数变换应用给局部UpRight就能得到物体当前在世界空间中的的UpRight
    glm::quat forwardQuad = glm::quat(getObjectTransform().Rotation);glm::vec3 UpInWorld = glm::rotate(forwardQuad, glm::vec3(0.0f, 1.0f, 0.0f);
    glm::vec3 RightInWorld = glm::rotate(forwardQuad, glm::vec3(1.0f, 0.0f, 0.0f));
    

二者计算量其实差不多,根据需要选择方法即可。

http://www.yayakq.cn/news/43856/

相关文章:

  • 什么网站做免费广告最有效果免费一级域名网站
  • 抚顺市城市建设档案馆网站startit wordpress
  • 石嘴山网站定制开发建设云南公路建设市场网站
  • 射阳建设网站哪家好wordpress定时发布没用
  • 高端大气网站做展示网站要恋用什么程序
  • 专门做搜索种子的网站有哪些大数据营销企业有哪些
  • 网站建设竞争对手分析手机软件开发公司简介
  • 哪些做图片赚钱的网站手工制作灯笼步骤 教程
  • 哪里做网站一套一百新冠走了几百万老年人
  • 镇江专业建网站网站建设发生的费用会计科目
  • 婚礼网站建设网架公司哪个好
  • 网站做微信链接怎么做的做网站的app
  • 网站开发实践体会个人做淘宝客网站不能备案吗
  • 网站后台数据处理编辑主要是做什么的啊虎丘苏州网站建设
  • 餐饮o2o 网站建设做一个网站一般要多少钱
  • 站长工具seo综合查询腾讯成都百度推广优化创意
  • 甘肃三轮建设监理网站wordpress 找源码
  • 企业网站内页wordpress qa
  • 可拖动网站wordpress comments_template
  • 网站建设与管理 课件公司办公网络设计方案
  • 电子商务网站建设实训感想网站建设服务费如何做会计分录
  • 深圳广告设计公司网站福田网站制作比较好的
  • 每一个网站都是响应式吗网站名称是什么
  • 谈谈你对网站开发的理解如何查网站点击量
  • 官方网站applniux上安装wordpress百度云
  • 国企网站建设编程培训班哪个好
  • 店面设计说明泉州seo排名公司
  • 欧美做爰爰爰爰网站wordpress 所属分类
  • 好的模板网站建设白帽seo公司
  • 哪个网站可以做任务郑州树标网站建设