gpt4 book ai didi

opengl - 如何在opengl中使用四元数围绕屏幕中心旋转?

转载 作者:行者123 更新时间:2023-12-04 16:03:09 25 4
gpt4 key购买 nike

我正在尝试实现弧球/轨迹球旋转,但我的中心有问题
回转。无论如何,我希望中心成为我屏幕的中心。

让我解释一下到目前为止我做了什么。

我创建了一个四元数
(旋转轴:vector_start x vector_end,角度:vector_start * vector_end)

从那个四元数我创建了一个旋转矩阵,以便将它与 glMultMatrixf(matrix) 一起使用并获得所需的旋转。

问题是,虽然我的模型似乎在旋转,因为它应该始终围绕其本地原点旋转。我怎样才能让它围绕我的屏幕中心旋转
无论它的本地起源在哪里?

我想这个问题的解决方案可能是平移整个旋转轴
在屏幕中央,然后应用旋转,但这可能吗?
我在这里想念什么吗?

最佳答案

您应该能够通过以正确的顺序应用旋转和平移矩阵来解决这个问题。
在您的代码中,您可以转换回原点 T(-pos_x, -pos_y, -pos_z),应用旋转,然后再次转换到对象中心 T(pos_x, pos_y, pos_z)。这应该可以正常工作,与您的旋转矩阵的构建方式无关。

关于opengl - 如何在opengl中使用四元数围绕屏幕中心旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com