使用QQuaternion对Qt Data Visualization中模型进行旋转

2023-05-16

在Data Visualization中,三维显示的OBJ需要旋转时使用rotation属性,但是该属性传入的值是一个四元数QQuaternion,直接赋值四元数很复杂,因此使用转化的方式获得该旋转四元数。

Data Visualization中横坐标为X(经度),纵坐标为Z(纬度),竖坐标为Y(高度),如图:

QQuaternion中提供了由欧拉坐标转为四元数的方法:

[static] QQuaternion QQuaternion::fromEulerAngles(float pitch, float yaw, float roll)

其中pitch,yaw,roll传入值为度(0-360)该值表示模型相对于对应坐标轴的旋转角度,旋转顺序为:

Z->X->Y。

但使用欧拉坐标系时,不同的旋转轴会引起不同的效果,例如先转X轴90°再转Z轴90°的效果和先转Z轴90°再转X轴90°的效果是不一样的。该方法个人认为较为适用于界面交互时操纵模型旋转角度。

 

QQuaternion中提供了由空间矢量转为四元数的方法:

[static] QQuaternion QQuaternion::rotationTo(const QVector3D &from, const QVector3D &to)

该函数计算一个原点发出的矢量到另一个原点发出的矢量的最小旋转四元数,计算的坐标系为标准正交坐标系,而Data Visualization中显示的不一定是标准间隔的,这里需要注意。

其中要注意的是,Data Visualization中Z轴方向与QQuaternion传入点的Z轴方向相反,需要取反操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用QQuaternion对Qt Data Visualization中模型进行旋转 的相关文章

  • C# 类/对象可视化软件

    在 Visual Studio 2005 及更早版本中 您可以将代码导出到 Visio 并查看对象之间的关系及其具有的方法 属性和字段 这很棒 因为它允许您调整外观以改善外观 在 VS 2008 中 该选项消失了 据说 被类图系统取代 它很
  • 很棒的 RDF 可视化工具 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想找到一些很棒的工具或样式来可视化我的 RDF 数据 以便在观看者访问 RDF 数据时能给他们带来震撼 问题是我现在得到的可视化工具只能
  • google.visualization.DataTable() 合并行

    我在 Google DataTable 中有这些数据 我需要合并具有相同日期的行 所以结果是 DataTable 中是否有内置方法可以实现此目的 或者有人可以给我提示如何执行此操作 而无需典型地迭代表并比较每一行 这是我现在正在尝试的 js
  • 为任意音频文件生成缩略图

    我想在最大尺寸为 180 180 像素的图像中表示音频文件 我想生成这个图像 以便它以某种方式给出音频文件的表示 将其想象为 SoundCloud 的波形 幅度图 我想知道你们中是否有人有这方面的东西 我一直在搜索一些 主要是 音频可视化
  • Matlab 3d 体积可视化和 3d 叠加

    问题几乎就是标题 我有一个作为原始数据加载的 3d 体积 256 256 256 size A 它仅包含零和一的值 其中 1 代表结构 0 代表 空气 我想在 MATLAB 中可视化该结构 然后对其运行算法并在其上覆盖一个覆盖层 假设颜色为
  • 音乐分析和可视化

    我对用 Python 编写音乐可视化工具感兴趣 第一个问题是如何从音乐中获取信息 如音量 频率 转速等 从哪里来 来自声卡还是实际的音乐文件 我的猜测是来自声卡 但是我如何访问声卡和想要的信息 最好以独立于平台的方式 Linux 是必须的
  • 绘制大圆路径

    我正在尝试绘制一些基于路径 连接的地图 但无法弄清楚如何绘制 我看到基于一点的指标有很多可能性 伦敦的犯罪热点等 使用 googleVis ggmap 等 但我找不到太多基于两点的指标的示例 城市之间的移民 火车路线等 包中有一个示例geo
  • 跟踪 C++ 内存分配

    我正在寻找一种方法来跟踪 C 程序中的内存分配 我是not对内存泄漏感兴趣 这似乎是大多数工具试图找到的 而是为应用程序创建内存使用情况配置文件 理想的输出是函数名称的大列表加上随时间变化的最大分配字节数 或者更好的是随时间变化的堆的图形表
  • 如何使用 Keras 可视化神经网络架构?

    我尝试了以下方法 usr bin env python import keras from keras models import model from yaml model file path model 301 yaml weights
  • 可视化 XML 树结构

    我有几个 XML 文件 它们具有相似的结构 但有一些我不能忽视的差异 它们都是 TEI 文件 我正在寻找一种概述主要结构的方法 以下面的文字为例
  • 在世界地图上方可视化网络[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在 NodeXL 中有一个网络数据集 我试图在世界地图上可视化它 我的数据集有 具有国家属性的节点 链接 节点之间的未加权连接 我尝
  • 散景中的多线悬停

    正如在这个问题中 多线散景和 HoverTool https stackoverflow com questions 32975709 bokeh multi line and hovertool 我发现悬停工具没有针对多线图实现 这是一个
  • 如何在 MATLAB 中可视化如图所示的体积数据?

    我的问题非常简单 我有一堆矩阵 所有矩阵都相互堆叠起来 这样我就有了大量的数据 我想可视化这些数据 如下图所示 在我看来 需要一定程度的透明度 这可能与每个体素的值有关 也就是说 值越高 体素对其后面的事物越不 透明 我不知道如何开始 这是
  • 如何使用 Python 的 Bokeh 向日期时间轴添加更多 x 轴刻度和标签?

    我一直在测试 Python 的 Bokeh 特别是烛台图表工具 但一直无法弄清楚如何向我的图表添加超过 5 个日期时间标签 刻度 任何见解将不胜感激 这是代码 from math import pi import pandas as pd
  • Vega-lite 线标记在远处显示工具提示

    我在 VegaLite 中有以下图表 在 Vega 编辑器中打开 https vega github io editor url vega lite N4IgJAzgxgFgpgWwIYgFwhgF0wBwqgegIDc4BzJAOjIEt
  • 带两个参数的 Matplotlib 颜色图

    我试图代表两个变量x and y在地图上使用颜色 到目前为止 我能达到的最好效果是对一个变量使用颜色 对另一个变量使用透明度 plt Polygon shape points fill False color cmap y alpha x
  • 在ggplot2中绘制两个面之间的线

    如何在两个面之间绘制多条线 我尝试通过在顶部图表的最小值处绘制点来实现此目的 但它们不在两个方面之间 见下图 到目前为止 这是我的代码 t lt seq 1 1000 y1 lt rexp 1000 y2 lt cumsum y1 z lt
  • 如何在 Matplotlib 中在图框之外绘制矩形

    我想按照下图的样式生成子图的标题 标题下方应有一个灰色框 位于散点的顶部 这是我尝试过的代码 x random sample range 50 50 y random sample range 50 50 fig pyplot figure
  • 优选的标签云可视化格式

    出于好奇 我很想知道什么标签云格式最适合发现越来越多 相关 内容的目的 我知道 3 种格式 但不知道哪一种最好 1 好吃的一个 http delicious com tag 颜色渐晕 2 The 标准一 http stephenslight
  • 选择 G 元素内的路径并更改样式

    本质上 我试图让除悬停的路径之外的所有路径都变成灰色 而选择的路径则保持其原始颜色 我已经能够将所有其他路径变成灰色 但是我在使用 select this 函数并实际访问我想要更改样式的路径时遇到了问题 看来我实际上已经成功地找到了 g 组

随机推荐