Вторник, 12.11.2019, 17:11
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Функции пользователя. Примеры

Пример 1.Функция пользователя drawLine()

void setup()
{
  size(100,100);
  drawLine(5);
//вызов функции пользователя
}

//описание функции пользователя

void drawLine(int x)  
{  
  line(x,0,x,99);
}

 

Пример 2. Функция для рисования сетки с квадратами 10 на 10 пикселей - drawGrid() .

 

1. Сначала нужно написать функцию setup() и установить размер окна 640 на 480 пикселей:

void setup()
{
size( 640, 480 );
smooth();
}

2. Следующий фрагмент кода является функцией для рисования сетки с квадратами 10 на 10 пикселей. Эта функция будет вызываться в функции draw():
 функция drawGrid() - это пользовательская функция, которую мы написали для того, чтобы нарисовать на экране светло-серую сетку. В ней два цикла for, один для горизонтальных линий, другой - для вертикальных.*/

void drawGrid()
{
stroke( 225 );
for ( int i = 0; i < 64; i++ ) {
line( i*10, 0, i*10, height );
}
for ( int i = 0; i < 48; i++ ) {
line( 0, i*10, width, i*10 );
}
}

3. И наконец мы можем написать функцию draw(). В ней мы установим цвет фона белым, нарисуем сетку и несколько прямоугольников, эллипсов, треугольников и четырехугольников.

void draw()
{
background( 255 );
drawGrid();
stroke( 0 );

// rectangles (yellow)
fill( 255, 255, 0 );
rect( 20, 20, 120, 120 );
rect( 180, 20, 120, 120, 20 );
rect( 340, 20, 120, 120, 20, 10, 40, 80 );
rect( 500, 40, 120, 80 );

// ellipses (red)
fill( 255, 0, 0 );
ellipse( 80, 240, 120, 120 );
ellipse( 240, 240, 120, 80 );
ellipse( 400, 240, 80, 120 );

// triangles (blue)
fill( 0, 0, 255 );
triangle( 560, 180, 620, 300, 500, 300 );
triangle( 40, 340, 140, 460, 20, 420 );

// quads (cyan)
fill( 0, 255, 255 );
quad( 180, 340, 300, 340, 300, 380, 180, 460 );
quad( 400, 340, 440, 400, 400, 460, 360, 400 );
quad( 500, 340, 620, 400, 500, 460, 560, 400 );
}

Пример 3. 

 

void setup() // служебная функция setup() запускается первой
{
  size(200,100);
 noFill(); 
//не заполнять окружности
}
void draw()  
// вызывает очередной кадр
{
  drawRandomCircle() ;
//вызывает  функцию пользователя 
 }

// функция пользователя 

void drawRandomCircle()  
{
  int r= int(random(50));

 //цвет кисти
  stroke(random(255),random(255),random(255));
 //окружности со случайными параметрами (положение, радиус, цвет, размеры)
  ellipse(random(200),random(100),r,r);
 }

 

Пример 4.

источник - https://processing.org/examples/recursion.html

void setup() {
  size(640, 360);
  noStroke();
  noLoop();
}

void draw() {
 
drawCircle(width/2, 280, 6);
}

void drawCircle(int x, int radius, int level) {                    
  float tt = 126 * level/4.0;
  fill(tt);
  ellipse(x, height/2, radius*2, radius*2);      
  if(level > 1) {
    level = level - 1;
    drawCircle(x - radius/2, radius/2, level);
    drawCircle(x + radius/2, radius/2, level);
  }
}

 

 

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2019
    Конструктор сайтов - uCoz