.
.
.
.
Учебник: Принципы креативного кода / Интерактив на p5.js /
Опубликовано 00 месяц 2026
title
.
.
.
.
Теория
Движение в коде создаётся через изменение параметров во времени. Это может быть простое линейное смещение, плавное колебание или более сложная система. Даже если на экране всего один объект, анимация делает сцену глубже и живее. В этом уроке ты сравнишь несколько способов создать движение и увидишь, как один и тот же эффект по-разному собирается в
Чтобы объект двигался, нужно менять хотя бы один его параметр: положение, размер, угол или прозрачность. Эти изменения происходят кадр за кадром, поэтому зритель воспринимает их как непрерывное движение. В
Движение может быть разным по характеру. Линейное выглядит механически и строго, а волнообразное или колебательное — мягче и органичнее. Это важно для креативного кодинга, потому что ощущение от сцены зависит не только от формы, но и от того, как она себя ведёт. Получается, что динамика тоже становится частью композиции.
let x = width / 2 + sin(frameCount * 0.05) * 120;
Здесь положение объекта вычисляется заново в каждом кадре. Функция
Движение — это не просто смена координат, а характер поведения формы во времени
Ниже показана одна и та же задача: оживить круг. Сначала движение будет реализовано через
Вариация
В
Здесь круг плавно движется из стороны в сторону по синусоиде. Его положение пересчитывается в каждом кадре, поэтому движение получается непрерывным. Это очень типичный способ анимировать объект в
В Vanilla JS аналогичный эффект можно собрать вручную. Для этого нужно создать цикл обновления и в нём постоянно менять положение элемента.
Здесь создаётся DOM-элемент и запускается функция анимации. Она вызывает сама себя через
Движение можно собрать и без ручного цикла. В этом случае JavaScript только создаёт элемент, а само поведение передаётся CSS-анимации.
Здесь анимация задаётся через
Вывод
- В
p5.js движение удобно собирать внутриdraw() , потому что цикл уже встроен - В Vanilla JS похожий эффект можно сделать вручную через
requestAnimationFrame() - Ещё один путь — передать движение CSS-анимации и использовать JavaScript только для создания элементов
- Во всех случаях эффект движения строится через изменение параметров во времени
Задание
Попробуй изменить характер движения в любом из вариантов. Сделай амплитуду меньше или больше, ускорь колебание или замедли его. Затем попробуй изменить не только положение, но и размер объекта во времени. Так ты увидишь, что даже один элемент может создавать очень разное ощущение движения.
.
.
.
.
Следующий материал
Рисование шумом
.
.
.
.