quaternions相关内容

“平均"四元数?

我正在尝试在OpenGL程序中将矩阵动画从矩阵转换为四元数,但是遇到了一个问题: 给定多个单位四元数,我需要得到一个四元数,当用于转换向量时,该四元数将给出一个向量,该向量是每个四元数分别转换后的向量的平均值. (对于矩阵,我只需将矩阵加在一起并除以矩阵数即可) 解决方案 我尝试按照建议 ..
发布时间:2020-05-06 10:36:36 其他开发

旋转一组向量

我正在尝试将采样的一组矢量旋转到三角形的法线 如果这是正确的,则随机采样的半球将与三角形对齐. 当前,我在Z轴上生成它,并尝试将所有样本旋转到三角形的法线. 但它似乎“刚刚好" glm::quat getQuat(glm::vec3 v1, glm::vec3 v2) { glm::quat myQuat; float dot = glm::dot(v1, v2); if ..
发布时间:2020-05-06 10:24:35 其他开发

LWJGL-使用四元数和转换矩阵在6DOF相机中实现“滚动"的问题

我在这个问题上花了几周时间,似乎找不到合适的解决方案,需要一些建议. 我正在使用LWJGL/Java创建Camera类,并正在使用四元数来处理轴承(偏航),俯仰和横滚旋转.我希望这款相机能够处理3D空间中所有6度的运动并滚动.方位角,俯仰角和横滚都是四元数.我将它们乘以一个“变化"四元数,然后从中创建一个翻译矩阵.我将其放入浮动缓冲区,然后将Modelview矩阵乘以包含旋转矩阵的缓冲区. ..

查找四元数,表示从一个向量到另一个向量的转换

简介. 以前,我已经提出了一个问题将 rgb 三元组转换为四元数.在提出这个问题之后,我设法获得了单元四元数,但是我对其四元数的内部结构感到怀疑.没有简单的方法来操作它们,以及分隔 luma 和 chroma ,因为它们是单位长度的四元数.根据我对它的感觉,亮度应该编码为实数部分或整个大小.颜色"色度"信息应编码在虚部. 今天,我决定采用另一种方法来进行改进,与上面链接中的第一种方法不 ..
发布时间:2020-04-30 12:09:24 其他开发

经度/纬度到四元数

