<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset='utf-8'>
        <title>Title</title>
        <style>
            canvas {
                border: 1px solid red;
            }
        </style>
    </head>
    <body>
        <canvas id="cvs" width="500px" height="500px"></canvas>
        <script>
            let cvs = document.getElementById('cvs');
            let ctx = cvs.getContext('2d');
            // 在100, 100点的位置绘制一个宽高50 50的选择矩形

            // 第一种
            // let baseRadian = 0;
            // setInterval(function() {
            //     // 防止图形飞走,所以先把当前坐标轴的状态保存起来
            //     ctx.save();

            //     // 清除上一次的矩形
            //     ctx.clearRect(0, 0, cvs.width, cvs.height);
            //     //平移到矩形中心
            //     ctx.translate(125, 125);
            //     // 旋转坐标系
            //     ctx.rotate(baseRadian += Math.PI / 180 * 4);
            //     // 绘制图形
            //     ctx.fillRect(-25, -25, 50, 50);
            //     // 平移旋转之后,回滚到最初的坐标轴状态
            //     ctx.restore();
            // }, 50)
            
            // 做法2
            // 先统一平移到矩形的中心
            ctx.translate(125, 125); // 矩形中心125, 125
            // 基于这个中心不断绘制旋转矩形
            setInterval(function() {
                // 清除上一次的矩形
                ctx.clearRect(-50, -50, cvs.width, cvs.height);
                // 旋转坐标系
                ctx.rotate(Math.PI / 180 * 4); // 选择叠加(在之前选择的基础上在选择);

                // 绘制图形
                ctx.fillRect(-25, -25, 50, 50)
            }, 50)

            // ctx.fillStyle = '#fb0606';
            // ctx.font = '12px bold 宋体';
            // ctx.fillText('旋转矩形', 0, 0)
        </script>
    </body>
</html>