D3D中模型旋转问题

姚小白 2016-08-04 02:40:47
假设旋转使用下面代码:

问题:
绕X轴旋转yaw角度后,再绕Y轴旋转pitch角度。但是发现绕X轴旋转之后,其实Y轴也已经改变了,不再是初始的时候平行于屏幕的Y轴,现在Y轴应该是垂直于XoZ平面,也就是说和屏幕有个角度。
但我想要的结果是绕X旋转之后,Y轴 ,Z轴都会倾斜,三个轴都是原来的状态,然后再绕Y轴旋转。请问这样要怎么实现
...全文
719 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
IONPhantom 2018-11-09
  • 打赏
  • 举报
回复
先绕Y旋转再绕X旋转,也就是获取XYZ3个轴的旋转矩阵之后这样乘
RotationY*RotationX*RotationZ,这是FPS/FreeCamera的基本特性
shiter 2016-08-06
  • 打赏
  • 举报
回复
这个难道不能直接传个旋转轴进去,省的你一个一个算
姚小白 2016-08-06
  • 打赏
  • 举报
回复
引用 2 楼 wangyaninglm 的回复:
这个难道不能直接传个旋转轴进去,省的你一个一个算
D3DXVECTOR3 vX(1,0,0);
	D3DXVECTOR3 vY(0,1,0);
	D3DXVECTOR3 vZ(0,0,1);

	D3DXMATRIX matX,matY,matZ;
	D3DXMatrixRotationAxis(&matX,&vX,yaw);
	D3DXMatrixRotationAxis(&matY,&vY,pitch);
	D3DXMatrixRotationAxis(&matZ,&vZ,0);

	D3DXMATRIX matWorld;
	D3DXMatrixMultiply(&matWorld, &matX, &matY);
	D3DXMatrixMultiply(&matWorld, &matWorld, &matZ);
这样?
赵4老师 2016-08-04
  • 打赏
  • 举报
回复

19,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