我有一个经度和纬度,想将其转换为四元数,并且想知道如何做到这一点?我想使用它,因为我有一个可以将地球投射到球体上的应用程序,而且我想从一个位置旋转到另一个位置. 最好! 解决方案 有一种无需使用矩阵或向量即可解决此问题的方法,类似于让我们使用Z-up右手坐标系.我们将经度φ和纬度θ称为点(φ,θ).为了可视化,红色轴对应于X,绿色轴对应于Y,蓝色轴对应于Z. 我们想找到代表从( ..
发布时间:2020-04-30 07:03:27 其他开发

在three.js中向DeviceOrientationControls添加偏移量

我正在尝试在 deviceControls.update(); 命令后向相机添加偏移量。我使用了 DeviceOrientationControls ,如第一个例子所示。 偏移量将是拖动手势的结果,如这个例子。 当我乘以2个四元数(我尝试过axb和bxa)时,最终结果不正确。 这是我的操作: const m1 = new THREE.Matrix4( ); m1.lo ..
发布时间:2019-06-08 18:43:17 前端开发

为什么我的四元数不能正常旋转?

好的,我们不是在谈论这个问题的OpenGL,但是这将与OpenGL ES 2.0一起使用。 问题:如何创建和旋转一个带有以下代码的四元数? 我一直在阅读和研究这个问题,但仍然无法理解这些概念。我以为我明白了,但是一旦我开始进行一些计算来旋转四元数,我就意识到我甚至无法回到我开始的地方。 所以让我们说我们有一个立方体,它的中心位于(0,0,0)。我们想在x轴上旋转45度。我该怎么办 ..
发布时间:2018-12-29 20:53:09 Java开发

这个四元数旋转代码如何工作?

我试图理解四元数旋转是如何工作的,我找到了这个迷你教程 http://www.julapy.com/blog/2008/12/22/quaternion-rotation/ 但他做了一些我无法锻炼的假设,比如我怎么办“围绕每个轴计算旋转矢量,只需绕轴旋转矢量。“他如何计算angleDegreesX,angleDegreesY和angleDegreesZ? 有人可以提供一个工作实例或解释吗? ..
发布时间:2018-12-10 22:32:15 Java开发

将设备3D方向与太阳位置进行比较

我正在制作一款应用程序,要求用户将iPhone瞄准太阳以触发特殊事件。 我可以检索设备3D方向基于陀螺仪和CoreMotion框架的四元数,从中我可以获得偏航,滚转和俯仰角度。 我还可以根据当前日期和时间(GMT)以及纬度和经度计算太阳的方位角和天顶角。 我接下来要弄清楚的是如何比较这两组值(手机方向和太阳位置)以准确检测设备与太阳的对齐。 关于如何实现这一点的任何想法? 解 ..
发布时间:2018-09-20 20:51:13 移动开发

使用四元数而不是滚动,俯仰和偏航来跟踪设备运动

请忍受我的长问题,我想尽可能清楚。 我想做的是,获得态度(滚动音调)并且当使用相机拍摄照片然后将姿态值保存到nsuserdefaults时。保存后,方向会改变,然后通过不断比较姿态值(保存和当前)来尝试使手机处于相同的姿势。 出于界面的目的,用户界面在屏幕上有3个点(每个姿态参数一个),指导拍摄照片的正确方向。达到正确的态度后,屏幕上会显示匹配标志。 我一直在寻找滚动,俯仰和偏航 ..
发布时间:2018-08-31 19:25:58 移动开发

将四元数旋转转换为旋转矩阵?

基本上,给定quaterion(qx,qy,qz,qw)...我如何将它转换为OpenGL旋转矩阵?我也有兴趣在哪些矩阵行是“向上”,“右”,“向前”等...我有一个相机旋转四元数,我需要在向量中...... 解决方案 以下代码基于四元数(qw,qx,qy,qz),其中的顺序基于Boost四元数: boost :: math :: quaternion四元; f ..
发布时间:2018-05-25 18:26:56 其他开发

Java代码从四元数获得围绕轴的旋转角度

我真的非常努力地找到正确的方法来从任意四元数获得单个轴周围的旋转角度。所以换句话说,我希望找到围绕指定轴(在我的情况下为坐标系的Z轴,但是任意的解决方案将会很好)的角度表达旋转的部分。任何人都可以指出实现这一目标吗?理想情况下,一些java片段会很好。 我尝试了 1 的态度,这是: asin (2 * qx * qy + 2 * qz * qw) 然而,在某些情况下, ..
发布时间:2018-04-23 18:04:34 Java开发

在一个轴上旋转一个四元数?

我有一个由四元数旋转的模型。我只能设置旋转,我不能从任何东西中加或减。我需要得到一个轴的值​​,并添加一个角度(可能是度数或弧度?),然后重新添加修改的四元数。 我可以这样做吗? (在每个轴上的答案)。 解决方案 您可以将两个四元数相乘以产生第三个四元数,旋转。请注意,四元数乘法不是可交换的,这意味着顺序很重要(如果你在脑子里做了几次,你可以看到为什么)。 你可以生成一个四元数 ..
发布时间:2018-04-23 17:46:17 Java开发

在6DOF中的四元数相机表示 - 防止固有滚动

第一个问题,虽然我已经在这里很多次通过谷歌。我已经阅读了很多关于使用四元数表示旋转以及找到有类似问题的人的话题。我还没有找到一个好的解决方案,或一个我可以理解..所以我给了一个镜头,问一个明确的问题,以产生坚实的答案。 我目前使用四元数(具体来说,Qt 4.7四元数/ C ++)来表示我的相机的方向。在程序的每一步,我检查鼠标移动,并做一个fromAxisAndAngle(xaxis,x_m ..
发布时间:2016-11-10 18:21:15 其它移动开发

从Tait-Bryan角度的四元数

我使用SharpDX编写相机,并在四元数的帮助下旋转相机。 相机旋转设置为pitch X旋转),偏航(Y旋转)和滚动(Z旋转),因此称为“Tiat-Bryan”角度(这些不欧拉角,其将具有XYX旋转,而不是XYZ) / li> 我使用的是左手坐标系:X +向右,Y +向上,Z +向下。 (“俯仰”),正值使相机向下看。如果我绕Y旋转(“偏航”),正值使相机向左看。如果我绕Z旋转(“滚动” ..
发布时间:2016-11-10 18:18:24 其它移动开发

如何使用四元数相机计算旋转?

给定一个四元数相机,当玩家可以在不同的表面法线(墙壁)上行走时,如何计算它的旋转。 允许玩家在3D空间中的天花板和墙壁上行走。我选择使用四元数相机系统,以避免云台锁。给定一组up(0,1,0),right(1,0,0)和forward(0,0,1)向量,我构造一个四元数。 在不改变重力矢量的情况下,相机工作正常,允许玩家围绕环境移动就像是一个标准的FPS游戏。 为了简单起见,玩家 ..
发布时间:2016-11-10 18:10:09 其它移动开发