游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3886|回复: 2

请问怎么把一个4x4矩阵拆解成缩放、旋转、平移等分量

[复制链接]

5

主题

10

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2013-7-13 17:54:21 | 显示全部楼层 |阅读模式
我知道DX里有个D3DXMatrixDecompose可以做到,但是不知道具体的原理是什么。

6

主题

64

帖子

330

积分

中级会员

Rank: 3Rank: 3

积分
330
发表于 2013-7-15 23:01:27 | 显示全部楼层
可以有无数种拆解方法,但最符合原始的拆解是必须知道这个矩阵是怎么得来的,由哪些旋转,平移,缩放相乘而得到,不管多少和什么顺序相乘,最后都可以分解成一个先缩放,再旋转,再平移的。

1

主题

17

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2013-7-24 16:55:17 | 显示全部楼层
知道原来S、R、T三矩阵顺序 就可以分拆了。 一般顺序是S*R*T, 当然实际操作中,注意矩阵的形式(行列优先、存储优先), 具体来讲:dx : v‘ = T*R*S*v, OPENGL: v' = S*R*T*v(v:初向量,v’变换后向量)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-26 14:17

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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