opengl旋转次序理解(1)
来源:互联网 发布:sqlplus执行sql文件 -c 编辑:程序博客网 时间:2024/06/11 04:33
http://content.gpwiki.org/index.php/OpenGL:Tutorials:Using_Quaternions_to_represent_rotation
上面说的不清楚,更直观的是:人的头只能围绕Y转动,不能沿着X转动(人的右边手臂)
void Camera::rotatex(float xrmod){Quaternion nrot(Vector3(1.0f, 0.0f, 0.0f), xrmod * PIOVER180);rotation = rotation * nrot;} void Camera::rotatey(float yrmod){Quaternion nrot(Vector3(0.0f, 1.0f, 0.0f), yrmod * PIOVER180);rotation = nrot * rotation;} void Camera::tick(float seconds){if (xrot != 0.0f) rotatex(xrot * seconds * rotspeed);if (yrot != 0.0f) rotatey(yrot * seconds * rotspeed); if (xmov != 0.0f) movex(xmov * seconds * movespeed);if (ymov != 0.0f) movey(ymov * seconds * movespeed);if (zmov != 0.0f) movez(zmov * seconds * movespeed);}
void Camera::movex(float xmmod) // 做火车,X为火车方向,目光的方向不变{pos += rotation * Vector3(xmmod, 0.0f, 0.0f);} void Camera::movey(float ymmod)// 坐电梯,目光方向不变{pos.y -= ymmod;} void Camera::movez(float zmmod)// 移动zmmod Camera等效于移动物体 -zmmod{pos += rotation * Vector3(0.0f, 0.0f, -zmmod);}
- opengl旋转次序理解(1)
- opengl 旋转中心理解
- OpenGL旋转
- OpenGL旋转
- opengl笔记——旋转,一段代码的理解
- OpenGL中平移函数glTranslatef()、旋转函数glRotatef()的理解
- opengl 几种变换和变换次序
- opengl绘制桌子(平移、旋转、缩放)
- 理解OpenGL拾取模式(OpenGL Picking)
- 理解OpenGL拾取模式(OpenGL Picking)
- 理解OpenGL拾取模式(OpenGL Picking)
- 理解OpenGL拾取模式(OpenGL Picking)
- 理解OpenGL拾取模式(OpenGL Picking)
- 理解OpenGL拾取模式(OpenGL Picking)
- 理解OpenGL拾取模式(OpenGL Picking)
- 罗大柚OpenGL ES教程系列_LessonThree(Part 1)_使用Touch来实现旋转
- 请教OpenGL坐标旋转
- OpenGL教程之旋转
- Java中的String思考。
- Word-break:break-word
- Ubuntu下安装字体的最简方法
- [FAILED]Marking disk "DATA02" as an ASM disk
- HI3515海思开发板移植3G模块笔记
- opengl旋转次序理解(1)
- self.xx 与_xx 要牢记
- 单例
- App自动化之使用Ant编译项目多渠道打包
- Linux TOP命令(按内存占用排序和按CPU占用排序)
- Server-U出现乱码的解决方法.docx
- source小知识
- Tomcat总结
- C++ const方法及对象