| Рисуем узоры
пример 1. Рисуем прямоугольники без обводки
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke (20); //выключаем обводку
noLoop ();
}
void draw () {
for(int i = 0; i < 10; i++){
fill(i*20); //задаем цвет для заливки
//отрисовывам прямоугольник в зависимости от значения переменной i.
rect(i*40+10 , 100, 30, 30);
}
}
|
|
|
Задание . Измените код проекта примера 1, так, чтобы прямоугольники отрисовывались на холсте в виде сетки, как на рисунке:
вариант 1
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke (); //выключаем обводку
noLoop ();
}
void draw () {
int y=0;
for(int z = 0; z < 10; z=z+1){
y=y+32;
println("y = ",y);
for(int i = 0; i < 10; i++){
fill( i*20 ); //задаем цвет для заливки
// или fill(160-i*20);
//отрисовывам прямоугольник в зависимости от значения переменной i.
rect(i*33+10 , y, 30, 30);
println("i*33+10 = ",i*33+10);
}
}
}
|
|
|
fill( i * 20 ); fill(160-i * 20);
|
вариант 2
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke ();
translate(0,200);
}
void draw () {
for(int j = 1;j < 11;j++){
for (int i = 1; i <11; i++) {
fill(random( i*20)); //задаем цвет для заливки
// отрисовываем прямоугольники в зависимости от значения переменных j, i
rect(j *40 , i*40, 38, 38);
}
}
}
|
|
Цвет. Цветовые модели RGB, HSB.
1. В Processing существует 255 градаций серого от 0 до 255. Максимально черный цвет – это 0, минимально черный, т.е. белый цвет, имеет числовое значение 255.
2. Остальные цвета в компьютерной графике представляются триадой Red (Красный), Green (Зеленый) и Blue (Синий). Смешивая эти цвета в различных комбинациях, вы можете получить любой требуемый вам цвет. Эта аддитивная цветовая модель не единственно возможная и не совсем полная, но очень сильно распространенная в «цифровом»мире.
Определение необходимого вам цвета в RGB режиме может вызывать трудности, поэтому разработчики Processing включили в редактор возможность визуального выбора цвета из палитры. Для того, чтобы определить числовое значение цвета, вы можете вызвать палитру из панели управления Tools -> Color Selector. Появившееся окно позволит работать с выбором цвета интуитивно понятно
3. Для работы с цветом, кроме формата RGB, существует и другой, более понятный формат – цветовая модель HSB, в которой цвет задается следующим образом (покажем на примере темно-красного цвета) :
- цвет = красный,
- насыщенность = 50%,
- яркость = 10%.
4. Функции colorMode() - устанавливает режим цвета. Это может быть RGB или HSB.
5. Цветовой режим, установленный по умолчанию - RGB, со значениями от 0 до 255
Вариант 3.
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke ();
colorMode(HSB);
}
void draw () {
for (int i = 1; i < 6; i++) {
for (int j = 1; j < 11; j++) {
fill (10, random (0, 255), random (10, 250));
rect (j*20, i*20, 20, 20);
}
}
}
|
|
|
|
Варианты
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke ();
colorMode(HSB,360,100,100);
}
void draw () {
for (int i = 1; i < 6; i++) {
for (int j = 1; j < 11; j++) {
fill (10, random (0, 255), random (10, 250));
rect (j*20, i*20, 20, 20);
}
}
}
|
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke ();
colorMode(HSB, width , height , 100);
}
void draw () {
for (int i = 1; i < 6; i++) {
for (int j = 1; j < 11; j++) {
fill (10, random (0, 255), random (10, 250));
rect (j*20, i*20, 20, 20);
}
}
}
|
void setup () {
size (500, 500);
smooth ();
background (255);
noStroke ();
colorMode(RGB);
}
void draw () {
for (int i = 1; i < 6; i++) {
for (int j = 1; j < 11; j++) {
fill (10, random (0, 255), random (10, 250));
rect (j*20, i*20, 20, 20);
}
}
}
|
|
|
|
Варианты
Жеребятьев Дима. 2019год
|
Яцюк Юля. 2019 год
|
void setup () {
size (600, 600);
smooth ();
background (255);
noStroke ();
frameRate(10);
}
void draw () {
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
float m = 60;
//stroke(1);
while(m > 0)
{
fill(random(255),random(255),random(255));
ellipse(j*60, i*60, m, m);
m = m - 20;
}
}
}
}
|
void setup () {
size (450, 450);
smooth ();
background (347);
noStroke ();
frameRate(1);
}
void draw () {
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
float m = 40;
stroke(1);
while(m > 0)
{
fill(random(255),random(255),random(255));
rect(j*40, i*40, m, m);
m = m - 20;
}
}
}
}
|
| |