大意:给出n个,对其进行m个操作,平移,旋转,缩放,翻转。其中n<=1e4 m<=1e6
分析:对于旋转:
平移:
x'=rcos(p+r)=xcosp-ysinp
y'=rsin (p+r)=xsinp+ycosp
然后是超时问题。想过用一个“基向量”先进行变换操作,然后再给每一个坐标进行变化,但是这样的“基向量”表示不了旋转变化操作。设想“基向量”是(1,1),各种问题出现了。。
矩阵是个好东西。它完全可以替代那个二维的“基向量”,实现操作压缩,后变化坐标。一个
O(n*m)的算法程序变成了
O(n+m)
旋转:
平移: