Processing:Примеры/Движение объекта по кривой: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
{{Processing панель перехода}} | {{Processing панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Описание<ref>[https://processing.org/examples/movingoncurves.html processing.org - Moving On Curves]</ref>= | =Описание<ref>[https://processing.org/examples/movingoncurves.html processing.org - Moving On Curves]</ref>= | ||
Строка 66: | Строка 63: | ||
}} | }} | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
float beginX = 20.0; // начальная координата X | float beginX = 20.0; // начальная координата X | ||
float beginY = 10.0; // начальная координата Y | float beginY = 10.0; // начальная координата Y | ||
Строка 115: | Строка 112: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Processing}} | |||
{{Навигационная таблица/ | |||
Текущая версия от 07:54, 27 августа 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
В этом скетче-примере эллипс движется по кривой, рассчитываемой с помощью формулы y = x^4. Кликните мышкой в какой-либо части экрана, чтобы эллипс переместился на это место.
Пример
float beginX = 20.0; // начальная координата X
float beginY = 10.0; // начальная координата Y
float endX = 570.0; // конечная координата X
float endY = 320.0; // конечная координата Y
float distX; // дистанция движения по оси X
float distY; // дистанция движения по оси Y
float exponent = 4; // переменная для расчета кривой
float x = 0.0; // текущая координата X
float y = 0.0; // текущая координата Y
float step = 0.01; // шаг пути
float pct = 0.0; // пройдено процентов пути (от 0.0 до 1.0)
void setup() {
size(640, 360);
noStroke();
distX = endX - beginX;
distY = endY - beginY;
}
void draw() {
fill(0, 2);
rect(0, 0, width, height);
pct += step;
if (pct < 1.0) {
x = beginX + (pct * distX);
y = beginY + (pow(pct, exponent) * distY);
}
fill(255);
ellipse(x, y, 20, 20);
}
void mousePressed() {
pct = 0.0;
beginX = x;
beginY = y;
endX = mouseX;
endY = mouseY;
distX = endX - beginX;
distY = endY - beginY;
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |