根据距离进行翻译
Translating according to the distance
我在原点有一个正方形。首先,我想旋转它。然后,将其翻译为距原点 5 个单位的位置。
旋转后,我想将其平移为 5 的距离。但是当我实现下面的代码时。它不会将其转换为我想要的位置。正确的翻译方式是什么。 glTranslatef( 5,5, 5); glRotatef(45, x,y,z);
如果你的平方中心在原点,glTranslatef,然后glRotatef。
要围绕自定义中心旋转,以下是通用公式:
TranslationFromRotCenterToOrigin * RotationMatrix * TranslationFromOriginToRotCenter
它在 OpenGL 中以相反的顺序给出一些东西(因为 glTranslatef/glRotatef 将当前的 OpenGL 矩阵乘以指定的平移/旋转矩阵(
glLoadIdentity();
glTranslatef( 5, 5, 5);
glTranslatef( toRotCenterX, toRotCenterY, toRotCenterZ );
glRotatef( 45, x, y, z );
glTranslatef( -toRotCenterX, -toRotCenterY, -toRotCenterZ );
希望这有帮助
相关文章:
- 不同翻译单元中不可重载的非内联函数定义
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 用C++程序计算圆锥体的体积、球体的体积、八边形的面积和两点之间的距离
- 需要将一行代码从C++ Qt翻译成PyQt
- 为什么未命名的结构内联变量在每个翻译单元中没有相同的地址?
- 计算所有对之间的曼哈顿距离
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- Levenshtein 两个文件的距离花费了太多时间
- 在没有 API 的情况下使用谷歌翻译文本
- 如何执行 cppcheck 交叉翻译单元 (CTU) 静态分析?
- 模板变量是否允许在多个翻译单元中并有效合并?
- 两个有符号数字之间的距离
- 计算车辆之间的距离并设置速度,使距离保持不变,例如 5 米
- 是否允许类在程序中的不同翻译单元之间具有不同的定义?
- 计算两个迭代器之间的距离时"Vector Iterators Incompatible"
- 浮动距离为80位长双精度
- 我怎样才能代替使用新的使用malloc翻译
- 为什么具有静态存储持续时间的同一内联变量在包含在 VS2017 编译的两个翻译单元中时会构造和销毁两次
- 查找彼此之间具有不同最小距离的随机数
- 根据距离进行翻译