社区
图形处理/算法
帖子详情
opengl坐标旋转和平移问题
np4800
2011-04-13 01:05:49
我现在在做一个用键盘控制小人跑动的程序,本来是这样设想的:用上下键盘控制前进后退,左右键分别控制左右旋转。现在问题来了:如果我先做平移后做旋转,人物转向是正常的,只不过平移坐标还要根据旋转的角度来计算比较麻烦;如果我先做旋转再做平移,在人物面向位置的向前向后平移变得很简单了(纯粹的只要在X或Y轴上增加值即可),但是问题是人物始终是围绕坐标原点的Z轴旋转,而不是围绕自己旋转。
不知道各位大大们做过想类似的问题没,无限请指教
...全文
292
6
打赏
收藏
opengl坐标旋转和平移问题
我现在在做一个用键盘控制小人跑动的程序,本来是这样设想的:用上下键盘控制前进后退,左右键分别控制左右旋转。现在问题来了:如果我先做平移后做旋转,人物转向是正常的,只不过平移坐标还要根据旋转的角度来计算比较麻烦;如果我先做旋转再做平移,在人物面向位置的向前向后平移变得很简单了(纯粹的只要在X或Y轴上增加值即可),但是问题是人物始终是围绕坐标原点的Z轴旋转,而不是围绕自己旋转。 不知道各位大大们做过想类似的问题没,无限请指教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
diy2005
2011-05-01
打赏
举报
回复
同感啊 进步很慢 要弄明白的东西很多 三维需要空间想象力
[Quote=引用 5 楼 wjjroy 的回复:]
LZ已经解决了啊~~~~~一开始学OpenGL的时候的确会被坐标弄昏头,不过这个不弄清楚的话以后就学不了GL了,本来GL就是坐标+颜色的东西(50%)……我现在学GL也学到迷惑了,总感觉进步不了~~~~郁闷,有老师的年代真好
[/Quote]
wjjroy
2011-04-27
打赏
举报
回复
LZ已经解决了啊~~~~~一开始学OpenGL的时候的确会被坐标弄昏头,不过这个不弄清楚的话以后就学不了GL了,本来GL就是坐标+颜色的东西(50%)……我现在学GL也学到迷惑了,总感觉进步不了~~~~郁闷,有老师的年代真好
np4800
2011-04-26
打赏
举报
回复
[Quote=引用 3 楼 poisonchry 的回复:]
引用 2 楼 poisonchry 的回复:
不太明白你说的是什么问题,是说进行了模型变换后,发现模型实际上一直围绕Z轴旋转?
首先,你弄得清楚什么是模型观察矩阵么?
简单的说,就是模型矩阵+观察矩阵
OpenGL默认情况下,观察矩阵和模型矩阵都是位于中心,也就是说,在你不修改观察矩阵的前提下,对模型进行修改,包括另它转动,都最终只能看到它沿某轴转动。
你说,想叫世界围绕人物旋转,那……
[/Quote]
谢谢你了,用保存模型矩阵和读取模型矩阵的方法可以做出来。。
打码的老程
2011-04-13
打赏
举报
回复
[Quote=引用 2 楼 poisonchry 的回复:]
不太明白你说的是什么问题,是说进行了模型变换后,发现模型实际上一直围绕Z轴旋转?
首先,你弄得清楚什么是模型观察矩阵么?
简单的说,就是模型矩阵+观察矩阵
OpenGL默认情况下,观察矩阵和模型矩阵都是位于中心,也就是说,在你不修改观察矩阵的前提下,对模型进行修改,包括另它转动,都最终只能看到它沿某轴转动。
你说,想叫世界围绕人物旋转,那你需要考虑修改观察矩阵才能得到这样的效果。亦或者,……
[/Quote]
说错了,确切的说,是把人物置于中心(0,0,0)点,然后所有物体沿Y轴旋转
打码的老程
2011-04-13
打赏
举报
回复
不太明白你说的是什么问题,是说进行了模型变换后,发现模型实际上一直围绕Z轴旋转?
首先,你弄得清楚什么是模型观察矩阵么?
简单的说,就是模型矩阵+观察矩阵
OpenGL默认情况下,观察矩阵和模型矩阵都是位于中心,也就是说,在你不修改观察矩阵的前提下,对模型进行修改,包括另它转动,都最终只能看到它沿某轴转动。
你说,想叫世界围绕人物旋转,那你需要考虑修改观察矩阵才能得到这样的效果。亦或者,你将全部物体置于同一等级的矩阵中,然后以Z轴为中心,对所有物体进行旋转。这样才能得到你想要的效果
天鹅梦
2011-04-13
打赏
举报
回复
glPushMatrix glPopMatrix行不?
论文研究-基于
OpenGL
视点
坐标
系的
平移
旋转
变换 .pdf
基于
OpenGL
视点
坐标
系的
平移
旋转
变换,杨艳英,王哲龙,本文基于
OpenGL
视点
坐标
系与世界
坐标
系的相互对应关系,利用视点变换原理实现对三维图形的
平移
和
旋转
。并提出一种新的三维图形
旋转
opengl
自定义函数实现
平移
旋转
缩放
没有直接调用
OpenGL
几何变换函数,运用齐次
坐标
,采用矩阵相乘的方式自己编程实现; 控制方式:鼠标左键拖着移动,鼠标右键
旋转
方向,滚轮缩放 我为了完成实验作业自己写的
【奇境】
OpenGL
计算机图形学编程—从小白到精通
1 课程简介: 本课程详细讲解了
OpenGL
从入门到精通的理论+实践知识,对于每一个知识点都会带领学员通过代码来实现功能。其中涵盖了基础图元绘制,基础光照,高级过程,高级光照等内容;当前图形引擎的应用已经越来越...
OpenGL
立方体在世界
坐标
系中_缩放_
旋转
_
平移
_顶点片源着色器_光照作用
OpenGL
立方体在世界
坐标
系中_缩放_
旋转
_
平移
_顶点片源着色器_光照作用:里面有txt的使用说明,顺代如果要直接点击exe ,那么需要把用到的各个 .dll复制到和exe同一个目录下,顶点着色器和片源着色器文档也要复制过去
第十一站:
OpenGL
平移
缩放操作(VS2015).zip
常说的
坐标
系,有三种说法:左手
坐标
系、右手
坐标
系、笛卡尔
坐标
系 **左手系**:伸开左手,大拇指指向X轴正方向,食指指向Y轴正方向,其他三个手指指向Z轴正方向。
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章