游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2187|回复: 8

一个关于物体旋转的问题~

[复制链接]

51

主题

145

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2008-3-21 23:54:00 | 显示全部楼层 |阅读模式
    我怎么才能实现物体围绕自身的中心轴旋转呢 也就是说物体无论在世界坐标的什么位置 都围绕着自己的中心轴旋转 但是我现在的情况是 物体始终围绕着世界坐标的中心旋转

    开始我用的是D3DMatrixRotationY函数 也就是始终围绕着y轴旋转 但是之后我改用D3DMatrixRotationAxis函数 是让物体围绕着任意轴旋转 我觉得这个函数能解决我的问题 但是现在的问题是 这个函数需要一个向量来表示物体围绕哪一个轴旋转 也就是说这个向量要随着我物体在世界中的移动而发生变化 应该只要把这个向量设成(物体x坐标,1.0,物体z坐标)就可以了吧 但是我要如何随时的知道物体在世界中的坐标呢? 还请高手赐教 谢谢了


51

主题

145

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2008-3-22 12:40:00 | 显示全部楼层

Re:一个关于物体旋转的问题~

    不好意思,我理解有错误。向量不应该设为(物体x坐标,1.0,物体z坐标)。因为于y轴同指向的向量也应该是(0,1,0)。
    但是,那我应该如何设置一个和y轴平行的向量,来使我的物体能围绕着我设定的向量旋转呢
    D3DXMatrixRotationAxis这个函数可以让物体围绕任意轴旋转。但是物体指向上方的向量和y轴同是(0,1,0)。这样的话,函数就不知道我应该围绕着那个轴去转。
    其实这两个向量的区别就在于指向物体上方的向量在世界中的位置是任意的,那么我要怎么做才能体现出这两个向量之间的不同呢?

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2008-3-22 14:11:00 | 显示全部楼层

Re:一个关于物体旋转的问题~

在3D的空间,用矩阵去理解一切变换

51

主题

145

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2008-3-22 14:37:00 | 显示全部楼层

Re: Re:一个关于物体旋转的问题~

无名剑: Re:一个关于物体旋转的问题~

在3D的空间,用矩阵去理解一切变换


51

主题

145

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2008-3-22 14:38:00 | 显示全部楼层

Re: Re:一个关于物体旋转的问题~

无名剑: Re:一个关于物体旋转的问题~

在3D的空间,用矩阵去理解一切变换


我也发现我需要重新理解一下3d变换了~ 现在有点乱~

0

主题

228

帖子

285

积分

中级会员

Rank: 3Rank: 3

积分
285
发表于 2008-3-22 14:38:00 | 显示全部楼层

Re:一个关于物体旋转的问题~

先把物体平移到坐标原点,然后绕自身轴旋转,旋转完后在平移回原来在世界空间的位置

51

主题

145

帖子

152

积分

注册会员

Rank: 2

积分
152
 楼主| 发表于 2008-3-22 14:42:00 | 显示全部楼层

Re: Re:一个关于物体旋转的问题~

quanyy: Re:一个关于物体旋转的问题~

先把物体平移到坐标原点,然后绕自身轴旋转,旋转完后在平移回原来在世界空间的位置


我先顺着你的思路想想~ 不过就是很麻烦吧 如果能解决了D3DXMatrixRotationAxis的问题 问题就简单了

2

主题

108

帖子

116

积分

注册会员

Rank: 2

积分
116
发表于 2008-3-22 18:19:00 | 显示全部楼层

Re: Re:一个关于物体旋转的问题~

quanyy: Re:一个关于物体旋转的问题~

先把物体平移到坐标原点,然后绕自身轴旋转,旋转完后在平移回原来在世界空间的位置


正解。
这个矩阵应该保存下来,而不应该每帧去计算。只有在位移、旋转、缩放改变的时候才去计算。

13

主题

113

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2008-3-22 21:24:00 | 显示全部楼层

Re:一个关于物体旋转的问题~

平移->旋转->平移

把一个变换分解成几个变换
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 18:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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