是否可以使用4x4矩阵变换仅移动矩形的一个边缘?
答案 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 |