游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1781|回复: 4

简单的世界矩阵问题!!!

[复制链接]

25

主题

31

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2004-1-11 16:50:00 | 显示全部楼层 |阅读模式
各位高手,我学习了D3D的tutorial的Using Matrices,例子程序是应用matrixrotationY(),我还想运行scale,translate,看看效果!于是我在旋转例子的原代码中进行了修改:
D3DXMATRIX MatScale;
D3DXMatrixScaling(&matScale,1.0f,1.0f,0.5f);
g_pd3dDevice->SetTransform( D3DTS_WORLD, &matScale);
没有定义matWoeld,其他的没有改动!
但是,运行时提示:'matScale' : undeclared identifier
Error executing cl.exe.
该怎样改正呢?请问实现复合变化如何实现呢?比如:缩小1/3,再沿z轴旋转60度,再沿X轴平移10,
请讲讲,谢谢!如果有原代码就好了!听说国外的网站有的 ,推荐几个行吗 ?
为什么很多文章只介绍旋转呢?平移与缩放应用很少吗?
好象就是定义的问题吧?

   [em17] [em17] [em17]

10

主题

60

帖子

70

积分

注册会员

Rank: 2

积分
70
QQ
发表于 2004-1-11 17:38:00 | 显示全部楼层

Re:简单的世界矩阵问题!!!

这是大小写问题:
你定义的是3DXMATRIX MatScale;
而你使用时是matScale.

复合变换就是几个矩阵相乘.
注意了,矩阵乘法不适用交换律.
就是说矩阵A*B不等于B*A.
你只要把矩阵乘起来就行了:
scale * RotateZ * Translate

6

主题

74

帖子

100

积分

注册会员

Rank: 2

积分
100
发表于 2004-1-12 09:27:00 | 显示全部楼层

Re:简单的世界矩阵问题!!!

建议先学好C

14

主题

48

帖子

54

积分

注册会员

Rank: 2

积分
54
QQ
发表于 2007-10-10 12:34:00 | 显示全部楼层

Re:简单的世界矩阵问题!!!

hehe

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2007-10-12 18:08:00 | 显示全部楼层

Re:简单的世界矩阵问题!!!

C++传说中是大小写区分的=。=
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-20 10:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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