13 static float C[(steps + 1) * 4], *K =
nullptr;
17 for (
unsigned step = 0; step <= steps; ++step)
19 auto t =
static_cast<float>(step) /
static_cast<float>(steps);
20 C[step * 4 + 0] = (1 - t) * (1 - t) * (1 - t);
21 C[step * 4 + 1] = 3 * (1 - t) * (1 - t) * t;
22 C[step * 4 + 2] = 3 * (1 - t) * t * t;
23 C[step * 4 + 3] = t * t * t;
26 for (
unsigned step = 0; step <= steps; ++step)
29 K[step * 4 + 0] * P[0].x + K[step * 4 + 1] * P[1].x + K[step * 4 + 2] * P[2].x + K[step * 4 + 3] * P[3].
31 K[step * 4 + 0] * P[0].y + K[step * 4 + 1] * P[1].y + K[step * 4 + 2] * P[2].y + K[step * 4 + 3] * P[3].
33 results[step] = point;