一堆点都乘以同一个变换矩阵(4*4矩阵),这些点的相对位置会发生变化吗为啥求大神!?

剛性變換(rigid transformation),即平移、旋轉、鏡射及它們的組合變換,把點變換後,點與點之間的距離維持不變。
■网友
变换是一个函数,它把一个点(或向量)映射成另一个点(或向量)。那么变换可以大致划分一下范围:变换 属于线性变换 属于仿射变换 属于刚性变换以下就是变换而不是线性变换。线性变换中,原来是直线的,在变换之后仍然保持直线。一堆点都乘以同一个变换矩阵(4*4矩阵),这些点的相对位置会发生变化吗为啥求大神!?

我们可以用上图表示一个变换或者用函数的形式:Q=T(P)这是点的变换。而v=R(u)是向量的变换。上面对于变换的表述过于一般(适用于所有变换)以至于不是很有用。在计算机图形学方面,如果运用这种变换的话。对一条线段的变换那就必须计算这个线段上所有点的变换,计算量太大,而且不实用。那么另外一种计算变换的方式应运而生——那就是矩阵变换。在齐次坐标下的矩阵变换中,矩阵是4*4的。也就是题主说的那种格式。这种矩阵变换是线性变换。一个函数是线性变换,当且仅当对于任何标量一堆点都乘以同一个变换矩阵(4*4矩阵),这些点的相对位置会发生变化吗为啥求大神!?
一堆点都乘以同一个变换矩阵(4*4矩阵),这些点的相对位置会发生变化吗为啥求大神!?
以及任何两个顶点(或者向量)p和q,都有一堆点都乘以同一个变换矩阵(4*4矩阵),这些点的相对位置会发生变化吗为啥求大神!?
。线性函数的重要性在于:因为变换的线性组合等于线性组合的变换,所以只要知道p和q的变换就可以求出它们线性组合的变换,这样就无须直接计算每个线性组合的变换了。那么什么是仿射变换呢?按照维基百科上的解释仿射变换,又称仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。这里又提到了一次线性变换,不过这里的线性变换姑且称之为狭义的线性变换(就是不带平移的线性变换)。一个对向量平移,与旋转放大缩小的仿射映射为
上式在齐次坐标上,等价于下面的式子
这里的A矩阵就是说的狭义的线性变换,当y向量是0向量或0点时,A对这个向量或者点一点办法也没有,只有加上了b向量才更加自由。也就是说,仿射变换中
对于点,4*4的变换矩阵只用到了12个,就是有12个自由度
【一堆点都乘以同一个变换矩阵(4*4矩阵),这些点的相对位置会发生变化吗为啥求大神!?】 对于向量,4*4的变换矩阵只用到了9个,就是有9个自由度
而对于广义的线性变换,这个矩阵有12个自由度。
而对于题主说的相对位置不变,那就是刚性变换,当然会改变相对位置呀~
第一次作答,排版和表达不清见谅,说不明白的地方来咨询。
参考资料:仿射变换
交互式计算机图形学

■网友
一般地,乘以矩阵相当于做了仿射变换,这些空间点会延矩阵各个特征值的对应方向(即相应的特征向量)产生一定程度(即特征值大小)的拉伸和收缩。当矩阵所有特征值相同时,就是 @You XingJie提到的正交矩阵;当所有特征值相同且均为1时,就是 @Milo Yip提到的刚性变换。此时点的相对位置保持不变。


    推荐阅读