array of u points (GRID_WIDTH) array of v points (GRID_HEIGHT) for j = 0 j < GRID_WIDTH j++ for i = 0 i < GRID_HEIGHT i++ upoints[i] = ControlPoints[j][i] vpoints[j] = evaluateBezierCurve(v, upoints, GRID_HEIGHT) return evaluateBezierCurve(u, vpoints, GRID_WIDTH)