opengl旋转次序理解(1)

这篇博客探讨了在OpenGL中使用四元数来表示旋转的方法,特别强调了旋转轴的重要性,指出人的头部只能围绕Y轴转动,以此来帮助理解旋转次序的概念。
摘要由CSDN通过智能技术生成

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(zm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值