使用4x4矩阵移动边缘

时间:2011-10-03 19:11:40

标签: math matrix

是否可以使用4x4矩阵变换仅移动矩形的一个边缘?

Example

1 个答案:

答案 0 :(得分:0)

这比我原先想象的要容易。如果要将它们乘以4x4矩阵,则必须将顶点扩展为4D向量。要在2D中执行此操作,您实际上只需要一个3x3矩阵,但额外的维度并不会对您的实现性能产生任何影响。

给出你的四个点,Vn =(xn,yn,mn,0),其中n在{0,1,2,3}中,并且mn是0或1,具体取决于你是否要移动Vn来自其当前位置。要移动您想要移动某些向量(α,β)的顶点,请应用以下内容:

| 1 0  α 0 | | x0 x1 x2 x3 |   | x0+αm0 x1+αm1 x2+αm2 x3+αm3 |
| 0 1  β 0 | | y0 y1 y2 y3 |   | y0+βm0 y1+βm1 y2+βm2 y3+βm3 |
| 0 0  1 0 | | m0 m1 m2 m3 | = |   m0     m1     m2     m3   |
| 0 0  0 1 | | 0  0  0  0  |   |   0      0      0      0    |