matlab 坐标系转换矩阵,坐标系转换矩阵生成

在原始坐标系中给定一个新的坐标系的x,y,z三个轴的向量,求空间转换矩阵。

再具体些:

比如最常用的tangent,binormal,normal的然后求一个矩阵,可以将原始坐标系中的一个向量转换到切空间。

向量与矩阵乘法一律是向量为一行,在左的乘法方式。

answer: transpose(float3x3(tangent,binormal,normal));

推导:

一个向量在一个坐标系中x,y,z坐标的含义即是这个向量在x,y,z轴上单位向量的投影大小,当然这个大小有正负号修饰的。

那么一个原始坐标系的向量在切空间的坐标就是在tangent,binormal,normal上的投影,也就是用点乘。

这样就可以得出切空间的转换矩阵应该是transpose(float3x3(tangent,binormal,normal));

那么其他坐标系转换方式其实一样了。

另外因为矩阵中三个分量都是单位向量,所以是正交矩阵就有

mul(matrix, transpose(matrix))==Identity Matrix;==>

transpose(matrix) == inverse(matrix):其转置即为逆矩阵;

原文链接:

http://blog.csdn.net/ccanan/article/details/1637314

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值