坐标变换与逆变换的累积变换矩阵的特别注意事项

本文所讲的累积变换矩阵(注:并非几何书上的术语),是指在原有变换矩阵的基础上,乘以一个额外的变换矩阵而得到的新的变换矩阵。

当对图形利用几何变换及其逆变换的时候,特别是利用System.Windows.Media.Matrix矩阵类或第三方类似规格的矩阵类(Matrix2)进行坐标转换的时候,特别需要注意的是:

如果当给已有的一对正、逆变换矩阵(A,  AI)额外增加一个额外变换的时候,假设额外变换矩阵分别为(B,BI),,则叠加后的变换矩阵为:(A*B,BI*AI),而不是(A*B,AI*BI)。当然,可以直接先计算A*B,然后计算其逆矩阵,来避免可能导致的错误,但这种计算量比较大的时候,需要考虑两种计算方式的效率而择优选取。

 

注:

(1)上文中,BI是B的逆矩阵,AI是A的逆矩阵。

(2)叠加后的矩阵对不可以为(A*B,AI*BI),因为AI*BI并不是A*B的逆矩阵。

(3)可以发现,A*B*BI*AI=Identity单位矩阵,因此A*B的结果与BI*AI的结果互为可逆矩阵。

(4)以上公式是几何图形处理中非常重要的公示,比如,从屏幕坐标转换为自定义空间中的坐标,然后经过有关处理后,在从自定义空间中转换成屏幕坐标。

(5)上式针对二维空间中采用System.Windows.Media.Matrix矩阵类或第三方类似规格的矩阵类(Matrix2)的情况,其特点是转换矩阵写在坐标矢量的后面,即 Point*TransformMatrix的书写习惯。而对于将转换矩阵写在坐标矢量前面的情况,即TransfromMatrix*Point或TransformMatrix*Vector,(注:3维空间中的坐标转换常常使用这种方式),则需要注意矩阵相乘的顺序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值