Звёздная ночь
С помощью данного кода создаётся картина, состоящая из элементов, нарисованных параметрическими кривыми:
1. Для создания фона используется градиент - функция: drawGradientBackground,
2. Для луны и облаков используем функцию для отрисовки кривой - drawSimpleCurve,
3. Для прозрачности облаков, используем функцию globalAlpha,
4. Звёзды рисуем, основываясь на функции астроиды, с координатами расчитанными по формулам: x = 2 sin^3 (t), y = 2 ^3 cos(t),
5. Морские волны создаём с помощью 4 опорных точек ( P0(x0,y0),P1(x1,y1),P2(x2,y2) и P3(x3,y3)), воспользовавшись следующим уравнением:
x(t)=(1−t)3x0+3t(1−t)2x1+3t2(1−t)x2+t3x3,
y(t)=(1−t)3y0+3t(1−t)2y1+3t2(1−t)y2+t3y3, где t∈[0,1],
6. Для отрисовки чаек используем β-сплайн, за счёт контрольных точек получаем плавные, изогнутые линии,
7. Для создания полной картины с градиентным фоном, окружностью, эллипсами, кубическими кривыми Безье, астроидами и B-сплайнами - используем функцию drawLandscape.
