绘制旋转的椭圆
<!...1 / a : 1 / b;
context.beginPath();
context.moveTo(x + a, y); //从椭圆的左端点开始绘制
for...ParamEllipse(context, xc, yc, a+3, b+3); //椭圆
ParamEllipse(context, xc, yc, a+6, b+6); //椭圆...有的时候变换可能比较复杂,比如平移之后又旋转,旋转之后又平移,又缩放。
直接用公式计算,不但复杂,而且效率低下。这时可以借助变换矩阵和矩阵乘法,将多个变换合成一个。...比如某个变换,先经过平移,对应平移矩阵A, 再旋转, 对应旋转矩阵B,再经过缩放,对应缩放矩阵C.
则最终变换矩阵 T = ABC.