Я пытаюсь получить анимированную спиральную кривую на Обработке, так что кривая постепенно создается внутри каждой функции draw(). Я успешно создал кривую как статическую форму - теперь я пытаюсь сделать еще один шаг вперед.Анимация кривой с помощью кривойVertex() на Proccesing
К сожалению, мой код, похоже, не работает, несмотря на мои усилия. Через некоторое время ожидания я получаю форму статическую снова вместе со следующим сообщением об ошибке:
Вы должны использовать beginShape() или beginShape (многоугольник) до curveVertex()
В отличие от этого сообщения, у меня уже есть() инструкция beginShape
Вот мой код (возможно, в неправильном месте?):
float x,y;
float stepSize;
float angle;
int counter;
void setup() {
size(900, 600);
background(255);
frameRate(30);
smooth();
//noStroke();
stroke(0);
x = 0;
y = 0;
stepSize = 6;
angle = radians(270);
counter = 0;
}
void draw() {
translate(width/3, height/2);
if (counter == 0) {
beginShape();
curveVertex(x, y); // initial control point
} else {
if (stepSize > 1.0) {
curveVertex(x, y);
x = x + cos(angle) * stepSize;
y = y + sin(angle) * stepSize;
stepSize = stepSize * 0.99;
angle = angle - radians(1.5);
} else {
// return to previous x,y values for last control point
angle = angle + radians(1.5);
stepSize = stepSize/0.99;
y = y - sin(angle) * stepSize;
x = x - cos(angle) * stepSize;
curveVertex(x, y); // last control point
endShape();
}
}
counter++;
}
Заранее благодарим за любую помощь, которую вы могли бы предоставить! - Илиас
Спасибо, Кевин, за умный ответ! Мне так интересно узнать о расширенных циклах, о которых я раньше не знал ...;) –