               ctx.stroke();
                }
                for (let u = 0; u <= 1.0001; u += step) {
                    ctx.beginPath();
                    ctx.moveTo(getPointOnSurface(patch, u, 0).x, getPointOnSurface(patch, u, 0).y);
                    for (let v = step; v <= 1.0001; v += step) {
                        const p = getPointOnSurface(patch, u, v); ctx.lineTo(p.x, p.y);
                    }
                    ctx.stroke();
                }
            }

            _drawMainPatchVi