OpenGL中的3D旋转
3D rotation in OpenGL
所以我试图做一些旋转操作的图像在openGL基于四元数信息,我想知道,有没有一种方法来定义我的图像的位置矢量(让我们说(001)),然后将四元数应用到该矢量旋转我的图像周围的任意原点?我一直在用GLM做所有的数学工作。(使用c++)
或者有更好的方法来做到这一点,我还没有想到?
如果你想绕点P = {x, y, z}
旋转,那么你可以简单地通过-P
平移,绕原点旋转,然后再通过P
平移。
转换的应用顺序如下:
scale -> translation to point of rotation -> rotation -> translation
所以你的最终矩阵应该计算:
glm::mat4 finalTransform = translationMat * rotationMat * translationToPointOfRotationMat * scaleMat;
相关文章:
- 使用 C++在 OpenGL 中移动自动旋转的 3D 多边形
- 如何使用偏航、俯仰和滚动旋转 3D 矢量?
- 3D透视图投影,带有摄像头旋转
- 从特征::等距3d提取旋转时出错
- VTK:旋转3D模型并捕获其深度图
- 给定的3D旋转矩阵和3D方向矢量发现角差
- 在3D中合并旋转
- Android OpenCV - 每次旋转是否有可能捕捉到不同的3D对象点击?
- 特征:将矩阵3d旋转转换为四元数
- 围绕另一个 3D 点旋转一个 3D 点
- 在3D中旋转针孔相机
- 如何在 3D 场景中旋转单个对象
- 使用 DirectX11 进行相机 3D 旋转
- 如何约束 3D 旋转(欧拉)
- 如何使用glm旋转3D相机
- 如何在3D中围绕相同的枢轴/点旋转多个对象
- 无法在WebGL中创建沿轴旋转的3D Koch
- Turbo c++ 3D旋转问题
- 围绕绝对轴旋转3d模型
- 旋转 3D 对象(OSG & vc++)