本文针对用js编写俄罗斯方块的时候,方块的旋转变形算法,以逆时针旋转为例,下图为旋转的说明图
第一次用visio画图,画的很不好,坐标(x,y)绕(x0,y0)逆时针旋转90度后的坐标为(x0+y0-y,y0-x0+x)。如图。假设(x0,y0)点为原点(0,0),(x,y)绕原点旋转90度后的坐标为(-y,x),当绕(x0,y0)旋转时,可以先把(x.y)坐标平移到(x-x0,y-y0)点,等于是基于原点旋转,旋转后坐标为(-(y-y0),(x-x0)),然后再平移回来,即所得坐标(x0+y0-y,y0-x0+x)。
下面是我工程的旋转部分的代码,完整的俄罗斯方块代码可以去我的博客代码片查看https://code.csdn.net/snippets/1675026
//定义旋转
var