游戏开发论坛

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

[HLSL]求教:矩阵求逆的几何意义

[复制链接]

18

主题

116

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
发表于 2011-3-28 11:08:00 | 显示全部楼层 |阅读模式
平时使用HLSL的过程中,发现好多范例中都涉及到了矩阵求逆的操作,最常见的比如:viewInverse(摄影逆矩阵)。
请教大家,一般情况下,在HLSL中使用原有矩阵的逆矩阵,通常是要实现什么效果?矩阵求逆有着怎样的几何意义?
PS:感觉HLSL的主要工作,其实就是利用GPU完成了一系列的矩阵运算(向量运算应该属矩阵运算的特例,矩阵运算可看作是4次并行的向量运算),但自己3D数学功底并不是很好。现在用HLSL大多是通过封装别人的算法来实现自己的效果,感觉不灵活,大家有什么这方面的学习经验也请一并指教。感激不尽~

0

主题

49

帖子

344

积分

中级会员

Rank: 3Rank: 3

积分
344
发表于 2011-3-28 11:58:00 | 显示全部楼层

Re: [HLSL]求教:矩阵求逆的几何意义

A矩阵的逆矩阵A'的几何意义
撤销A矩阵所带来的影响。

2

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2011-3-29 00:44:00 | 显示全部楼层

Re:[HLSL]求教:矩阵求逆的几何意义

如果用M~表示M的逆阵,I表示单位阵
则 MM~ = I,这个就是逆阵的定义
可以证明MM~ = M~M = I
可以证明M存在逆阵的充要条件是M的行列式不为零
可以证明若M存在逆阵则逆阵唯一

逆阵本身并没有几何意义,这是一个代数概念。只有当你在使用中赋予M不同的意义时M~才有对应的意义。
比如 向量p在经过一个变换M后的向量是p',已知变换M和变换后的向量p'求变换前的向量p
不妨视向量为行向量
即                p * M = p'
左右都乘以M~得        p * M * M~ = p' * M~
由结合律得        p * (M*M~) = p' * M~
由定义得        p * I = p' * M~
最终求得        p = p' * M~     (*)

根据上面的式子(*)很容易发现
如果M是从世界空间到摄像机空间的变换,那么M~就是从摄像机空间到世界空间的变换。
如果M是从摄像机空间到投影空间的变换,那么M~就是从投影空间到摄像机空间的变换。
以此类推...

18

主题

116

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
 楼主| 发表于 2011-3-29 08:56:00 | 显示全部楼层

Re: Re:[HLSL]求教:矩阵求逆的几何意义

lecoo: Re:[HLSL]求教:矩阵求逆的几何意义
如果用M~表示M的逆阵,I表示单位阵
则 MM~ = I,这个就是逆阵的定义
可以证明MM~ = M~M = I
可以证明M存...

原来如此!非常感谢LS两位高人的解答~
最近在看《3D数学基础》这本书,大家关于3D数学学习这方面还有什么好的方法或者建议吗?恳请一并赐教~
感激不尽~

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2011-3-29 19:40:00 | 显示全部楼层

Re:[HLSL]求教:矩阵求逆的几何意义

举个例子:

2 * a = b
现在已知 b, 求 a ,于是用 b * (1/2) = a. 而 1/2 是 2 的倒数。

同理,逆矩阵就相当于 倒数 那样,一个矩阵乘以另一个矩阵的逆矩阵,就相当于做了逆运算。

例如 M * p = q 是将 p 旋转之后获得 q. 那么用 q 乘以 M 的逆矩阵,就获得了旋转之前的 p.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-14 08:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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