Язык программирования:
Java
Среда программирования:
Processing
//массив объектов класса myCircles[] arrCircles = new myCircles[200]; void setup() { //настраиваем окно и отображение объектов size(400, 400); smooth(); noStroke(); fill(255); //заполняем массив объектами и задаем им координаты, начиная с центра окна и двигаясь //дальше поспирали for(int i=0; i<arrCircles.length; i++) { float x = width/2 + cos(i/2.0) * i; float y = height/2 + sin(i/2.0) * i; arrCircles[i] = new myCircles(x, y, 0.05 + (i/1000.0) ); } } void draw() { background(0, 0, 0); //отрисовываем каждый объект через функцию pulse() for(int i=0; i<arrCircles.length; i++) { arrCircles[i].pulse(); } } //напишем класс, который будет создавать пульсирующие объекты-круги class myCircles { //переменные, в которых будут храниться координаты float xCoord; float yCoord; //переменные в которых будет задаваться скорость пульсации float t; float speed; //конструктор myCircles(float tx, float ty, float tspeed) { xCoord = tx; yCoord = ty; t = 0; speed = tspeed; } //функция пульсации void pulse() { //конвертируем значение sin(t) из промежутка -1:1 в соответственное значение в промежутке //10:15 float size = map(sin(t), -1, 1, 10, 15); //рисуем эллипсы ellipse(xCoord, yCoord, size, size); //сдвигаем его на значение переменной speed t = t + speed; } }
Прикрепленный файл | Размер |
---|---|
menshykov_demoscene_2.pde_.zip | 1012 байтов |