Кривые Безье — это математические кривые, которые широко используются в компьютерной графике для создания плавных и красивых кривых. Они были впервые разработаны французским инженером Пьером Безье в 1960-х годах для описания автомобильных кузовов в компании Renault. Кривые Безье могут быть различных порядков, включая линейные (порядка 1), квадратичные (порядка 2), кубические (порядка 3) и т. д.
Для рисования кривых Безье в Canvas доступны следующие методы: quadraticCurveTo() и bezierCurveTo()
quadraticCurveTo()Этот метод добавляет кривую Безье к текущему пути, определяемую начальной точкой пути (текущей позицией), одной контрольной точкой (cp1x, cp1y) и конечной точкой (x, y). Это квадратичная кривая Безье.
Синтаксис:
quadraticCurveTo(cpx, cpy, x, y)Параметры:
| cpx | Координата оси X контрольной точки. | 
| cpy | Координата оси Y контрольной точки. | 
| x | Координата X новой позиции курсора. | 
| y | Координата Y новой позиции курсора. | 
Пример:
ctx.beginPath();
ctx.moveTo(50, 50); // Начальная точка
// Квадратичная кривая Безье с одной контрольной точкой
ctx.quadraticCurveTo(100, 150, 150, 50);
ctx.stroke(); // Рисуем контур путиРезультат:
bezierCurveTo()Этот метод добавляет кривую Безье к текущему пути, определяемую начальной точкой пути (текущей позицией), двумя контрольными точками (cp1x, cp1y) и (cp2x, cp2y) и конечной точкой (x, y). Это кубическая кривая Безье.
Синтаксис:
bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)Параметры:
| cp1x, cp1y | Координата первой контрольной точки по оси X и Y. | 
| cp2x, cp2y | Координата второй контрольной точки по оси X и Y. | 
| x | Координата X конечной позиции курсора. | 
| y | Координата Y конечной позиции курсора. | 
Пример:
ctx.beginPath();
ctx.moveTo(50, 50); // Начальная точка
ctx.bezierCurveTo(100, 100, 150, 150, 200, 50); // Кубическая кривая Безье
ctx.stroke(); // Рисуем контур путиРезультат: