游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2188|回复: 7

DX 旋转

[复制链接]

13

主题

33

帖子

39

积分

注册会员

Rank: 2

积分
39
发表于 2005-11-16 23:06:00 | 显示全部楼层 |阅读模式
      我做一个球体的旋转,总做不出来。大侠们帮帮忙呀。

      我做一个球体,沿与X轴成45度、Y轴成90度、Z轴成45度的直线滚动。
      我先做X轴旋转45度矩阵,再做复合矩阵到世界矩阵。
      再做Z轴旋转45度矩阵,再复合矩阵到世界矩阵,
      最后再复合平移矩阵到世界矩阵。

      但球体的滚动总出不来,要不就是只按X轴转、要不就只按Z轴转。
      谢谢大家指教。

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-11-17 12:12:00 | 显示全部楼层

Re:DX 旋转

把3个旋转矩阵相乘后再设置到世界矩阵

8

主题

182

帖子

268

积分

中级会员

Rank: 3Rank: 3

积分
268
发表于 2005-11-17 17:14:00 | 显示全部楼层

Re:DX 旋转

这个能解决你的问题。
D3DXMATRIX *WINAPI D3DXMatrixRotationAxis(          D3DXMATRIX *pOut,
    CONST D3DXVECTOR3 *pV,
    FLOAT Angle
);
D3DXVECTOR3 V;
D3DXMatrixRotationYawPitchRoll(&mat,D3DXToRadian(90),D3DXToRadian(45),D3DXToRadian(45));
D3DXVECTOR3 zAxis=D3DXVECTOR3(0.0f,0.0f,1.0f);
D3DXVec3TransformNormal(&V,&zAxis,Mat);

13

主题

33

帖子

39

积分

注册会员

Rank: 2

积分
39
 楼主| 发表于 2005-11-18 00:45:00 | 显示全部楼层

Re:DX 旋转

    谢谢楼上两位指教。
    我用三个矩阵相乘后,没有效果。
    用第二位朋友的代码复制上去,出错。
    我把&mat和Mat改为&matWorld通过,但没有出旋转的效果。
   
    我是一个新手,能不能详细指教一下。
    如果我球体的旋转轴与XYZ轴都有一个夹角,怎么做矩阵呀,谢谢大家。
   
    我看了SDK里面的例子,也只有绕一个轴转的5555555555

2

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2005-11-18 01:27:00 | 显示全部楼层

Re:DX 旋转

D3DXMatrixRotationAxis 可以围绕任意轴旋转,SDK里有说明

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-11-18 11:10:00 | 显示全部楼层

Re: DX 旋转

看来楼主 D3D 是刚入门,你可以看看这本书,俺入门时看的,觉得不错 ^_^

sf_2005111811953.rar

303.92 KB, 下载次数:

42

主题

418

帖子

418

积分

中级会员

Rank: 3Rank: 3

积分
418
发表于 2005-11-18 11:11:00 | 显示全部楼层

Re: DX 旋转

第二部分

sf_20051118111112.rar

426.94 KB, 下载次数:

13

主题

33

帖子

39

积分

注册会员

Rank: 2

积分
39
 楼主| 发表于 2005-11-19 11:19:00 | 显示全部楼层

Re:DX 旋转

     谢谢楼上的各位朋友,我看书上把什么四元坐标搞复杂了,用D3DXMatrixRotationAxis很容易就实现了。
     以后还望各位朋友多多指教。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 16:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表