3D数学-学习笔记(4):缩放
3D数学--学习笔记(四):缩放
如何能得到沿任意轴的3D缩放矩阵呢?
为了解决这个问题,我们可以先研究下——如何得到沿任意轴的2D缩放矩阵,把问题范围先缩小再扩大。
上图:
建立直角坐标系如图,任意向量V,分解为VT和VII,n向量为平行于缩放方向的单位向量,VT垂直于n向量,VII平行于n向量,注意这里,为什么可以这样建立模型,
根据平面向量的基本定理可知:平面向量可以沿任意指定的两方向进行分解。上面的这才是关键,下面的都是基本向量运算。
OK,我们已知了待缩放向量v,缩放方向为n向量,缩放因子k,我们的目的是,如何用这三个已知量表示出缩放后向量v ' 。
此时,我们已经知道了任意向量进行缩放的公式,当然也就可以据此计算出缩放后的基向量。
p = [1 0]
于是有:
p' = p + (k - 1)(p*n)n。
然后就是简单的加减矩阵运算了.....
得到:
OK,2D搞定,3D的话,
p = [1 0 0]
p' = p + (k - 1)(p*n)*n
最后得到:
于是,我们就得到了沿任意轴的3D缩放矩阵。
欢迎交流!