Окончательное приложение алгоритмического дизайна

Наконец-то мы получили наш первый проект в классе Digital Innovation. Нам была поставлена ​​задача под названием «Приложение алгоритмического дизайна», которое должно представлять собой «Сайт, населенный объектами». Для окончательного проекта мы должны были включить нашу личность, желание и чувства с помощью нового программного обеспечения — Processing.

Первым этапом нашего процесса должно быть наше заявление, в которое мы включим то, что собираемся создать для приложения.

Для меня я хотел бы совместить чувство и объект вместе. Используя методы поп-музыки и сюрреализма, чтобы показать, какой я человек и какие у меня желания. В таком случае я решил сначала сделать набросок. Пусть карандаш ведет мои мысли.

Мой первый набросок.

Различные элементы, которые я собираюсь использовать в своем приложении.

Первый черновик.

Финальная работа!

Финальная работа с 2D интерактивом. (Биение сердца)

Мое кодирование в обработке

PИзображение глаз;
PИзображение сердца;
PИзображение большого глаза;
PИзображение рака;
PИзображение box1;

void setup() {
size(1280, 800);

глаза = loadImage(“eyes.png”);
сердце = loadImage(“heart.png”);
bigeye = loadImage(“bigeye.png”);
рак = loadImage(“ Cancer.png”);
box1 = loadImage(“box1.png”);
imageMode(CENTER);
}
void draw() {
background( 0);
for(int i = 0; i‹ширина; i=i+100){
for(int j=0;j‹высота; j=j+100){
> fill(255);
эллипс(i,j,random(0,1),random(0,1));
}
}

for (int i = 10; i‹ширина; i=i+100) {
for (int j = 10; j‹высота; j=j+70) {
float a = 20,5*шум (frameCount/85.1, i);
float b = 20,1*noise(j, frameCount/89,9);
float reScale = abs(sin(радианы(i*j+frameCount/1,8)));
image(eyes, i+a, j+b, eyes.width*reScale, eyes.height*reScale);
noStroke();
float NoiseVal = шум(i/1, j/1);
fill(255, 239*noiseVal, 0);
эллипс (i+a, j+b, 5*reScale, 5*reScale);
image(рак ,1050,650);
}
}

штрих(255);
strokeWeight(5);
fill(0);
эллипс(width/3, 300, 450, 450);
noFill();
strokeWeight(1);
эллипс(ширина/3, 300, 420, 420);
fill(255);
эллипс(width/3*2, 300, 450, 450) );
noFill();
штрих(0);
StrokeWeight(1);
эллипс(width/3*2, 300, 420, 420);

for (int x=200; x‹550; x=x+30) {
for (int y=150; y‹500; y=y+30) {
float a = 20,5*шум (frameCount/85.1, x);
float b = 20,1*noise(y, frameCount/89,9);
noStroke();
fill(229, 0, 25, 200);< br /> эллипс(a+x+100, b+y-100, 5, 5);
эллипс(random(300, 400), random(200, 300), 2, 2);
> эллипс(случайный(400, 450), случайный(400, 450), 1,5, 1,5);
эллипс(случайный(250, 320), случайный(330, 400), 1,5, 1,5);
> заполнить(255);
эллипс(а+х, а+у, 5,5);
}
}

for (int m=730; m‹1000; m=m+35) {
for (int n=180; n‹400; n=n+35) {
fill(0);< br /> штрих (0);
треугольник (m, n, m-15, n+30, m+15, n+30);
if ( n›300 && n‹400 ) {
//m = m+80;
}
float x1 = random(1, 5);
float x2 = random(1, 200);
строка (м+х1, м, высота/х1+х2, м);

строка(m, n, m-random(0, 10), n);
}
}

pushMatrix();
fill(31, ​​77, 111);
stroke(213, 164, 105);
strokeWeight(5);
translate(width/2, height /2–200);
rotate(PI/4.0);
rect(0, 0, 280, 280);
popMatrix();

изображение(сердце, ширина/2, высота/2);
if (mouseX › 400 && mouseX‹800 &&
mouseY› 200 && mouseY‹700 &&
mousePressed == true) {< br /> изображение (сердце, ширина/2, высота/2, случайное (400, 430), случайное (490, 510));
}

штрих(0);
strokeWeight(1);
noFill();
эллипс(ширина/2–4, высота/2+8, 125, 125);
штрих (255);
strokeWeight(2);
noFill();
ellipse(width/2–4, height/2+8, 122, 122);
Stroke( 0);
strokeWeight(1);
fill(222, 80, 74, 150);
ellipse(width/2–4, height/2+8, 120, 120);
image(bigeye, ширина/2–5, высота/2+8);

изображение(ящик1, 400, 550,120,120);
изображение(ящик1, 340, 750,45,45);
изображение(ящик1, 850, 650,60,60);
изображение(ящик1 , 250, 630,60,60);
изображение(ящик1, 450, 650,80,80);
изображение(ящик1, 550, 740,100,100);
изображение(ящик1, 530, 320,70,70);
штрих(255);
noFill();
//прямая (300, 500, 100, 100);
//прямая (500 , 300, 50, 50);
прямоугольник(800, 600, 50, 50);
прямоугольник(400, 650, 50, 50);
прямоугольник(550, 680, 80, 80);
rect(750, 560, 30, 30);
beginShape();
vertex(68, 657);
vertex(169, 569);
вершина(194, 662);
вершина(280, 596);
вершина(334, 650);
вершина(419, 555);
endShape();
beginShape();
вершина(660, 780);
вершина(709, 679);
вершина(774, 762);
вершина(860, 696) );
вершина(914, 750);
//вершина(999, 655);
endShape();
beginShape();
вершина(950, 560);
вершина(1049, 509);
вершина(1104, 542);
вершина(1115, 476);
вершина(118 4, 520);
//вершина(999, 655);
endShape();
}