|
|
发表于 2008-10-3 17:55:00
|
显示全部楼层
Re:新手问题:变换矩阵顺序问题
1.我上面说的意思是:两种变换都是局部坐标系,都改换了局部坐标系的朝向,不是一个什么绝对,一个什么局部。
___
等你看了我给出的引用自OpenGL红宝书的资料再发言。
2.
另楼主的World矩阵乘是没必要的,World = ySideRot * zFlateRot 就可以表示先绕y再绕z旋转。
___
如果楼主要绕世界空间的主轴旋转呢?
=====================================
world = identity,请问在这儿有什么用?另外,什么叫世界空间的主轴?
如果使用的是OGL的API,它这个变换矩阵就是OGL的ModelView矩阵中的一级。它把物体从局部变换到世界空间。当然楼主用的是DX,那就有个光明正大的Model Matrix了。不用跟相机矩阵放在一起。。。。
——
我承认,没看到是identity矩阵。那的确算是很没用的代码。
3.
我不想起争端,不过如果你起码看过陈维恒的微分几何初步的绪言,也应该知道任何刚体运动都改变物体的坐标标架。没什么所谓的绝对坐标系。
——
不好意思,我学校里面上的是Oprea的微分几何和应用,里面除了介绍Frenet框架还真没你说的那个关于坐标框架的结论。陈维恒的听说过,国内学校大约用得比较多,我的确没看过。以后有机会我会看一下。关于有没有绝对坐标系的争论我想没什么必要吧,随便找本张量分析入门都会告诉你之所以用仿射空间代替向量空间的原因是,避免了选取一个绝对坐标系的人为性。
在初等解析几何里面可以很容易证明Zrot->Xrot->Yrot(在图形学里Y向上,而数学上一般是Z向上。。所以图形学里是YXZ)可以完成两个同手系的坐标系的旋转,这也是北京大学丘版解析几何的某个习题。
———
你要说的是欧拉旋转么?有意义的欧拉旋转共有24种,都能完成同手系坐标系旋转。不过你说这个有啥意思?欧拉旋转恰恰有12种是基于一个绝对坐标系进行定义的,建议你啥时候复习一下graphic gems相关章节。丘维声版本的大家都说简单,看这个习题的确无聊。我看的是张贤科许甫华版的,貌似题目还有趣不少。
|
|