    ctx.beginPath();
            for (let i = 0; i < this.points.length -1; i++) {
                const p1 = this.points[i];
                const p2 = this.points[i+1];
                
                // 计算垂直于路径的偏移点，形成彩带的上下边缘
                const angle = Math.atan2(p2.y - p1.y, p2.x - p1.x);
                const dxTop = Math.sin(angle) * this.thickness / 2;
                const dyTop = -Math.cos(angle) * this.thickness / 2;
                const dxBottom = -Ma